Веб-сервер під centos 7

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

Увага! Уже з'явилася більш прогресивна методика для версії 7.1.







В якості операційної системи для майбутньої хостинг-площадки цілком раціонально вибрати операційну систему Linux, діструбутів Centos версії 7.0. Свій вибір на Centos зупинимо, так як дистрибутив стабільний, прекрасно оновлюється, підтримує роботу з пакетами. А найголовніше - є варіантом Red Hat Enterprise Linux.

Дивні речі, які чекають нас в сьомій версії:

  • Відмова від iptables, тепер замість нього firewall
  • Відмова від chkconfig - тепер замість нього systemd
  • Перехід з MySQL до MariaDB.

Установка операційної системи

На даний момент актуальною є CentOS 7, орієнтований виключно на архітектуру x86_64. Викачуємо образ ISO і встановлюємо з диска, але можна поставити і з флешки.

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

апаратна частина

У нашому розпорядженні опинився вже морально застарілий двоядерний комп'ютер на базі процесора E3300, який має 2 Гб оперативної пам'яті. Як показала практика, його цілком достатньо.

розділи диска

На кроці Installation Destination нам пропонується вибрати диск для установки системи. Якщо нічого не чіпати (Automatically Configure Partitioning), то інсталятор самостійно впорається з розбивкою на розділи. Вважаю, такі важливі речі не можна пускати на самоплив, вони вимагають втручання; тому наш вибір - I will configure partitioning. Бачимо діалогове вікно, показане нижче.

Розподіляємо місце на диску.

  • Нам необхідно виділити понад 82 Мб для розділу boot.
  • Все, що залишилося, за винятком розміру оперативної пам'яті відводимо під кореневий розділ.
  • Нарешті, залишок віддаємо під файл підкачки, позначаючи його swap.

В результаті розділи будуть видні приблизно таким чином.

Веб-сервер під centos 7

На відміну від шостої версії, файлової системою за замовчуванням в сьомій версії є XFS, а не ext4. На жаль, в мережі довелося натикатися на негативні відгуки про неї, проте не можу висловити свою власну думку: я змушений використовувати ext4 для сумісності з деякими необхідним програмно-апаратним забезпеченням.







Результат команди df -h після установки:

Перше, що треба зробити - відключити систему безпеки SELinux.

Наприклад, включений selinux не дозволить підключатися по протоколу ftp до сервера, якщо в майбутньому поставимо vsftpd, клієнт буде отримувати повідомлення про помилку

У CentOS відключення SELinux виглядає просто. Відкриваємо файл конфіга

Зроблено, тепер нас не будуть чекати сюрпризи в майбутньому. Скептикам, яка бореться за безпеку системи, відразу повідомляю, що наш сервер буде надійно захищений налаштуванням firewall (прийшов на зміну iptables). Відповідно до функціонального призначення нашого сервера налаштовуємо firewall. відкриваючи для загального доступу порти 80 і 443:

Перевіряємо, що yum встановлений. Якщо його немає, доведеться вручну тягти пакет mirror.centos. org / centos / 7 / os / x86_64 / Packages / і встановлювати через менеджер пакетів.

Встановлюємо необхідні пакети, які безпосередньо відповідають за функціонування веб-сервера. У нашому випадку це apache, mysql, php (для комплексу LAMP) або nginx, mysql, php (для комплексу LEMP), а можливо, і все разом.

Наприклад, установка веб-сервера apache виглядає наступним чином:

Запускаємо службу, додаємо в автозавантаження, перевіряємо результат:

Якщо буде потрібно перезапустити apache після будь-яких налаштувань (або після установки php), стане в нагоді команда

Звична утиліта setup тепер відсутній. Переконуємося, що всі служби будуть стартувати при запуску системи за допомогою systemctl is-enabled служба.

Варіанти використання systemctl:

Варіант найбільш повної установки PHP, з розрахунком на розгортання платформ для сучасних популярних движків Joomla, Wordpress і Drupal, буде виглядати наступним чином:

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

Встановлюємо і запускаємо MySQL.

Альтернативний варіант: встановлюємо і запускаємо MariaDB:

Тепер готуємося до відмови від графічного інтерфейсу.

У всьому сімействі Red Hat Linux (Fedora, Red Hat, CentOS) використовується наступна система рівнів виконання

  • Single-user text mode (without networking)
  • Not used (user-definable)
  • Full multi-user text mode
  • Not used (user-definable)
  • Full multi-user graphical mode (with an X-based login screen)
  • Reboot

Стан підготовки до вимикання кодується нулем.

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

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

У будь-який момент часу перевірити поточний рівень можна командою runlevel:

Тепер справа за малим:

  • Налаштувати mysql. однак необхідно зауважити, що компанія Red Hat надає перевагу на даний момент альтернативну базу даних MariaDB
  • Налаштувати високопродуктивний веб-сервер (наприклад, зв'язку nginx + apache), або залишити тільки службу httpd
  • налаштувати php

Якщо всі кроки виконані, то у нас все готово.

Можна клонувати сайти і запускати корабель у плавання.







Схожі статті