Apache или Apache HTTP server - это бесплатный веб-сервер с открытым исходным кодом, разработанный и поддерживаемый Apache Software Foundation. О его популярности можно судить по тому, что около 46% веб-сайтов во всем мире работают на Apache. Apache позволяет разработчикам веб-сайтов предоставлять свой контент через Интернет. Он служит в качестве курьера, доставляя файлы, запрашиваемые пользователями, когда они вводят доменное имя в адресную строку браузера.
Это руководство посвящено установке и настройке Apache2 на вашей системе Ubuntu. Поскольку в этой статье мы используем командную строку Ubuntu, Терминал, вы можете открыть его через системный Dash или сочетание клавиш Ctrl+Alt+T.
Установка Apache 2 в Ubuntu Linux
Чтобы установить программное обеспечение Apache2 через официальные репозитории Ubuntu, выполните следующие шаги.
Шаг 1: Обновите системные репозитории
Вы можете загрузить последнюю версию программного обеспечения, предварительно обновив локальный индекс пакетов в репозиториях Ubuntu. Для этого откройте Терминал и введите следующую команду:
1 | sudo apt update |
Шаг 2: Установите Apache 2 с помощью команды apt
Далее введите следующую команду от имени sudo, чтобы установить Apache2 и его необходимые зависимости:
1 | sudo apt install apache2 |
Вам может быть предложено ввести y/n для продолжения установки. Пожалуйста, введите Y, после чего начнется процедура установки.
Шаг 3: Проверка установки Apache
Когда установка завершена, вы можете проверить номер версии и таким образом убедиться, что Apache2 действительно установлен в вашей системе, введя следующую команду:
1 | apache2 -version |
Настройка параметров брандмауэра
Для того чтобы настроить Apache, нам сначала нужно разрешить внешний доступ к определенным веб-портам нашей системы и разрешить Apache на вашем брандмауэре UFW.
Шаг 1: Составьте список профилей приложений UFW
Для того чтобы настроить брандмауэр, давайте сначала составим список профилей приложений, которые нам понадобятся для разрешения доступа к Apache. Используйте следующую команду для получения списка доступных приложений:
1 | sudo ufw app list |
В приведенном выше списке вы можете увидеть три профиля Apache, все они обеспечивают различные уровни безопасности; Apache является тем, который обеспечивает максимальное ограничение с открытым портом 80.
Шаг 2: Разрешите Apache на UFW и проверьте его статус
Разрешение Apache на UFW откроет порт 80 для сетевого трафика, обеспечивая при этом максимальную безопасность сервера. Пожалуйста, настройте UFW на разрешение Apache с помощью следующей команды:
1 | sudo ufw allow 'Apache' |
Теперь статус UFW будет отображать, что Apache включен в брандмауэре.
1 | sudo ufw status |
Настройка параметров веб-сервера Apache
Шаг 1: Убедитесь, что служба Apache запущена
Первым шагом будет проверка работоспособности службы Apache2 в вашей системе с помощью следующей команды:
1 | sudo systemctl status apache2 |
Статус "active (running)" подтверждает, что служба apache2 запущена.
Шаг 2: Убедитесь, что Apache работает правильно и прослушивает ваш IP-адрес.
Вы также можете проверить, запущен ли Apache, запросив страницу с сервера Apache. Для этого вы можете использовать IP вашего сервера, чтобы получить доступ к целевой странице Apache.
Используйте следующую команду, чтобы узнать IP вашего сервера:
1 | hostname -I |
Затем попробуйте ввести IP-адреса, один за другим, в вашем веб-браузере следующим образом:
http://server_IP
В моем случае http://192.168.153.130. При этом отобразится следующая веб-страница Apache для Ubuntu, что подтверждает правильность работы сервера Apache.
Настройка виртуальных хостов в Apache
Виртуальный хост похож на блоки сервера. Он используется для управления конфигурацией более чем одного домена с одного сервера. Мы приведем пример того, как настроить виртуальный хост через сервер Apache. Мы создадим сайт domain.com с помощью серверного блока, который по умолчанию включен в Apache для Ubuntu.
Шаг 1: Настройка доменного имени
Блок сервера, включенный по умолчанию, способен обслуживать документы из /var/www/html. Однако мы создадим каталог по адресу /var/www/, оставив каталог по умолчанию нетронутым.
Создайте этот каталог с помощью следующей команды, заменив sampledomain.com на ваше соответствующее доменное имя.
1 | sudo mkdir -p /var/www/domain.com/html |
Затем назначьте права собственности на каталог с помощью следующих команд:
1 | sudo chown -R $USER:$USER /var/www/domain.com/html |
1 | sudo chmod -R 755 /var/www/domain.com |
Изменение права собственности на каталог
Теперь давайте создадим индексную страницу, к которой впоследствии можно будет обратиться, чтобы проверить, работает ли Apache с нашим доменным именем. Создайте HTML-файл с помощью редактора Nano или любого другого вашего любимого текстового редактора.
1 | nano /var/www/domain.com/html/index.html |
Введите следующий HTML для индексной страницы:
1 2 3 4 5 6 7 8 | <html> <head> <title>Добро пожаловать на сайт domain.com!</title> </head> <body> <h1>Вам повезло! Блок сервера Domain.com поднят!</h1> </body> </html> |
Для создания HTML-файла мы используем редактор nano.
Вы можете сохранить файл в nano, используя Ctrl+X, затем ввести Y и нажать Enter.
Apache нужен файл виртуального хоста, чтобы обслуживать содержимое вашего сервера. Стандартный конфигурационный файл для этой цели уже создан, но мы создадим новый для наших пользовательских конфигураций.
1 | sudo nano /etc/apache2/sites-available/domain.com.conf |
Введите следующие параметры конфигурации для нашего доменного имени:
1 2 3 4 5 6 7 8 | <VirtualHost *:80> ServerAdmin admin@domain.com ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/domain.com/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Для создания этого файла .conf мы используем редактор nano.
Вы можете сохранить файл в nano, используя Ctrl+X, затем введите Y и нажмите Enter.
Шаг 2: Включите файл конфигурации домена
Давайте включим файл конфигурации, который мы создали с помощью инструмента a2ensite:
1 | sudo a2ensite domain.com.conf |
Выполните следующую команду, которая отключит веб-сайт по умолчанию
1 | sudo a2dissite 000-default.conf |
Теперь перезапустите службу Apache:
1 | sudo systemctl restart apache2 |
Шаг 3: Проверка на наличие ошибок
Наконец, давайте проверим, нет ли ошибок в конфигурации, выполнив следующую команду:
1 | sudo apache2ctl configtest |
Получаем следующую ошибку
1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message |
открываем файл /etc/apache2/apache2.conf
1 | sudo nano /etc/apache2/apache2.conf |
и добовляем строку
1 | ServerName localhost |
Теперь, когда вы снова проверите наличие ошибок, вы увидите, что эта ошибка устранена с помощью следующего вывода:
Теперь перезапустите службу Apache:
1 | sudo systemctl restart apache2 |
Шаг 4: Проверьте, обслуживает ли Apache ваше доменное имя
Теперь сервер Apache настроен на обслуживание вашего доменного имени. Это можно проверить, введя имя вашего сервера следующим образом в любом из веб-браузеров, работающих на вашей системе:
http://domain.com
Индексная страница должна отображаться следующим образом, указывая на то, что Apache теперь готов обслуживать ваш серверный блок!
Некоторые общие команды управления Apache
После настройки веб-сервера вам может потребоваться выполнить некоторые основные операции по управлению Apache. Вот команды, которые вы можете ввести в терминале для выполнения этих операций.
1 | sudo systemctl start apache2 |
Используйте эту команду как sudo, чтобы запустить сервер Apache.
1 | sudo systemctl stop apache2 |
Используйте эту команду как sudo, чтобы остановить сервер Apache, когда он находится в режиме запуска.
1 | sudo systemctl restart apache2 |
Используйте эту команду как sudo, чтобы остановить, а затем снова запустить службу Apache.
1 | sudo systemctl reload apache2 |
Используйте эту команду как sudo, чтобы применить изменения конфигурации без перезапуска соединения.
1 | sudo systemctl enable apache2 |
Используйте эту команду как sudo, чтобы включить запуск Apache при каждой загрузке системы.
1 | sudo systemctl disable apache2 |
Используйте эту команду как sudo, чтобы отключить Apache, если вы настроили его запуск при каждой загрузке системы.
Заключение
В этой статье вы научились устанавливать и настраивать веб-сервер Apache в системе Ubuntu. Это включает в себя внесение некоторых изменений в брандмауэр UFW, а затем настройку веб-сервера для вашего IP-адреса. Мы также рекомендуем вам настроить виртуальный хост через Apache; это даст вам основу для использования Apache для размещения ваших файлов в Интернете. Основные команды управления Apache также помогут вам как веб-администратору оптимально управлять вашим веб-сервером.