Не буду лити багато водички, відразу приступимо до діла. Отож, для підняття локального сайту нам потрібно:

  1. Веб-сервер
  2. База даних
  3. Обробник скриптів

Почнімо.

1. Веб сервер

Встановимо найпоширеніший веб-сервер Apache. Для цього в терміналі введемо наступні команди:

sudo apt update
sudo apt install apache2

І відразу перевіримо, чи він у нас справно працює. Для цього вводимо у браузері адресу 127.0.0.1, або просто localhost. У тебе повинна відобразитися наступна сторінка:

Локальний сервер в Linux Mint/Ubuntu

2. База даних

Базу даних виберемо MySQL (в Debian це буде MariaDB, але зараз ми говоримо про Linux Mint та решту убунтоподібних, тому таки MySQL). Ідемо знову в термінал:

sudo apt install mysql-server php-mysql

Що цікаво – при встановленні MySQL створить собі користувача root із невідомо яким паролем, тому мусимо на ходу виправляти ситуацію. Для цього зупиняємо mysql-сервер:

sudo systemctl stop mysql

Встановлюємо змінну середовища MYSQLD_OPTS, яку MySQL використовує при старті:

sudo systemctl set-environment MYSQLD_OPTS="--skip-networking --skip-grant-tables"

Тепер ми зможемо увійти в MySQL без пароля. Зробімо це:

sudo systemctl start mysql
sudo mysql -u root

Скидаємо привілеї (це ми вже у середовищі MySQL, не переплутай і не пробуй вводити ці команди просто в терміналі):

flush privileges;

Обираємо базу даних:

USE mysql

Встановлюємо пароль користувача root та відразу змінюємо метод його аутентифікації на mysql_native_password (це потрібно буде для авторизації в phpMyAdmin):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'твій_пароль';

Або знімаємо пароль повністю (в MySQL входитимемо без пароля):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

Знову скидаємо привілеї і виходимо з середовища MySQL:

flush privileges;
quit;

Прибираємо змінну MYSQLD_OPTS, яку ми встановлювали для доступу без пароля:

sudo systemctl unset-environment MYSQLD_OPTS

Після цього видаляємо системні зміни, повернувши mysql:

sudo systemctl revert mysql

Перевіримо роботу MySQL:

mysql -uroot -p

Термінал повинен увійти в режим роботи MySQL:

Локальний сервер в Linux Mint/Ubuntu

Якщо все досі йшло по плану, переходимо до наступного пункту.

3. Обробник скриптів

Тут ми використаємо PHP – практично найпопулярнішу мову програмування веб-сторінок. Встановлення більш ніж просте:

sudo apt install php libapache2-mod-php php-gd

Щоб перевірити, чи дійсно PHP справно працює, створюємо у папці /var/www/html файл info.php із наступним вмістом:

<?php phpinfo(); ?>

Після збереження переходимо за адресою http://localhost/info.php і мусимо побачити отаку сторінку:

Локальний сервер в Linux Mint/Ubuntu

Теоретично все готово. А на практиці…

Бонус – phpMyAdmin

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

sudo apt install phpmyadmin php-mbstring

На певному етапі встановлення нас запитають, який веб-сервер використовувати для запуску phpMyAdmin – звичайно, обираємо apache2:

Локальний сервер в Linux Mint/Ubuntu

Далі потрібне початкове налаштування phpMyAdmin, теж погоджуємося:

Локальний сервер в Linux Mint/Ubuntu

Придумуємо пароль адміністратора бази даних:

Локальний сервер в Linux Mint/Ubuntu

Підтверджуємо:

Локальний сервер в Linux Mint/Ubuntu

Нам залишилося увімкнути mbstring:

sudo phpenmod mbstring

Після виконання вищенаведених операцій phpMyAdmin повинен відкриватися за адресою http://localhost/phpmyadmin. Хоча, швидше за все, Вам не вдасться його відкрити, тому що потрібно ще додати його до конфігурації веб-сервера Apache. Для цього відкриваємо файл /etc/apache2/apache2.conf та додаємо вкінці рядок

Include /etc/phpmyadmin/apache.conf

Та перезавантажуємо веб-сервер:

sudo service apache2 restart

Тепер при переході на адресу phpMyAdmin ми повинні побачити отаке віконце:

Локальний сервер в Linux Mint/Ubuntu

Вводимо ім'я користувача root та пароль, який ми вказували при встановленні phpMyAdmin, і маємо візуальний інтерфейс керування базами даних:

Локальний сервер в Linux Mint/Ubuntu

Все готово. При бажанні можна приховати системні бази даних, щоб вони не заважали при роботі. Як це зробити, я описав у попередній статті: Як приховати непотрібні бази даних в phpMyAdmin.

За замовчуванням твій сайт потрібно розміщувати у папці /var/www/html. Як розмістити на локальному сервері кілька сайтів, а також задати кожному з них свою адресу, читай у наступній статті.