Встановлення Apache на CentOS 7

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

Встановлення Apache на CentOS 7

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

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

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

  1. Запустіть &171;Термінал&187; , наприклад, через значок у розділі &171; Вибране & 187; .
  2. Переход к терминалу для дальнейшей установки веб-сервера Apache в CentOS 7
  3. Якщо раніше на комп'ютері вже був встановлений Apache або ж ви випадково видалили один з його компонентів, просто використовуйте команду sudo yum update httpd , активувавши її натисканням на клавішу Enter .
  4. Команда для проверки обновлений текущей версии Apache в CentOS 7
  5. Ця дія виконується від імені суперкористувача, а значить, доведеться підтвердити його, вказавши пароль від даного облікового запису.
  6. Подтверждение проверки обновлений Apache в CentOS 7 путем ввода пароля суперпользователя
  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. Повідомлення &171;Active: active (running)&187; має на увазі, що зараз 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

більше статей на цю тему: