База знань Проста інструкція по роботі з сервісом Профітсервер
головний База знань Як налаштувати веб-сервер (Apache-PHP-MySQL/MariaDB) у Linux

Як налаштувати веб-сервер (Apache-PHP-MySQL/MariaDB) у Linux


У цій статті ми дамо вам покрокові інструкції щодо налаштування веб-середовища на сервері під керуванням Linux. Перш за все, вам потрібно зрозуміти, що типовий веб-сервер складається з кількох взаємодіючих компонентів:

  • HTTP-сервер
  • інтерпретатор мови програмування
  • система управління базами даних (СУБД)

Щоб керувати своїм веб-сайтом, вам також потрібно буде налаштувати систему керування контентом (CMS), веб-інтерфейс для керування базами даних і доступ до FTP.

Давайте розглянемо налаштування дуже популярної конфігурації Apache-PHP-MySQL(MariaDB) на Linux. Також ми встановимо ftp-сервер vsftpd, phpMyAdmin - веб-інтерфейс для управління базами даних, систему управління контентом WordPress.

Для початку, будь ласка, замовте VPS-сервер або виділений сервер . Наприклад, ми використовували віртуальний сервер зі статичною IP-адресою під керуванням Ubuntu Server 18.04. Усі команди виконував користувач root.

Конфігурація HTTP-сервера Apache

1. Установка

apt install apache2

Після завершення встановлення відкрийте браузер і перевірте «http://[ip-адреса_сервера]»

Конфігурація HTTP-сервера Apache

Якщо ви бачите таку сторінку привітання, як на знімку екрана вище, це означає, що ваш HTTP-сервер працює.

2. Створіть тестову сторінку

Кореневим каталогом за замовчуванням для веб-сайту є «/var/www/html» . Тут ви можете знайти сторінку привітання, яку ви щойно бачили. Давайте створимо окремий каталог «/var/www/sites» для віртуальних хостів та підпапку «/var/www/sites/site1» зі сторінкою індексу вашого тестового веб-сайту.

cd /var/www/

mkdir -p sites/site1

echo "<H1>Welcome</H1>" > sites/site1/index.html

У результаті файл “/var/www/sites/site1/index.html” має містити лише один рядок html-коду:

<H1>Welcome</H1>

3. Конфігурація сервера Apache

Файли конфігурації веб-сайтів знаходяться в каталозі “/etc/apache2/sites-available/” . Давайте створимо файл конфігурації для нового віртуального хоста, взявши за основу конфігурацію за замовчуванням з файлу “000-default.conf” .

cd /etc/apache2/sites-available/

cp 000-default.conf site1.conf

Відкрийте файл «site1.conf» та змініть атрибут «DocumentRoot» . Вкажіть шлях до вашого веб-сайту як значення, тобто в нашому випадку це «/var/www/sites/site1»

Конфігурація сервера Apache

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

a2dissite 000-default

a2ensite site1

systemctl reload apache2

Знову відкрийте посилання “http://[ip-адреса_сервера]” та переконайтеся, що замість сторінки привітання за замовчуванням у нас нова сторінка.

Конфігурація сервера Apache

Ми завершили налаштування нашого HTTP-сервера, і ми можемо переходити до наступного кроку.

Конфігурація FTP-сервера

1. Установка

Давайте встановимо наш ftp-сервер та додатковий пакет “db-util” , який нам знадобиться для налаштування віртуальних користувачів.

apt install vsftpd db-util

2. Створіть локальний обліковий запис

Сервер vsftpd дозволяє нам дуже гнучко налаштовувати права доступу. Для наших завдань ми повинні надати користувачам ftp наступне:

  • повний доступ до вмісту “/var/www/sites/”;
  • вимкнути все, що вище “/var/www/”;
  • підключення до віртуального рахунку;

Створіть локальний обліковий запис «віртуальний» без прав на вхід, але з доступом до домашньої папки «/var/www/» . Цей обліковий запис використовуватиметься ftp-користувачами для підключення до сервера.

useradd -d /var/www virtual

