Шпаргалка сисадмина

LAMP на Ubuntu 20.04

31.03.2025 | Категория: Linux

LAMP на Ubuntu 20.04

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

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

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

apt update && apt upgrade

У нас обновлений не было и мы продолжаем сразу дальше.

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

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

apt install -y apache2 apache2-utils

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

systemctl status apache2

Если она не запущена, используйте systemctl для его запуска.

systemctl start apache2

 

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

systemctl enable apache2

 

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

apache2 -v

 

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

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

 

Проведем тестирование работы веб-сервера, запустив

sudo apache2ctl configtest
или
apache2ctl -t

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

AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName’ directive globally to suppress this message

 

Чтобы решить эту проблему, мы можем установить глобальный файл ServerName в Apache. Используйте текстовый редактор «nano», чтобы создать новый файл конфигурации.

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

 

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

ServerName localhost

 

Сохраните и закройте файл. Нажмите Ctrl+X, затем нажмите Enter для подтверждения. Затем включите конфиг файл командой:

a2enconf servername.conf

 

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

systemctl reload apache2

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

Теперь введите IP-адрес вашего сервера в адресной строке браузера. Вы должны увидеть надпись «It works!» Веб-страница, что означает, что веб-сервер Apache работает правильно. 

 

Установка MySQL

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

sudo apt-get install mysql-server

И подтвердите добавление новых файлов.

Обязательно следует обезопасить использование окружения MySQL, поэтому обеспечьте защиту с помощью отдельного дополнения, которое устанавливается через

sudo mysql_secure_installation.

 

Установка настроек плагина для требований паролей не имеет единой инструкции, поскольку каждый пользователь отталкивается от собственных решений в плане валидации. Если хотите инсталлировать требования, введите в консоль y при запросе.

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

Установите новый пароль для обеспечения рут-доступа.

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

С описанием другого метода инсталляции советуем ознакомиться в отдельной нашей статье, которую вы найдете по следующей ссылке.

Читайте также: Руководство по установке MySQL в Ubuntu

 

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

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

apt install mariadb-server mariadb-client

 

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

systemctl status mariadb

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

systemctl start mariadb

 

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

systemctl enable mariadb

 

Теперь запустите сценарий безопасности (настройки) после установки MariaDB, командой:

mysql_secure_installation

 

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

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

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

mariadb -u root

 

Для выхода из консоли MariaDB выполните команду:

exit;

 

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

mariadb —version

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

 

Установка PHP

PHP 7.4 является последней стабильной версией PHP для Ubuntu 20.04 и имеет незначительное преимущество в производительности по сравнению с PHP 7.3. Введите следующую команду, чтобы установить PHP 7.4 и некоторые распространенные модули PHP:

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

 

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

a2enmod php7.4
systemctl restart apache2

Для корректной работы WordPress нужно, чтобы был активирован модуль Apache mod_rewrite. Для его включения выполните:
sudo a2enmod rewrite
systemctl restart apache2

 

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

php --version

Видим что мы установили правильно, версию PHP 7.4.

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

nano /var/www/html/info.php

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

<?php phpinfo(); ?>

 

Теперь заходим на инфо страницу помощью ссылки:

http://IP-АДРЕС/info.php

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

PHPmyadmin

Управление базами данных и реализация веб-интерфейса осуществляется с помощью бесплатного инструмента PHPmyadmin, который также желательно установить во время настройки LAMP. Для начала введите команду

sudo apt-get install phpmyadmin php-mbstring php-gettext.

Подтвердите добавление новых файлов, выбрав соответствующий вариант.

Укажите веб-сервер «Apache2» и нажмите на «ОК».

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

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

Полное описание тут

 

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

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

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

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

Отключите модуль Apache PHP 7.4 командой ниже:

a2dismod php7.4

 

Установите PHP-FPM с помощью командой:

apt install php7.4-fpm

 

Включите  proxy_fcgiи и setenvif модуль командой:

a2enmod proxy_fcgi setenvif

 

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

a2enconf php7.4-fpm

 

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

systemctl restart apache2

 

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

Важно!!! В целях безопасности вашего сервера вам следует удалить info.php файл сейчас, чтобы предотвратить возможную атаку на слабые места вашего сервера с PHP.

rm /var/www/html/info.php

 

Источник

Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.