В этой статье мы расскажем вам об установке LEMP (Linux, Nginx, MySQL и PHP-FPM) на Debian 8.
Стек LEMP является синонимом сервера LEMP или веб — сервера LEMP. Он включает Linux, Nginx, MySQL (MariaDB) и PHP.
Обновите систему
Убедитесь, что ваш сервер полностью в актуальном состоянии с помощью:
apt-get update && apt-get upgrade
Установите NGINX
Чтобы установить Nginx на своем сервере Debian 8, вам нужно выполнить следующую команду:
apt-get install nginx
После завершения установки, вы можете начать с Nginx:
systemctl start nginx
Включите Nginx для запуска при загрузке:
systemctl enable nginx
Возможные проблемы:
Если во время установки Nginx вы столкнулись с ошибками, вроде этих:
dpkg: error processing package nginx (--configure): dependency problems - leaving unconfigured Processing triggers for systemd (215-17+deb8u1) ... Errors were encountered while processing: nginx-full nginx E: Sub-process /usr/bin/dpkg returned an error code (1)
то, вы можете исправить, открыв файл конфигурации Nginx по умолчанию и закомментировать линию listen [::]:80 default_server;. Введите следующую команду:
vim /etc/nginx/sites-available/default
Найдите линию listen [::]:80 default_server; и закомментируйте ее, добавив знак # перед линией. Перезапустите Nginx, чтобы изменения вступили в силу и запустите команду установки менеджера пакетов Nginx:
systemctl restart nginx apt-get install nginx
Убедитесь в том, что Nginx работает, открыв веб-браузер и посетив ваш IP-адрес сервера (http://server_ip). Вы должны получить страницу приветствия Nginx, как показано ниже:
Установка MYSQL
Теперь давайте установим MySQL. Наберите следующее:
apt-get install mysql-server
Во время установки вам будет предложено ввести пароль для корневого пользователя MySQL. Не вводите простой пароль, который можно взломать. Он должен содержать не менее 8 символов, смешанного с верхним и нижним регистром.
Теперь, когда MySQL установлен, мы рекомендуем Вам сделать безопасную настройку MySQL командой:
mysql_secure_installation
Введите свой пароль корня и ответ с ‘n’, когда вас просят изменить корневой пароль MySQL. Ниже вся процедура, которой вы можете следовать:
Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist ... Failed! Not critical, keep moving... - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
Включите MySQL для запуска при загрузке:
systemctl enable mysql
Установка PHP-FPM
Установите PHP-FPM, выполнив следующую команду:
apt-get install php5-fpm php5-mysql
Следующий шаг, который нужно сделать, это изменить файл конфигурации Nginx. Переместите файл по умолчанию и создайте новый файл Nginx. Следующая команда сделает именно это:
mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.old vim /etc/nginx/sites-available/default
Теперь, что у вас открыт новый файл по умолчанию, вставьте следующее содержание:
server { listen 80; server_name your_website_name.ru; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Сохраните и закройте файл.
Теперь, давайте создадим простой тест PHP страницы. Создайте информационную страницу PHP, так что вы можете проверить свою версию PHP, активные модули и т.д …
Создайте файл, назовем его info.php в каталоге /var/www/html:
vim /var/www/html/info.php
Вставьте следующий код в файл:
<?php phpinfo(); ?>
Перезапустите Nginx для того, чтобы изменения вступили в силу:
systemctl restart nginx
Теперь откройте ваш веб-браузер и перейдите по адресу http://your_server_ip_address/info.php. Мы рады приветствовать Вас на веб-странице, аналогичной приведенной ниже:
Вот и все. Вы успешно установили стек LEMP на Debian 8.