Установка LAMP CentOS
LAMP - акроним, обозначающий комплекс программного обеспечения для создания Web-сервера. Базируется на Linux, в качестве web-сервера используется Apache, база данных - MySQL, интерпретатор кода - PHP.
Все действия делаются от пользователя root.
В самом начале обновляем компоненты системы и приложения:
sudo yum update
На вопрос “Is this ok” отвечаем “y”, дожидаемся окончания процесса и перезагружаем сервер командой:
reboot
Приступаем к установке.
Устанавливаем web-сервер Apache, правда в репозитории он называется httpd:
yum install httpd
Далее устанавливаем сервер баз данных. Начиная с CentOS7, вместо СУБД MySQL активно используется MariaDB:
yum install mariadb-server mariadb
Если интересует свежая стабильная версия дистрибутива, то следует выполнять установку из репозитория разработчика. Как это сделать рассмотрено в этой статье.
Устанавливаем PHP сразу с модулем для работы с базой данных:
sudo yum install php php-mysql
Установка окончена.
Настроим сервисы, чтобы они автоматически запускались после перезагрузки системы, поочередно выполнив команды:
systemctl enable httpd.service
systemctl start httpd.service
systemctl enable mariadb.service
systemctl start mariadb.service
Чтобы разрешить подключение к web-серверу, добавляем разрешающее правило и сохраняем его:
iptables -A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
iptables-save
Теперь выполним базовую настройку безопасности MariaDB:
mysql_secure_installation
В самом начале использования программа запросит пароль пользователя root, так как он не задавался при установке, то просто отвечаем нажатием клавиши Enter. Следом программа предложит изменить пароль пользователя root. Если пароль не был задан, то избежать этой процедуры невозможно. Вводим пароль и его подтверждение. На дальнейшие вопросы можно отвечать клавишей “Y”.
Set root password? [Y/n] |
Изменить пароль пользователя root? |
Remove anonymous users? [Y/n] |
Удалить анонимных пользователей? |
Disallow root login remotely? [Y/n] |
Запретить удаленное подключение от имени root? |
Remove test database and access to it? [Y/n] |
Удалить базу данных test и доступ к ней? |
Reload privilege tables now? [Y/n] |
Перезагрузить таблицу привилегий сейчас? |
Для проверки установки создадим php-файл info.php в корне сайта:
touch /var/www/html/info.php
Откроем файл любым текстовым редактором, в нашем случае nano:
nano /var/www/html/info.php
Если получаете сообщение с ошибкой, то установите этот редактор:
yum install nano
Добавим php-код в файл:
<?php phpinfo(); ?>
Сохраняем изменения. В любом браузере переходим по ссылке в формате http://IP-адрес_сервера/info.php
В примере случае будет так, у вас свой IP-адрес:
http://10.10.7.7/info.php
Результат будет таким:
Модули PHP.
Установленного модуля поддержки СУБД будет недостаточно, если вы планируете использовать, любую CMS или самописный сайт. Чтобы удовлетворить потребность в функционале следует установить расширения языка php. Для начала посмотрим что предлагает репозиторий командой:
yum search php-
Установка расширений происходит точно также как и установка любого другого пакета, например:
yum install php-gd
После установки расширений рекомендуется перезапустить службу web-сервера:
systemctl restart httpd.service