Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

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

  1. Як встановити веб-сервер Apache в Ubuntu 18.04 Вступ
  2. Необхідні умови
  3. Крок 1 - Установка Apache
  4. Крок 2 - Налаштування файрвола
  5. Крок 3 - Перевірка вашого веб-сервера
  6. Крок 4 - Управління процесом Apache
  7. Крок 5 - Налаштування віртуальних хостів (рекомендується)
  8. Крок 6 - Важливі файли і директорії Apache
  9. контент
  10. Як встановити веб-сервер Apache в Ubuntu 18.04
  11. Необхідні умови
  12. Крок 1 - Установка Apache
  13. Крок 2 - Налаштування файрвола
  14. Крок 3 - Перевірка вашого веб-сервера
  15. Крок 4 - Управління процесом Apache
  16. Крок 5 - Налаштування віртуальних хостів (рекомендується)
  17. Крок 6 - Важливі файли і директорії Apache
  18. контент
  19. Як встановити веб-сервер Apache в Ubuntu 18.04
  20. Необхідні умови
  21. Крок 1 - Установка Apache
  22. Крок 2 - Налаштування файрвола
  23. Крок 3 - Перевірка вашого веб-сервера
  24. Крок 4 - Управління процесом Apache
  25. Крок 5 - Налаштування віртуальних хостів (рекомендується)
  26. Крок 6 - Важливі файли і директорії Apache
  27. контент
  28. Як встановити веб-сервер Apache в Ubuntu 18.04
  29. Необхідні умови
  30. Крок 1 - Установка Apache
  31. Крок 2 - Налаштування файрвола
  32. Крок 3 - Перевірка вашого веб-сервера
  33. Крок 4 - Управління процесом Apache
  34. Крок 5 - Налаштування віртуальних хостів (рекомендується)
  35. Крок 6 - Важливі файли і директорії Apache
  36. контент
  37. Як встановити веб-сервер Apache в Ubuntu 18.04
  38. Необхідні умови
  39. Крок 1 - Установка Apache
  40. Крок 2 - Налаштування файрвола
  41. Крок 3 - Перевірка вашого веб-сервера
  42. Крок 4 - Управління процесом Apache
  43. Крок 5 - Налаштування віртуальних хостів (рекомендується)
  44. Крок 6 - Важливі файли і директорії Apache
  45. контент
  46. Як встановити веб-сервер Apache в Ubuntu 18.04
  47. Необхідні умови
  48. Крок 1 - Установка Apache
  49. Крок 2 - Налаштування файрвола
  50. Крок 3 - Перевірка вашого веб-сервера
  51. Крок 4 - Управління процесом Apache
  52. Крок 5 - Налаштування віртуальних хостів (рекомендується)
  53. Крок 6 - Важливі файли і директорії Apache
  54. контент
  55. Як встановити веб-сервер Apache в Ubuntu 18.04
  56. Необхідні умови
  57. Крок 1 - Установка Apache
  58. Крок 2 - Налаштування файрвола
  59. Крок 3 - Перевірка вашого веб-сервера
  60. Крок 4 - Управління процесом Apache
  61. Крок 5 - Налаштування віртуальних хостів (рекомендується)
  62. Крок 6 - Важливі файли і директорії Apache
  63. контент

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

Вступ

HTTP сервер Apache є самим широко використовуваним веб-сервером в світі. Він надає безліч зручних функцій включаючи динамічно завантажувані модулі, широку підтримку мультимедіа, і інтеграцію з іншим популярним програмним забезпеченням.

У цьому керівництві ми розповімо, як встановити веб-сервер Apache на ваш сервер з Ubuntu 18.04.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цьому посібнику, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері з Ubuntu 18.04. Крім того, вам буде потрібно налаштувати базовий файрвол для блокування всіх портів, крім необхідних для роботи Apache. Ви можете ознайомитися з процесом налаштування аккаунта користувача і налаштуванням файрволу на вашому сервері слідуючи крокам нашого керівництва по первинній настройці сервера на Ubuntu 18.04 .

Після завершення створення аккаунта увійдіть ваш сервер за допомогою новоствореного користувача.

Крок 1 - Установка Apache

Apache доступний з дефолтних репозиторіїв Ubuntu, що дозволяє встановлювати його за допомогою засобів управління пакетами.

Давайте почнемо з поновлення локального індексу пакетів:

Далі встановимо пакет apache2:

Після підтвердження установки apt встановить Apache і всі необхідні залежності.

Крок 2 - Налаштування файрвола

Перед тестуванням установки Apache необхідно змінити налаштування брандмауера для дозволу доступу ззовні до дефолним веб-портам. Якщо ви виконали всі необхідні кроки по налаштуванню файрволу з керівництва по первинній настройці сервера, ваш файрвол UFW вже повинен бути налаштований таким чином, щоб обмежувати доступ до вашого сервера.

В процесі установки Apache реєструє себе в конфігурації UFW, створюючи кілька профілів додатки, які можуть бути використані для включення і відключення доступу до Apache через файрвол.

Виведемо профілі додатків ufw наступною командою:

Ви побачите список програм користувачів:


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

Як видно з цього висновку, для Apache є три профілі:

  • Apache: цей профіль відкриває порт 80 (звичайний, не зашифрований веб-трафік).
  • Apache Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
  • Apache Secure: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).

Рекомендується включати самий обмежений профіль, який буде дозволяти вхідний трафік. Оскільки ми не налаштовували SSL для нашого сервера в цьому керівництві, нам буде потрібно включити тільки порт 80:

Ви можете перевірити внесені зміни командою:

У висновку ви повинні бачити, що HTTP трафік дозволений:


висновок

Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Як видно з цього висновку профіль був включений для дозволу доступу до веб-сервера.

Крок 3 - Перевірка вашого веб-сервера

Після завершення процесу установки Ubuntu 18.04 запустить Apache. Веб-сервер уже повинен бути запущений.

Перевіримо в системі ініціалізації systemd, що сервіс працює, за допомогою такої команди:

  • sudo systemctl status apache2

висновок

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2 -systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: тисяча сто п'ятьдесят три) CGroup: /system.slice/apache2.service ├─2583 / usr / sbin / apache2 -k start ├─2585 / usr / sbin / apache2 -k start └─2586 / usr / sbin / apache2 -k start

Як видно з представленого виведення, сервіс виглядає працюючим коректно. Проте, найнадійніший спосіб перевірити роботу Apache - це запросити веб-сторінку.

Ви можете запитати дефолтну веб-сторінку Apache за допомогою IP адреси вашого сервера. Якщо ви не знаєте IP адреса вашого сервера, ви можете знайти його декількома способами за допомогою командного рядка.

Введіть наступну команду:

Вона поверне декілька адрес, розділених пробілами. Ви можете спробувати кожен з них в вашому веб-браузері.

Інший спосіб полягає у використанні команди, яка дозволяє побачити ваш IP адреса з іншого місця в мережі Інтернет:

Після того, як ви знайдете IP адреса вашого сервера, введіть його в свій веб-браузер:

  • http: // IP_адрес_вашего_сервера

Ви повинні побачити дефолтну сторінку Apache для Ubuntu 18.04:

Ця сторінка свідчить про те, що Apache працює коректно. На цій сторінці також представлена ​​базова інформація про важливі файли і директорії Apache.

Крок 4 - Управління процесом Apache

Тепер, коли у вас є працюючий веб-сервер, розглянемо деякі базові команди для управління ним.

Для зупинки себ-сервера наберіть:

  • sudo systemctl stop apache2

Для запуску зупиненого сервера наберіть:

  • sudo systemctl start apache2

Для перезапуску різноманітних служб наберіть:

  • sudo systemctl restart apache2

Якщо ви вносите якісь зміни в конфігурацію, Apache часто може перезавантажуватися без втрати відкритих з'єднань. Для цього наберіть команду:

  • sudo systemctl reload apache2

За замовчуванням Apache налаштований на запуск при завантаженні сервера. Ви можете відключити таку поведінку за допомогою такої команди:

  • sudo systemctl disable apache2

Для повторного включення сервісу при завантаженні сервера наберіть:

  • sudo systemctl enable apache2

Тепер Apache повинен знову запускатися автоматично при завантаженні сервера.

Крок 5 - Налаштування віртуальних хостів (рекомендується)

При використанні веб-сервера Apache ви можете використовувати віртуальні хости (аналог серверних блоків в Nginx) для зберігання конфігураційних налаштувань різних сайтів. Це дозволяє мати більш одного сайту на одному сервері. У цьому керівництві ми будемо для прикладу використовувати доменне ім'я example.com, але вам слід замінити його вашим власним доменним ім'ям. Для того, щоб дізнатися більше про налаштування доменних імен в DigitalOcean, рекомендуємо ознайомитися з нашим Введенням в DNS DigitalOcean .

Apache для Ubuntu 18.04 вже має один віртуальний хост, включений за замовчуванням, який налаштований на віддачу документів з директорії / var / www / html. Хоча це і зручно для обслуговування одного сайту, це стає незручним, коли сайтів кілька. Замість того, щоб змінювати / var / www / html, давайте створимо нову структуру директорій всередині / var / www для нашого сайту example.com, залишивши / var / www / html для показу дефолтной сторінки користувачам у випадках, коли клієнтський запит не збігається ні з одним з налаштованих доменних імен.

Створіть директорію для example.com використовуючи прапор -p для створення необхідних батьківських директорій:

  • sudo mkdir -p / var / www / example.com / html

Далі налаштуйте власника директорії за допомогою змінної оточення $ USER:

  • sudo chown -R $ USER: $ USER / var / www / example.com / html

Тепер права повинні для кореневої директорії бути налаштовані правильним чином за умови, що ви не міняли своє значення umask. Про всяк випадок ми можемо переконатися в цьому командою:

  • sudo chmod -R 755 / var / www / example.com

Далі створимо сторінку index.html в nano або будь-якому іншому текстовому редакторі:

  • nano / var / www / example.com /html/index.html

Додамо в файл наступний HTML:

/var/www/example.com/html/index.html

<Html> <head> <title> Welcome to Example.com! </ Title> </ head> <body> <h1> Success! The example.com server block is working! </ H1> </ body> </ html>

Збережіть і закрийте файл.

Для того, щоб Apache міг віддавати цей контент, нам необхідно налаштувати віртуальний хост з коректними настройками. Замість того, щоб редагувати існуючий файл віртуального хоста /etc/apache2/sites-available/000-default.conf, створимо новий файл для нашого сайту - / etc / apache2 / sites-available / example.com .conf:

  • sudo nano / etc / apache2 / sites-available / example.com .conf

Скопіюйте наступний текст налаштувань віртуального хоста в створений файл:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / example.com / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} / access. log combined </ VirtualHost>

Зверніть увагу, що ми оновили DocumentRoot на адресу нашої нової директорії, і ServerAdmin на адресу електронної пошти, доступний для адміністратора example.com. Ми також додали дві директиви: ServerName, яка встановлює базову доменне ім'я, яке повинно використовуватися для хоста, а також ServerAlias, яка визначає інші імена, які повинні використовуватися для відображення хоста так само, як і базове доменне ім'я.

Збережіть і закрийте файл після внесення змін.

Тепер активуємо профіль сайту за допомогою утиліти a2ensite:

  • sudo a2ensite example.com .conf

Деактивувавши дефолтний сайт, визначений в 000-default.conf:

  • sudo a2dissite 000-default.conf

Далі перевіримо наші налаштування на наявність помилок:

  • sudo apache2ctl configtest

Ви повинні побачити наступний висновок:


висновок

Syntax OK

Перезапустіть Apache для застосування внесених змін:

  • sudo systemctl restart apache2

Тепер Apache повинен працювати з вашим доменним ім'ям. Ви можете перевірити це ввівши http: // example.com в вашому браузері, де в результаті ви повинні побачити щось в цьому роді:

Крок 6 - Важливі файли і директорії Apache

Тепер, коли ви знаєте, як управляти сервісом Apache, вам варто ознайомитися з важливими файлами і директоріями 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 / 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.

серверні логи

  • /var/log/apache2/access.log: за замовчуванням кожен запит до вашого веб-сервера записується в цьому файлі, якщо тільки Apache не налаштований на іншу поведінку.
  • /var/log/apache2/error.log: за замовчуванням всі помилки записуються в цей файл. Директива LogLevel в конфігурації Apache визначає, наскільки детальними повинні бути записи про помилки.

висновок

Тепер, коли ваш веб-сервер встановлений, у вас є безліч варіантів того, що робити далі. Якщо ви хочете побудувати більш повний стек додатків, ви можете ознайомитися з нашим керівництвом по встановленню та налагодженню стека LAMP на Ubuntu 18.04 .

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

Вступ

HTTP сервер Apache є самим широко використовуваним веб-сервером в світі. Він надає безліч зручних функцій включаючи динамічно завантажувані модулі, широку підтримку мультимедіа, і інтеграцію з іншим популярним програмним забезпеченням.

У цьому керівництві ми розповімо, як встановити веб-сервер Apache на ваш сервер з Ubuntu 18.04.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цьому посібнику, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері з Ubuntu 18.04. Крім того, вам буде потрібно налаштувати базовий файрвол для блокування всіх портів, крім необхідних для роботи Apache. Ви можете ознайомитися з процесом налаштування аккаунта користувача і налаштуванням файрволу на вашому сервері слідуючи крокам нашого керівництва по первинній настройці сервера на Ubuntu 18.04 .

Після завершення створення аккаунта увійдіть ваш сервер за допомогою новоствореного користувача.

Крок 1 - Установка Apache

Apache доступний з дефолтних репозиторіїв Ubuntu, що дозволяє встановлювати його за допомогою засобів управління пакетами.

Давайте почнемо з поновлення локального індексу пакетів:

Далі встановимо пакет apache2:

Після підтвердження установки apt встановить Apache і всі необхідні залежності.

Крок 2 - Налаштування файрвола

Перед тестуванням установки Apache необхідно змінити налаштування брандмауера для дозволу доступу ззовні до дефолним веб-портам. Якщо ви виконали всі необхідні кроки по налаштуванню файрволу з керівництва по первинній настройці сервера, ваш файрвол UFW вже повинен бути налаштований таким чином, щоб обмежувати доступ до вашого сервера.

В процесі установки Apache реєструє себе в конфігурації UFW, створюючи кілька профілів додатки, які можуть бути використані для включення і відключення доступу до Apache через файрвол.

Виведемо профілі додатків ufw наступною командою:

Ви побачите список програм користувачів:


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

Як видно з цього висновку, для Apache є три профілі:

  • Apache: цей профіль відкриває порт 80 (звичайний, не зашифрований веб-трафік).
  • Apache Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
  • Apache Secure: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).

Рекомендується включати самий обмежений профіль, який буде дозволяти вхідний трафік. Оскільки ми не налаштовували SSL для нашого сервера в цьому керівництві, нам буде потрібно включити тільки порт 80:

Ви можете перевірити внесені зміни командою:

У висновку ви повинні бачити, що HTTP трафік дозволений:


висновок

Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Як видно з цього висновку профіль був включений для дозволу доступу до веб-сервера.

Крок 3 - Перевірка вашого веб-сервера

Після завершення процесу установки Ubuntu 18.04 запустить Apache. Веб-сервер уже повинен бути запущений.

Перевіримо в системі ініціалізації systemd, що сервіс працює, за допомогою такої команди:

  • sudo systemctl status apache2

висновок

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2 -systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: тисячі сто п'ятьдесят три) CGroup: /system.slice/apache2.service ├─2583 / usr / sbin / apache2 -k start ├─2585 / usr / sbin / apache2 -k start └─2586 / usr / sbin / apache2 -k start

Як видно з представленого виведення, сервіс виглядає працюючим коректно. Проте, найнадійніший спосіб перевірити роботу Apache - це запросити веб-сторінку.

Ви можете запитати дефолтну веб-сторінку Apache за допомогою IP адреси вашого сервера. Якщо ви не знаєте IP адреса вашого сервера, ви можете знайти його декількома способами за допомогою командного рядка.

Введіть наступну команду:

Вона поверне декілька адрес, розділених пробілами. Ви можете спробувати кожен з них в вашому веб-браузері.

Інший спосіб полягає у використанні команди, яка дозволяє побачити ваш IP адреса з іншого місця в мережі Інтернет:

Після того, як ви знайдете IP адреса вашого сервера, введіть його в свій веб-браузер:

  • http: // IP_адрес_вашего_сервера

Ви повинні побачити дефолтну сторінку Apache для Ubuntu 18.04:

Ця сторінка свідчить про те, що Apache працює коректно. На цій сторінці також представлена ​​базова інформація про важливі файли і директорії Apache.

Крок 4 - Управління процесом Apache

Тепер, коли у вас є працюючий веб-сервер, розглянемо деякі базові команди для управління ним.

Для зупинки себ-сервера наберіть:

  • sudo systemctl stop apache2

Для запуску зупиненого сервера наберіть:

  • sudo systemctl start apache2

Для перезапуску різноманітних служб наберіть:

  • sudo systemctl restart apache2

Якщо ви вносите якісь зміни в конфігурацію, Apache часто може перезавантажуватися без втрати відкритих з'єднань. Для цього наберіть команду:

  • sudo systemctl reload apache2

За замовчуванням Apache налаштований на запуск при завантаженні сервера. Ви можете відключити таку поведінку за допомогою такої команди:

  • sudo systemctl disable apache2

Для повторного включення сервісу при завантаженні сервера наберіть:

  • sudo systemctl enable apache2

Тепер Apache повинен знову запускатися автоматично при завантаженні сервера.

Крок 5 - Налаштування віртуальних хостів (рекомендується)