«Root» буде власником папки «/var/www» за замовчуванням. Щоб дозволити користувачам ftp змінювати вміст веб-сайтів, давайте змінимо власника «/var/www/sites/», включаючи підпапки «virtual».

chown -R virtual:root /var/www/sites

В результаті, користувач «віртуальний» зможе побачити вміст «/var/www/» та записати дані у підпапку «/var/www/sites/».

3. конфігурація

Основна конфігурація знаходиться у файлі “/etc/vsftpd.conf” , тож давайте відкриємо його та відредагуємо наступним чином:

#enable virtual users

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=virtual
#configure permission

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

anon_umask=0022

chroot_local_user=YES
#launch settings

listen=YES

pasv_min_port=30000

pasv_max_port=30999

4. Створіть базу даних

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

Спочатку створимо простий текстовий файл «users.txt» у домашній папці та збережемо дані доступу (логін та пароль) віртуальних користувачів у кожному другому рядку. Наприклад, нам знадобиться віртуальний користувач з логіном «ftp» та паролем «Qwe123» . Тоді файл виглядатиме так:

ftp

Qwe123

Давайте створимо базу даних

db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db

Давайте змінимо стандартний PAM-файл “/etc/pam.d/vsftp” наступним чином:

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

Зверніть увагу, що шлях до бібліотеки “pam_userdb.so” може відрізнятися, але ви можете змінити його за потреби.

Перезавантажте сервер vsftpd, щоб застосувати зміни.

systemctl restart vsftpd

Ми закінчили налаштування FTP-сервера.

Деталі підключення:

  • ftp://[ip_адреса_сервера]
  • логін: ftp
  • пароль: Qwe123

Конфігурація сервера PHP

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

На сьогодні останньою стабільною версією PHP є php 7.4.5, яка не включена в офіційні репозиторії Ubuntu. Давайте підключимо сторонній репозиторій і встановимо останню версію PHP.

apt update

apt install software-properties-common

add-apt-repository ppa:ondrej/php

apt update

apt install php7.4

2. перевірити

Для виконання PHP-коду файл веб-сторінки повинен мати розширення «.php» . Давайте перейменуємо нашу тестову сторінку:

cd /var/www/sites/site1/

mv index.html index.php

Додайте наступний рядок php до файлу “/var/www/sites/site1/index.php” , щоб файл мав виглядати так:

<H1>Welcome</H1>

<?php

phpinfo();

?>

Збережіть зміни та перевірте результат у браузері.

Конфігурація сервера PHP - встановлення та перевірка

Якщо ви бачите результат функції “phpinfo()” , інтерпретатор PHP працює належним чином. Тепер перейдемо до наступного кроку.

Конфігурація MySQL (MariaDB).

1. Установка

Давайте встановимо MariaDB і модуль PHP для MySQL, а потім перезавантажимо Apache.

apt install mariadb-server php-mysql

systemctl restart apache2

Оновіть тестову сторінку та перейдіть до розділу PDO в таблиці конфігурації PHP. Якщо ви знайдете розділ “PDO_mysql” , це означає, що драйвер для Mysql встановлено правильно.

Встановлення та налаштування MySQL (MariaDB).

Потім нам потрібно буде виконати початкове налаштування безпеки MariaDB та встановити пароль для користувача «root» , вимкнути віддалений доступ та видалити всі гостьові облікові записи.

mysql_secure_installation

На першому кроці нам потрібно ввести пароль користувача "root" для доступу до СУБД або натиснути Enter, якщо пароля немає. Оскільки після встановлення пароль для користувача "root" не встановлено , просто натисніть "Enter".

Зверніть увагу, що в MariaDB вже є власні облікові записи, які не мають нічого спільного з обліковими записами ОС. Тому єдиний користувач, з яким ми маємо справу в MariaDB, це "root".

  MySQL: Створіть обліковий запис і встановіть пароль

Після цього конфігуратор попросить нас встановити пароль для користувача root. Введіть «Y» для підтвердження та введіть новий пароль. У нашому випадку це «Qwe123».

  MySQL: Створіть обліковий запис і встановіть пароль

