- Як встановити веб-сервер Apache в Ubuntu 18.04 Вступ
- Необхідні умови
- Крок 1 - Установка Apache
- Крок 2 - Налаштування файрвола
- Крок 3 - Перевірка вашого веб-сервера
- Крок 4 - Управління процесом Apache
- Крок 5 - Налаштування віртуальних хостів (рекомендується)
- Крок 6 - Важливі файли і директорії Apache
- контент
- Як встановити веб-сервер Apache в Ubuntu 18.04
- Необхідні умови
- Крок 1 - Установка Apache
- Крок 2 - Налаштування файрвола
- Крок 3 - Перевірка вашого веб-сервера
- Крок 4 - Управління процесом Apache
- Крок 5 - Налаштування віртуальних хостів (рекомендується)
- Крок 6 - Важливі файли і директорії Apache
- контент
- Як встановити веб-сервер Apache в Ubuntu 18.04
- Необхідні умови
- Крок 1 - Установка Apache
- Крок 2 - Налаштування файрвола
- Крок 3 - Перевірка вашого веб-сервера
- Крок 4 - Управління процесом Apache
- Крок 5 - Налаштування віртуальних хостів (рекомендується)
- Крок 6 - Важливі файли і директорії Apache
- контент
- Як встановити веб-сервер Apache в Ubuntu 18.04
- Необхідні умови
- Крок 1 - Установка Apache
- Крок 2 - Налаштування файрвола
- Крок 3 - Перевірка вашого веб-сервера
- Крок 4 - Управління процесом Apache
- Крок 5 - Налаштування віртуальних хостів (рекомендується)
- Крок 6 - Важливі файли і директорії Apache
- контент
- Як встановити веб-сервер Apache в Ubuntu 18.04
- Необхідні умови
- Крок 1 - Установка Apache
- Крок 2 - Налаштування файрвола
- Крок 3 - Перевірка вашого веб-сервера
- Крок 4 - Управління процесом Apache
- Крок 5 - Налаштування віртуальних хостів (рекомендується)
- Крок 6 - Важливі файли і директорії Apache
- контент
- Як встановити веб-сервер Apache в Ubuntu 18.04
- Необхідні умови
- Крок 1 - Установка Apache
- Крок 2 - Налаштування файрвола
- Крок 3 - Перевірка вашого веб-сервера
- Крок 4 - Управління процесом Apache
- Крок 5 - Налаштування віртуальних хостів (рекомендується)
- Крок 6 - Важливі файли і директорії Apache
- контент
- Як встановити веб-сервер Apache в Ubuntu 18.04
- Необхідні умови
- Крок 1 - Установка Apache
- Крок 2 - Налаштування файрвола
- Крок 3 - Перевірка вашого веб-сервера
- Крок 4 - Управління процесом Apache
- Крок 5 - Налаштування віртуальних хостів (рекомендується)
- Крок 6 - Важливі файли і директорії Apache
- контент
Як встановити веб-сервер 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 .