Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
software:linux_server:ubuntu_server_install_apache [2024/02/28 20:01] – [Настройка виртуальных хостов (рекомендуется)] vladpolskiy | software:linux_server:ubuntu_server_install_apache [2024/03/01 12:05] (текущий) – [Ссылки и Примечания] vladpolskiy |
---|
Брандмауэр успешно активирован. | Брандмауэр успешно активирован. |
| |
| [[software:linux_server:ubuntu_server_setting_firewall_ufw|См. подробную статью о настройке брандмауэра через UFW]] |
=====Проверка вашего веб-сервера===== | =====Проверка вашего веб-сервера===== |
| |
sudo mkdir /var/www/your_domain | sudo mkdir /var/www/your_domain |
</code> | </code> |
| |
| |
| |
Затем назначьте владельца каталога с помощью **$USER** переменной среды: | Затем назначьте владельца каталога с помощью **$USER** переменной среды: |
Разрешения ваших веб-корней должны быть правильными, если вы не изменили значение umask, которое устанавливает разрешения для файлов по умолчанию. Чтобы убедиться, что ваши разрешения верны и разрешить владельцу читать, записывать и выполнять файлы, одновременно предоставляя разрешения только на чтение и выполнение группам и другим лицам, вы можете ввести следующую команду: | Разрешения ваших веб-корней должны быть правильными, если вы не изменили значение umask, которое устанавливает разрешения для файлов по умолчанию. Чтобы убедиться, что ваши разрешения верны и разрешить владельцу читать, записывать и выполнять файлы, одновременно предоставляя разрешения только на чтение и выполнение группам и другим лицам, вы можете ввести следующую команду: |
| |
| <code> |
sudo chmod -R 755 /var/www/your_domain | sudo chmod -R 755 /var/www/your_domain |
Затем создайте образец index.htmlстраницы, используя nanoваш любимый редактор: | </code> |
| |
| {{:software:linux_server:apache_http_server_15.png?|}} |
| |
| Затем создайте образец index.html страницы, используя nano или ваш любимый редактор: |
| |
| <code> |
sudo nano /var/www/your_domain/index.html | sudo nano /var/www/your_domain/index.html |
| </code> |
| |
Внутри добавьте следующий образец HTML: | Внутри добавьте следующий образец HTML: |
| |
/var/www/ваш_домен/index.html | <file html index.html> |
<html> | <html> |
<head> | <head> |
</body> | </body> |
</html> | </html> |
Сохраните и закройте файл, когда закончите. | </file> |
| |
Чтобы Apache мог обслуживать этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо того, чтобы изменять файл конфигурации по умолчанию, расположенный по /etc/apache2/sites-available/000-default.confадресу, давайте создадим новый по адресу :/etc/apache2/sites-available/your_domain.conf | {{:software:linux_server:apache_http_server_16.png?|}} |
| |
| Сохраните CTRL+O->INTER и закройте CTRL+X файл, когда закончите. |
| |
| {{:software:linux_server:apache_http_server_17.png?|}} |
| |
| Чтобы Apache мог обслуживать этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо того, чтобы изменять файл конфигурации по умолчанию, расположенный по **/etc/apache2/sites-available/000-default.conf** адресу, давайте создадим новый по адресу :**/etc/apache2/sites-available/your_domain.conf** |
| |
| <code> |
sudo nano /etc/apache2/sites-available/your_domain.conf | sudo nano /etc/apache2/sites-available/your_domain.conf |
| </code> |
| |
Вставьте следующий блок конфигурации, который аналогичен блоку по умолчанию, но обновлен для нашего нового каталога и имени домена: | Вставьте следующий блок конфигурации, который аналогичен блоку по умолчанию, но обновлен для нашего нового каталога и имени домена: |
| |
/etc/apache2/sites-available/ваш_домен.conf | <file conf your_domain.conf> |
<VirtualHost *:80> | <VirtualHost *:80> |
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost |
CustomLog ${APACHE_LOG_DIR}/access.log combined | CustomLog ${APACHE_LOG_DIR}/access.log combined |
</VirtualHost> | </VirtualHost> |
Обратите внимание, что мы обновили DocumentRootнаш новый каталог и ServerAdminадрес электронной почты, к которому может получить доступ администратор сайта your_domain . Мы также добавили две директивы: ServerName, которая устанавливает базовый домен, который должен соответствовать этому определению виртуального хоста, и ServerAlias, которая определяет дополнительные имена, которые должны совпадать, как если бы они были базовым именем. | </file> |
| |
Сохраните и закройте файл, когда закончите. | Обратите внимание, что мы обновили **DocumentRoot** наш новый каталог и **ServerAdmin** адрес электронной почты, к которому может получить доступ администратор сайта your_domain . Мы также добавили две директивы: **ServerName**, которая устанавливает базовый домен, который должен соответствовать этому определению виртуального хоста, и **ServerAlias**, которая определяет дополнительные имена, которые должны совпадать, как если бы они были базовым именем. |
| {{:software:linux_server:apache_http_server_18.png?|}} |
| |
Давайте активируем файл с помощью a2ensiteинструмента: | Сохраните CTRL+O->INTER и закройте CTRL+X файл, когда закончите. |
| |
| {{:software:linux_server:apache_http_server_19.png?|}} |
| |
| Давайте активируем файл с помощью a2ensite инструмента: |
| |
| <code> |
sudo a2ensite your_domain.conf | sudo a2ensite your_domain.conf |
| </code> |
| |
| {{:software:linux_server:apache_http_server_20.png?|}} |
| |
Отключите сайт по умолчанию, определенный в 000-default.conf: | Отключите сайт по умолчанию, определенный в 000-default.conf: |
| |
| <code> |
sudo a2dissite 000-default.conf | sudo a2dissite 000-default.conf |
| </code> |
| |
| {{:software:linux_server:apache_http_server_21.png?|}} |
| |
Далее проверим наличие ошибок конфигурации: | Далее проверим наличие ошибок конфигурации: |
| |
| <code> |
sudo apache2ctl configtest | sudo apache2ctl configtest |
| </code> |
| |
Вы должны получить следующий вывод: | Вы должны получить следующий вывод: |
| |
Output | {{:software:linux_server:apache_http_server_22.png?|}} |
Syntax OK | |
Перезапустите Apache, чтобы изменения вступили в силу: | Перезапустите Apache, чтобы изменения вступили в силу: |
| |
| <code> |
sudo systemctl restart apache2 | sudo systemctl restart apache2 |
Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, перейдя к , где вы должны увидеть что-то вроде этого:http://your_domain | </code> |
| |
Пример виртуального хоста Apache | Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, перейдя к , где вы должны увидеть что-то вроде этого: **http://your_domain (http://192.168.1.145)** |
| |
| {{:software:linux_server:apache_http_server_23.png?|Пример виртуального хоста Apache}} |
| |
| ====Подключение и отключение виртуальных хостов==== |
| |
| Для того что-б подключить/отключить виртуальный хост который прописан в файле /etc/apache2/sites-available/mercurial нужно выполнить: |
| |
| Для подключения |
| |
| <code> |
| sudo a2ensite mercurial |
| </code> |
| |
| Для отключения |
| |
| <code> |
| sudo a2dissite mercurial |
| </code> |
| =====Знакомство с важными файлами и каталогами Apache===== |
| |
Шаг 6. Знакомство с важными файлами и каталогами Apache | |
Теперь, когда вы знаете, как управлять самой службой Apache, вам следует потратить несколько минут на ознакомление с несколькими важными каталогами и файлами. | Теперь, когда вы знаете, как управлять самой службой Apache, вам следует потратить несколько минут на ознакомление с несколькими важными каталогами и файлами. |
| |
Содержание | ====Содержание==== |
/var/www/html: Фактический веб-контент, который по умолчанию состоит только из страницы Apache по умолчанию, которую вы видели ранее, обслуживается из каталога /var/www/html. Это можно изменить, изменив файлы конфигурации Apache. | |
Конфигурация сервера | * **/var/www/html**: Фактический веб-контент, который по умолчанию состоит только из страницы Apache по умолчанию, которую вы видели ранее, обслуживается из каталога /var/www/html. Это можно изменить, изменив файлы конфигурации Apache. |
/etc/apache2: каталог конфигурации Apache. Здесь находятся все файлы конфигурации Apache. | |
/etc/apache2/apache2.conf: основной файл конфигурации Apache. Это можно изменить, чтобы внести изменения в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации. | ====Конфигурация сервера==== |
/etc/apache2/ports.conf: этот файл определяет порты, которые будет прослушивать Apache. По умолчанию Apache прослушивает порт 80 и дополнительно прослушивает порт 443, когда включен модуль, обеспечивающий возможности SSL. | |
/etc/apache2/sites-available/: каталог, в котором могут храниться виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации, находящиеся в этом каталоге, если они не связаны с этим sites-enabledкаталогом. Обычно вся конфигурация блоков сервера выполняется в этом каталоге, а затем включается путем связывания с другим каталогом с помощью команды a2ensite. | * **/etc/apache2**: каталог конфигурации Apache. Здесь находятся все файлы конфигурации Apache. |
/etc/apache2/sites-enabled/: каталог, в котором хранятся включенные виртуальные хосты для каждого сайта. Обычно они создаются путем ссылки на файлы конфигурации, находящиеся в sites-availableкаталоге с расширением a2ensite. Apache считывает файлы конфигурации и ссылки, найденные в этом каталоге, при запуске или перезагрузке для компиляции полной конфигурации. | * **/etc/apache2/apache2.conf**: основной файл конфигурации Apache. Это можно изменить, чтобы внести изменения в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации. |
/etc/apache2/conf-available/, /etc/apache2/conf-enabled/: Эти каталоги имеют ту же связь, что и каталоги sites-availableи sites-enabled, но используются для хранения фрагментов конфигурации, которые не принадлежат виртуальному хосту. Файлы в conf-availableкаталоге можно включить с помощью a2enconfкоманды и отключить с помощью a2disconfкоманды. | * **/etc/apache2/ports.conf**: этот файл определяет порты, которые будет прослушивать Apache. По умолчанию Apache прослушивает порт 80 и дополнительно прослушивает порт 443, когда включен модуль, обеспечивающий возможности SSL. |
/etc/apache2/mods-available/, /etc/apache2/mods-enabled/: Эти каталоги содержат доступные и включенные модули соответственно. Файлы, заканчивающиеся на, .loadсодержат фрагменты для загрузки определенных модулей, а файлы, заканчивающиеся на, .confсодержат конфигурацию этих модулей. Модули можно включать и отключать с помощью команды a2enmodи a2dismod. | * **/etc/apache2/sites-available/**: каталог, в котором могут храниться виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации, находящиеся в этом каталоге, если они не связаны с этим **sites-enabled** каталогом. Обычно вся конфигурация блоков сервера выполняется в этом каталоге, а затем включается путем связывания с другим каталогом с помощью команды **a2ensite**. |
| * **/etc/apache2/sites-enabled/**: каталог, в котором хранятся включенные виртуальные хосты для каждого сайта. Обычно они создаются путем ссылки на файлы конфигурации, находящиеся в **sites-available** каталоге с расширением **a2ensite**. Apache считывает файлы конфигурации и ссылки, найденные в этом каталоге, при запуске или перезагрузке для компиляции полной конфигурации. |
| * **/etc/apache2/conf-available/**, **/etc/apache2/conf-enabled/**: Эти каталоги имеют ту же связь, что и каталоги **sites-available** и **sites-enabled**, но используются для хранения фрагментов конфигурации, которые не принадлежат виртуальному хосту. Файлы в **conf-available** каталоге можно включить с помощью **a2enconf** команды и отключить с помощью **a2disconf** команды. |
| * **/etc/apache2/mods-available/**, **/etc/apache2/mods-enabled/**: Эти каталоги содержат доступные и включенные модули соответственно. Файлы, заканчивающиеся на, **.load** содержат фрагменты для загрузки определенных модулей, а файлы, заканчивающиеся на, **.conf** содержат конфигурацию этих модулей. Модули можно включать и отключать с помощью команды **a2enmod** и **a2dismod**. |
| |
====Журналы сервера==== | ====Журналы сервера==== |
| |
Теперь, когда у вас установлен веб-сервер, у вас есть множество вариантов типа контента, который вы можете обслуживать, и технологий, которые вы можете использовать для создания более богатого опыта. | Теперь, когда у вас установлен веб-сервер, у вас есть множество вариантов типа контента, который вы можете обслуживать, и технологий, которые вы можете использовать для создания более богатого опыта. |
| |
| =====Ссылки и Примечания===== |
| * [[software:linux_server:ubuntu_server_setting_firewall_ufw|См. подробную статью о настройке брандмауэра через UFW]] |
| * [[https://learnubuntu.com/ufw-status-inactive/|Исправьте «sudo ufw status |
| Status: inactive» в Ubuntu]] |
| * [[https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04|Первоначальная настройка сервера с Ubuntu 20.04]] |
| * [[https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-20-04|Как установить веб-сервер Apache в Ubuntu 20.04]] |