На всі інші запитання до самого кінця відповідайте «Т» .

Налаштування виконано!

Деталі доступу до MariaDB:

  • Логін: root
  • Пароль: Qwe123

Конфігурація phpMyAdmin

1. Установка

Встановимо необхідне розширення для PHP — mbstring.

apt install php-mbstring

В офіційному репозиторії є лише застаріла версія phpMyAdmin, тому давайте встановимо нову вручну.

Відкрийте офіційний веб-сайт проекту « https://www.phpmyadmin.net/ » та завантажте найновіший архів.

Установка та налаштування phpMyAdmin

Скопіюйте архів на сервер у папку “/var/www/sites/” за допомогою будь-якого ftp-клієнта.

Розархівуйте папку та перейменуйте її на «phpMyAdmin» . Не забудьте встановити утиліту «unzip» . Ви можете видалити архів після розархівування.

apt install unzip

cd /var/www/sites/

unzip phpMyAdmin-5.0.2-all-languages.zip

mv phpMyAdmin-5.0.2-all-languages phpMyAdmin

rm phpMyAdmin-5.0.2-all-languages.zip

Створіть таку папку «/var/www/sites/phpMyAdmin/tmp» для тимчасових файлів і надайте доступ до них усім. Якщо ви цього не зробите, phpMyAdmin повідомить про заборону доступу до тимчасової папки.

cd /var/www/sites/phpMyAdmin/

mkdir tmp

chmod 777 tmp

2. Створіть псевдонім

Оскільки phpMyAdmin не є окремим віртуальним хостом і розташований за межами кореневого каталогу, давайте налаштуємо псевдонім.

Відкрийте файл “/etc/apache2/mods-available/alias.conf” та додайте цей рядок:

Alias /pma “/var/www/sites/phpMyAdmin"

в цьому розділі:

<IfModule alias_module>

</IfModule>
phpMyAdmin: створити псевдонім

Перезавантажте Apache, щоб застосувати зміни.

systemctl reload apache2

Псевдонім встановлено, тож ми можемо отримати доступ до phpMyAdmin тут “http://[ip-адреса_сервера]/pma”.

3 Підготуйте базу даних

Оскільки ми обмежили використання користувача root під час початкової конфігурації MariaDB, нам доведеться створити новий обліковий запис з усіма дозволами, які використовуватимуться для доступу до phpMyAdmin.

Крім того, щоб увімкнути додаткові функції phpMyAdmin, нам знадобиться база даних служби та обліковий запис для доступу до неї.

Давайте створимо облікові записи

mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit

Зверніть увагу, що ім'я бази даних у другому запиті знаходиться у зворотному sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,

У результаті в MariaDB буде створено два облікові записи:

  • Логін: pma, Пароль: Qwe123Повний доступ, використовуватиметься для входу в phpMyAdmin
  • Логін: pmaservice, Пароль: Qwe123 Сервісний обліковий запис потрібен для роботи додаткових функцій

На наступному кроці ми встановимо ці дані у файлі конфігурації “config.inc.php”.

Потім нам потрібно буде імпортувати базу даних з файлу “phpMyAdmin/sql/create_tables.sql”.

Давайте імпортуємо його за допомогою phpMyAdmin.

Відкрийте посилання “http://[ip-адреса_сервера]/pma”

Введіть логін «pma» та пароль «Qwe123»

Перейдіть до розділу «Імпорт» , натисніть «Вибрати файл» та виберіть файл «sql/create_tables.sql» у кореневому каталозі phpMyAdmin. На вашому ПК має бути папка «phpMyAdmin» з файлами. Розархівуйте її, якщо потрібно.

конфігурація phpmyadmin

Натисніть кнопку «Далі» , щоб розпочати імпорт.

4. конфігурація

Давайте скопіюємо файл конфігурації з шаблону

cd /var/www/sites/phpMyAdmin/

cp config.sample.inc.php config.inc.php

Відкриємо файл конфігурації “/var/www/sites/phpMyAdmin/config.inc.php” та внесемо такі зміни:

