Инструменты пользователя

Инструменты сайта


apache

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
apache [2021/01/03 16:14]
dja
apache [2021/01/03 17:44] (текущий)
dja
Строка 1: Строка 1:
-Установка веб-сервера предельно проста:+^  <font 26px/inherit;;#66cc00;;inherit>//Apache//</font>   ^| 
 +|[[:apache_install|Apache Install]]|Установка
 +|[[:htaccess|.htaccess]]|Убираем доступ к папке
 +|[[:htpasswd|.htpasswd]]|Установка пароля на каталог сайта|
  
-<code> +\\
-sudo apt install apache2 +
- +
-</code> +
- +
-При наборе IP сервера видим стандартную заглушку. +
- +
-{{https://i.imgur.com/c01brV3.png?direct&128x200}} +
- +
-Вопрос, который следует решить, это права доступа к файлам и папкам сайта. По умолчанию их владельцем должен являться веб-сервер (пользователь и группа www-data), в противном случае скрипты могут работать неожиданным образом или не работать вообще. Более удобно и безопасно запускать содержимое сайтов от имени пользователя, а не веб-сервера. Для этого установим следующий пакет (не проверял): +
- +
-<code> +
-sudo apt install apache2-mpm-itk +
- +
-</code> +
- +
-Настройки сервера содержатся в **/etc/apache2/apache2.conf**, к которому подключаются дополнительные файлы из директорий **mods-enabled** и **sites-enabled**. Каталоги **mods-enabled** и **sites-enabled** не содержат файлов конфигурации, а только символические ссылки на директории **mods-available** и **sites-available**, где следует располагать сами файлы. Если мы заглянем в папку **sites-enabled**, то увидим там уже готовую конфигурацию для сайта по умолчанию, т.е. того, что будет показано при наборе IP-адреса сервера. Данная настройка указывает на папку **/var/www/html**, где расположена страница заглушка. Можно просто заменить эту заглушку своим файлом. А можно к примеру задать другое расположение. К примеру мы хотим разместить на нашем сервере содержимое сайта example.com, сначала создадим необходимые директории и сделаем их владельцем пользователя, который будет работать с сайтом: +
-<code> +
-mkdir /var/www/example.com +
-chown andrey:andrey /var/www/example.com +
- +
-</code> +
- +
-Создадим файл +
- +
-<code> +
-touch /etc/apache2/sites-available/example.com.conf +
- +
-</code> +
- +
-Заполним его к примеру редактором **nano** +
-<code> +
-<VirtualHost 1.2.3.4:80> +
-    ServerName example.com +
-    ServerAdmin mail@example.com +
-    ServerAlias www.example.com +
-    DocumentRoot /var/www/example.com +
-    CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined +
-    ErrorLog ${APACHE_LOG_DIR}/example.com.error.log +
-    AssignUserID andrey andrey +
-    <Directory /var/www/example.com> +
-        Options -Includes -Indexes -ExecCGI +
-        AllowOverride All +
-    </Directory> +
-</VirtualHost> +
- +
-</code> +
- +
-  * **ServerName**  - имя виртуального хоста, должен иметь значение полного доменного имени (FQDN), в нашем случае example.com, определяет, какое доменное имя обслуживает данный виртуальный хост. +
-  * **ServerAdmin**  - контактный адрес электронной почты администратора домена, включается в сообщения об ошибках веб-сервера, рекомендуется завести для этих целей отдельный ящик. +
-  * **ServerAlias**  - алиас имени хоста, обязательно значение [[http://www.example.com|www.example.com]], чтобы ваш сайт работал как с www, так и без. +
-  * **DocumentRoot**  - корневая папка виртуального хоста, указываем директорию размещения сайта, т.е. **/var/www/example.com** +
-  * **CustomLog**  - имя и расположение лога доступа, переменная **${APACHE_LOG_DIR}**  указывает на стандартную директорию логов веб-сервера, это позволяет использовать стандартный механизм ротации логов для всех сайтов, в имени лога рекомендуем указывать имя хоста, чтобы сразу было понятно где какой лог. Не забудьте в конце опцию **combined**, данная опция указывает формат лога и задается в **apache2.conf**. +
-  * **ErrorLog**  - имя и расположение лога ошибок, полностью аналогичен логу доступа, но не требуется указывать формат лога. +
-  * **AssignUserID**  - имя и группа пользователя (через пробел) от имени которых будет работать данный виртуальный хост, задается только если установлен **apache2-mpm-itk**, ====== в противном случае эта директива не нужна ======. (не проверял) +
-Чтобы включить сайт необходимо сделать символьную ссылку на файл конфигурации в каталоге **sites-enabled**, а, чтобы выключить - удалить эту ссылку. Это можно сделать вручную, при помощи команды ''ln -s'', или использовать специальную утилиту ''apache'': +
-<code> +
- +
-a2ensite example.com +
- +
-</code> +
- +
-Для выключения соответственно +
- +
-<code> +
-a2dissite example.com +
- +
-</code> +
- +
-Перезапустим сервер +
- +
-<code> +
-/etc/init.d/apache2 restart +
- +
-</code> +
- +
-Теперь создадим наш индекс **/var/www/examlpe.com/index.html**  с содержимым +
- +
-<code> +
-<body><h1>OK!</h1></body> +
- +
-</code> +
- +
-{{https://i.imgur.com/HIJw7i7.png?nolink&341x210}}+
  
  
apache.1609679644.txt.gz · Последнее изменение: 2021/01/03 16:14 — dja