Установка lamp в ubuntu 20.04

Lamp – це популярний набір програмного забезпечення для роботи з веб-сервером. Lamp названий за першими літерами входять до його складу компонентів: linux-операційна система, apache-веб-сервер, mysql — субд, php — мова програмування, що використовується для створення веб-додатків.

У цій статті ми розглянемо, як встановити lamp ubuntu 20.04 кількома способами: за допомогою утиліти tasksel і вручну за допомогою пакетного менеджера.

Установка lamp в ubuntu 20.04

1. Установка пакетів lamp за допомогою утиліти tasksel

Утиліта tasksel дозволяє встановлювати набори пакетів різних програм буквально в одну команду. Вона розроблена для debian, але може використовуватися і в ubuntu. Для її установки виконайте в терміналі команду:

Sudo apt-y install tasksel

Далі, щоб встановити lamp на ubuntu, досить виконати команду:

Sudo tasksel install lamp-server

Установка займе певний час, так як утиліті необхідно завантажити всі необхідні пакети. Після завершення установки ви отримаєте повністю працюючий стек lamp.

2. Встановлення пакетів lamp вручну

Якщо ви не хочете використовувати tasksel, ви можете встановити всі пакети окремо зі стандартних репозиторіїв і налаштувати їх для спільної роботи.

Для початку необхідно встановити веб-сервер apache2:

Sudo apt -y install apache2

Далі необхідно встановити субд mysql:

Sudo apt -y install mysql-server

Установка інтерпретатора мови програмування php і розширень, необхідних для його роботи з apache і mysql:

Sudo apt -y install php7.4 libapache2-mod-php7.4 php7.4-mysql

На момент написання статті актуальною версією php в офіційних репозиторіях ubuntu вважалася версія 7.4. Сама ж остання офіційна версія php від розробників 8.0.9 станом на 29 липня 2021 року.

Також необхідно встановити додаткові розширення для мови php, які знадобляться для створення майбутніх проектів і їх подальшої публікації на хостинг:

Sudo apt-y install php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

3. Налаштування брандмауера

За замовчуванням брандмауер закриває всі невирішені вхідні підключення. Тому, щоб до вашого веб-сервера можна було отримати доступ ззовні, необхідно додати його порт до винятків:

Sudo ufw allow in 80 / tcp

4. Перевірка роботи lamp

Для початку необхідно переконатися, що веб-сервер apache і субд mysql успішно запустилися і при необхідності запустити їх. Дивимося статус apache, виконавши команду в терміналі:

Sudo systemctl status apache2

у розділі active має бути active (running) . Ті ж самі дії необхідно зробити для перевірки mysql:

Sudo systemctl status mysql

Якщо в статусах замість active буде inactive (dead) , то сервіси необхідно запустити вручну:

Sudo systemctl start apache2

Для перевірки наберіть в адресному рядку браузера ip-адресу сервера, куди ви встановлювали lamp, в якості прикладу обрано localhost:

Якщо при відкритті ви побачили сторінку, яка зображена на скріншоті вище, це означає що веб-північ apache успішно запущений і працює. Тепер необхідно перевірити чи правильно працює php. Створіть файл в директорії / var / www / html за допомогою наступної команди:

Замість vi можна використовувати будь-який інший текстовий редактор на ваш вибір (nano, emacs, gedit і ін.).у файл phpinfo.php впишіть наступну команду:

Далі відкрийте адресу localhost / phpinfo.php в браузері. Якщо все працює, ви повинні побачити сторінку, яка зображена нижче на скріншоті:

Також можна перевірити, чи працює інтеграція з субд mysql. Якщо розширення php для mysql встановлено, то на сторінці з phpinfo буде розміщено блок з інформацією:

На даному етапі процес перевірки пройдено успішно. Далі ми перейдемо до налаштування стека lamp на ubuntu 20.04.

5. Налаштування apache

Для обробки запитів буде використовуватися модуль mpm_prefork. Даний модуль запускає по окремому процесу на кожен запит. Інакше кажучи, кожен процес одночасно обробляє тільки 1 потік на одне з’єднання. Для початку необхідно вимкнути mpm_event і mpm_worker і тільки потім включити модуль mpm_prefork:

