How-to-Install-Nginx-1.15,-MariaDB-10-and-PHP-7-on-CentOS-7

Как установить Nginx 1.15, MariaDB 10 и PHP 7 на CentOS 7

LinuxNginxPHP

В этой статье мы расскажем, как установить стек LEMP (Linux, Nginx, MariaDB, PHP) вместе с PHP-FPM на серверах RHEL/CentOS 7/6 и Fedora 26-29, используя менеджер пакетов yum и dnf.

В ходе этого процесса мы установим и включим репозитории Epel, Remi, Nginx и MariaDB, чтобы у вас была возможность устанавливать последние версии этих пакетов.

 

Шаг 1: Установка EPEL и репозитория Remi

EPEL (Extra Packages for Enterprise Linux) — это community based-репозиторий, предлагающий пакеты дополнительных программ для дистрибутивов Linux на основе RHEL.

Remi — это репозиторий, в котором вы можете найти последние версии стека PHP для установки в дистрибутивы Fedora и Enterprise Linux.

 

На RHEL/CentOS 7
# yum update && yum install epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------ For RHEL 7 Only ------
# subscription-manager repos --enable=rhel-7-server-optional-rpms

 

 

На RHEL/CentOS 6
# yum update && yum install epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

------ For RHEL 6 Only ------
# subscription-manager repos --enable=rhel-6-server-optional-rpms

 

 

На Fedora 24-29
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]

 

 

Шаг 2: Установка репозиториев Nginx и MariaDB

Репозиторий Nginx необходим только в дистрибутивах RHEL и CentOS. Создайте файл с именем /etc/yum.repos.d/nginx.repo и добавьте в него следующие строки.

Для RHEL 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1 

 

Для CentOS 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1 

 

Чтобы включить репозиторий MariaDB, создайте файл с именем /etc/yum.repos.d/mariadb.repo со следующим содержимым:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

 

 

Шаг 3: Установка Ngnix и MariaDB

Nginx (Engine X) — это открытый, надежный, простой и высокопроизводительный веб-сервер, сервер обратного прокси, а также почтовый прокси-сервер для протоколов HTTP, SMTP, POP3 и IMAP. Для получения дополнительной информации посетите http://wiki.nginx.org/Overview.

MariaDB является ответвлением от известной всем MySQL, одной из самых популярных в мире систем управления реляционными базами данных (RDBMS). Она полностью разработан Unix-сообществом.

Чтобы установить Ngnix и MariaDB, выполните следующие команды:

----------- Installing on RHEL/CentOS 7/6 -----------
# yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm

----------- Installing on Fedora -----------
# dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm

 

 

Шаг 4: Установка PHP с помощью Remi Repository

PHP (Hypertext Preprocessor) — это серверный язык сценариев со свободным и открытым исходным кодом, который лучше всего подходит для веб-разработки. Он может использоваться для создания динамических веб-страниц и чаще всего встречается на серверах *nix. Одним из преимуществ PHP является то, что он легко расширяется за счет использования самых разных модулей.

Чтобы установить PHP, сначала необходимо включить репозиторий Remi, установив yum-utils — набор полезных программ для управления репозиториями и пакетами yum.

# yum install yum-utils

 

После установки вы можете использовать yum-config-manager, предоставляемый yum-utils, чтобы включить репозиторий Remi в качестве репозитория по умолчанию для установки различных версий PHP, как показано ниже.

Например, чтобы установить версию PHP 7.x, используйте следующую команду:

------------- On CentOS & RHEL -------------
# yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0]
# yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1]
# yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2]
# yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3]

------------- On Fedora -------------
# dnf --enablerepo=remi install php70 [Install PHP 7.0]
# dnf --enablerepo=remi install php71 [Install PHP 7.1]
# dnf --enablerepo=remi install php72 [Install PHP 7.2]
# dnf --enablerepo=remi install php73 [Install PHP 7.3]

 

 

Далее мы собираемся установить все следующие модули PHP:

------ On RHEL/CentOS 7/6 ------
# yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

------ On Fedora ------
# dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

 

 

Шаг 5: Остановка и отключение службы Apache

По умолчанию Apache и Nginx прослушивают один и тот же порт (TCP 80). По этой причине, если Apache установлен на вашем сервере, вам нужно остановить и отключить его, для того чтобы использовать Nginx, или же вы можете удалить Apache, если Вы больше не планируете его использовать.

# systemctl stop httpd
# systemctl disable httpd
or
# systemctl mask httpd 

 

 

