Чтобы установить надежное решение для вашего проекта, выполните следующее. Прежде всего, обновите систему:
sudo apt update && sudo apt upgrade -y
Далее устанавливайте Nginx:
sudo apt install nginx -y
Запустите и активируйте службу:
sudo systemctl start nginx
sudo systemctl enable nginx
Обратите внимание на конфигурацию брандмауэра:
sudo ufw allow 'Nginx Full'
Теперь переходим к установке PHP:
sudo apt install php-fpm php-mysql -y
Важный момент! Настройте файл конфигурации PHP:
sudo nano /etc/php/7.x/fpm/php.ini
Измените параметры cgi.fix_pathinfo=0. Это улучшит безопасность.
Далее установите MariaDB:
sudo apt install mariadb-server -y
Запустите службу баз данных:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Важно помнить! После установки выполняйте скрипт безопасности:
sudo mysql_secure_installation
Настройте параметры доступа и создайте базу данных для вашего приложения. Это крайний момент, не упустите!
Создайте новый конфигурационный файл для Nginx:
sudo nano /etc/nginx/sites-available/ваше_сАЙТ
Пример конфигурации:
server {
listen 80;
server_name ваш_домен;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;
}
}
Сделайте символическую ссылку для активации:
sudo ln -s /etc/nginx/sites-available/ваше_сАЙТ /etc/nginx/sites-enabled/
Не забудьте протестировать конфигурацию:
sudo nginx -t
Если все в порядке, перезапустите Nginx:
sudo systemctl restart nginx
Теперь у вас имеется полноценное решение для размещения веб-приложений. Применяйте свои навыки и улучшайте проект!
Помните! Системное администрирование требует внимательности к деталям. Не спешите! Каждый шаг важен.
Содержание статьи
Настройка веб-сервера на базе Nginx и MariaDB
Для начала установите необходимые пакеты. С помощью команды:
sudo apt update && sudo apt install nginx mariadb-server php-fpm php-mysql
Это обеспечит наличие Nginx, серверной системы управления базами данных и PHP с поддержкой MySQL. После установки проверьте состояние служб:
systemctl status nginx mariadb
Важно! Не забудьте снизить уровень привилегий для MariaDB с помощью выполнения:
sudo mysql_secure_installation
Это позволит удалить анонимных пользователей и запретить удалённый доступ к базе данных root. Задание надёжного пароля – необходимая мера безопасности.
Продолжая, настройте виртуальный хост для Nginx. Создайте новый конфигурационный файл в каталоге:
/etc/nginx/sites-available/
Пример конфигурации:
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
После создания файла активируйте его с помощью:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Помните! Не забывайте проверять конфигурацию на наличие ошибок с помощью команды:
sudo nginx -t
Перезапустите Nginx для применения изменений:
sudo systemctl restart nginx
Теперь можно перейти к настройке PHP. В файле /etc/php/7.0/fpm/php.ini проверьте установленные значения, такие как cgi.fix_pathinfo=0. Это уменьшит риски безопасности при выполнении скриптов.
Завершите процесс, создавая базу данных и пользователя. В MariaDB выполните следующие команды:
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
Теперь у вас есть работоспособная конфигурация. Используйте инструменты для тестирования. Даже небольшие проблемы с конфигурацией могут привести к сбоям. Тщательно проверяйте все настройки и их влияние на производительность.
Установка и конфигурация Nginx для работы с PHP
Следующий шаг — установить сервер Nginx. Для установки выполните команду:
sudo apt install nginx
Активируйте и запустите Nginx:
sudo systemctl enable nginx
sudo systemctl start nginx
По умолчанию Nginx использует каталог /var/www/html для размещения файлов. Создайте новый файл конфигурации в /etc/nginx/sites-available/. Например, назовите его my_site.
В этом файле укажите следующие параметры, чтобы обеспечить поддержку PHP:
server {
listen 80;
server_name example.com;
root /var/www/html/my_site;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
}
Для активации конфигурации создайте символьную ссылку:
sudo ln -s /etc/nginx/sites-available/my_site /etc/nginx/sites-enabled/
Важно помнить, что каждый раз, когда вы редактируете конфигурацию Nginx, требуется перезагрузка сервера.
Проверьте конфигурацию и перезагрузите Nginx:
sudo nginx -t
sudo systemctl reload nginx
Установка PHP — следующий этап. Используйте:
sudo apt install php-fpm php-mysql
Эти команды обеспечат необходимый функционал. Проверьте работоспособность, создав файл info.php в каталоге вашего сайта:
<?php phpinfo(); ?>
Перейдите в браузере по адресу http://example.com/info.php. Если всё настроено правильно, вы увидите информацию о PHP.
Настройка базы данных MySQL и создание пользователя
Сначала установите сервер MySQL. Используйте команду:
sudo apt-get install mysql-server
Во время установки вас попросят установить пароль для root-пользователя базы данных. Выберите надежный пароль. Он нужен будет позже, чтобы избежать несанкционированного доступа к системе.
После установки безопаснее задержать доступ к серверу, выполните команду:
sudo mysql_secure_installation
Программа предложит вам несколько опций. Рекомендуется отключить анонимные пользователи и запретить вход root с удаленных IP-адресов. Это увеличит безопасность вашей базы данных.
Создайте отдельного пользователя для вашего приложения. Зайдите в MySQL с помощью:
sudo mysql -u root -p
Вводите пароль, который вы установили на этапе установки. После успешного входа выполните:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
Здесь замените ‘username’ на желаемое имя пользователя, а ‘password’ на надежный пароль. Это обеспечит легкий доступ именно к вашему приложению.
Важно помнить, что после создания пользователя необходимо предоставить ему права. Если вы хотите, чтобы он мог управлять конкретной базой данных, выполните:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
Эта команда предоставит полные права на указанную базу данных. Не забывайте изменить ‘database_name’ на название вашей базы. Также рекомендую не раздавать избыточные права.
Важно! Перезапустите MySQL, чтобы изменения вступили в силу.
sudo systemctl restart mysql
Теперь вы можете подключаться к серверу под новым пользователем. Проверьте работоспособность, используя ту же команду для подключения к MySQL, поменяв ‘root’ на ваше новое имя пользователя:
mysql -u username -p
Система потребует ввести пароль. Все готово. База данных структурирована, пользователи созданы, права установлены. Спокойно развивайте свою работу!

