Показать статистику
0 голосов
от (420 баллов)
388 просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Давайте с Вами наглядно рассмотрим как настроить базовую среду 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
...