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

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


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

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

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

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

Для початку будь ласка замовити VPS сервер or Виділений сервер. Наприклад, ми використовували віртуальний сервер зі статичною 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

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

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 і встановити пароль для "Корінь" користувача, вимкнути віддалений доступ і видалити всі облікові записи гостей.

mysql_secure_installation

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

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

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

Після цього конфігуратор попросить нас встановити пароль для користувача root. Тип "Y" для підтвердження та введення нового пароля. У нашому випадку це так “Qwe123”

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

відповісти "Y" на всі інші питання до самого кінця.

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

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

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

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

1. Установка

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

apt install php-mbstring

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

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

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

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

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

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

Будь ласка, зверніть увагу, що ім’я бази даних у другому запиті міститься в іскрах «… ON `phpmyadmin`.* TO 'pma'@'localhost' IDENTIFICED 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 для «контролер» та «контрольний пропуск» атрибути відповідно. У нашому випадку це так 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/” папку з вмістом «віртуальний». Це потрібно, щоб увімкнути повний доступ для підключення 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

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