Шаг 6: Запуск/остановка Nginx, MariaDB и PHP-FPM

----------- Enable Nginx, MariaDB and PHP-FPM on Boot -----------
# systemctl enable nginx
# systemctl enable mariadb
# systemctl enable php-fpm

----------- Start Nginx, MariaDB and PHP-FPM -----------
# systemctl start nginx
# systemctl start mariadb
# systemctl start php-fpm 

 

 

Шаг 7: Настройка Nginx и PHP-FPM

Теперь давайте создадим структуру каталогов для вашего сайта (виртуальный хост или серверный блок, как он называется в Nginx) в /srv/www/. В этом примере мы будем использовать https://blog.sedicomm.com, но вы можете выбрать другой домен и основной каталог, если захотите.

# mkdir -p /srv/www/blog.sedicomm.com/public_html
# mkdir /srv/www/blog.sedicomm.com/logs
# chown -R nginx:nginx /srv/www/blog.sedicomm.com 

 

 

Шаг 8: Настройка каталогов виртуальных хостов Nginx

Как вы знаете, возможность запуска нескольких сайтов с одного компьютера является одной из отличительных особенностей веб-серверов. Давайте же перейдем к созданию каталогов для хранения блоков нашего сервера (называемых виртуальными хостами в Apache) в /etc/nginx.

# mkdir /etc/nginx/sites-available
# mkdir /etc/nginx/sites-enabled 

 

Следующая строка кода, должна быть вставлена ​​перед закрытием блока http в /etc/nginx/nginx.conf, она будет гарантировать, что файлы конфигурации в каталоге /etc/nginx/sites-enabled будут учитываться при запуске Nginx:

## Load virtual host conf files. ##
include /etc/nginx/sites-enabled/*; 

 

Configuring-Nginx-VirtualHost

 

 

Чтобы создать блок сервера для https://blog.sedicomm.com/, добавьте следующие строки кода в /etc/nginx/sites-available/sedicomm.conf. Это основной файл конфигурации виртуального хоста:

server {
listen 80 default;
server_name blog.sedicomm.com;
access_log /srv/www/blog.sedicomm.com/logs/access.log;
error_log /srv/www/blog.sedicomm.com/logs/error.log;
root /srv/www/blog.sedicomm.com/public_html;
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
} 

 

Процесс «активации» виртуального хоста состоит из создания символической ссылки для определения виртуального хоста blog.sedicomm.com до /etc/nginx/sites-enabled.

# ln -s /etc/nginx/sites-available/sedicomm.com.conf /etc/nginx/sites-enabled/sedicomm.com.conf

 

Чтобы применить изменения, которые мы сделали, нам нужно перезапустить Nginx. Иногда полезно проверить файлы конфигурации на наличие синтаксических ошибок, прежде чем выполнять перезапуск:

# nginx -t
# systemctl restart nginx
# systemctl status nginx 

 

Restart-Nginx-and-Verify-Status

 

 

Чтобы получить доступ к вновь созданному виртуальному хосту, вам нужно добавить следующую строку в /etc/hosts в качестве основного метода разрешения доменного имени:

192.168.0.18 www.sedicomm.com sedicomm.com 

 

Шаг 9: Тестирование Nginx, MySQL, PHP и PHP-FPM

Давайте будем придерживаться классического способа тестирования PHP. Создайте файл с именем test.php в /srv/www/blog.sedicomm.com/public_html/ и добавьте в него следующие строки кода.

Функция phpinfo() покажет исчерпывающую информации о текущей установке PHP:

<?php
phpinfo();
?> 

 

Теперь введите в веб-браузер http://sedicomm.com/test.php и проверьте наличие установленных модулей и дополнительного программного обеспечения:

Поздравляем! Теперь у вас есть рабочий стек LEMP. Если что-то пошло не так, не стесняйтесь связаться с нами!

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
LinuxNginxPHP

Больше похожих постов

How-to-Manage-Snaps-in-Linux-–-Part-2

Как управлять Snaps в Linux — часть 2

285
0
Это вторая статья в серии статей о Snaps. В ней рассказывается, как запускать снапшоты из интерфейса командной строки, создавать и…
How-to-Enable-HTTP_2-in-Apache-on-Ubuntu

Как включить HTTP/2 в Apache в Ubuntu?

161
0
С момента создания Всемирной паутины (www) протокол HTTP на протяжении многих лет развивался для обеспечения безопасного и быстрого цифрового соединения…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню