Site icon 8HOST.COM

Установка LAMP stack (Linux, Apache, MySQL, PHP) на CentOS 7

LAMP stack – это группа программ с открытым исходным кодом, которая используется для обслуживания динамических страниц и веб-приложений. Данная аббревиатура расшифровывается как Linux (операционная система), Apache (веб-сервер), MySQL (система управления базами данных) и PHP (язык сценариев для быстрого построения динамических страниц).

Данное руководство покажет, как установить LAMP stack на виртульный выделенный сервер CentOS 7. Обратите внимание: поскольку сервер запущен на CentOS, первый компонент группы (операционная система Linux) уже установлен.

Требования

Прежде чем следовать руководству, создайте отдельную учетную запись пользователя с повышенными привилегиями (не root). Читайте руководство «Начальная настройка сервера CentOS 7», чтобы получить дополнительные инструкции.

1: Установка Apache

На сегодняшний день Apache является самым популярным веб-сервером в мире, а следовательно – и надежным вариантом для обслуживания веб-сайта.

Apache можно без труда установить с помощью yum, менеджера пакетов CentOS. Менеджер пакетов позволяет установить стабильную версию программы из репозитория CentOS. Чтобы получить более подробную информацию о yum, читайте данное руководство.

Итак, введите следующую команду, чтоб установить Apache:

sudo yum install httpd

Поскольку команда начинается с sudo, она будет выполнена с привилегиями root. Введите пароль текущей учетной записи, чтобы подтвердить привилегии.

Готово! Apache установлен на сервер.

После завершения установки нужно запустить Apache на VPS:

sudo systemctl start httpd.service

На данном этапе можно выполнить выборочную проверку, чтобы убедиться, что все прошло должным образом; для этого посетите общественный IP-адрес сервера в веб-браузере (см. следующий раздел, чтобы узнать общественный IP-адрес сервера):

http://IP_адрес_сервера/

Это выведет веб-страницу Apache для CentOS 7 по умолчанию (она нужна для предоставления информации и проведения тестирования установки). Если такая страница появилась – Apache запущен и работает должным образом.

Последнее, что нужно сделать, – это настроить автоматический запуск Apache. Для этого используйте:

sudo systemctl enable httpd.service

Как узнать общественный IP-адрес сервера?

Существует несколько способов узнать общественный IP-адрес. Как правило, это адрес, который используется для подключения к серверу по SSH.

Во-первых, его можно узнать в командной строке с помощью инструмента iproute2 :

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Эта команда вернет один или два адреса. Оба они верны, но компьютер может использовать только один из них. Проверьте каждый адрес, чтобы выяснить, какой именно используется.

Во-вторых, можно использовать внешнего абонента, который расскажет, как он видит данный сервер. Для этого нужно спросить у определенного сервера, какой IP-адрес данного сервера:

curl http://icanhazip.com

2: Установка MySQL (MariaDB)

Теперь, когда веб-сервер установлен и запущен, можно установить MariaDB, аналог MySQL. MariaDB – это разработанное сообществом ответвление реляционной системы управления базами данных MySQL. В основном, такие системы хранят и упорядочивают базы данных, содержащие информацию сайта, а также обеспечивают доступ к ним,

Опять же, для загрузки и установки программного обеспечения можно использовать yum. Но на этот раз нужно установить некоторые вспомогательные пакеты, которые помогут компонентам взаимодействовать.

sudo yum install mariadb-server mariadb

По завершении установки запустите MariaDB при помощи следующей команды:

sudo systemctl start mariadb

Затем нужно запустить простой скрипт безопасной установки, который удалит некоторые опасные настройки по умолчанию и усложнит доступ к системе базы данных. Запустите интерактивный скрипт:

sudo mysql_secure_installation

Затем введите текущий root-пароль. Поскольку система MySQL только что установлена, такого пароля пока что нет, потому просто оставьте поле незаполненным. Затем будет предложено установить root-пароль для MySQL. Выполнив это, введите Y и следуйте инструкциям:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.
New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
... Success!

