Apache — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Настройка виртуальных хостов)
 
(не показано 6 промежуточных версий 1 участника)
Строка 1: Строка 1:
 +
== Установка Apache ==
 
Apache — самый широко используемый веб-сервер. Он имеет множество мощных функций, включая динамически загружаемые модули, надежную поддержку различных медиаформатов и интеграцию с другим популярным программным обеспечением. Свободный кроссплатформенный веб-сервер, поддерживающий такие операционные системы, как Linux, BSD, Mac OS, Microsoft Windows. Основными достоинствами веб-сервера Apache считаются его надёжность и гибкость конфигурации, позволяющие подключать к нему внешние модули предоставления данных, использовать БД и многое другое.
 
Apache — самый широко используемый веб-сервер. Он имеет множество мощных функций, включая динамически загружаемые модули, надежную поддержку различных медиаформатов и интеграцию с другим популярным программным обеспечением. Свободный кроссплатформенный веб-сервер, поддерживающий такие операционные системы, как Linux, BSD, Mac OS, Microsoft Windows. Основными достоинствами веб-сервера Apache считаются его надёжность и гибкость конфигурации, позволяющие подключать к нему внешние модули предоставления данных, использовать БД и многое другое.
 
== Установка Apache ==
 
  
 
Для установки сервера Apache в Rosa Server надо выполнить команду:
 
Для установки сервера Apache в Rosa Server надо выполнить команду:
Строка 31: Строка 30:
  
 
[[Файл:Apache1-1.png]]
 
[[Файл:Apache1-1.png]]
 +
 +
== Конфигурация сервера ==
 +
 +
* {{File|/var/log/httpd}} - здесь хранятся логи сервера Apache
 +
* {{File|/etc/httpd/}} - основная директория конфигурации Apache
 +
* {{File|/etc/httpd/conf/httpd.conf}} - основной файл конфигурации сервера
 +
* {{File|/etc/httpd/conf.d/}} - директрия с дополнительными файлами конфигурации сервера
 +
* {{File|/etc/httpd/modules.d/}} - директория с конфигурационными файлами модулей Apache
 +
Изначально у Apache один виртуальный хост, и все файлы хоста (сайта) хранятся в:
 +
{{File|/var/www/html/}}
 +
 +
== Настройка виртуальных хостов ==
 +
 +
Для примера, сделаем два виртуальных хоста: {{Prog|rosaserver1}} и {{Prog|rosaserver2}}
 +
 +
Начнем с создания директории, где будут храниться все файлы виртуальных хостов. Делается это через команду
 +
 +
mkdir -p /var/www/rosaserver1/html
 +
mkdir -p /var/www/rosaserver2/html
 +
 +
Теперь нам надо задать стандартные права на директорию с виртуальными хостами:
 +
 +
chown -R $USER:$USER /var/www/rosaserver1/html
 +
chown -R $USER:$USER /var/www/rosaserver2/html
 +
 +
Теперь нужно создать страницу для каждого из сайтов, чтобы иметь возможность просмотреть их.
 +
 +
Для первого сайта:
 +
nano /var/www/rosaserver1/html/index.html
 +
Добавляем в файл простой код:
 +
<pre>
 +
<html>
 +
<head>
 +
<title>Welcome to RosaServer1!</title>
 +
</head>
 +
<body>
 +
<h1>Apache Success! The RosaServer1 is working!</h1>
 +
</body>
 +
</html>
 +
</pre>
 +
Для второго сайта:
 +
nano /var/www/rosaserver2/html/index.html
 +
Добавляем в файл простой код:
 +
<pre>
 +
<html>
 +
<head>
 +
<title>Welcome to RosaServer2!</title>
 +
</head>
 +
<body>
 +
<h1>Apache Success! The RosaServer2 is working!</h1>
 +
</body>
 +
</html>
 +
</pre>
 +
 +
Сохраните и закройте файл
 +
 +
Для начала создайте каталог для хранения файлов хостов (sites-available), а также каталог, предоставляющий Apache список хостов, которые нужно обслуживать (sites-enabled).
 +
mkdir /etc/httpd/sites-available
 +
mkdir /etc/https/sites-enabled
 +
 +
Теперь укажите веб-серверу, что сейчас ему нужно взаимодействовать и с другими виртуальными хостами.
 +
 +
Откройте основной конфигурационный файл {{File|/etc/httpd/conf/httpd.conf}}
 +
 +
Пройдите в конец файла. И добавьте строку: {{Cmd|IncludeOptional sites-enabled/*.conf}}
 +
 +
Сохраните и закройте файл.
 +
 +
Теперь надо создать файлы конфигурации для наших виртуальных хостов:
 +
 +
По очереди открываем в nano наши конфигурационные файлы
 +
nano /etc/httpd/sites-available/rosaserver1.conf
 +
nano /etc/httpd/sites-available/rosaserver2.conf
 +
 +
И вписываем туда следующие даныне:
 +
<pre>
 +
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
 +
</pre>
 +
Соответственно во втором файле меняем 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]]
 +
 +
  
 
[[Категория:ROSA Server]]
 
[[Категория:ROSA Server]]

Текущая версия на 08:37, 10 марта 2023

Установка 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

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

chown -R $USER:$USER /var/www/rosaserver1/html
chown -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