Встановіть випадкове 32-символьне значення для атрибута “$cfg['blowfish_secret']” . Використайте будь-який генератор паролів.

Як встановити та налаштувати WordPress на сервері Linux

Видаліть коментарі з усіх рядків розділу «налаштування сховища конфігурації phpMyAdmin» та встановіть логін і пароль облікового запису служби MariaDB для атрибутів «controluser» та «controlpass» відповідно. У нашому випадку це pmaservice та Qwe123.

Як встановити та налаштувати WordPress на сервері Linux

Збережіть зміни.

Деталі доступу до phpMyadmin:

  • http://[server’s_ip_address]/pma/
  • Логін: pma
  • Пароль: Qwe123

Як встановити та налаштувати WordPress на сервері Linux

1. Пакет WordPress і розміщення файлів

Перейдіть на офіційний сайт WP « https://ru.wordpress.org/ » та завантажте архів на свій локальний ПК.

Завантажте архів на сервер у папку «/var/www/sites/» та розархівуйте його в папку «wordpress ».

Скопіюйте вміст кореневої папки «/var/www/sites/wordpress/» вебсайту «/var/www/sites/site1/».

Оскільки ми скопіювали файли через консоль з правами root, давайте змінимо власника папки “/var/www/sites/”, включаючи вміст “virtual” . Це необхідно для забезпечення повного доступу для ftp-з’єднання через клієнт.

cd /var/www/sites/

tar -xzvf wordpress-5.4-ru_RU.tar.gz

cp -R wordpress/* site1/

chown -R virtual:root /var/www/sites

2. Створіть базу даних для WordPress

Увійдіть у phpMyAdmin і натисніть «Створити базу даних». Вкажіть довільне ім'я бази даних, в нашому випадку «wordpress_db» і натисніть кнопку «Створити».

Створіть базу даних для WordPress

Виберіть нову базу даних у лівому розділі та натисніть «Права»

Створіть базу даних для WordPress

Потім натисніть «Додати обліковий запис користувача».

Введіть логін та пароль ( wpservice / Qwe123 ) у вікні, що відкрилося, поставте позначку навпроти «Надати всі привілеї в wordpress_db» та натисніть «Далі».

Додати обліковий запис користувача в базу даних для WordPress

На наступній сторінці натисніть «Скасувати все» , щоб скинути всі привілеї на рівні бази даних, і натисніть «Далі».

Додати обліковий запис користувача в базу даних для WordPress

3. Конфігурація WordPress на сервері Linux

Перейдіть до кореневого каталогу вашого сайту та скопіюйте файл конфігурації з шаблону

cd /var/www/sites/site1/

cp wp-config-sample.php wp-config.php

Відкрийте файл «wp-config.php» та введіть параметри підключення до бази даних, які ми створили на попередньому кроці, і збережіть зміни.

Конфігурація WordPress на сервері Linux

4. Встановіть CMS WordPress

Відкрийте у браузері наступне посилання “http://[ip-адреса_сервера]/wp-admin/install.php”.

Заповніть усі поля та натисніть «Встановити WordPress» . Встановіть випадкове ім’я користувача та пароль. У нашому випадку це wpadmin та Qwe123 відповідно.

Ці дані використовуватимуться для доступу до WordPress.

Встановіть CMS WordPress на сервер Linux

Після завершення встановлення відкрийте посилання “http://[ip-адреса_сервера]/wp-login.php” , введіть дані доступу та увійдіть у WordPress.

Встановіть CMS WordPress на сервер Linux

Ви повинні побачити один із шаблонів WordPress на головній сторінці.

Встановіть CMS WordPress на сервер Linux

Налаштування завершено.

Деталі доступу до WordPress:

  • http://[server’s_ip_address]/wp-login.php
  • Логін: wpadmin
  • Пароль: Qwe123
Наступна стаття ❯ Налаштування файлу .htaccess

Запитайте нас про VPS

Ми завжди готові відповісти на ваші запитання в будь-який час дня і ночі.