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

  • (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 наименований пиротехники
В последние десятилетия наша страна может похвастаться появлением нескольких десятков отечественных производителей, специализирующихся на выпуске пиротехники. Если вы сомневаетесь, какой фейерверк заказать,

Суши доставка меню
В последние годы японская кухня стала очень популярной в нашей стране. И найти современного человека, который бы никогда не пробовал суши и роллы очень сложно. Но как правильно кушать суши палочками

Обеденные группы для маленькой кухни
Любой дом начинается с кухонной комнаты, а хороший дом - с уютной кухни. Уютной назвать кухню можно, если все в ней гармонично подобрано в соответствии с вашими вкусами и в едином стиле. Многие люди