При використанні веб-сервера Apache ви можете використовувати віртуальні хости (аналог серверних блоків в Nginx) для зберігання конфігураційних налаштувань різних сайтів. Це дозволяє мати більш одного сайту на одному сервері. У цьому керівництві ми будемо для прикладу використовувати доменне ім'я example.com, але вам слід замінити його вашим власним доменним ім'ям. Для того, щоб дізнатися більше про налаштування доменних імен в DigitalOcean, рекомендуємо ознайомитися з нашим Введенням в DNS DigitalOcean .

Apache для Ubuntu 18.04 вже має один віртуальний хост, включений за замовчуванням, який налаштований на віддачу документів з директорії / var / www / html. Хоча це і зручно для обслуговування одного сайту, це стає незручним, коли сайтів кілька. Замість того, щоб змінювати / var / www / html, давайте створимо нову структуру директорій всередині / var / www для нашого сайту example.com, залишивши / var / www / html для показу дефолтной сторінки користувачам у випадках, коли клієнтський запит не збігається ні з одним з налаштованих доменних імен.

Створіть директорію для example.com використовуючи прапор -p для створення необхідних батьківських директорій:

  • sudo mkdir -p / var / www / example.com / html

Далі налаштуйте власника директорії за допомогою змінної оточення $ USER:

  • sudo chown -R $ USER: $ USER / var / www / example.com / html

Тепер права повинні для кореневої директорії бути налаштовані правильним чином за умови, що ви не міняли своє значення umask. Про всяк випадок ми можемо переконатися в цьому командою:

  • sudo chmod -R 755 / var / www / example.com

Далі створимо сторінку index.html в nano або будь-якому іншому текстовому редакторі:

  • nano / var / www / example.com /html/index.html

Додамо в файл наступний HTML:

/var/www/example.com/html/index.html

<Html> <head> <title> Welcome to Example.com! </ Title> </ head> <body> <h1> Success! The example.com server block is working! </ H1> </ body> </ html>

Збережіть і закрийте файл.

Для того, щоб Apache міг віддавати цей контент, нам необхідно налаштувати віртуальний хост з коректними настройками. Замість того, щоб редагувати існуючий файл віртуального хоста /etc/apache2/sites-available/000-default.conf, створимо новий файл для нашого сайту - / etc / apache2 / sites-available / example.com .conf:

  • sudo nano / etc / apache2 / sites-available / example.com .conf

Скопіюйте наступний текст налаштувань віртуального хоста в створений файл:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / example.com / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} / access. log combined </ VirtualHost>

Зверніть увагу, що ми оновили DocumentRoot на адресу нашої нової директорії, і ServerAdmin на адресу електронної пошти, доступний для адміністратора example.com. Ми також додали дві директиви: ServerName, яка встановлює базову доменне ім'я, яке повинно використовуватися для хоста, а також ServerAlias, яка визначає інші імена, які повинні використовуватися для відображення хоста так само, як і базове доменне ім'я.

Збережіть і закрийте файл після внесення змін.

Тепер активуємо профіль сайту за допомогою утиліти a2ensite:

  • sudo a2ensite example.com .conf

Деактивувавши дефолтний сайт, визначений в 000-default.conf:

  • sudo a2dissite 000-default.conf

Далі перевіримо наші налаштування на наявність помилок:

  • sudo apache2ctl configtest

Ви повинні побачити наступний висновок:


висновок

Syntax OK

Перезапустіть Apache для застосування внесених змін:

  • sudo systemctl restart apache2

Тепер Apache повинен працювати з вашим доменним ім'ям. Ви можете перевірити це ввівши http: // example.com в вашому браузері, де в результаті ви повинні побачити щось в цьому роді:

Крок 6 - Важливі файли і директорії Apache

Тепер, коли ви знаєте, як управляти сервісом Apache, вам варто ознайомитися з важливими файлами і директоріями 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 / 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.

серверні логи

  • /var/log/apache2/access.log: за замовчуванням кожен запит до вашого веб-сервера записується в цьому файлі, якщо тільки Apache не налаштований на іншу поведінку.
  • /var/log/apache2/error.log: за замовчуванням всі помилки записуються в цей файл. Директива LogLevel в конфігурації Apache визначає, наскільки детальними повинні бути записи про помилки.

висновок

Тепер, коли ваш веб-сервер встановлений, у вас є безліч варіантів того, що робити далі. Якщо ви хочете побудувати більш повний стек додатків, ви можете ознайомитися з нашим керівництвом по встановленню та налагодженню стека LAMP на Ubuntu 18.04 .

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

Вступ

HTTP сервер Apache є самим широко використовуваним веб-сервером в світі. Він надає безліч зручних функцій включаючи динамічно завантажувані модулі, широку підтримку мультимедіа, і інтеграцію з іншим популярним програмним забезпеченням.

У цьому керівництві ми розповімо, як встановити веб-сервер Apache на ваш сервер з Ubuntu 18.04.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цьому посібнику, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері з Ubuntu 18.04. Крім того, вам буде потрібно налаштувати базовий файрвол для блокування всіх портів, крім необхідних для роботи Apache. Ви можете ознайомитися з процесом налаштування аккаунта користувача і налаштуванням файрволу на вашому сервері слідуючи крокам нашого керівництва по первинній настройці сервера на Ubuntu 18.04 .

Після завершення створення аккаунта увійдіть ваш сервер за допомогою новоствореного користувача.

Крок 1 - Установка Apache

Apache доступний з дефолтних репозиторіїв Ubuntu, що дозволяє встановлювати його за допомогою засобів управління пакетами.

Давайте почнемо з поновлення локального індексу пакетів:

Далі встановимо пакет apache2:

Після підтвердження установки apt встановить Apache і всі необхідні залежності.

Крок 2 - Налаштування файрвола

Перед тестуванням установки Apache необхідно змінити налаштування брандмауера для дозволу доступу ззовні до дефолним веб-портам. Якщо ви виконали всі необхідні кроки по налаштуванню файрволу з керівництва по первинній настройці сервера, ваш файрвол UFW вже повинен бути налаштований таким чином, щоб обмежувати доступ до вашого сервера.

В процесі установки Apache реєструє себе в конфігурації UFW, створюючи кілька профілів додатки, які можуть бути використані для включення і відключення доступу до Apache через файрвол.

Виведемо профілі додатків ufw наступною командою:

Ви побачите список програм користувачів:


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

Як видно з цього висновку, для Apache є три профілі:

  • Apache: цей профіль відкриває порт 80 (звичайний, не зашифрований веб-трафік).
  • Apache Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
  • Apache Secure: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).

Рекомендується включати самий обмежений профіль, який буде дозволяти вхідний трафік. Оскільки ми не налаштовували SSL для нашого сервера в цьому керівництві, нам буде потрібно включити тільки порт 80:

Ви можете перевірити внесені зміни командою:

У висновку ви повинні бачити, що HTTP трафік дозволений:


висновок

Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Як видно з цього висновку профіль був включений для дозволу доступу до веб-сервера.

Крок 3 - Перевірка вашого веб-сервера

Після завершення процесу установки Ubuntu 18.04 запустить Apache. Веб-сервер уже повинен бути запущений.

Перевіримо в системі ініціалізації systemd, що сервіс працює, за допомогою такої команди:

  • sudo systemctl status apache2

висновок

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2 -systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: тисячі сто п'ятьдесят три) CGroup: /system.slice/apache2.service ├─2583 / usr / sbin / apache2 -k start ├─2585 / usr / sbin / apache2 -k start └─2586 / usr / sbin / apache2 -k start

Як видно з представленого виведення, сервіс виглядає працюючим коректно. Проте, найнадійніший спосіб перевірити роботу Apache - це запросити веб-сторінку.

Ви можете запитати дефолтну веб-сторінку Apache за допомогою IP адреси вашого сервера. Якщо ви не знаєте IP адреса вашого сервера, ви можете знайти його декількома способами за допомогою командного рядка.

Введіть наступну команду:

Вона поверне декілька адрес, розділених пробілами. Ви можете спробувати кожен з них в вашому веб-браузері.

Інший спосіб полягає у використанні команди, яка дозволяє побачити ваш IP адреса з іншого місця в мережі Інтернет:

Після того, як ви знайдете IP адреса вашого сервера, введіть його в свій веб-браузер:

  • http: // IP_адрес_вашего_сервера

Ви повинні побачити дефолтну сторінку Apache для Ubuntu 18.04:

Ця сторінка свідчить про те, що Apache працює коректно. На цій сторінці також представлена ​​базова інформація про важливі файли і директорії Apache.

Крок 4 - Управління процесом Apache

Тепер, коли у вас є працюючий веб-сервер, розглянемо деякі базові команди для управління ним.

Для зупинки себ-сервера наберіть:

  • sudo systemctl stop apache2

Для запуску зупиненого сервера наберіть:

  • sudo systemctl start apache2

Для перезапуску різноманітних служб наберіть:

  • sudo systemctl restart apache2

Якщо ви вносите якісь зміни в конфігурацію, Apache часто може перезавантажуватися без втрати відкритих з'єднань. Для цього наберіть команду:

  • sudo systemctl reload apache2

