Ноябрь 2020
Пн Вт Ср Чт Пт Сб Вс
 1
2345678
9101112131415
16171819202122
23242526272829
30  
Переход меню

Шаг 1. Обновление пакетов программного обеспечения

Для начала по традиции подготовим ОC к установки. Обновим систему:

dnf -y update

а. После настроим межсетевой экран, установка Apache не изменяет правила брандмауэра, поэтому мы должны сделать это вручную.
Чтобы разрешить трафик через 80 порт, выполните su и выполните команду:

firewall-cmd --permanent --zone=public --add-service=http

б. Вы также можете разрешить HTTPS-трафик через порт 443 с помощью команды:

firewall-cmd --permanent --zone=public --add-service=https

Опция —permanent сделает это правило брандмауэра постоянным и переживает перезагрузку системы.
Затем перезагрузите демон брандмауэра, чтобы изменения вступили в силу.

systemctl reload firewalld

Пока всё, идём дальше.

2) Установим Apache Web Server в CentOS 8

dnf -y install httpd httpd-tools

После установки запустим Apache:

systemctl start httpd

Проверим запустился ли он:

systemctl status httpd
[root@localhost ~]# systemctl status httpd
ВЫХЛОП:
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-04-23 11:44:28 +05; 7s ago
Docs: man:httpd.service(8)
Main PID: 6298 (httpd)
Status: "Started, listening on: port 80"
Tasks: 213 (limit: 23711)
Memory: 29.3M
CGroup: /system.slice/httpd.service
├─6298 /usr/sbin/httpd -DFOREGROUND
├─6299 /usr/sbin/httpd -DFOREGROUND
├─6300 /usr/sbin/httpd -DFOREGROUND
├─6301 /usr/sbin/httpd -DFOREGROUND
└─6302 /usr/sbin/httpd -DFOREGROUND

Apr 23 11:44:28 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Apr 23 11:44:28 localhost.localdomain httpd[6298]: AH00558: httpd: Could not reliably determine the server's fully qual>
Apr 23 11:44:28 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Apr 23 11:44:28 localhost.localdomain httpd[6298]: Server configured, listening on: port 80

Если всё в порядки и запуск произошел без ошибок то добавим Apache в автозагрузку,
это нужно чтоб после перезагрузки ос, нам не пришлось запускать Apache вручную:

systemctl enable httpd
(выхлоп команды)
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

Чтобы проверить правильность работы веб-сервера Apache, мы создадим файл index.html. В корневом каталоге документов, по умолчанию (/var/www/html/), с помощью текстового редактора nano следующей командой :

nano  /var/www/html/test.html

Скопируем и вставим текст написанный ниже:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
  <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Apache test</title>
  </head>
  <body>
         <div style="display: flex; flex-flow: row wrap; justify-content: center; align-items: center; height: 90vh;">     
         <h1>Апач работает! Мир привет тебе!!!</h1>
   </div>
    </body>
 </html>

После сохраните и выйдите (ctrl+o, ctrl+x).

Открываем браузер и:
а. вводим ip сервера если вы работаете удаленно (ip a | grep -w inet | awk ‘{ print $2}’)
б. или в браузере ОС если вы работаете локально (loclahost или 127.0.0.1)
Теперь веб-страница Apache доступна публично. Наконец, нам нужно сделать пользователя apache владельцем веб-каталога. По умолчанию он принадлежит пользователю root.

chown -R apache:apache /var/www/html/

Изменим контекст безопасности файла SELinux:

chcon -t httpd_sys_rw_content_t /var/www/html/ -R

3) Установим MariaDB Database Server on CentOS 8

Есть два способа установки:

а. Стандартный репозиторий стабильной* ветки:

dnf install mariadb-server mariadb -y

б. Последняя стабильно-рабочая* версия:

Установка MariaDB в CentOS8/RHEL 8

После установки запустим БД:

systemctl start mariadb

Проверим запустилась ли наша БД:

systemctl status mariadb

Если всё прошло без ошибок то добавим в сервис в автозагрузку:

systemctl enable mariadb

