Бажаєте налаштувати web-server і шукаєте порад? Тоді ця стаття для вас. У ній розміщенні інструкції по налаштуванню веб-сервера (LAMP = Linux + Apache + MySql + PHP) на OS Ubuntu 20.04, у зв'язці:
Apache 2
PHP 8
MySQL Sever 8
Для початку зайдіть у CLI (command-line user interface), українською мовою - термінал (командна стрічка). Відкрити його можна за допомогою комбінацій клавіш Ctrl+Alt+T . Якщо ви не бажаєте встановити локальний веб-сервер, тоді спершу вам потрібно підєднатись до вашого сервера по SSH.
Після того як ви увійшли у правильне середовище в консолі (віддалений сервер чи локальний комп'ютер), перейдіть в режим суперкористувача (root користувача, sudo користувача). Виконайте команду:
sudo su
і введіть пароль від свого облікового запису, якщо потрібно. Тепер ви готові встановлювати веб-сервер. Для цього:
1. Оновіть дані про доступні пакунки. Виконайте команду:
sudo apt update
* У прикладах, команди, які повинні виконуватись суперкористувачем розпочинаються зі слова sudo. Перебуваючи в режимі суперкористувача не обов'язково використовувати sudo.
2. Встановіть веб-сервер Apache 2.
sudo apt install apache2 gedit
3. Встановіть сервер баз даних MySql.
sudo apt install mysql-server
Після встановлення виконайте команду
mysql -uroot
Та уведіть наступні команди, одну за одною, щоб створити нового користувача
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY '<New-Password-Here>';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
4. Встановіть php8.2 та усі необхідні бібліотеки PHP для роботи з Apache 2 та сучасними платформами, такими як Magento 2.
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php8.2 libapache2-mod-php8.2 php8.2-curl php8.2-intl php8.2-zip php8.2-soap php8.2-xml php8.2-gd php8.2-mbstring php8.2-bcmath php8.2-common php8.2-xml php8.2-mysqli
5. Увімкніть мод apache для роботи з php8, rewrite та перезавантажте веб-сервер.
sudo a2enmod php8.2
sudo a2enmod rewrite
sudo service apache2 restart
Перейдіть за посиланням і перевірте чи працює ваш локальний веб-сервер: http://127.0.0.1/ (альтернативний варіант http://localhost/). Якщо все правильно, вам відкриється відповідна сторінка:
6. Змініть користувача від імені якого працюватиме веб-сервер.
Для цього необхідно відредагувати файл /etc/apache2/envvars.
sudo gedit /etc/apache2/envvars
знайдіть у ньому стрічки:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
замініть їх на:
export APACHE_RUN_USER=your_user
export APACHE_RUN_GROUP=your_group
де your_user — це назва вашого користувача в операційній системі (користувач яким ви хочете редагувати файли), a your_group — група, до якої входить ваш користувач. Дуже часто користувач і група мають однакові назви.
Збережіть файл і перезавантажте веб-сервер.
sudo service apache2 restart
7. Змініть власника для веб-директорії.
Веб-директорія — це папка, де буде знаходитись ваш веб-додаток, наприклад Magento 2. Мета — надання вашому користувачу повного контролю до цієї папки.
Виконайте наступну команду:
chown -R your_user:your_group /var/www
8. Збільшіть ліміт пам'яті (RAM), яку дозволено виділяти для PHP.
По замовчуванню це значення рівне 128 Mб, що є недостатнім для роботи Magento 2.
Відкрийте файл /etc/php/8.2/apache2/php.ini для редагування:
sudo gedit /etc/php/8.2/apache2/php.ini
знайдіть у ньому стрічку:
memory_limit = 128M
замініть її на:
memory_limit = 1024M
Збережіть зміни та знову перезавантажте веб-сервер.
sudo service apache2 restart
9. Змініть налаштування віртуального хоста.
Відредагуйте файл
sudo gedit /etc/apache2/sites-available/000-default.conf
та додайте в середину ноду VirtualHost такий код:
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all granted
</Directory>
Збережіть зміни, та перезавантажте веб-сервер.
sudo service apache2 restart
10. Встановіть MySQL
Для контролю над базами даних MySQL, наприклад, для створення нових БД (баз даних) рекомендуєм встановити phpMyAdmin.