Sudo a2dismod mpm_event

Sudo a2dismod mpm_worker

Sudo a2enmod mpm_prefork

Включаємо модуль mod_rewrite. Це модуль, призначений для перетворення url адрес. Модуль використовує в своїй роботі правила, які можуть бути описані як в конфігурації сервера (httpd.conf), так і в файлах .htaccess безпосередньо у файловій структурі вашого сайту.

Sudo a2enmod rewrite

Якщо ви хочете використовувати файли httaccess для налаштувань, то необхідно у файлі/etc / apache2 / apache2.conf змінити значення allowoverride з none на all для потрібних місць, наприклад, для / var / www.відкрийте файл apache2.conf за допомогою будь-якого текстового редактора:

Sudo vi /etc/apache2/apache2.conf

Знайдіть наступний блок:

options indexes followsymlinksallowoverride nonerequire all granted

І замініть allowoverride none на allowoverride all, потім збережіть зміни і закрийте файл. Перезапустіть apache:

Sudo systemctl restart apache2

6. Налаштування php

За замовчуванням короткі теги, що обрамляють скрипти php, відключені. Це може призвести до того, що деякі скрипти, які використовують ці теги, можуть не виконуватися. Для включення цієї можливості відкрийте файл php.ini за допомогою будь-якого текстового редактора:

Sudo vi /etc/php/7.4/apache2/php.ini

Знайдіть short_open_tag = off і замініть на:

Short_open_tag = on

Висновок помилок в php за замовчуванням відключений. Якщо ви хочете розробляти програми на цьому сервері, то вам необхідно включити помилки, інакше замість помилок ви будете бачити порожній екран. Для цього знайдіть ці рядки і приведіть їх до такого вигляду:

Error_reporting = e_alldisplay_errors = on

Після внесення всіх змін необхідно перезапустити apache:

Sudo systemctl restart apache2

7. Налаштування mysql

За замовчуванням mysql не дуже добре налаштована в плані безпеки. Необхідно задати пароль суперкористувача і видалити гостьовий доступ. Для виконання всіх цих завдань запустіть в терміналі наступну команду:

Sudo mysql_secure_installation

На першому етапі утиліта запитає вас чи необхідно включити компонент для валідації (перевірки) паролів. Даний плагін перевіряє надійність вашого пароля. Якщо ви вирішите налаштувати даний плагін, то сценарій запропонує вибрати рівень перевірки пароля. Найвищий рівень можна включити, натиснувши 2. Якщо даний плагін включати не потрібно, введіть no і далі натисніть на enter для переходу до наступного кроку. Наступним кроком утиліта попросить вас ввести пароль суперкористувача, так як він ще не заданий, введіть пароль, натисніть enter і введіть пароль ще раз:

У всіх наступних питаннях потрібно відповідати ствердно шляхом введення y / y або yes:

  • заборонити віддалений вхід для користувача root;
  • заборонити гостьовий вхід;
  • видалити тимчасові таблиці;
  • оновити привілеї користувачів.

Готово, тепер ваша база даних захищена і готова до роботи. Для того, щоб увійти в оболонку mysql введіть наступну команду:

Sudo mysql-u root-p

Введіть пароль користувача root, який ви задали на етапі запуску mysql_secure_installation.не переплутайте пароль від користувача root який присутній в операційній системі ubuntu і користувача root в mysql. Це різні користувачі, відповідно ви повинні вводити пароль саме до облікового запису root, яка присутня в mysql.

На цьому налаштування lamp ubuntu 20.04 завершено.

8. Як видалити lamp в ubuntu

Щоб повністю видалити lamp з системи, досить видалити всі пакети, які ви встановили раніше:

Sudo apt-y purge apache2 mysql-server php7.4 libapache2-mod-php7.4 php7.4-mysql php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

Команда purge дозволяє видалити не тільки пакети, але і їх конфігураційні файли. Якщо ви хочете залишити конфігураційні файли, використовуйте команду remove.

висновки

У цій статті ми розібрали, як виконується установка lamp ubuntu 20.04. Як бачите, це не дуже складно і з таким завданням може впоратися навіть новачок. Якщо у вас залишилися питання,Залишайте їх у коментарях!

( 3 3,67