В данном руководстве пойдёт речь о том, как установить LAMP на операционную систему CentOS Stream.
Аббревиатурой LAMP называют набор опенсорсного программного обеспечения, который необходимо развернуть на сервере, предназначенном для функционирования веб-приложений. Аббревиатура расшифровывается следующим образом:
- L – операционная система семейства Linux;
- A – веб-сервер Apache;
- M – система управления базами данных MySQL;
- P – интерпретатор, используемого при разработке веб-сайтов, языка PHP.
В настоящей инструкции установка и настройка ПО будет производится на сервере, работающем под управлением ОС CentOS Stream release 8.
Настройка Apache
Первым этапом установки LAMP будет установка и настройка веб-сервера для ваших будующих веб-приложений Apache. В CentOS Stream установка Apache производится при помощи следующей инструкции:
dnf install httpd
Далее, необходимо добавить Apache в автозагрузку и запустить службу:
systemctl enable httpd
systemctl start httpd
Проверить запуск сервера можно командой:
ss -tulnp | grep httpd
Если сейчас вы наберёте в браузере IP-адрес вашего VPS, то, скорее всего, данный веб-интерфейс будет не доступен. Это говорит о том, что на вашем сервере порты закрыты дефолтным брандмауэром, которым в CentOS является firewalld. Следующими командами необходимо открыть доступ к портам вашего сервера:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Теперь, проверьте, открылись ли порты:
firewall-cmd --list-all
Обратите внимание на то, что в списке разрешённых служб должны присутствовать http и https:
Теперь можно создать простенькую страничку для вашего сайта:
echo "You see your site *** Apache on CentOS Stream" >> /var/www/html/index.html
После чего, в браузере наберите IP-адрес вашего VPS:
Если ваша страничка открылась, значит Apache работает и можно перейти к его настройке.
Сначала перейдите в директорию /etc/httpd/conf/
и откройте файл httpd.conf
:
cd /etc/httpd/conf
vi httpd.conf
В этом файле должна быть раскомментирована строка IncludeOptional
:
Если это не так, с неё нужно снять комментарий и выйти из файла с сохранением изменений.
Теперь, необходимо создать каталоги для вашего сайта (значение my-domain.host
замените на имя своего домена):
mkdir -p /web/sites/my-domain.host/{www,log}
chown -R apache. /web/sites/
Далее, перейдите в каталог /etc/httpd/conf.d/
:
cd /etc/httpd/conf.d
В каталоге необходимо создать файл my-domain.host.conf
и наполнить его текстом, для чего используйте следующие команды (помните, здесь вместо my-domain.host
вы должны будете вводить имя своего домена):
echo "<VirtualHost *:80>" >> my-domain.host.conf
echo "ServerName my-domain.host" >> my-domain.host.conf
echo "ServerAlias my-domain.host" >> my-domain.host.conf
echo "DocumentRoot /web/sites/my-domain.host/www" >> my-domain.host.conf
echo "ErrorLog /web/sites/my-domain.host/log/error.log" >> my-domain.host.conf
echo "CustomLog /web/sites/my-domain.host/log/access.log common" >> my-domain.host.conf
echo "<Directory /web/sites/my-domain.host/www>" >> my-domain.host.conf
echo "Options FollowSymLinks" >> my-domain.host.conf
echo "AllowOverride All" >> my-domain.host.conf
echo "Require all granted" >> my-domain.host.conf
echo "</Directory>" >> my-domain.host.conf
echo "</VirtualHost>" >> my-domain.host.conf
Таким образом, вы создадите конфигурационный файл вашего сайта (в данном мануале этот сайт называется my-domain.host
).
Теперь, проверьте конфигурацию Apache на наличие синтаксических ошибок:
apachectl -t
Вывод должен выглядеть так:
Перезапустите Apache:
systemctl restart httpd
Перейдите в директорию /web/sites/my-domain.host/www/
и создайте там файл виртуального хоста для вашего домена (заменяя my-domain.host
на свой):
cd /web/sites/my-domain.host/www
echo "Yes, it is Apache :)" >> index.html
И вот теперь, когда вы наберёте в браузере имя вашего сайта, сервер вернёт вам подобную страничку:
Настройка PHP
Теперь, подошла очередь установить и настроить на вашем сервере PHP. Вместе с PHP лучше установить дополнительные модули, которые обязательно понадобятся в будущем, например, при настройке phpadmin:
dnf install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip
Проверить версию установленного ПО можно набрав:
php -v
Сделайте рестарт Apache:
systemctl restart httpd
И в директории вашего сайта создайте файл index.php
:
cd /web/sites/my-domain.host/www
echo "<?php phpinfo(); ?>" >> index.php
chown apache. index.php
В браузере наберите адрес http://my-domain.host/index.php
, заменив my-domain.host
на имя своего сайта, и увидите конфигурационную страницу PHP:
Настройка MySQL
На следующем этапе настройки вашего VPS необходимо произвести установку и настройку СУБД MySQL. Для запуска инсталляции пакета из стандартного репозитория запустите:
dnf install mysql-server
Как всегда, по окончании установки, система покажет вам список проинсталлированных приложений:
Далее, произведите запуск службы MySQL:
systemctl start mysqld.service
Также, проверьте её состояние:
systemctl status mysqld
Теперь вы можете настроить автозапуск сервиса MySQL на вашем VPS:
systemctl enable mysqld
Для отключения автозапуска используйте инструкцию:
systemctl disable mysqld
В качестве следующего шага при настройке MySQL, запустите скрипт безопасности, который подкорректирует некоторые параметры СУБД для повышения уровня её безопасности:
mysql_secure_installation
В ходе своего исполнения скрипт попросит вас установить пароль учётной записи root для подключения к MySQL, а также, попросит вашего согласия на изменение некоторых дефолтных настроек СУБД.
Произвести проверку корректности настройки MySQL позволяет инструмент mysqladmin
. С его помощью вы можете получить, например, справочную информацию о СУБД, подключившись к ней учётной записью root:
mysqladmin -u root -p version
Вывод команды выглядит так:
Подключение к СУБД осуществляется следующей инструкцией:
mysql -u root -p
Заключение
Проведя вышеописанные действия, вы развернули на вашем VPS универсальный и доступный инструмент для хостинга и разработки веб-ресурсов. Теперь, когда вы знаете как установить набор программ LAMP на CentOS Stream, можете переходить непосредственно к настройке вашего сайта.