Встановлення та налаштування LAMP (Linux, Apache, MariaDB, PHP) у Fedora

Десь на зорі цього сайту я писав про те, як встановлювати та налаштовувати LAMP в Ubuntu. Там установка всього цього господарства була нікчемною справою, але Fedora — це інше…

mariadb

Майже всі команди, які використовуються у статті, потрібно виконувати від користувача root.

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

Apache знаходиться в пакеті:

Після встановлення його потрібно запустити та включити в автозавантаження:

systemctl start httpd.service systemctl enable httpd.service

Встановлення PHP

Пакет, що цікавить нас:

Залежно було встановлено пакет php-cli. Він дозволяє запускати PHP-код у командному рядку. З його допомогою ми можемо протестувати роботу PHP, "не відходячи від каси". Відкриваємо «Термінал», вводимо та запускаємо наступне:

php -r 'print(phpinfo());'

У відповідь отримаємо інформацію про PHP, якщо, звісно, ​​установка пройшла успішно.

Встановлення MariaDB

phpMyAdmin - програма для адміністрування БД. Запуск та автозавантаження MariaDB:

systemctl start mysqld.service systemctl enable mysqld.service

mysqladmin -u root password ваш пароль

Також рекомендується зробити більш глибоке налаштування БД за допомогою команди:

Налаштування Apache. Використання віртуальних хостів, заснованих на імені

Часто я використовую домашню машину як тестовий сервер для своїх сайтів та інших проектів. У цій ситуації на одному комп'ютері має сусідити одразу кілька сайтів. Подивимося, як цього можна досягти.

127.0.0.1 ім'я-вашого-сайту ім'я-іншого-сайту

NameVirtualHost 127.0.0.1:80 ServerName localhost AddDefaultCharset utf-8 127.0.0.1:80 > DocumentRoot /будь-який-каталог/ ім'я-вашого-сайту ServerName ім'я-вашого-сайту 127.0.0.1:80 > DocumentRoot /будь-який-каталог/ ім'я-іншого-сайту ServerName ім'я-іншого сайту

AddDefaultCharset — Встановлює стандартне кодування. У нашому випадку UTF-8 (скрізь і завжди треба використовувати UTF-8).

DocumentRoot - каталог, файли з якого сервер буде використовувати при відповіді на запит. Там, наприклад, можуть бути файли WordPress, Drupal або ваші власні скрипти.

ServerName – ім'я сервера. Повинно відповідати тому, що записано у файлі /etc/hosts.

Apache mod_rewrite

Мод працює "з коробки", але налаштування сервера не дозволяють використовувати його прямо зараз. Для виправлення ситуації відкриваємо та керуємо головний файл конфігурації Apache - /etc/httpd/conf/httpd.conf. Змінюємо:

Require all denied

Require all granted

Таким чином ми дозволяємо використовувати будь-які директиви будь-де, тобто mod_rewrite запрацював. Щоб усі наші зміни набули чинності, перезапускаємо сервер командою:

systemctl restart httpd.service

Політики SELinux

Хоча ми встановили та налаштували все, працювати нічого не буде. Справа в тому, що Fedora використовує SELinux - щось на кшталт додаткового контролю доступу. Раніше, починаючи з цього місця, був довгий текст із різними командами та описами, але простіше вимкнути весь цей SELinux. Нічого страшного у цьому немає.

Права на папку з нашим профілем

Це остання дія, яку треба зробити. Змінимо права з 700 на 711, щоб Apache міг отримати доступ до файлів, які лежать у папці нашого профілю: