Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

Ubuntu

В этом руководстве показано, как установить стек LAMP на Ubuntu 20.04 LTS. Программный стек — это набор инструментов, объединенных вместе. LAMP означает Linux, Apache, MariaDB/MySQL и PHP, все они имеют открытый исходный код и бесплатны для использования. Это наиболее распространенный программный стек, который поддерживает динамические веб-сайты и веб-приложения. 

Linux — это операционная система; 

Apache — это веб-сервер; 

MariaDB/MySQL — это сервер базы данных;

PHP — это серверный язык сценариев, отвечающий за создание динамических веб-страниц;

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

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

sudo apt update

sudo apt upgrade

Установка веб-сервера Apache

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

sudo apt install -y apache2 apache2-utils

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

systemctl status apache2

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

Подсказка: Если приведенная выше команда не завершает работу сразу, вы можете нажать клавишу Q, чтобы вернуть контроль над терминалом.

Если веб-сервер не запущен, запустите его с помощью systemctl.

sudo systemctl start apache2

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

sudo systemctl enable apache2

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

apache2 -v

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

Теперь введите IP-адрес вашего сервера Ubuntu 20.04 в адресной строке браузера. Вы должны увидеть «Страницу Заглушку» Эта веб-страница показывает, что веб-сервер Apache работает правильно. Если вы устанавливаете LAMP на локальный компьютер Ubuntu 20.04, введите 127.0.0.1 или localhost в адресной строке браузера.

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

Если подключение отклонено или не удалось соединиться, возможно, включен брандмауэр, предотвращающий входящие запросы к 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

По умолчанию Apache использует системное имя хоста в качестве глобального ServerName. Если системное имя хоста не может быть разрешено в DNS, то вы вероятно, увидите следующую ошибку после выполнения sudo apache2ctl -t.

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

Чтобы избавиться от этой ошибки, мы можем установить ServerName в Apache. Воспользуемся текстовым редактором командной строки Nano для создания нового файла конфигурации.

sudo nano /etc/apache2/conf-available/servername.conf

Добавьте в этот файл следующую строку.

ServerName localhost

Сохраните и закройте файл. Чтобы сохранить файл в текстовом редакторе Nano, Ctrl+O, затем нажмите клавишу ВВОД для подтверждения. Для выхода Ctrl+X. Затем активируйте этот файл конфигурации.

sudo a2enconf servername.conf

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

sudo systemctl reload apache2

Теперь, если вы снова запустите команду sudo apache2ctl -t, вы не увидите приведенное выше сообщение об ошибке.

Установка сервера баз данных MariaDB

MariaDB является заменой MySQL. Он разработан бывшими членами команды MySQL, которые обеспокоены тем, что Oracle может превратить MySQL в продукт с закрытым исходным кодом. Введите следующую команду, чтобы установить MariaDB на Ubuntu 20.04.

sudo apt install mariadb-server mariadb-client

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

systemctl status mariadb

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

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

sudo systemctl start mariadb

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

sudo systemctl enable mariadb

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

sudo mysql_secure_installation

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

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

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

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

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

sudo mariadb -u root

Чтобы выйти, выполните:

exit;

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

mariadb --version

Как видите, мы установили MariaDB 10.5.15.

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

Установка PHP 8

На момент написания этой статьи PHP 8.0 – это последняя основная версия языка PHP. Он вводит несколько критических изменений, улучшения производительности и множество новых функций, таких как именованные аргументы, JIT-компилятор, типы объединения, выражение соответствия и многое другое. Репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7.4. Мы установим PHP из репозитория ondrej/php PPA. Для этого добавим в нашу систему репозитории с PHP 8, введя команду:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

После добавления репозитория, обновим списки пакетов и установим PHP 8.0

sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0

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

sudo a2enmod php8.0

sudo systemctl restart apache2

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

php --version

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

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

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

  • Модуль Apache PHP
  • PHP-FPM.

В приведенных выше шагах модуль Apache PHP8.0 используется для обработки кода PHP, что обычно нормально. Но в некоторых случаях вам нужно запустить PHP-код с модулем PHP-FPM. Вот как это сделать.

Отключите модуль Apache PHP8.0

sudo a2dismod php8.0

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

sudo apt install php8.0-fpm

Включите proxy_fcgi и setenvif.

sudo a2enmod proxy_fcgi setenvif

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

sudo a2enconf php8.0-fpm

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

sudo systemctl restart apache2

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

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

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

<?php phpinfo(); ?>

Чтобы сохранить файл в текстовом редакторе Nano, Ctrl+O, затем нажмите клавишу ВВОД для подтверждения. Для выхода Ctrl+X. Теперь в адресной строке браузера введите ip-адрес_вашего_сервера/info.php. Если вы следовали этому руководству на локальном компьютере, введите 127.0.0.1/info.php или localhost/info.php.

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

Как установить LAMP Stack на Ubuntu 20.04 Server/Desktop

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

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

Оцените статью
DailyNet