Из этого туториала Вы узнаете, как установить стек LAMP в Ubuntu 18.04 LTS. Программный стек – это набор программных инструментов, связанных вместе. LAMP расшифровывается как: Linux, Apache, MariaDB / MySQL и PHP, все они с открытым исходным кодом и совершенно бесплатны.

Это самый распространенный программный стек для динамических веб-сайтов и веб-приложений. Linux является операционной системой; Apache – веб-сервер; MariaDB / MySQL – это сервер базы данных, а PHP – это язык сценариев на стороне сервера, отвечающий за создание динамических веб-страниц.

Предпосылки

Чтобы следовать этому руководству, вам нужна ОС Ubuntu 18.04, работающая на вашем локальном компьютере или на удаленном сервере.

Шаг 1. Обновление пакетов программного обеспечения

Перед установкой стека LAMP рекомендуется обновить репозиторий и пакеты программного обеспечения. Запустите следующую команду на вашей ОС Ubuntu 18.04.

sudo apt upgrade

Шаг 2: Установите веб-сервер Apache

Введите следующую команду для установки веб-сервера Apache. apache2-utils Пакет установит некоторые полезные утилиты , такие как Apache HTTP.

sudo apt install -y apache2 apache2-utils

После установки Apache должен быть автоматически запущен. Проверьте его статус с systemctl.

systemctl status apache2
Вывод команды systemctl status apache2

Если по какой-то причине у вас не запустился, введите команду

sudo systemctl start apache2

Также рекомендуется включить автоматический запуск Apache во время загрузки системы.

sudo systemctl enable apache2

Проверьте версию Apache:

apache2 -v
Вывод команды apache2 -v

Теперь введите общедоступный IP-адрес вашего сервера Ubuntu 18.04 в адресной строке браузера. Вы должны увидеть «Apache2 Ubuntu Default Page», что означает, что веб-сервер Apache работает правильно. Если вы устанавливаете LAMP на локальный компьютер Ubuntu 18.04, введите 127.0.0.1 или localhost в адресной строке браузера.

localhost в браузере

Если соединение было отклонено или не удалось установить, возможно у вас есть какой-то брандмауэр, который запрещает входящие запросы на порт TCP 80. Если вы используете брандмауэр iptables, вам нужно выполнить следующую команду, чтобы открыть порт TCP 80.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Используете брандмауэр UFW? Выполните эту команду, чтобы открыть TCP-порт 80.

sudo ufw allow http

Теперь нам нужно установить www-data (пользователя Apache) как владельца корня документа (также известного как веб-корень). По умолчанию он принадлежит пользователю root.

sudo chown www-data:www-data /var/www/html/ -R

Шаг 3: Установите сервер базы данных MariaDB

MariaDB – это полная замена MySQL. Введите следующую команду, чтобы установить его в Ubuntu 18.04.

sudo apt install mariadb-server mariadb-client

После установки сервер MariaDB должен автоматически запуститься. Используйте systemctl, чтобы проверить его статус.

systemctl status mariadb
Сервер MariaDB запущен

Если он не запущен, запустите его с помощью этой команды:

sudo systemctl start mariadb

Чтобы включить автоматический запуск MariaDB во время загрузки системы, введите команду

sudo systemctl enable mariadb

Теперь запустите скрипт безопасности после установки.

sudo mysql_secure_installation

Когда появится запрос на ввод пароля root для MariaDB, нажмите клавишу Enter, поскольку пароль root еще не установлен. Затем введите новый пароль root для сервера MariaDB.

Новый пароль MariaDB

Далее вы можете нажать Enter, чтобы ответить на все оставшиеся вопросы, что приведет к удалению анонимного пользователя, отключению удаленного входа в систему root и удалению тестовой базы данных. Этот шаг является основным требованием для безопасности базы данных MariaDB. (Обратите внимание, что заглавная буква Y, означает что это ответ по умолчанию.)

Отвечаем на все вопросы Y

По умолчанию пакет MaraiDB в Ubuntu использует unix_socket для аутентификации входа пользователя, что в основном означает, что вы можете использовать имя пользователя и пароль ОС для входа в консоль MariaDB. Таким образом, вы можете выполнить следующую команду для входа без предоставления пароля root для MariaDB.

sudo mariadb -u root

Для выхода запустите

exit;

Проверьте информацию о версии сервера MariaDB.

mariadb --version
exit;
Версия MariaDB

Шаг 4: Установите PHP7.2

На момент написания этой статьи PHP7.2 является последней стабильной версией PHP и имеет незначительное снижение производительности по сравнению с PHP7.1. Введите следующую команду для установки PHP7.2.

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline

Включите модуль Apache php7.2 и перезапустите веб-сервер Apache.

sudo a2enmod php7.2
sudo systemctl restart apache2

Проверьте информацию о версии PHP.

php --version
php –version

Чтобы протестировать PHP-скрипты на сервере Apache, нам нужно создать файл info.php в корневом каталоге документа.

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

Вставьте следующий PHP-код в файл.

<?php phpinfo(); ?>

Чтобы сохранить файл в текстовом редакторе Nano, нажмите Ctrl+O, затем нажмите Enter для подтверждения. Для выхода нажмите Ctrl+X.

Теперь в адресной строке браузера введите ваш_ip_адрес/info.php. Замените ваш_ip_адрес на ваш фактический IP, или localhost. Если вы следуете этому руководству на локальном компьютере, введите 127.0.0.1/info.php или localhost/info.php.

php version

Вы должны увидеть информацию о PHP вашего сервера. Это означает, что PHP-скрипты будут работать правильно с веб-сервером Apache.

Как запустить PHP-FPM с Apache

Есть два основных способа запуска PHP-кода с веб-сервером Apache:

  • Apache PHP module
  • PHP-FPM.

На предыдущих этапах модуль PHP7.2 используется для обработки кода PHP, что хорошо. Но в некоторых случаях может потребоваться вместо этого запустить код PHP с PHP-FPM. Давайте посмотрим как это сделать.

Отключите модуль Apache PHP7.2.

sudo a2dismod php7.2

Установите PHP-FPM.

sudo apt install php7.2-fpm

Включите proxy_fcgi и setenvif модуль.

sudo a2enmod proxy_fcgi setenvif

Включите /etc/apache2/conf-available/php7.2-fpm.conf файл конфигурации.

sudo a2enconf php7.2-fpm

Перезапустите Apache, чтобы изменения вступили в силу.

sudo systemctl restart apache2

Теперь, если вы обновите info.php страницу в своем браузере, вы обнаружите, что Server API изменен на FPM/FastCGI, что означает, что веб-сервер Apache будет передавать запросы PHP в PHP-FPM.

FPM/FastCGI

Поздравляю! Вы успешно установили стек LAMP (Apache, MariaDB и PHP7.2) в Ubuntu 18.04. Для безопасности вашего сервера, вы должны удалить файл info.php.

sudo rm /var/www/html/info.php

Следующий шаг

Итак, вы только что узнали, как установить LAMP в Ubuntu 18.04. Что дальше? Вы также можете установить phpMyAdmin вместе со своим стеком LAMP.

Как установить phpMyAdmin с Apache (LAMP) в Ubuntu 18.04

А об этом мы поговорим в следующей статье.

Всем спасибо. Если есть какие-либо вопросы, или пожелания, пишите в комментариях ниже.