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 – надежная платформа, которая позволяет устанавливать любой веб-сайт и огромное количество видов программного обеспечения.