Apache — самый распространенный веб-сервер в мире. Многие популярные сайты, такие как Adobe, Spotify, Samsung и т. д., используют Apache в качестве бэкенда. Он предлагает множество возможностей, таких как динамическая загрузка модулей, автоиндексация, совместимость с IPv6, надежная поддержка мультимедиа, широкая поддержка интеграций и многое другое.
Несмотря на то, что его прямой конкурент, Nginx, считается лучшим для большого трафика и масштабируемости, архитектура Apache может справиться со стабильными проектами, требующими большей совместимости.
Как установить Apache на Ubuntu 24.04 и другие версии
Установить Apache на Ubuntu можно двумя способами: с помощью менеджера пакетов, что наиболее просто и рекомендуется, или с помощью исходного файла, который предоставляет последнюю версию, но может быть неудобен в управлении.
Метод 1: Установка Apache на Ubuntu с помощью менеджера пакетов
Откройте терминал, обновите систему, а затем установите веб-сервер Apache2 на Ubuntu с помощью следующей команды:
$ sudo apt update && sudo apt upgrade
$ sudo apt install apache2
После завершения установки вы можете сразу же зайти на «localhost» в своем веб-браузере и проверить страницу приветствия Apache.
Метод 2: Установка Apache на Ubuntu из исходного файла
И снова я должен предупредить вас, что этот подход несколько сложен и не подходит для новичков. Итак, при установке Apache2 на Ubuntu из исходного файла начните с посещения страницы загрузки Apache и скачивания сжатого файла.
После завершения загрузки откройте терминал, перейдите в каталог загрузки и выполните следующую серию команд для компиляции и установки Apache из исходного кода.
# The following are required dependencies to avoid APT error during installation.
$ sudo apt install build-essential libssl-dev libexpat-dev libpcre3-dev libapr1-dev libaprutil1-dev
# Uncompress the downloaded file.
$ tar -xf httpd-*.tar.bz2
# Move into the extracted directory.
$ cd httpd-*/
# Create a directory for Apache.
$ sudo mkdir /usr/local/apache2
# Configure the Apache to the created directory.
$ ./configure --prefix=/usr/local/apache2 --enable-shared=max
# Compile and install the Apache2 on Ubuntu from Source.
$ make && sudo make install
После завершения установки вы можете использовать команду apachectl из каталога установки «/bin» для запуска, остановки и перезапуска веб-сервера Apache.
$ /usr/local/apache2/bin/apachectl start
$ /usr/local/apache2/bin/apachectl stop
$ /usr/local/apache2/bin/apachectl restart
Если при запуске Apache вы столкнулись со следующей ошибкой:
AH00558: httpd: 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
Добавьте ServerName localhost в следующий файл, используя выбранный вами текстовый редактор.
$ sudo nano /usr/local/apache/conf/httpd.conf
Вот и все! Вы успешно установили Apache на Ubuntu из исходного файла. Теперь имейте в виду, что методы, показанные в этой статье, предназначены для установки Apache с помощью менеджера пакетов. Однако, если у вас есть небольшой опыт работы в Linux, вы сможете легко разобраться и настроить параметры.
Как настраивать, управлять и использовать Apache в Ubuntu 24.04 и других версиях
Давайте рассмотрим, как настроить брандмауэр Apache для повышения безопасности, управлять службами Apache с помощью команды systemctl и настраивать новые виртуальные хосты для управления несколькими доменами.
Настройка брандмауэра
Система Ubuntu поставляется с предустановленным UFW, который можно использовать для разрешения HTTP/HTTPS-трафика, включая SSH, если вы управляете им на удаленном сервере, например AWS.
# The following command will allow incoming HTTP/HTTPS traffic.
$ sudo ufw allow http
$ sudo ufw allow https
# The following command will allow incoming OpenSSH traffic on the default port 22.
$ sudo ufw allow OpenSSH
# The following command will activate the UFW firewall, enforcing the specified rules to manage server traffic.
$ sudo ufw enable
Наконец, выполните следующую команду, чтобы перечислить профили UFW и подтвердить успешное создание ранее созданных профилей.
$ sudo ufw app list
Проверьте ваш веб-сервер
Во время установки автоматически создается и запускается служба apache2 systemd. Эта служба может использоваться для управления Apache в Ubuntu. Чтобы убедиться, что она запущена и переведена во включенное состояние (это означает, что она будет автоматически запускаться при загрузке системы), выполните следующую команду:
$ sudo systemctl is-enabled apache2
$ sudo systemctl status apache2
Вы заметите, что служба Apache2 в моей системе отключена и неактивна. Чтобы включить и запустить службу, выполните следующие две команды:
$ sudo systemctl enable apache2
$ sudo systemctl status apache2
Вы можете повторно выполнить две предыдущие команды, чтобы проверить состояние Apache.
Управление процессом Apache
Помимо проверки службы Apache2, вы можете выполнить ряд других действий, например запустить, остановить, перезапустить и перезагрузить службу Apache2. Различия между этими опциями, включая их использование в командной строке, описаны ниже.
# It will start the Apache2 service and occupy the default port 80.
$ sudo systemctl start apache2
# It will stop the Apache2 service and free up port 80 for others to use.
$ sudo systemctl stop apache2
# It will restart the Apache2 service with slight downtime, usually carried out when configuration changes are made.
$ sudo systemctl restart apache2
# It will reload the Apache2 service without any downtime, typically performed when minor configuration changes are made.
$ sudo systemctl reload apache2
Настройка виртуальных хостов
При использовании Apache вы можете настроить несколько виртуальных хостов (аналогично серверным блокам в Nginx) для инкапсуляции деталей конфигурации и размещения нескольких доменов на одном сервере.
В примере ниже мы настроим виртуальный хост для «example.com» с каталогом веб-хоста под названием «my_website». Итак, давайте начнем с создания каталога веб-хоста, создания индексного HTML-файла, вставки в него содержимого и назначения прав собственности пользователей и групп.
$ sudo mkdir -p /var/www/html/my_website
$ sudo nano /var/www/html/my_website/index.html
$ sudo chown -R $USER:$USER /var/www/html/my_website/
Чтобы Apache мог обслуживать содержимое каталога веб-хоста, необходимо создать файл виртуального хоста с соответствующими директивами, поэтому мы создадим специальный файл виртуального хоста для нашего нового каталога веб-хоста.
$ sudo nano /etc/apache2/sites-available/my_website.conf
Добавьте следующий блок конфигурации, чтобы назначить домен для созданной директории веб-хоста, убедитесь, что заменили домен (выделенный красным) на свой собственный или используйте «localhost».
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
DocumentRoot /var/www/html/my_website
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Сохраните и закройте файл, включите только что созданный файл конфигурации виртуального хоста с помощью инструмента a2ensite и отключите сайт по умолчанию, указанный в 000-default.conf:
$ sudo a2ensite my_website.conf
$ sudo a2dissite 000-default
Проверьте конфигурацию на наличие ошибок:
$ sudo apache2ctl configtest
Если результат выдает Ok, то просто перезапустите Apache, чтобы внести изменения.
$ sudo systemctl restart apache2
Вы можете использовать домен (или «localhost») для доступа к своему сайту.
Как удалить Apache из Ubuntu 24.04 и других версий
Чтобы удалить Apache2 из менеджера пакетов на Ubuntu, выполните следующие действия:
$ sudo apt remove --purge apache2
Если вы установили его с помощью исходного файла, удалите исходный каталог из системного пути.
$ sudo rm -rf /usr/local/apache2