Для адміністрування свого сайту на локальному сервері потрібна установка безлічі додаткових компонентів, які і організовують єдину систему, що функціонує злагоджено і без будь-яких помилок. Однією з головних складових такої структури можна вважати веб-сервер. Користувачі найчастіше воліють залучати саме Apache через його простоти і гнучкості налаштування, а також можливості підключення зовнішніх модулів. Однак інсталяція і основна конфігурація - процес не швидкий і для деяких навіть складний, тому ми б хотіли розповісти про це більш детально, взявши за приклад дистрибутив CentOS 7.

Встановлюємо Apache в CentOS 7

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

Крок 1: Підготовка і інсталяція

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

  1. запустіть «Термінал», Наприклад, через значок в розділі «Вибране».
  2. Перехід до терміналу для подальшої установки веб-сервера Apache в CentOS 7

  3. Якщо раніше на комп'ютері вже був встановлений Apache або ж ви випадково видалили один з його компонентів, просто використовуйте команду sudo yum update httpd, Активувавши її натисканням на клавішу Enter.
  4. Команда для перевірки оновлень поточної версії Apache в CentOS 7

  5. Ця дія виконується від імені суперкористувача, а значить, доведеться підтвердити його, вказавши пароль від облікового запису.
  6. Підтвердження перевірки оновлень Apache в CentOS 7 шляхом введення пароля користувача root

  7. У разі установки оновлень ви будете повідомлені про це, а якщо пакет відсутній, то з'явиться ще одне повідомлення відповідного характеру.
  8. Інформація про поточний стан веб-сервера Apache в CentOS 7

  9. Тепер поговоримо про інсталяції Apache з нуля. Як ми вже сказали, використовувати для цього будемо офіційні сховища, отже, потрібно ввести команду sudo yum install httpd.
  10. Команда для запуску інсталяції веб-сервера Apache в CentOS 7 через термінал

  11. При появі повідомлення про інсталяції пакета підтвердіть його, вибравши варіант y.
  12. Підтвердження команди установки веб-сервера Apache в CentOS 7

  13. Чекайте завершення установки, під час цього не закривайте поточну термінальну сесію, щоб не перервати процес.
  14. Очікування завершення скачування пакета Apache в CentOS 7

  15. Після закінчення відразу ж рекомендується запустити веб-сервер, що можна зробити через sudo systemctl start httpd.
  16. Команда для запуску роботи служби встановленого веб-сервера Apache в CentOS 7

  17. Перевірте поточний стан через sudo systemctl status httpd.
  18. Команда для перевірки поточного стану веб-сервера Apache в CentOS 7

  19. сповіщення «Active: active (running)» має на увазі, що зараз Apache коректно функціонує і можна переходити до його подальшій настройці.
  20. Інформація про поточний стан встановленого веб-сервера Apache в CentOS 7

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

Крок 2: Управління службою Apache

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

  1. Введіть sudo systemctl stop httpd для повної зупинки Apache.
  2. Команда для зупинки служби роботи веб-сервера Apache в CentOS 7

  3. Ця і всі наступні команди будуть виконуватися від імені суперкористувача, тому знадобиться підтвердити її, ввівши відповідний пароль.
  4. Підтвердження команди зупинки Apache в CentOS 7 шляхом введення пароля

  5. Перезапуск відбувається через команду sudo systemctl restart httpd. Актуальною є ця команда в тих ситуаціях, коли сервер дає збої або потрібна перезапустити його через особливості взаємодії з іншими компонентами.
  6. Команда для перезавантаження веб-сервера Apache в CentOS 7

  7. використовуйте sudo systemctl reload httpd, Якщо необхідно, щоб всі зміни після настройки вступили в силу, але при цьому жодне із з'єднань не було розірвано.
  8. Команда для перезавантаження веб-сервера Apache в CentOS 7 без відключення з'єднань

  9. команда sudo systemctl disable httpd прибирає Apache з автозавантаження, а sudo systemctl enable httpd повертає стандартне стан. Додатково при включенні цієї опції ви будете повідомлені про створення нової символічної посилання, що відповідає за цю можливість.
  10. Команди для додавання або виключення Apache в CentOS 7 з автозавантаження

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

Крок 3: Базова конфігурація