Теперь нам нужно запустить скрипт безопасности:

mysql_secure_installation

Укажем root пароль для Mariadb, удалим тестовые таблицы и запретим root доступ к Mariadb.
Теперь вы можете выполнить следующую команду и ввести корневой пароль MariaDB для входа в оболочку MariaDB. (проверка работы БД и пароля):

mysql -u root -p

Здесь предполагается что будем использовать phpMyAdmin в качестве веб-интерфейса.
а. Создадим базу данных phpMyAdmin вводим команду:

create database phpmyadmin;

Создаём пользователя базы данных phpMyAdmin и укажем пароль для него:

create user phpmyadmin@localhost identified by 'StrongP@33#';

Привяжем пользователя к базе:

grant all on phpmyadmin.* to phpmyadmin@localhost;

И предоставляем ему все права на это базу данных:

flush privileges;

б. Создадим базу данных pma вводим команду (это нужно для корректной работы phpMyAdmin):

create database pma;

Создаём пользователя базы данных pma:

create user pma@localhost identified by 'StrongP@33#';

Привяжем пользователя к базе:

grant all on pma.* to pma@localhost;

И предоставляем ему все права на это базу данных:

flush privileges;

Выйдите из базы данных:

quit

Шаг 4: Установите PHP на CentOS 8

а. Установите PHP из стандартного репозитория версии 7,2 и некоторые распространенные модули, используя следующую команду:

dnf -y install php php-pecl-apcu php-mysqlnd php-mbstring php-opcache php-common php-xml php-gd php-cli php-pear php-fpm

б. Для того что бы изменить версию на последнюю или необходимую для вашего проекта воспользуйтесь руководством:

Как установить PHP 8 на CentOS/RHEL 8

Веб-сервер Apache на CentOS 8 по умолчанию использует PHP-FPM вместо mod_php для запуска кода PHP, поэтому в приведенной выше команде мы также установили php-fpm. После того, как он установлен, нам нужно его запустить:

systemctl start php-fpm

Проверяем запуск:

systemctl status php-fpm

Если всё запустилось без ошибок добавляем в автозагрузку:

systemctl enable php-fpm
(выхлоп)
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.

«Включен» означает, что автоматический запуск во время загрузки включен, и мы видим, что PHP-FPM работает. php-fpm пакет устанавливает php.conf  файл в /etc/httpd/conf.d/каталоге, поэтому нам необходимо перезапустить Apache, для запуска PHP-кода:

systemctl restart httpd

Шаг 5: Тестирование PHP

Чтобы протестировать PHP-FPM с веб-сервером Apache, нам нужно создать test.php файл в корневом каталоге.
Давайте создадим его проверим работу:

nano /var/www/html/test.php

В открывшемся окне пропишем ниже следующие:

<?php
phpinfo();
?>

После сохраните и выйдите (ctrl+o, ctrl+x).

Проверка:

http://IP-server/test.php

После удаляем проверочный файл (это надо сделать обязательно):

rm /var/www/html/test.php

На этом установка закончена!

Как просмотреть файлы журнала для моего сервера Apache. Используйте команду cat или tail как показано ниже для журналов Apache/httpd на CentOS 8:

ls -l /var/log/httpd/
sudo tail -f /var/log/httpd/access_log
sudo grep 'foo' /var/log/httpd/error_log

Как мне настроить HTTPD дальше?
Все конфигурационные файлы Apache:

/etc/httpd/ — Главный каталог конфигурации Apache
/etc/httpd/conf/httpd.conf — Основной файл конфигурации Apache.
Вы можете редактировать этот файл с помощью команды:

 sudo nano /etc/httpd/conf/httpd.conf 

/var/log/httpd/ — ошибки Apache и доступ к файлам журнала
/etc/httpd/conf.modules.d — Apache модули (такие как прокси, PHP и многое другое) каталог конфигурации
Вывод
Это все. Вы успешно настроили сервер LAMP на CentOS 8. В следующий раз вы узнаете о защите сервера Apache с использованием TLS / SSL.

 

 

 

От arochka

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x