За замовчуванням Apache налаштований на запуск при завантаженні сервера. Ви можете відключити таку поведінку за допомогою такої команди:

  • sudo systemctl disable apache2

Для повторного включення сервісу при завантаженні сервера наберіть:

  • sudo systemctl enable apache2

Тепер Apache повинен знову запускатися автоматично при завантаженні сервера.

Крок 5 - Налаштування віртуальних хостів (рекомендується)

При використанні веб-сервера Apache ви можете використовувати віртуальні хости (аналог серверних блоків в Nginx) для зберігання конфігураційних налаштувань різних сайтів. Це дозволяє мати більш одного сайту на одному сервері. У цьому керівництві ми будемо для прикладу використовувати доменне ім'я example.com, але вам слід замінити його вашим власним доменним ім'ям. Для того, щоб дізнатися більше про налаштування доменних імен в DigitalOcean, рекомендуємо ознайомитися з нашим Введенням в DNS DigitalOcean .

Apache для Ubuntu 18.04 вже має один віртуальний хост, включений за замовчуванням, який налаштований на віддачу документів з директорії / var / www / html. Хоча це і зручно для обслуговування одного сайту, це стає незручним, коли сайтів кілька. Замість того, щоб змінювати / var / www / html, давайте створимо нову структуру директорій всередині / var / www для нашого сайту example.com, залишивши / var / www / html для показу дефолтной сторінки користувачам у випадках, коли клієнтський запит не збігається ні з одним з налаштованих доменних імен.

Створіть директорію для example.com використовуючи прапор -p для створення необхідних батьківських директорій:

  • sudo mkdir -p / var / www / example.com / html

Далі налаштуйте власника директорії за допомогою змінної оточення $ USER:

  • sudo chown -R $ USER: $ USER / var / www / example.com / html

Тепер права повинні для кореневої директорії бути налаштовані правильним чином за умови, що ви не міняли своє значення umask. Про всяк випадок ми можемо переконатися в цьому командою:

  • sudo chmod -R 755 / var / www / example.com

Далі створимо сторінку index.html в nano або будь-якому іншому текстовому редакторі:

  • nano / var / www / example.com /html/index.html

Додамо в файл наступний HTML:

/var/www/example.com/html/index.html

<Html> <head> <title> Welcome to Example.com! </ Title> </ head> <body> <h1> Success! The example.com server block is working! </ H1> </ body> </ html>

Збережіть і закрийте файл.

Для того, щоб Apache міг віддавати цей контент, нам необхідно налаштувати віртуальний хост з коректними настройками. Замість того, щоб редагувати існуючий файл віртуального хоста /etc/apache2/sites-available/000-default.conf, створимо новий файл для нашого сайту - / etc / apache2 / sites-available / example.com .conf:

  • sudo nano / etc / apache2 / sites-available / example.com .conf

Скопіюйте наступний текст налаштувань віртуального хоста в створений файл:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / example.com / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} / access. log combined </ VirtualHost>

Зверніть увагу, що ми оновили DocumentRoot на адресу нашої нової директорії, і ServerAdmin на адресу електронної пошти, доступний для адміністратора example.com. Ми також додали дві директиви: ServerName, яка встановлює базову доменне ім'я, яке повинно використовуватися для хоста, а також ServerAlias, яка визначає інші імена, які повинні використовуватися для відображення хоста так само, як і базове доменне ім'я.

Збережіть і закрийте файл після внесення змін.

Тепер активуємо профіль сайту за допомогою утиліти a2ensite:

  • sudo a2ensite example.com .conf

Деактивувавши дефолтний сайт, визначений в 000-default.conf:

  • sudo a2dissite 000-default.conf

Далі перевіримо наші налаштування на наявність помилок:

  • sudo apache2ctl configtest

Ви повинні побачити наступний висновок:


висновок

Syntax OK

Перезапустіть Apache для застосування внесених змін:

  • sudo systemctl restart apache2

Тепер Apache повинен працювати з вашим доменним ім'ям. Ви можете перевірити це ввівши http: // example.com в вашому браузері, де в результаті ви повинні побачити щось в цьому роді:

Крок 6 - Важливі файли і директорії Apache

Тепер, коли ви знаєте, як управляти сервісом Apache, вам варто ознайомитися з важливими файлами і директоріями 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 / 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.

серверні логи

  • /var/log/apache2/access.log: за замовчуванням кожен запит до вашого веб-сервера записується в цьому файлі, якщо тільки Apache не налаштований на іншу поведінку.
  • /var/log/apache2/error.log: за замовчуванням всі помилки записуються в цей файл. Директива LogLevel в конфігурації Apache визначає, наскільки детальними повинні бути записи про помилки.

висновок

Тепер, коли ваш веб-сервер встановлений, у вас є безліч варіантів того, що робити далі. Якщо ви хочете побудувати більш повний стек додатків, ви можете ознайомитися з нашим керівництвом по встановленню та налагодженню стека LAMP на Ubuntu 18.04 .

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

Вступ

HTTP сервер Apache є самим широко використовуваним веб-сервером в світі. Він надає безліч зручних функцій включаючи динамічно завантажувані модулі, широку підтримку мультимедіа, і інтеграцію з іншим популярним програмним забезпеченням.

У цьому керівництві ми розповімо, як встановити веб-сервер Apache на ваш сервер з Ubuntu 18.04.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цьому посібнику, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері з Ubuntu 18.04. Крім того, вам буде потрібно налаштувати базовий файрвол для блокування всіх портів, крім необхідних для роботи Apache. Ви можете ознайомитися з процесом налаштування аккаунта користувача і налаштуванням файрволу на вашому сервері слідуючи крокам нашого керівництва по первинній настройці сервера на Ubuntu 18.04 .

Після завершення створення аккаунта увійдіть ваш сервер за допомогою новоствореного користувача.

Крок 1 - Установка Apache

Apache доступний з дефолтних репозиторіїв Ubuntu, що дозволяє встановлювати його за допомогою засобів управління пакетами.

Давайте почнемо з поновлення локального індексу пакетів:

Далі встановимо пакет apache2:

Після підтвердження установки apt встановить Apache і всі необхідні залежності.

Крок 2 - Налаштування файрвола

Перед тестуванням установки Apache необхідно змінити налаштування брандмауера для дозволу доступу ззовні до дефолним веб-портам. Якщо ви виконали всі необхідні кроки по налаштуванню файрволу з керівництва по первинній настройці сервера, ваш файрвол UFW вже повинен бути налаштований таким чином, щоб обмежувати доступ до вашого сервера.

В процесі установки Apache реєструє себе в конфігурації UFW, створюючи кілька профілів додатки, які можуть бути використані для включення і відключення доступу до Apache через файрвол.

Виведемо профілі додатків ufw наступною командою:

Ви побачите список програм користувачів:


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

Як видно з цього висновку, для Apache є три профілі:

  • Apache: цей профіль відкриває порт 80 (звичайний, не зашифрований веб-трафік).
  • Apache Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
  • Apache Secure: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).

Рекомендується включати самий обмежений профіль, який буде дозволяти вхідний трафік. Оскільки ми не налаштовували SSL для нашого сервера в цьому керівництві, нам буде потрібно включити тільки порт 80:

Ви можете перевірити внесені зміни командою:

У висновку ви повинні бачити, що HTTP трафік дозволений:


висновок

Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Як видно з цього висновку профіль був включений для дозволу доступу до веб-сервера.

Крок 3 - Перевірка вашого веб-сервера

Після завершення процесу установки Ubuntu 18.04 запустить Apache. Веб-сервер уже повинен бути запущений.

Перевіримо в системі ініціалізації systemd, що сервіс працює, за допомогою такої команди:

  • sudo systemctl status apache2

висновок

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2 -systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: тисячі сто п'ятьдесят три) CGroup: /system.slice/apache2.service ├─2583 / usr / sbin / apache2 -k start ├─2585 / usr / sbin / apache2 -k start └─2586 / usr / sbin / apache2 -k start

Як видно з представленого виведення, сервіс виглядає працюючим коректно. Проте, найнадійніший спосіб перевірити роботу Apache - це запросити веб-сторінку.

Ви можете запитати дефолтну веб-сторінку Apache за допомогою IP адреси вашого сервера. Якщо ви не знаєте IP адреса вашого сервера, ви можете знайти його декількома способами за допомогою командного рядка.

Введіть наступну команду:

Вона поверне декілька адрес, розділених пробілами. Ви можете спробувати кожен з них в вашому веб-браузері.

Інший спосіб полягає у використанні команди, яка дозволяє побачити ваш IP адреса з іншого місця в мережі Інтернет:

Після того, як ви знайдете IP адреса вашого сервера, введіть його в свій веб-браузер:

  • http: // IP_адрес_вашего_сервера

Ви повинні побачити дефолтну сторінку Apache для Ubuntu 18.04:

Ця сторінка свідчить про те, що Apache працює коректно. На цій сторінці також представлена ​​базова інформація про важливі файли і директорії Apache.

