Установка Apache, MySQL и PHP (LAMP) на Ubuntu 20.04

Spacer
Поделитесь этим сайтом с друзьями!

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь - поддержите материально автора. Это легко сделать закинув денежек на Yoomoney № 410011416229354.

Или на телефон +7(928)274-0281.

Даже небольшая сумма может помочь написанию новых статей :)

Или поделитесь ссылкой на эту статью со своими друзьями.

Опубликовано: Последнее обновление этой статьи:

В этой статье инструкция как установить Apache, MySQL и PHP на Ubuntu 20.04 Desktop. Установка именно в десктопной версии Убунту, поскольку в серверной версии, LAMP устанавливается "из коробки" и там описывать нечего.

Для чего может понадобиться установка веб-сервера на десктопную Убунту? Ведь есть же серверный вариант Убунты.

Есть как минимум две причины:

  • Изучение работы веб-сервера. Изучение того как устанавливаются и работают сайты. На серверной Убунте все это изучать неудобно, поскольку там нет GUI интерфейса.
  • Разработка сайтов и веб-приложений. Конечно можно работать с двумя компьютерами - на одном GUI инструменты, на другом веб-сервер. Но опять же, удобнее когда инструменты и веб-сервер на одном компьютере.

Кроме этого, такой вариант может быть удобен для развертывания веб-приложения, которое используется внутри офиса, без доступа через Интернет. Можно не выделять отдельный компьютер для веб-сервера. Да и еще какие-нибудь причины могут быть.

Итак.

Первое что нужно сделать, это проверить чтобы были подключены все стандартные репозитории Ubuntu - main, multiverse, universe, restricted.

Проверить репозитории можно через GUI апплет "Программы и обновления" (кликните скриншот для увеличения):

Апплет Программы и обнвления Убунту

Или через терминал:

grep ^deb /etc/apt/sources.list  // проверка, какие репо подключены
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
sudo apt update
	

После этого можно начинать установку LAMP.

Установка Apache на Ubuntu 20.04

В терминале, команда установки и команда проверки - статус должен вернуть информацию о работающем сервисе Apache:

sudo apt install apache2
sudo service apache2 status
	

Далее нужно отредактировать файл конфигурации /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf   // консольный редактор
или
sudo gedit /etc/apache2/apache2.conf  // GUI редактор
	

найти там секцию "Directory /var/www/" и заменить на такое содержимое:

<Directory /var/www/>
	Options FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>
	

Далее еще две команды:

sudo a2enmod rewrite
sudo service apache2 restart
	

И потом нужно добавить правила в файерволл:

sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
sudo ufw status
	

 

Установка MySQL на Ubuntu 20.04

Команды:

sudo apt install mysql-server
sudo mysql_secure_installation
	

Во время исполнения второй команды, на все запросы подтверждать (Yes).

Устанавливается MySQL 8, в этой версии есть особенность - изменен плагин авторизации, по умолчанию. Из-за этого, старые CMS могут давать ошибку при соединении с сервером MySQL.

Для исправления такой ошибки нужно создавать пользователей с опцией "mysql_native_password":

CREATE USER 'magento_db'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yVC0t'; 
или изменить существующего пользователя
ALTER USER 'magento_db'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yVC0t'; 
	

Также нужно изменить файл /etc/mysql/mysql.conf.d/mysqld.cnf, добавить туда строку, в секцию [mysqld]:

default_authentication_plugin = mysql_native_password
	

 

Установка PHP на Ubuntu 20.04

Команды, (по умолчанию устанавливается версия 7.4):

sudo apt install php libapache2-mod-php php-mysql
sudo a2enmod php7.4
sudo service apache2 restart
	

Для проверки нужно создать файл скрипта и запустить его в браузере (http://localhost/i.php).

sudo nano /var/www/html/i.php
	

содержимое:

<?php
phpinfo();
	

Должна открыться страница с информацией о PHP.

Установка необходимых расширений PHP:

sudo apt-get install php-curl		
sudo apt-get install php7.4-bcmath
sudo apt-get install php7.4-xml	
sudo apt-get install php7.4-intl
sudo apt-get install php7.4-mbstring
sudo apt-get install php7.4-soap
sudo apt-get install php7.4-xsl
sudo apt-get install php7.4-zip
sudo apt-get install php7.4-gd
sudo apt-get install php7.4-mcrypt
sudo service apache2 restart
	

Если необходимо изменить настройки PHP, нужно помнить что есть два ini файла:

  • /etc/php/7.4/apache2/php.ini
  • /etc/php/7.4/cli/php.ini

В одном настройки для PHP, который выполняется через Апаш, во втором (cli) настройки выполнения скриптов PHP в терминале (консоли).

 

Установка phpmyadmin на Ubuntu 20.04

Это пакет для администрирования баз данных MySQL через графический интерфейс (веб-приложение). Устанавливается по желанию (не обязательный компонент веб-сервера).

Команда установки пакета:

sudo apt install phpmyadmin
	

Пакет устанавливается в папку /usr/share/phpmyadmin. Далее, для этой папки, нужно создать сайт (веб-панель управления), Сначала создать конфигурационный файл сайта:

sudo gedit /etc/apache2/sites-available/pma.conf
	

С содержимым:

<VirtualHost *:80>
    ServerAdmin webmaster@pma
    ServerName pma
    ServerAlias www.pma
    DocumentRoot /usr/share/phpmyadmin
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
	

Затем активировать сайт:

sudo gedit /etc/hosts    // добавить запись pma на 127.0.01
sudo a2ensite pma.conf
sudo service apache2 restart
	

Веб-паель будет доступна по адресу http://pma/. Но для авторизации, в веб-панели, нужно изменить способ авторизации в MySQL, для пользователя phpmyadmin:

sudo mysql
mysql> ALTER USER 'debian-sys-maint'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yVC0t';
mysql> exit
	

После этого войти в веб-панель phpmyadmin под логином debian-sys-maint. После авторизации, в  веб-панели, будет предупреждение о том, что необходимо создать БД phpmyadmin - нужно подтвердить создание этой БД.

 

Сопутствующие статьи

Настройка Ubuntu 20.04

Что такое Интернет-магазин и как его создать

Сравнение четырех CMS для Интернет-магазина

Что такое маркетплейс

 

Поделитесь этим сайтом с друзьями!

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь - поддержите материально автора. Это легко сделать закинув денежек на Yoomoney № 410011416229354.

Или на телефон +7(928)274-0281.

Даже небольшая сумма может помочь написанию новых статей :)

Или поделитесь ссылкой на эту статью со своими друзьями.

  Copyright digital.workshop 1999 - 2021.  
Это произведение доступно по лицензии Creative Commons Attribution-NoDerivs 3.0.
Developed by digital.workshop

DWS