На остальные вопросы просто нажмите Enter, чтобы установить значения по умолчанию. Это удалит некоторые образцы пользователей и баз данных, отключит удаленный root-логин и сразу же активирует новые настройки MySQL.

Теперь нужно автоматизировать запуск MariaDB. Используйте команду:

sudo systemctl enable mariadb.service

Готово! Система баз данных установлена и настроена.

3: Установка PHP

PHP – это язык сценариев, отвечающий за обработку кода для отображения динамического контента. PHP может запускать сценарии, запрашивать информацию из базы данных MySQL, а также передавать обработанный контент на веб-сервер.

Для установки PHP тоже можно использовать yum. Также в команду нужно добавить php-mysql:

sudo yum install php php-mysql

Данная команда быстро установит PHP. Затем нужно перезапустить веб-сервер Apache, чтоб он мог взаимодействовать с PHP. Для этого наберите:

sudo systemctl restart httpd.service

Установка модулей PHP

Чтобы расширить возможности PHP, нужно установить некоторые дополнительные модули.

Чтобы просмотреть список доступных PHP-модулей, наберите:

yum search php-

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

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Enchant spelling extension for PHP applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
. . .

Чтобы получить более подробную информацию о конкретном модуле, можно просмотреть полное его описание при помощи команды:

yum info имя_пакета

Это выведет достаточно объемный результат, в котором будет содержаться поле Description с полным описанием функций модуля.

Например, чтобы получить подробное описание php-fpm, нужно ввести:

yum info php-fpm

Помимо остальной информации выход будет содержать что-то вроде:

Summary     : PHP FastCGI Process Manager
URL         : http://www.php.net/
License     : PHP and Zend and BSD
Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
: implementation with some additional features useful for sites of
: any size, especially busier sites.

Чтобы установить модуль, получив всю необходимую информацию о нем, используйте уже знакомую команду yum install.

То есть, чтобы установить модуль php-fpm, нужно набрать:

sudo yum install php-fpm

Чтобы установить несколько модулей сразу, используйте yum install и перечислите все необходимые пакеты через пробел, вот так:

sudo yum install пакет1 пакет2 ...

Готово! Теперь группа программ LAMP stack полностью установлена, настроена и готова к работе. Осталось только протестировать PHP.

4: Тестирование PHP

Чтобы убедиться в том, что система правильно настроена и может взаимодействовать с PHP, нужно создать базовый скрипт PHP.

Данный скрипт называется info.php. Чтобы сервер Apache мог найти файл и правильно его обслуживать, его нужно сохранить в определенный каталог – root-каталог сайта. В CentOS 7 он находится в /var/www/html/. Чтобы создать файл в этом каталоге, используйте:

sudo vi /var/www/html/info.php

Появится пустой файл, в который нужно внести следующий код PHP:

<?php phpinfo(); ?>

Сохраните и закройте файл.

Теперь нужно проверить, может ли веб-сервер правильно отобразить контент, созданный скриптом PHP. Для этого нужно просто посетить эту страницу в веб-браузере (снова понадобится общественный IP).

Итак, введите в браузер:

http://IP_адрес_сервера/info.php

Если страница открылась, значит, все работает должным образом.

Эта страница, как правило, содержит информацию о сервере с точки зрения PHP и будет полезна при устранении неисправностей и проверке настроек

Завершив тестирование, нужно удалить этот файл, поскольку такая страница может предоставить информацию о сервере неавторизованным пользователям. Чтобы сделать это, введите следующее:

sudo rm /var/www/html/info.php

Такую страницу можно легко восстановить в случае необходимости.

Итоги

Теперь на сервер установлен LAMP stack – надежная платформа, которая позволяет устанавливать любой веб-сайт и огромное количество видов программного обеспечения.