Установка LEMP на CentOS7
Небольшая инструкция, что бы потом в попыхах и запаре не искать, какой из инетных мануалов работает.
Исходные данные — сервак с только установленной CentOS7 minimal с флешки.
Для личного удобства прежде всего можно поставить командер mc и редактор nano
yum install mc
yum install nano
Шаг 1 — Установка NGINX
Ставим необходимые для работы репозитории
sudo yum install epel-release
Ставим сам nginx
sudo yum install nginx
Запускаем его
sudo systemctl start nginx
Для проверки переходим на айпи сервера, где должна появится стандартная заглушка с приветствием от CentOS. Если страница не загружается, пробуем проставить порты и заодно отключить SELinux (хз, че за шляпа, но многие русскоязычные мануалы советуют её отключать).
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
Пробрасываем порты и перегружаем фаерволл
firewall-cmd --permanent --add-port={80,443,8080}/tcp
firewall-cmd --permanent --add-port={20,21,40900-40999}/tcp
firewall-cmd --permanent --add-port={25,465,587}/tcp
firewall-cmd --reload
После этого заглушка должна появится.
Выставляем автозапуск при загрузке сервака
sudo systemctl enable nginx
Шаг 2 — Установка MariaDB
sudo yum install mariadb-server mariadb
sudo systemctl start mariadb
Делаем автозапуск бд при запуске сервака
sudo systemctl enable mariadb
Шаг 3 — Установка PHP
Ставить будем PHP 7 потому как он используется в большинстве современных CMS.
Добавляем репозиторий
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Проверка релиза
yum --disablerepo="*" --enablerepo="remi-safe" list php[7-9][0-9].x86_64
Должно вывести что-то наподобе такого
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* remi-safe: mirrors.ukfast.co.uk
Available Packages
php70.x86_64 2.0-1.el7.remi remi-safe
php71.x86_64 2.0-1.el7.remi remi-safe
php72.x86_64 2.0-1.el7.remi remi-safe
php73.x86_64 2.0-1.el7.remi remi-safe
php74.x86_64 1.0-3.el7.remi remi-safe
php80.x86_64 1.0-3.el7.remi remi-safe
Включаем PHP 74
sudo yum-config-manager --enable remi-php74
Проверяем
php -v
Выводить должно что-то типо такого
PHP 7.4.5 (cli) (built: Apr 14 2020 12:54:33) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
Далее делаем небольшую настройку конфигов
nano /etc/php-fpm.d/www.conf
Ищем значения user = apache и group = apache, где меняем апач на nginx. Также модифицируем строку listen в такой вид
listen = /var/run/php-fpm/php-fpm.sock;
Раскомментируем и меняем вид строк
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Включаем php-fpm и делаем его автостарт
sudo systemctl start php-fpm
systemctl enable php-fpm
Шаг 4 — Конфигурируем Nginx для страниц на php
Создаем пустой файл конфигов
nano /etc/nginx/conf.d/default.conf
В который добавляем текст, где в server_name ставим айпишник вашего сервера
server {
listen 80;
server_name server_domain_or_IP;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Сохраняем и закрываем файл, перегружаем nginx
sudo systemctl restart nginx
Шаг 5 — Тестируем
sudo chown -R sammy.sammy /usr/share/nginx/html/
Создаем старданртную страницу инфы PHP
nano /usr/share/nginx/html/info.php
<?php
phpinfo();
?>
Переходим по адресу http://{your_ip}/info.php и должна появится страница с инфой о PHP.
В принципе и всё, сервер готов и должен работать. Еще одна хорошая инсрукция, более дополненная, с описанием как добавлять уже именно сайты через консоль, находится тут — тыц.