Установка LAMP + PHPMyAdmin на Ubuntu 18.04

Введение

Стек LAMP - это акроним, который обозначает набор серверного программного обеспечения с открытым исходным кодом. Используется для отображения динамических веб-сайтов и веб-приложений. LAMP назван по первым буквам входящих в него программ:

Linux - ОС

Apache - веб-сервер

MariaDB (MySQL) - СУБД

PHP - язык программирования

В качестве ОС LInux мы сегодня будем рассматривать Ubuntu Server 18.04. Будем считать что он у вас уже установлен и настроен. И так, начнем по порядку.

Apache

Apache -это веб-сервер. Поддерживает все популярные операционные системы такие как Linux, Windows, FreeBSD, MacOS. Apache надежный, гибкий и достаточно простой в настройке.

Перед установкой Apache сделаем команду обновления:

sudo apt update

Теперь устанавливаем:

sudo apt install apache2

После установки убедимся что Apache работает:

sudo systemctl status apache2

Должно быть, что-то вроде этого:

Статус сервера Apache

Если вы используете брандмауэр (а его лучше использовать) нужно удостоверится, что он  пропускает HTTP и HTTPS. Вводим:

sudo ufw app list

UFW app list

Получаем список доступных профилей. Включение профиля "Apache Full" разрешит необходимый нам трафик на 80 и 443 портах, "Apache" - только на 80 порту, "Apache Secure" - только на 443. Для примера разрешаем все:

sudo ufw allow in "Apache Full"

Что бы убедиться, что трафик разрешен вводим:

sudo ufw status

И видим следующее:

Статус UFW

Все именно так как нам надо. Так же можно в браузере ввести адрес сервера. Должны увидеть следующее:

Apache

Как видим Apache работает. Продолжаем.

MariaDB (MySQL)

MariaDB - ответвление СУБД MySQL. Разрабатывается под лицензией GNU GPL. MariaDB поддерживает высокую совместимость с MySQL. API и протоколы в MariaDB соответствуют тем, которые используются в MySQL, а это означает, что все библиотеки и приложения, которые работают в MySQL, должны работать и с MariaDB.

Вводим команду установки:

sudo apt install mariadb-server mariadb-client

Выполняем скрипт настройки защиты. Система попросит ввести root пароль и  ответить на несколько простых вопросов. Можно на все ответить утвердительно. В этом случае система удалит анонимных пользователей, тестовые базы данных, отключит удаленное root подключение и произведет обновление текущих настроек MySQL.

sudo mysql_secure_installation

Пример ответа на вопросы

PHP + PHPMyAdmin

PHP - это скриптовый язык общего назначения. Активно применяется веб-разработчиками. Поддерживается большинством хостингов и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.

PHPMyAdmin - это веб-приложение с открытым исходным кодом, написанное на языке PHP. Представляет собой веб-интерфейс для управления СУБД MySQL. Приложение популярно среди веб-разработчиков.

Устанавливаем актуальную версию PHP 7.2, а так же расширения необходимые для его работы с Apache и MySQL:

sudo apt install php7.2 libapache2-mod-php7.2 php-mysql

Теперь установим PHPMyAdmin. Но перед этим необходимо установить расширение:

sudo apt install php-mbstring

Теперь приступим к установке самого PHPMyAdmin:

sudo apt install phpmyadmin

Установщик попросит выбрать веб-сервер, который будет автоматически настроен на работу с PHPMyAdmin. Выбираем наш Apache и продолжаем:

Выбор веб-сервера

Далее необходимо настроить базу данных самого PHPMyAdmin, там будет хранится служебная информация сервиса:

Настройка служебной базы

Соглашаемся и вводим пароль на базу. В дальнейшем он нам не понадобится.

Задание пароля

Подтверждение пароля

Все, установка PHPMyAdmin завершена. Можно в браузере ввести "http://адрес сервера/phpmyadmin" и убедится, что все работает:

PHPMyAdmin

Теперь нам надо создать пользователя MySQL с правами администратора. Вводим:

sudo mysql

И попадаем в консоль управления MariaDB. Далее поочередно делаем команды:

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Создание пользователя MAriaDB

Пользователь с правами администратора создан. Пробуем авторизоваться в PHPMyAdmin:

PHPMyAdmin

Как видим все работает.

Настройка виртуальных хостов для Apache2

Если вы хотите размещать на вашем веб-сервере более одного сайта, то вам необходимо настроить Apache для работы с виртуальными хостами.

Директорию по умолчанию (/var/www/html) трогать не будем. При необходимости можно конечно ее изменить. Создаем директорию в которой будет лежать ваш сайт:

sudo mkdir -p /var/www/example.com

Настраиваем владельца каталога:

sudo chown -R www-data:www-data /var/www/example.com

Даем права:

sudo chmod -R 755 /var/www/example.com

Создаем файл главной страницы сайта:

sudo nano /var/www/example.com/index.html

<html>

<head>

<title> example.com</title>

</head>

<body>

<h1>example.com works!</h1>

</body>

</html>

Создаем файл настройки виртуального хоста:

sudo nano /etc/apache2/sites-available/example.com.conf

И настраиваем по образцу:

<VirtualHost *:80>

ServerAdmin admin@example.com 

ServerName example.com

ServerAlias www.example.com

DocumentRoot /var/www/example.com

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Активируем профиль:

sudo a2ensite example.com.conf

Деактивируем стандартный профиль:

sudo a2dissite 000-default.conf

Перезапускаем наш Apache:

sudo systemctl restart apache2

И проверяем работоспособность сайта. Вводим в браузере "http://example.com":

Проверка работы виртуального сайта

Как видим все работает. По аналогии можно создать нужное вам количество виртуальных хостов.

Обратите внимание ! Если вы запускаете сайт с тестовым (не глобальным) доменным именем не забудьте внести изменения в файл hosts компьютера с которого переходите на сайт. Иначе вы не сможете зайти на ваш сайт:

Файл hosts

Выводы

Установка Apache, MariaDB (MySQL), PHP и PHPMyAdmin завершена. Как вы уже успели заметить в этом нет ничего сложного и установка не отнимет много времени. Теперь можно приступать к работе с веб-сервером. Если остались вопросы по данной теме, пишите в комментариях.

 

Читайте также:

2
Оставить комментарий

1 Цепочка комментария
1 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
2 Авторы комментариев
новее старее большинство голосов
Yozh

//Настраиваем владельца каталога:
//sudo chown -R $USER:$USER /var/www/example.com
Может владелец www:www ?
Статья очень доходчивая. 5 баллов.