Як встановити веб-сервер Apache на Ubuntu

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
Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x