Установка LEMP в CentOS 7

Здравствуйте, уважаемые читатели. Сегодня статья на тему: "Установка LEMP в CentOS 7". В предыдущих статьях, мы рассмотрели установку двух наборов ПО для веб-разработки. В данной статье рассмотрим третий вариант, это будет набор LEMP.
LEMP – это комплект серверного ПО (Linux, Nginx, MySQL, PHP), готовая платформа для работы веб-сайтов или веб-приложений.
В рамках данной статьи, мы произведём установку и настройку веб-сервера Nginx, сервера баз данных MariaDB, и PHP. Кроме того, рассмотрим установку cms WordPress.
Подготовка инфраструктуры.
- Для начала создадим необходимые директории.
- По аналогии со статьёй о LAMP, в директории /var/www/ создадим каталог для одного сайта, а в нём ещё два каталога, для файлов сайта и логов.
# mkdir -p /var/www/test.ru/{site,log}
- После подготовки инфраструктуры, можно переходить к установке Nginx.
Установка Nginx.
- Подключаем официальный репозиторий Nginx, путём добавления в директорию /etc/yum.repos.d/ файла nginx.repo с таким содержанием:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
- Запускаем установку Nginx.
# yum install nginx
- По завершении установки веб-сервера, стартуем его и добавляем в автозагрузку.
# systemctl start nginx
# systemctl enable nginx
- Теперь нужно создать конфигурационный файл для нашего сайта.
- Заходим в директорию /etc/nginx/conf.d, и создаём файл test.ru.conf, созданный специально под Wopdpress, с таким содержанием:
server { listen 80; server_name test.ru www.test.ru; index index.php index.html index.htm; access_log /var/www/test.ru/log/access.log; error_log /var/www/test.ru/log/error.log; root /var/www/test.ru/site/; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /var/www/test.ru/site/; fastcgi_param SCRIPT_FILENAME /var/www/test.ru/site$fastcgi_script_name; fastcgi_param PATH_TRANSLATED /var/www/test.ru/site$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires modified +30d; access_log off; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { rewrite ^ /robots.txt break; allow all; log_not_found off; access_log off; } }
Файл состоит из нескольких секций:
- Глобальные настройки.
- Настройка для ЧПУ.
- Настройка для Php.
- Запрет доступа к файлам начинающимся с точки.
- И настройки для favicon.ico и robots.txt.

- Можно сразу открыть 80 порт, добавив правило в брандмауэр.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

- Незабываем перезапустить iptables.
# systemctl restart iptables
- На этом настройка веб сервера завершена, переходим к серверу баз данных MariaDB.
Установка MariaDB.
- Подключаем официальный репозиторий MariaDB, путём добавления в директорию /etc/yum.repos.d/ файла mariadb.repo с таким содержанием:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
- Запускаем установку MariaDB.
# yum install MariaDB-server MariaDB-client
- По завершении установки MariaDB, стартуем сервер и добавляем его в автозагрузку.
# systemctl start mariadb
# systemctl enable mariadb
- Запускаем скрипт первоначальной настройки MariaDB.
# /usr/bin/mysql_secure_installation
- Создаем пароль для root, а на все остальные вопросы отвечаем Y.
- Пришло время создать базу данных для нашего сайта, и пользователя для этой базы.
- Заходим под рутом.
# mysql -u root –p
- Я для примера создам базу данных blog.
MariaDB [(none)]> create database blog;
- И пользователя admin с паролем 123.
MariaDB [(none)]> GRANT ALL PRIVILEGES ON blog.* TO 'admin'@'localhost' IDENTIFIED BY '123';
- Перезаписываем все привилегии.
MariaDB [(none)]> flush privileges;
- И выходим из редактирования MariaDB.
MariaDB [(none)]> quit;
- На этом работа с MariaDB завершена. Переходим к установке PHP.
Установка PHP.
- Для установки свежей версии PHP, подключаем сторонний репозиторий Remi.
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- Также нужно установить дополнительные пакеты для пакетного менеджера yum.
# yum install yum-utils
После установки активируем remi-php73.
# yum-config-manager --enable remi-php73
- Теперь можно установить PHP, PHP-FPM, и некоторые дополнительные компоненты.
# yum install php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip
- После установки, переходим к настройкам PHP-FPM. Находим файл /etc/php-fpm.d/www.conf и производим некоторые изменения.
Находим и закомментируем строчку:
;listen = 127.0.0.1:9000
Ниже добавляем:
listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0660
listen.owner = nginx
listen.group = nginx
Находим строчки:
user = apache
group = apache
Заменяем apache на nginx.
- Стартуем и добавляем php-fpm в автозагрузку.
# systemctl start php-fpm
# systemctl enable php-fpm
- Кроме того, для прочтения добавленной конфигурации, перезапускаем Nginx. Всё что нужно мы установили, так что ошибок не будет.
# systemctl restart nginx
- На этом установка и базовая настройка LEMP завершена, мы установили всё необходимое ПО.
Установка Wopdpress.
- Заходим на официальный сайт, и скачиваем архив с последней версией Wopdpress.
- Разархивируем архив, и добавляем файлы cms в директорию созданную для файлов нашего сайта /var/www/test.ru/site
- Делаем владельцем директории с сайтом nginx, и добавляем нужные права.
# chown nginx:nginx -R /var/www/test.ru/site/ # chmod -R 0775 /var/www/test.ru/site/ # chown root:nginx /var/lib/php/session/ # chown -R nginx:nginx /var/lib/php/session/
- Теперь можно открыть браузер и перейти по адресу Вашего сайта.
- Открывается страница установщика Wopdpress.

Процесс установки происходит в пару кликов:
- Внесение данных для подключения к базе данных.
- Некоторые глобальные настройки и создание администратора сайта (логина, пароля, адреса электронной почты).
- После несложной установки, Вы можете получить доступ к админ-панели, введя логин и пароль администратора, указанный Вами в процессе установки cms.

Подробнее процесс установки Wopdpress, и всего писанного в статье, можно посмотреть ниже, в видео по теме.
Сегодня мы рассмотрели тему: "Установка LEMP в CentOS 7". Произвели установку и настройку набора ПО LEMP, а так же установку cms Wopdpress. Смотрите также видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "Установка LEMP в CentOS 7":

WMZ-кошелёк = Z667041230317
«Linux»
Иван Иванов
Все понятно объяснил молодец.
Андрей Бондаренко
Спасибо на добром слове.