До базової конфігурації відноситься настройка віртуального хоста, який стане в нагоді для ізоляції налаштувань і розміщення різних доменів на одному сервері. Одного стандартного віртуального хоста цілком досить, якщо ви маєте справу тільки з одним сайтом, однак при реєстрації інших доменів доведеться вдатися до створення додаткових параметрів. Зараз за приклад ми візьмемо стандартний віртуальний хост, а ви зміните його адресу, якщо це потрібно.

  1. Почнемо зі створення каталогу, де будуть зберігатися всі дочірні файли віртуального хоста. Робиться це через команду sudo mkdir -p /var/www/example.com/html.
  2. Створення папки для зберігання файлів нового віртуального хоста Apache в CentOS 7

  3. Необхідна і додаткова папка, куди будуть автоматично зберігатися журнали подій. Для її додавання введіть sudo mkdir -p /var/www/example.com/log.
  4. Створення папки для зберігання журналів подій нового віртуального хоста Apache в CentOS 7

  5. Задайте стандартні права на директорію через sudo chown -R $ USER: $ USER /var/www/example.com/html.
  6. Установка стандартного рівня доступу для створених папок Apache в CentOS 7

  7. Додатково встановіть і привілеї для кожного користувача, вставивши sudo chmod -R 755 / var / www.
  8. Друга команда для установки стандартного рівня доступу для створених папок Apache в CentOS 7

  9. Приступимо до створення зразка головної сторінки, яка буде виводитися на екран при перевірці працездатності хоста. Створіть новий текстовий файл через зручний редактор, наприклад, використовуючи nano, слід ввести sudo nano /var/www/example.com/html/index.html.
  10. Запуск текстового редактора для вмісту сторінки віртуального хоста Apache в CentOS 7

  11. При відкритті текстового редактора з'явиться повідомлення про те, що це новий файл. Не переживайте, адже так і повинно бути. Ми спеціально створюємо його, виставляючи відповідну конфігурацію.
  12. Інформація про створення нового файлу сторінки віртуального хоста Apache в CentOS 7

  13. Вставте туди наведений нижче код, замінивши стандартне привітання на довільний текст. Якщо хочете, можете повністю переробити структуру, створивши відповідну для себе сторінку.


    <html>
    <head>
    <title>Welcome to Example.com!</title>
    </head>
    <body>
    <h1>Success! The example.com virtual host is working!</h1>
    </body>
    </html></code>

  14. Створення структури сторінки віртуального хоста Apache в CentOS 7

  15. Збережіть зміни, натиснувши на Ctrl + O, А потім покиньте текстовий редактор через Ctrl + X.
  16. Вихід з текстового редактора після створення файлу сторінки віртуального хоста Apache в CentOS 7

  17. Це були тільки попередні налаштування. Тепер приступимо до самого віртуального хосту: спочатку потрібно вказати папки його зберігання. Для цього введіть sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled.
  18. Створення папки для зберігання інформації про сайтах Apache в CentOS 7

  19. Після цього вкажіть веб-сервера, що зараз йому потрібно взаємодіяти і з іншими компонентами. Здійснюється це завдання через редагування головного конфігураційного файлу. Запустіть його через текстовий редактор, вказавши sudo nano /etc/httpd/conf/httpd.conf.
  20. Перехід до глобальних настойкам для вказівки нового віртуального хоста в Apache в CentOS 7

  21. Опустіться в самий низ по списку і вставте рядок IncludeOptional sites-enabled / *. Conf.
  22. Зміна глобального конфігураційного файлу Apache в CentOS 7

  23. Перед виходом з текстового редактора не забудьте зберегти всі зміни.
  24. Збереження змін після глобальних змін конфігураційного файлу Apache в CentOS 7

  25. Для створення самого віртуального хоста знадобиться ще один конфігураційний файл. Створіть його через sudo nano /etc/httpd/sites-available/example.com.conf.
  26. Запуск текстового редактора для створення нового віртуального хоста Apache в CentOS 7

  27. Вставте туди вказане далі вміст, замінивши необхідні рядки на свої.


    ServerName www.example.com
    ServerAlias ​​example.com
    DocumentRoot /var/www/example.com/html
    ErrorLog /var/www/example.com/log/error.log
    CustomLog /var/www/example.com/log/requests.log combined

  28. Створіть стандартне вмісту для нового віртуального хоста Apache в CentOS 7

  29. Залишається тільки активувати файл, створивши символічне посилання через sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf.
  30. Створення нової символічної посилання для забезпечення працездатності віртуального хоста Apache в CentOS 7

Крок 4: Налаштування контролю доступу

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

  1. Встановіть глобальний параметр безпеки через sudo setsebool -P httpd_unified 1. Він забезпечить обробку всіх типів процесів як один.
  2. Створення глобальних правил рівня доступу до файлів віртуального хоста Apache в CentOS 7

  3. Далі рекомендується перевірити поточні параметри SELinux, які були надані автоматично. Для цього напишіть sudo ls -dZ /var/www/example.com/log/.
  4. Запуск перевірки поточного стану доступу до віртуального хосту Apache в CentOS 7

  5. В результаті ви побачите вміст drwxr-xr-x. root root unconfined_u: object_r: httpd_sys_content_t: s0 /var/www/example.com/log/. Воно означає, що зараз Apache може тільки читати ті файли, які були створені у встановленій папці, відповідно, доведеться міняти конфігурацію.
  6. Вивчення відомостей про доступ до віртуального хосту Apache в CentOS 7

  7. Виконується це завдання через sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?".
  8. Зміна контекстних правил доступу до віртуального хосту Apache в CentOS 7

  9. Збережіть зміни і зробіть так, щоб вони активувалися після перезавантаження сервера, ввівши sudo restorecon -R -v /var/www/example.com/log.
  10. Оновлення параметрів доступу до віртуального хосту Apache в CentOS 7

  11. Тепер ще раз перевірте внесені зміни через sudo ls -dZ /var/www/example.com/log/.
  12. Висновок інформації після поновлення даних віртуального хоста Apache в CentOS 7

  13. Як бачите, в результаті висновок має форму drwxr-xr-x. root root unconfined_u: object_r: httpd_log_t: s0 /var/www/example.com/log, Отже, все виконано вірно.
  14. Перегляд інформації про доступ до віртуального хосту після його поновлення Apache в CentOS 7

  15. Залишилося тільки протестувати всі зміни. Для цього введіть sudo systemctl restart httpd і натисніть на Enter.
  16. Перезапуск служб Apache в CentOS 7 після внесення всіх змін

  17. Підтвердіть дію, вказавши пароль суперкористувача.
  18. Підтвердження дій паролем для перезапуску служб Apache в CentOS 7

  19. Знову створіть запит для каталогу, ввівши ls -lZ /var/www/example.com/log. Якщо з'явилося вміст має формат -rw-r - r--. 1 root root error.log -rw-r - r--. 1 root root 0 requests.log, Значить, всі попередні налаштування були виконані правильно.
  20. Перевірка стану рівнів доступу до Apache в CentOS 7 після перезавантаження служб

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

Перейти на офіційний сайт документації Apache