Крок 4 - Управління процесом Apache

Тепер, коли у вас є працюючий веб-сервер, розглянемо деякі базові команди для управління ним.

Для зупинки себ-сервера наберіть:

  • sudo systemctl stop apache2

Для запуску зупиненого сервера наберіть:

  • sudo systemctl start apache2

Для перезапуску різноманітних служб наберіть:

  • sudo systemctl restart apache2

Якщо ви вносите якісь зміни в конфігурацію, Apache часто може перезавантажуватися без втрати відкритих з'єднань. Для цього наберіть команду:

  • sudo systemctl reload apache2

За замовчуванням Apache налаштований на запуск при завантаженні сервера. Ви можете відключити таку поведінку за допомогою такої команди:

  • sudo systemctl disable apache2

Для повторного включення сервісу при завантаженні сервера наберіть:

  • sudo systemctl enable apache2

Тепер Apache повинен знову запускатися автоматично при завантаженні сервера.

Крок 5 - Налаштування віртуальних хостів (рекомендується)

При використанні веб-сервера Apache ви можете використовувати віртуальні хости (аналог серверних блоків в Nginx) для зберігання конфігураційних налаштувань різних сайтів. Це дозволяє мати більш одного сайту на одному сервері. У цьому керівництві ми будемо для прикладу використовувати доменне ім'я example.com, але вам слід замінити його вашим власним доменним ім'ям. Для того, щоб дізнатися більше про налаштування доменних імен в DigitalOcean, рекомендуємо ознайомитися з нашим Введенням в DNS DigitalOcean .

Apache для Ubuntu 18.04 вже має один віртуальний хост, включений за замовчуванням, який налаштований на віддачу документів з директорії / var / www / html. Хоча це і зручно для обслуговування одного сайту, це стає незручним, коли сайтів кілька. Замість того, щоб змінювати / var / www / html, давайте створимо нову структуру директорій всередині / var / www для нашого сайту example.com, залишивши / var / www / html для показу дефолтной сторінки користувачам у випадках, коли клієнтський запит не збігається ні з одним з налаштованих доменних імен.

Створіть директорію для example.com використовуючи прапор -p для створення необхідних батьківських директорій:

  • sudo mkdir -p / var / www / example.com / html

Далі налаштуйте власника директорії за допомогою змінної оточення $ USER:

  • sudo chown -R $ USER: $ USER / var / www / example.com / html

Тепер права повинні для кореневої директорії бути налаштовані правильним чином за умови, що ви не міняли своє значення umask. Про всяк випадок ми можемо переконатися в цьому командою:

  • sudo chmod -R 755 / var / www / example.com

Далі створимо сторінку index.html в nano або будь-якому іншому текстовому редакторі:

  • nano / var / www / example.com /html/index.html

Додамо в файл наступний HTML:

/var/www/example.com/html/index.html

<Html> <head> <title> Welcome to Example.com! </ Title> </ head> <body> <h1> Success! The example.com server block is working! </ H1> </ body> </ html>

Збережіть і закрийте файл.

Для того, щоб Apache міг віддавати цей контент, нам необхідно налаштувати віртуальний хост з коректними настройками. Замість того, щоб редагувати існуючий файл віртуального хоста /etc/apache2/sites-available/000-default.conf, створимо новий файл для нашого сайту - / etc / apache2 / sites-available / example.com .conf:

  • sudo nano / etc / apache2 / sites-available / example.com .conf

Скопіюйте наступний текст налаштувань віртуального хоста в створений файл:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / example.com / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} / access. log combined </ VirtualHost>

Зверніть увагу, що ми оновили DocumentRoot на адресу нашої нової директорії, і ServerAdmin на адресу електронної пошти, доступний для адміністратора example.com. Ми також додали дві директиви: ServerName, яка встановлює базову доменне ім'я, яке повинно використовуватися для хоста, а також ServerAlias, яка визначає інші імена, які повинні використовуватися для відображення хоста так само, як і базове доменне ім'я.

Збережіть і закрийте файл після внесення змін.

Тепер активуємо профіль сайту за допомогою утиліти a2ensite:

  • sudo a2ensite example.com .conf

Деактивувавши дефолтний сайт, визначений в 000-default.conf:

  • sudo a2dissite 000-default.conf

Далі перевіримо наші налаштування на наявність помилок:

  • sudo apache2ctl configtest

Ви повинні побачити наступний висновок:


висновок

Syntax OK

Перезапустіть Apache для застосування внесених змін:

  • sudo systemctl restart apache2

Тепер Apache повинен працювати з вашим доменним ім'ям. Ви можете перевірити це ввівши http: // example.com в вашому браузері, де в результаті ви повинні побачити щось в цьому роді:

Крок 6 - Важливі файли і директорії Apache

Тепер, коли ви знаєте, як управляти сервісом Apache, вам варто ознайомитися з важливими файлами і директоріями 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 / 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.

серверні логи

  • /var/log/apache2/access.log: за замовчуванням кожен запит до вашого веб-сервера записується в цьому файлі, якщо тільки Apache не налаштований на іншу поведінку.
  • /var/log/apache2/error.log: за замовчуванням всі помилки записуються в цей файл. Директива LogLevel в конфігурації Apache визначає, наскільки детальними повинні бути записи про помилки.

висновок

Тепер, коли ваш веб-сервер встановлений, у вас є безліч варіантів того, що робити далі. Якщо ви хочете побудувати більш повний стек додатків, ви можете ознайомитися з нашим керівництвом по встановленню та налагодженню стека LAMP на Ubuntu 18.04 .

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

Вступ

HTTP сервер Apache є самим широко використовуваним веб-сервером в світі. Він надає безліч зручних функцій включаючи динамічно завантажувані модулі, широку підтримку мультимедіа, і інтеграцію з іншим популярним програмним забезпеченням.

У цьому керівництві ми розповімо, як встановити веб-сервер Apache на ваш сервер з Ubuntu 18.04.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цьому посібнику, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері з Ubuntu 18.04. Крім того, вам буде потрібно налаштувати базовий файрвол для блокування всіх портів, крім необхідних для роботи Apache. Ви можете ознайомитися з процесом налаштування аккаунта користувача і налаштуванням файрволу на вашому сервері слідуючи крокам нашого керівництва по первинній настройці сервера на Ubuntu 18.04 .

Після завершення створення аккаунта увійдіть ваш сервер за допомогою новоствореного користувача.

Крок 1 - Установка Apache

Apache доступний з дефолтних репозиторіїв Ubuntu, що дозволяє встановлювати його за допомогою засобів управління пакетами.

Давайте почнемо з поновлення локального індексу пакетів:

Далі встановимо пакет apache2:

Після підтвердження установки apt встановить Apache і всі необхідні залежності.

Крок 2 - Налаштування файрвола

Перед тестуванням установки Apache необхідно змінити налаштування брандмауера для дозволу доступу ззовні до дефолним веб-портам. Якщо ви виконали всі необхідні кроки по налаштуванню файрволу з керівництва по первинній настройці сервера, ваш файрвол UFW вже повинен бути налаштований таким чином, щоб обмежувати доступ до вашого сервера.

В процесі установки Apache реєструє себе в конфігурації UFW, створюючи кілька профілів додатки, які можуть бути використані для включення і відключення доступу до Apache через файрвол.

Виведемо профілі додатків ufw наступною командою:

Ви побачите список програм користувачів:


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

Як видно з цього висновку, для Apache є три профілі:

  • Apache: цей профіль відкриває порт 80 (звичайний, не зашифрований веб-трафік).
  • Apache Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
  • Apache Secure: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).

Рекомендується включати самий обмежений профіль, який буде дозволяти вхідний трафік. Оскільки ми не налаштовували SSL для нашого сервера в цьому керівництві, нам буде потрібно включити тільки порт 80:

Ви можете перевірити внесені зміни командою:

У висновку ви повинні бачити, що HTTP трафік дозволений:


висновок

Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Як видно з цього висновку профіль був включений для дозволу доступу до веб-сервера.

Крок 3 - Перевірка вашого веб-сервера

Після завершення процесу установки Ubuntu 18.04 запустить Apache. Веб-сервер уже повинен бути запущений.

Перевіримо в системі ініціалізації systemd, що сервіс працює, за допомогою такої команди:

  • sudo systemctl status apache2

висновок

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2 -systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: тисячі сто п'ятьдесят три) CGroup: /system.slice/apache2.service ├─2583 / usr / sbin / apache2 -k start ├─2585 / usr / sbin / apache2 -k start └─2586 / usr / sbin / apache2 -k start

Як видно з представленого виведення, сервіс виглядає працюючим коректно. Проте, найнадійніший спосіб перевірити роботу Apache - це запросити веб-сторінку.

Ви можете запитати дефолтну веб-сторінку Apache за допомогою IP адреси вашого сервера. Якщо ви не знаєте IP адреса вашого сервера, ви можете знайти його декількома способами за допомогою командного рядка.

Введіть наступну команду:

