Apache

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Установка Apache

Apache — самый широко используемый веб-сервер. Он имеет множество мощных функций, включая динамически загружаемые модули, надежную поддержку различных медиаформатов и интеграцию с другим популярным программным обеспечением. Свободный кроссплатформенный веб-сервер, поддерживающий такие операционные системы, как Linux, BSD, Mac OS, Microsoft Windows. Основными достоинствами веб-сервера Apache считаются его надёжность и гибкость конфигурации, позволяющие подключать к нему внешние модули предоставления данных, использовать БД и многое другое.

Для установки сервера Apache в Rosa Server надо выполнить команду:

dnf install apache-base

Будет установлен базовый набор сервера Apache

Настройка сервисов

Чтобы включить сервер Apache надо выполнить команду:

systemctl start httpd.service

Чтобы включить Apache при загрузке систем выполните команду:

systemctl enable httpd.service

Перезапуск Apache выполняется командой:

systemctl restart httpd.service

Проверка работы Apache

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

httpd -v

Apache2-1.png

Так же можно открыть браузер и набрать адрес страницы: http://<ip адрес>/

где <ip адрес> - это ip адрсе или имя хоста запущенного Apache

Apache1-1.png

Конфигурация сервера

  • /var/log/httpd - здесь хранятся логи сервера Apache
  • /etc/httpd/ - основная директория конфигурации Apache
  • /etc/httpd/conf/httpd.conf - основной файл конфигурации сервера
  • /etc/httpd/conf.d/ - директрия с дополнительными файлами конфигурации сервера
  • /etc/httpd/modules.d/ - директория с конфигурационными файлами модулей Apache

Изначально у Apache один виртуальный хост, и все файлы хоста (сайта) хранятся в:

/var/www/html/

Настройка виртуальных хостов

Для примера, сделаем два виртуальных хоста: rosaserver1 и rosaserver2

Начнем с создания директории, где будут храниться все файлы виртуальных хостов. Делается это через команду

mkdir -p /var/www/rosaserver1/html
mkdir -p /var/www/rosaserver2/html

Теперь нам надо задать стандартные права на директорию с виртуальными хостами:

hown -R $USER:$USER /var/www/rosaserver1/html
hown -R $USER:$USER /var/www/rosaserver2/html

Теперь нужно создать страницу для каждого из сайтов, чтобы иметь возможность просмотреть их.

Для первого сайта:

nano /var/www/rosaserver1/html/index.html

Добавляем в файл простой код:

<html>
<head>
<title>Welcome to RosaServer1!</title>
</head>
<body>
<h1>Apache Success! The RosaServer1 is working!</h1>
</body>
</html>

Для второго сайта:

nano /var/www/rosaserver2/html/index.html

Добавляем в файл простой код:

<html>
<head>
<title>Welcome to RosaServer2!</title>
</head>
<body>
<h1>Apache Success! The RosaServer2 is working!</h1>
</body>
</html>

Сохраните и закройте файл

Для начала создайте каталог для хранения файлов хостов (sites-available), а также каталог, предоставляющий Apache список хостов, которые нужно обслуживать (sites-enabled).

mkdir /etc/httpd/sites-available
mkdir /etc/https/sites-enabled

Теперь укажите веб-серверу, что сейчас ему нужно взаимодействовать и с другими виртуальными хостами.

Откройте основной конфигурационный файл /etc/httpd/conf/httpd.conf

Пройдите в конец файла. И добавьте строку: IncludeOptional sites-enabled/*.conf

Сохраните и закройте файл.

Теперь надо создать файлы конфигурации для наших виртуальных хостов:

По очереди открываем в nano наши конфигурационные файлы

nano /etc/httpd/sites-available/rosaserver1.conf
nano /etc/httpd/sites-available/rosaserver2.conf

И вписываем туда следующие даныне:

ServerName rosaserver1
ServerAlias www.rosaserver1
DocumentRoot /var/www/rosaserver1/html
DirectoryIndex index.html index.htm
<Directory /var/www/rosaserver1/html>
  AllowOverride all
  Require all granted
</Directory>
ErrorLog logs/rosaserver1_error.log

Соответственно во втором файле меняем rosaserver1 на rosaserver2

Сохраняем и выходим.

Включаем наши виртуальные хосты. Для этого создайте символическую ссылку для каждой секции (сайта) в каталог sites-enabled:

ln -s /etc/httpd/sites-available/rosaserver1.conf /etc/httpd/sites-enabled/rosaserver1.conf
ln -s /etc/httpd/sites-available/rosaserver2.conf /etc/httpd/sites-enabled/rosaserver2.conf

Теперь можно перезапустить сервер Apache и посмотреть как работают наши вритуальные хосты. Apache3-1.png