Давайте с Вами наглядно рассмотрим как настроить базовую среду LAMP на RHEL. Мы разделим наши действия на три части:
- Установка веб-сервера Apache
- Установка поддержки PHP
- Установка базы данных MariaDB
Каждый раздел проведет вас шаг за шагом, а также предоставит простые тесты для проверки каждого вышеперечисленного шага.
База данных по умолчанию MySQL была заменена на вилку MariaDB. Он использует тот же php-mysql модуль для общения с базой данных MariaDB из php скрипта.
Установка веб-сервера Apache
Для начала нам нужно установить веб-сервер Apache. Пакет и услуга называется httpd:
[root@rhel7 ~]# yum install httpd
Запустить httpd сервис:
[root@rhel7 ~]# service httpd start
Redirecting to /bin/systemctl start httpd.service
Включите брандмауэр, чтобы разрешить доступ к порту http 80:
[root@rhel7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@rhel7 ~]# firewall-cmd --reload
Убедитесь, что наш веб-сервер, то есть httpd демон запускается после перезагрузки:
[root@rhel7 ~]# systemctl enable httpd
Создайте простую HTML-страницу, чтобы проверить, все ли вышеперечисленные шаги прошли в соответствии с нашим планом:
[root@rhel7 ~]# echo "APACHE HTML TEST" > /var/www/html/index.html
Перейдите в браузере по имени хоста или IP-адресу вашего веб-сервера. Результат должен быть, как на картинке ниже:
Установка поддержки PHP
Как только мы получим базовую работу HTML, мы можем добавить поддержку PHP. Для этого просто установите php пакет и перезапустите наш httpd демон:
[root@rhel7 ~]# yum install php
[root@rhel7 ~]# service httpd restart
Чтобы проверить вашу установку PHP, создайте файл /var/www/html/index.php с содержанием ниже:
<?php
phpinfo();
?>
Еще раз перейдите в браузере к имени хоста или IP-адресу вашего веб-сервера и укажите его в своем новом php-файле. Если все прошло хорошо, вы должны увидеть страницу, аналогичную приведенной ниже:
Установка базы данных MariaDB
В качестве последнего шага мы установим последнюю часть нашего стека RHEL 7 LAMP, которая является базой данных MariaDB. Нам также нужно общаться с базой данных из наших сценариев php, поэтому по этой причине нам также необходимо установить php-mysql модуль:
[root@rhel7 ~]# yum install php-mysql mariadb-server
[root@rhel7 ~]# service httpd restart
Запустите базу данных MariaDB и включите ее запуск после перезагрузки:
[root@rhel7 ~]# service mariadb start
[root@rhel7 ~]# systemctl enable mariadb
Все готово для проведения нашего первого теста стека LAMP. Создайте следующий файл /var/www/html/connect.php со следующим содержимым:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "lamp";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Database connection failed: " . $conn->connect_error);
}
echo "Success. Connected to database";
?>
Перейдите в браузере на веб-сервер и в новый connect.php файл. Результат должен выглядеть следующим образом:
Причина сбоя подключения к базе данных заключается в том, что мы еще не создали ни одной базы данных. Давайте создадим базу данных с именем lamp и повторим наш тест:
[root@rhel7 ~]# mysql -u root -e "create database lamp"
Если это ваша новая установка MariaDB, вы можете получить доступ к своей базе данных без пароля.
Когда вы сейчас обновите свой браузер, ваша страница должна выглядеть примерно так, как показано ниже, что подтверждает, что наш стек RHEL 7 LAMP готов:
Поиск проблемы
Если вы получаете следующую ошибку:
убедитесь, что вы запустили свой сервер MariaDB:
[root@rhel7 ~]# service mariadb start
Кроме того, ниже сообщение об ошибке:
Исправление к вышеуказанному сообщению об ошибке:
[root@rhel7 ~]# echo 'ServerName 127.0.0.1' >> /etc/httpd/conf/httpd.conf
[root@rhel7 ~]# service httpd restart