Вона поверне декілька адрес, розділених пробілами. Ви можете спробувати кожен з них в вашому веб-браузері.

Інший спосіб полягає у використанні команди, яка дозволяє побачити ваш IP адреса з іншого місця в мережі Інтернет:

Після того, як ви знайдете IP адреса вашого сервера, введіть його в свій веб-браузер:

  • http: // IP_адрес_вашего_сервера

Ви повинні побачити дефолтну сторінку Apache для Ubuntu 18.04:

Ця сторінка свідчить про те, що Apache працює коректно. На цій сторінці також представлена ​​базова інформація про важливі файли і директорії Apache.

Крок 4 - Управління процесом Apache

Тепер, коли у вас є працюючий веб-сервер, розглянемо деякі базові команди для управління ним.

Для зупинки себ-сервера наберіть:

  • sudo systemctl stop apache2

Для запуску зупиненого сервера наберіть:

  • sudo systemctl start apache2

Для перезапуску різноманітних служб наберіть:

  • sudo systemctl restart apache2

Якщо ви вносите якісь зміни в конфігурацію, Apache часто може перезавантажуватися без втрати відкритих з'єднань. Для цього наберіть команду:

  • sudo systemctl reload apache2

За замовчуванням Apache налаштований на запуск при завантаженні сервера. Ви можете відключити таку поведінку за допомогою такої команди:

  • sudo systemctl disable apache2

Для повторного включення сервісу при завантаженні сервера наберіть:

  • sudo systemctl enable apache2

Тепер Apache повинен знову запускатися автоматично при завантаженні сервера.

Крок 5 - Налаштування віртуальних хостів (рекомендується)

При використанні веб-сервера Apache ви можете використовувати віртуальні хости (аналог серверних блоків в Nginx) для зберігання конфігураційних налаштувань різних сайтів. Це дозволяє мати більш одного сайту на одному сервері. У цьому керівництві ми будемо для прикладу використовувати доменне ім'я example.com, але вам слід замінити його вашим власним доменним ім'ям. Для того, щоб дізнатися більше про налаштування доменних імен в DigitalOcean, рекомендуємо ознайомитися з нашим Введенням в DNS DigitalOcean .

Apache для Ubuntu 18.04 вже має один віртуальний хост, включений за замовчуванням, який налаштований на віддачу документів з директорії / var / www / html. Хоча це і зручно для обслуговування одного сайту, це стає незручним, коли сайтів кілька. Замість того, щоб змінювати / var / www / html, давайте створимо нову структуру директорій всередині / var / www для нашого сайту example.com, залишивши / var / www / html для показу дефолтной сторінки користувачам у випадках, коли клієнтський запит не збігається ні з одним з налаштованих доменних імен.

Створіть директорію для example.com використовуючи прапор -p для створення необхідних батьківських директорій:

  • sudo mkdir -p / var / www / example.com / html

Далі налаштуйте власника директорії за допомогою змінної оточення $ USER:

  • sudo chown -R $ USER: $ USER / var / www / example.com / html

Тепер права повинні для кореневої директорії бути налаштовані правильним чином за умови, що ви не міняли своє значення umask. Про всяк випадок ми можемо переконатися в цьому командою:

  • sudo chmod -R 755 / var / www / example.com

Далі створимо сторінку index.html в nano або будь-якому іншому текстовому редакторі:

  • nano / var / www / example.com /html/index.html

Додамо в файл наступний HTML:

/var/www/example.com/html/index.html

<Html> <head> <title> Welcome to Example.com! </ Title> </ head> <body> <h1> Success! The example.com server block is working! </ H1> </ body> </ html>

Збережіть і закрийте файл.

Для того, щоб Apache міг віддавати цей контент, нам необхідно налаштувати віртуальний хост з коректними настройками. Замість того, щоб редагувати існуючий файл віртуального хоста /etc/apache2/sites-available/000-default.conf, створимо новий файл для нашого сайту - / etc / apache2 / sites-available / example.com .conf:

  • sudo nano / etc / apache2 / sites-available / example.com .conf

Скопіюйте наступний текст налаштувань віртуального хоста в створений файл:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / example.com / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} / access. log combined </ VirtualHost>

Зверніть увагу, що ми оновили DocumentRoot на адресу нашої нової директорії, і ServerAdmin на адресу електронної пошти, доступний для адміністратора example.com. Ми також додали дві директиви: ServerName, яка встановлює базову доменне ім'я, яке повинно використовуватися для хоста, а також ServerAlias, яка визначає інші імена, які повинні використовуватися для відображення хоста так само, як і базове доменне ім'я.

Збережіть і закрийте файл після внесення змін.

Тепер активуємо профіль сайту за допомогою утиліти a2ensite:

  • sudo a2ensite example.com .conf

Деактивувавши дефолтний сайт, визначений в 000-default.conf:

  • sudo a2dissite 000-default.conf

Далі перевіримо наші налаштування на наявність помилок:

  • sudo apache2ctl configtest

Ви повинні побачити наступний висновок:


висновок

Syntax OK

Перезапустіть Apache для застосування внесених змін:

  • sudo systemctl restart apache2

Тепер Apache повинен працювати з вашим доменним ім'ям. Ви можете перевірити це ввівши http: // example.com в вашому браузері, де в результаті ви повинні побачити щось в цьому роді:

Крок 6 - Важливі файли і директорії Apache

Тепер, коли ви знаєте, як управляти сервісом Apache, вам варто ознайомитися з важливими файлами і директоріями 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 / 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.

серверні логи

  • /var/log/apache2/access.log: за замовчуванням кожен запит до вашого веб-сервера записується в цьому файлі, якщо тільки Apache не налаштований на іншу поведінку.
  • /var/log/apache2/error.log: за замовчуванням всі помилки записуються в цей файл. Директива LogLevel в конфігурації Apache визначає, наскільки детальними повинні бути записи про помилки.

висновок

Тепер, коли ваш веб-сервер встановлений, у вас є безліч варіантів того, що робити далі. Якщо ви хочете побудувати більш повний стек додатків, ви можете ознайомитися з нашим керівництвом по встановленню та налагодженню стека LAMP на Ubuntu 18.04 .

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

Вступ

HTTP сервер Apache є самим широко використовуваним веб-сервером в світі. Він надає безліч зручних функцій включаючи динамічно завантажувані модулі, широку підтримку мультимедіа, і інтеграцію з іншим популярним програмним забезпеченням.

У цьому керівництві ми розповімо, як встановити веб-сервер Apache на ваш сервер з Ubuntu 18.04.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цьому посібнику, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері з Ubuntu 18.04. Крім того, вам буде потрібно налаштувати базовий файрвол для блокування всіх портів, крім необхідних для роботи Apache. Ви можете ознайомитися з процесом налаштування аккаунта користувача і налаштуванням файрволу на вашому сервері слідуючи крокам нашого керівництва по первинній настройці сервера на Ubuntu 18.04 .

Після завершення створення аккаунта увійдіть ваш сервер за допомогою новоствореного користувача.

Крок 1 - Установка Apache

Apache доступний з дефолтних репозиторіїв Ubuntu, що дозволяє встановлювати його за допомогою засобів управління пакетами.

Давайте почнемо з поновлення локального індексу пакетів:

Далі встановимо пакет apache2:

Після підтвердження установки apt встановить Apache і всі необхідні залежності.

Крок 2 - Налаштування файрвола

Перед тестуванням установки Apache необхідно змінити налаштування брандмауера для дозволу доступу ззовні до дефолним веб-портам. Якщо ви виконали всі необхідні кроки по налаштуванню файрволу з керівництва по первинній настройці сервера, ваш файрвол UFW вже повинен бути налаштований таким чином, щоб обмежувати доступ до вашого сервера.

В процесі установки Apache реєструє себе в конфігурації UFW, створюючи кілька профілів додатки, які можуть бути використані для включення і відключення доступу до Apache через файрвол.

Виведемо профілі додатків ufw наступною командою:

Ви побачите список програм користувачів:


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

Як видно з цього висновку, для Apache є три профілі:

  • Apache: цей профіль відкриває порт 80 (звичайний, не зашифрований веб-трафік).
  • Apache Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
  • Apache Secure: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).

Рекомендується включати самий обмежений профіль, який буде дозволяти вхідний трафік. Оскільки ми не налаштовували SSL для нашого сервера в цьому керівництві, нам буде потрібно включити тільки порт 80:

Ви можете перевірити внесені зміни командою:

У висновку ви повинні бачити, що HTTP трафік дозволений:


висновок

Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Як видно з цього висновку профіль був включений для дозволу доступу до веб-сервера.

Крок 3 - Перевірка вашого веб-сервера

Після завершення процесу установки Ubuntu 18.04 запустить Apache. Веб-сервер уже повинен бути запущений.

Перевіримо в системі ініціалізації systemd, що сервіс працює, за допомогою такої команди:

  • sudo systemctl status apache2

висновок

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2 -systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: тисячі сто п'ятьдесят три) CGroup: /system.slice/apache2.service ├─2583 / usr / sbin / apache2 -k start ├─2585 / usr / sbin / apache2 -k start └─2586 / usr / sbin / apache2 -k start

Як видно з представленого виведення, сервіс виглядає працюючим коректно. Проте, найнадійніший спосіб перевірити роботу Apache - це запросити веб-сторінку.

Ви можете запитати дефолтну веб-сторінку Apache за допомогою IP адреси вашого сервера. Якщо ви не знаєте IP адреса вашого сервера, ви можете знайти його декількома способами за допомогою командного рядка.

Введіть наступну команду:

Вона поверне декілька адрес, розділених пробілами. Ви можете спробувати кожен з них в вашому веб-браузері.

Інший спосіб полягає у використанні команди, яка дозволяє побачити ваш IP адреса з іншого місця в мережі Інтернет:

Після того, як ви знайдете IP адреса вашого сервера, введіть його в свій веб-браузер:

  • http: // IP_адрес_вашего_сервера

Ви повинні побачити дефолтну сторінку Apache для Ubuntu 18.04:

Ця сторінка свідчить про те, що Apache працює коректно. На цій сторінці також представлена ​​базова інформація про важливі файли і директорії Apache.

Крок 4 - Управління процесом Apache

Тепер, коли у вас є працюючий веб-сервер, розглянемо деякі базові команди для управління ним.

Для зупинки себ-сервера наберіть:

  • sudo systemctl stop apache2

Для запуску зупиненого сервера наберіть:

  • sudo systemctl start apache2

Для перезапуску різноманітних служб наберіть:

  • sudo systemctl restart apache2

Якщо ви вносите якісь зміни в конфігурацію, Apache часто може перезавантажуватися без втрати відкритих з'єднань. Для цього наберіть команду:

  • sudo systemctl reload apache2

За замовчуванням Apache налаштований на запуск при завантаженні сервера. Ви можете відключити таку поведінку за допомогою такої команди:

  • sudo systemctl disable apache2

Для повторного включення сервісу при завантаженні сервера наберіть:

  • sudo systemctl enable apache2

Тепер Apache повинен знову запускатися автоматично при завантаженні сервера.

Крок 5 - Налаштування віртуальних хостів (рекомендується)

При використанні веб-сервера Apache ви можете використовувати віртуальні хости (аналог серверних блоків в Nginx) для зберігання конфігураційних налаштувань різних сайтів. Це дозволяє мати більш одного сайту на одному сервері. У цьому керівництві ми будемо для прикладу використовувати доменне ім'я example.com, але вам слід замінити його вашим власним доменним ім'ям. Для того, щоб дізнатися більше про налаштування доменних імен в DigitalOcean, рекомендуємо ознайомитися з нашим Введенням в DNS DigitalOcean .

Apache для Ubuntu 18.04 вже має один віртуальний хост, включений за замовчуванням, який налаштований на віддачу документів з директорії / var / www / html. Хоча це і зручно для обслуговування одного сайту, це стає незручним, коли сайтів кілька. Замість того, щоб змінювати / var / www / html, давайте створимо нову структуру директорій всередині / var / www для нашого сайту example.com, залишивши / var / www / html для показу дефолтной сторінки користувачам у випадках, коли клієнтський запит не збігається ні з одним з налаштованих доменних імен.

Створіть директорію для example.com використовуючи прапор -p для створення необхідних батьківських директорій:

  • sudo mkdir -p / var / www / example.com / html

Далі налаштуйте власника директорії за допомогою змінної оточення $ USER:

  • sudo chown -R $ USER: $ USER / var / www / example.com / html

Тепер права повинні для кореневої директорії бути налаштовані правильним чином за умови, що ви не міняли своє значення umask. Про всяк випадок ми можемо переконатися в цьому командою:

  • sudo chmod -R 755 / var / www / example.com

Далі створимо сторінку index.html в nano або будь-якому іншому текстовому редакторі:

  • nano / var / www / example.com /html/index.html

Додамо в файл наступний HTML:

/var/www/example.com/html/index.html

<Html> <head> <title> Welcome to Example.com! </ Title> </ head> <body> <h1> Success! The example.com server block is working! </ H1> </ body> </ html>

Збережіть і закрийте файл.

Для того, щоб Apache міг віддавати цей контент, нам необхідно налаштувати віртуальний хост з коректними настройками. Замість того, щоб редагувати існуючий файл віртуального хоста /etc/apache2/sites-available/000-default.conf, створимо новий файл для нашого сайту - / etc / apache2 / sites-available / example.com .conf:

  • sudo nano / etc / apache2 / sites-available / example.com .conf

Скопіюйте наступний текст налаштувань віртуального хоста в створений файл:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / example.com / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} / access. log combined </ VirtualHost>

Зверніть увагу, що ми оновили DocumentRoot на адресу нашої нової директорії, і ServerAdmin на адресу електронної пошти, доступний для адміністратора example.com. Ми також додали дві директиви: ServerName, яка встановлює базову доменне ім'я, яке повинно використовуватися для хоста, а також ServerAlias, яка визначає інші імена, які повинні використовуватися для відображення хоста так само, як і базове доменне ім'я.

Збережіть і закрийте файл після внесення змін.

Тепер активуємо профіль сайту за допомогою утиліти a2ensite:

  • sudo a2ensite example.com .conf

Деактивувавши дефолтний сайт, визначений в 000-default.conf:

  • sudo a2dissite 000-default.conf

Далі перевіримо наші налаштування на наявність помилок:

  • sudo apache2ctl configtest

Ви повинні побачити наступний висновок:


висновок

Syntax OK

Перезапустіть Apache для застосування внесених змін:

  • sudo systemctl restart apache2

Тепер Apache повинен працювати з вашим доменним ім'ям. Ви можете перевірити це ввівши http: // example.com в вашому браузері, де в результаті ви повинні побачити щось в цьому роді:

Крок 6 - Важливі файли і директорії Apache

Тепер, коли ви знаєте, як управляти сервісом Apache, вам варто ознайомитися з важливими файлами і директоріями 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 / 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.

серверні логи

  • /var/log/apache2/access.log: за замовчуванням кожен запит до вашого веб-сервера записується в цьому файлі, якщо тільки Apache не налаштований на іншу поведінку.
  • /var/log/apache2/error.log: за замовчуванням всі помилки записуються в цей файл. Директива LogLevel в конфігурації Apache визначає, наскільки детальними повинні бути записи про помилки.

висновок

Тепер, коли ваш веб-сервер встановлений, у вас є безліч варіантів того, що робити далі. Якщо ви хочете побудувати більш повний стек додатків, ви можете ознайомитися з нашим керівництвом по встановленню та налагодженню стека LAMP на Ubuntu 18.04 .

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

Вступ

HTTP сервер Apache є самим широко використовуваним веб-сервером в світі. Він надає безліч зручних функцій включаючи динамічно завантажувані модулі, широку підтримку мультимедіа, і інтеграцію з іншим популярним програмним забезпеченням.

У цьому керівництві ми розповімо, як встановити веб-сервер Apache на ваш сервер з Ubuntu 18.04.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цьому посібнику, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері з Ubuntu 18.04. Крім того, вам буде потрібно налаштувати базовий файрвол для блокування всіх портів, крім необхідних для роботи Apache. Ви можете ознайомитися з процесом налаштування аккаунта користувача і налаштуванням файрволу на вашому сервері слідуючи крокам нашого керівництва по первинній настройці сервера на Ubuntu 18.04 .

Після завершення створення аккаунта увійдіть ваш сервер за допомогою новоствореного користувача.

Крок 1 - Установка Apache

Apache доступний з дефолтних репозиторіїв Ubuntu, що дозволяє встановлювати його за допомогою засобів управління пакетами.

Давайте почнемо з поновлення локального індексу пакетів:

Далі встановимо пакет apache2:

Після підтвердження установки apt встановить Apache і всі необхідні залежності.

Крок 2 - Налаштування файрвола

Перед тестуванням установки Apache необхідно змінити налаштування брандмауера для дозволу доступу ззовні до дефолним веб-портам. Якщо ви виконали всі необхідні кроки по налаштуванню файрволу з керівництва по первинній настройці сервера, ваш файрвол UFW вже повинен бути налаштований таким чином, щоб обмежувати доступ до вашого сервера.

В процесі установки Apache реєструє себе в конфігурації UFW, створюючи кілька профілів додатки, які можуть бути використані для включення і відключення доступу до Apache через файрвол.

Виведемо профілі додатків ufw наступною командою:

Ви побачите список програм користувачів:


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

Як видно з цього висновку, для Apache є три профілі:

  • Apache: цей профіль відкриває порт 80 (звичайний, не зашифрований веб-трафік).
  • Apache Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
  • Apache Secure: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).

Рекомендується включати самий обмежений профіль, який буде дозволяти вхідний трафік. Оскільки ми не налаштовували SSL для нашого сервера в цьому керівництві, нам буде потрібно включити тільки порт 80:

Ви можете перевірити внесені зміни командою:

У висновку ви повинні бачити, що HTTP трафік дозволений:


висновок

Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Як видно з цього висновку профіль був включений для дозволу доступу до веб-сервера.

Крок 3 - Перевірка вашого веб-сервера

Після завершення процесу установки Ubuntu 18.04 запустить Apache. Веб-сервер уже повинен бути запущений.

Перевіримо в системі ініціалізації systemd, що сервіс працює, за допомогою такої команди:

  • sudo systemctl status apache2

висновок

● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2 -systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: тисячі сто п'ятьдесят три) CGroup: /system.slice/apache2.service ├─2583 / usr / sbin / apache2 -k start ├─2585 / usr / sbin / apache2 -k start └─2586 / usr / sbin / apache2 -k start

Як видно з представленого виведення, сервіс виглядає працюючим коректно. Проте, найнадійніший спосіб перевірити роботу Apache - це запросити веб-сторінку.

Ви можете запитати дефолтну веб-сторінку Apache за допомогою IP адреси вашого сервера. Якщо ви не знаєте IP адреса вашого сервера, ви можете знайти його декількома способами за допомогою командного рядка.

Введіть наступну команду:

Вона поверне декілька адрес, розділених пробілами. Ви можете спробувати кожен з них в вашому веб-браузері.

Інший спосіб полягає у використанні команди, яка дозволяє побачити ваш IP адреса з іншого місця в мережі Інтернет:

Після того, як ви знайдете IP адреса вашого сервера, введіть його в свій веб-браузер:

  • http: // IP_адрес_вашего_сервера

Ви повинні побачити дефолтну сторінку Apache для Ubuntu 18.04:

Ця сторінка свідчить про те, що Apache працює коректно. На цій сторінці також представлена ​​базова інформація про важливі файли і директорії Apache.

Крок 4 - Управління процесом Apache

Тепер, коли у вас є працюючий веб-сервер, розглянемо деякі базові команди для управління ним.

Для зупинки себ-сервера наберіть:

  • sudo systemctl stop apache2

Для запуску зупиненого сервера наберіть:

  • sudo systemctl start apache2

Для перезапуску різноманітних служб наберіть:

  • sudo systemctl restart apache2

Якщо ви вносите якісь зміни в конфігурацію, Apache часто може перезавантажуватися без втрати відкритих з'єднань. Для цього наберіть команду:

  • sudo systemctl reload apache2

За замовчуванням Apache налаштований на запуск при завантаженні сервера. Ви можете відключити таку поведінку за допомогою такої команди:

  • sudo systemctl disable apache2

Для повторного включення сервісу при завантаженні сервера наберіть:

  • sudo systemctl enable apache2

Тепер Apache повинен знову запускатися автоматично при завантаженні сервера.

Крок 5 - Налаштування віртуальних хостів (рекомендується)

При використанні веб-сервера Apache ви можете використовувати віртуальні хости (аналог серверних блоків в Nginx) для зберігання конфігураційних налаштувань різних сайтів. Це дозволяє мати більш одного сайту на одному сервері. У цьому керівництві ми будемо для прикладу використовувати доменне ім'я example.com, але вам слід замінити його вашим власним доменним ім'ям. Для того, щоб дізнатися більше про налаштування доменних імен в DigitalOcean, рекомендуємо ознайомитися з нашим Введенням в DNS DigitalOcean .

Apache для Ubuntu 18.04 вже має один віртуальний хост, включений за замовчуванням, який налаштований на віддачу документів з директорії / var / www / html. Хоча це і зручно для обслуговування одного сайту, це стає незручним, коли сайтів кілька. Замість того, щоб змінювати / var / www / html, давайте створимо нову структуру директорій всередині / var / www для нашого сайту example.com, залишивши / var / www / html для показу дефолтной сторінки користувачам у випадках, коли клієнтський запит не збігається ні з одним з налаштованих доменних імен.

Створіть директорію для example.com використовуючи прапор -p для створення необхідних батьківських директорій:

  • sudo mkdir -p / var / www / example.com / html

Далі налаштуйте власника директорії за допомогою змінної оточення $ USER:

  • sudo chown -R $ USER: $ USER / var / www / example.com / html

Тепер права повинні для кореневої директорії бути налаштовані правильним чином за умови, що ви не міняли своє значення umask. Про всяк випадок ми можемо переконатися в цьому командою:

  • sudo chmod -R 755 / var / www / example.com

Далі створимо сторінку index.html в nano або будь-якому іншому текстовому редакторі:

  • nano / var / www / example.com /html/index.html

Додамо в файл наступний HTML:

/var/www/example.com/html/index.html

<Html> <head> <title> Welcome to Example.com! </ Title> </ head> <body> <h1> Success! The example.com server block is working! </ H1> </ body> </ html>

Збережіть і закрийте файл.

Для того, щоб Apache міг віддавати цей контент, нам необхідно налаштувати віртуальний хост з коректними настройками. Замість того, щоб редагувати існуючий файл віртуального хоста /etc/apache2/sites-available/000-default.conf, створимо новий файл для нашого сайту - / etc / apache2 / sites-available / example.com .conf:

  • sudo nano / etc / apache2 / sites-available / example.com .conf

Скопіюйте наступний текст налаштувань віртуального хоста в створений файл:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / example.com / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} / access. log combined </ VirtualHost>

Зверніть увагу, що ми оновили DocumentRoot на адресу нашої нової директорії, і ServerAdmin на адресу електронної пошти, доступний для адміністратора example.com. Ми також додали дві директиви: ServerName, яка встановлює базову доменне ім'я, яке повинно використовуватися для хоста, а також ServerAlias, яка визначає інші імена, які повинні використовуватися для відображення хоста так само, як і базове доменне ім'я.

Збережіть і закрийте файл після внесення змін.

Тепер активуємо профіль сайту за допомогою утиліти a2ensite:

  • sudo a2ensite example.com .conf

Деактивувавши дефолтний сайт, визначений в 000-default.conf:

  • sudo a2dissite 000-default.conf

Далі перевіримо наші налаштування на наявність помилок:

  • sudo apache2ctl configtest

Ви повинні побачити наступний висновок:


висновок

Syntax OK

Перезапустіть Apache для застосування внесених змін:

  • sudo systemctl restart apache2

Тепер Apache повинен працювати з вашим доменним ім'ям. Ви можете перевірити це ввівши http: // example.com в вашому браузері, де в результаті ви повинні побачити щось в цьому роді:

Крок 6 - Важливі файли і директорії Apache

Тепер, коли ви знаєте, як управляти сервісом Apache, вам варто ознайомитися з важливими файлами і директоріями 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 / 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.

серверні логи

  • /var/log/apache2/access.log: за замовчуванням кожен запит до вашого веб-сервера записується в цьому файлі, якщо тільки Apache не налаштований на іншу поведінку.
  • /var/log/apache2/error.log: за замовчуванням всі помилки записуються в цей файл. Директива LogLevel в конфігурації Apache визначає, наскільки детальними повинні бути записи про помилки.

висновок

Тепер, коли ваш веб-сервер встановлений, у вас є безліч варіантів того, що робити далі. Якщо ви хочете побудувати більш повний стек додатків, ви можете ознайомитися з нашим керівництвом по встановленню та налагодженню стека LAMP на Ubuntu 18.04 .

Новости

Пиротехника своими руками в домашних
Самые лучшие полезные самоделки рунета! Как сделать самому, мастер-классы, фото, чертежи, инструкции, книги, видео. Главная САМОДЕЛКИ Дизайнерские

Все товары для праздника оптом купить
Как сделать правильный выбор в работе, бизнесе и жизни, о котором никогда не придется жалеть. Мы хотим рассказать вам об удивительной и очень простой технике 7 вопросов, которые позволят оценить ситуацию

Как сделать красивую снежинку из бумаги
Красивые бумажные снежинки станут хорошим украшением дома на Новый год. Они создадут в квартире атмосферу белоснежной, зимней сказки. Да и просто занимаясь вырезанием из бумаги снежинок разнообразной

Как сделать из бумаги самолет
 1. Самолеты сделанный по первой и второй схеме являются самыми распространенными. Собирается такое оригами своими руками достаточно быстро, несмотря на это самолет летит достаточно далеко за счет свое

Фольгированные шары с гелием
Для начала давайте разберемся и чего же выполнен фольгированный шар и почему он летает дольше?! Как вы помните, наши латексные шарики достаточно пористые, поэтому их приходится обрабатывать специальным

Аниматоры на детские праздники в Зеленограде
Уж сколько раз твердили миру…Что готовиться ко дню рождения нужно заранее, а не бегать в предпраздничный день угорелой кошкой. Нельзя впихнуть в 24 часа дела, рассчитанные на недели. К празднику нужно

2400 наименований пиротехники
В последние десятилетия наша страна может похвастаться появлением нескольких десятков отечественных производителей, специализирующихся на выпуске пиротехники. Если вы сомневаетесь, какой фейерверк заказать,