Простая установка LAMP сервера (Linux Apache PHP MySQL)

Что такое LAMP? LAMP — это акроним, обозначающий набор (комплекс) серверного программного обеспечения. LAMP назван по первым буквам входящих в его состав компонентов: Linux — операционная система Linux; Apache — веб-сервер; MariaDB / MySQL — СУБД; PHP — язык программирования.

В статье рассмотрим самый простой способ установки и настройки стека LAMP (Linux Apache PHP MySQL).

Установка Apache выполняется в один шаг:

Ubuntu и Debian:

apt update && apt -y install apache2

CentOS:

yum -y install httpd

После установки нужно проверить, корректно ли запустился веб-сервер:

Ubuntu и Debian:

systemctl status apache2

CentOS:

systemctl status httpd

На Ubuntu и Debian службы после установки запускаются и добавляются в автозапуск автоматически, на Centos это нужно сделать вручную. Запустить веб-сервер и настроить его автоматический старт после загрузки системы можно следующим образом: Ubuntu и Debian:

systemctl start apache2 && systemctl enable apache2

CentOS:

systemctl start httpd && systemctl enable httpd

На CentOS после установки нужно отредактировать настройки встроенного фаервола:

firewall-cmd --permanent --zone=public --add-service=http --add-service=https
firewall-cmd --reload

Проверить, что настройки успешно применились, можно с помощью команды:

firewall-cmd --list-all

В блоке Services в списке должны отображаться http и https. Теперь можно открыть IP-адрес вашего сервера в браузере — откроется стартовая страница веб-сервера (при работе с CentOS 7; на CentOS 8 Apache по умолчанию не имеет приветственной страницы) На Debian и Ubuntu можно сразу ввести IP-адрес вашего сервера в адресную строку браузера — откроется приветственная страница веб-сервера, размещенная в директории /var/www/html Расширенные настройки веб-сервера доступны в конфигурационном файле: Ubuntu и Debian:

/etc/apache2/apache2.conf

CentOS:

/etc/httpd/conf/httpd.conf

Установка MariaDB Установка: Ubuntu и Debian:

apt -y install mariadb-server mariadb-client

CentOS:

yum -y install mariadb mariadb-server

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

systemctl status mariadb

Если сервис не запустился автоматически (статус dead), активируйте и добавьте службу в автозагрузку вручную: systemctl start mariadb && systemctl enable mariadb

После установки можно проверить версию установленного сервера баз данных: Ubuntu и Debian:

mariadb --version

CentOS:

mysql --version

Для редактирования параметров безопасности запустите встроенный инструмент настройки:

mysql_secure_installation

C его помощью вы сможете отключить небезопасные опции, которые по умолчанию включены для работы тестового режима после установки. На первом шаге скрипт предложит ввести текущий пароль root от сервера баз данных. По умолчанию после установки он не задан, достаточно нажать Enter. После этого будет предложено подтвердить или отклонить дополнительные настройки безопасности — для согласия введите y (yes), для отказа — любую другую клавишу и нажмите Enter. Рекомендуется подтвердить все параметры, так как они воплощают базовые рекомендации по безопасности сервера БД. Новый пароль root для сервера баз данных (по умолчанию отсутствует) — потребуется ввести и подтвердить новый пароль; Удаление анонимных пользователей (один присутствует по умолчанию для тестового режима); Отключение удалённого доступа для пользователя root; Удаление тестовой базы данных и доступов к ней; Перезагрузка таблиц для применения новых параметров.

Установка самого сервера БД: Ubuntu и Debian:

apt -y install mysql-server

CentOS:

yum -y install mysql-server

После установки нужно проверить, запустился ли MySQL: Ubuntu и Debian:

systemctl status mysql

CentOS:

systemctl status mysqld

При необходимости — запустить его и добавить в автозапуск вручную: Ubuntu и Debian:

systemctl start mysql && systemctl enable mysql

CentOS:

systemctl start mysqld && systemctl enable mysqld

Проверить версию установленного сервера баз данных можно командой:

mysql --version

По умолчанию после установки сервер MySQL имеет несколько небезопасных опций. Чтобы их отключить, нужно запустить автонастройку безопасности:

mysql_secure_installation

В процессе система предложит настроить компонент для проверки надёжности паролей, запросит новый пароль для пользователя root сервера MySQL. После этого будет предложено подтвердить или отклонить дополнительные настройки безопасности — для согласия введите y (yes), для отказа — любую другую клавишу и нажмите Enter. Рекомендуется подтвердить все параметры, так как они воплощают базовые рекомендации по безопасности сервера БД. Список настраиваемых параметров по порядку:

  • Активация модуля проверки надёжности паролей
  • Выбор уровня надёжности (0 — слабый / 1 — средний/ 2 — сильный)
  • Ввод и подтверждение нового пароля для root-пользователя MySQL
  • Удаление анонимных пользователей
  • Отключение удалённого подключения к БД для root-пользователя MySQL
  • Удаление открытой тестовой базы данных
  • Перезагрузка таблиц привилегий для применения новых настроек

Проверить доступную для установки версию PHP можно командой: Ubuntu и Debian:

CentOS:

Знать её нужно для корректной установки некоторых компонентов, в случае, если они не будут устанавливаться при простом упоминании php. После этого можно запустить установку: Ubuntu и Debian:

apt -y install php libapache2-mod-php php-mysql php-xml php-gd php-mbstring  php-curl php-zip

Будьте внимательны — если установка прошла неудачно, попробуйте в названии пакетов указывать версию, например php-7.4 CentOS:

yum -y install php php-mysqlnd php-common php-cli php-json php-opcache php-mbstring php-curl php-zip

Проверим установленную версию:

php -v

Установленная версия PHP автоматически настроится в качестве модуля Apache. После этого потребуется перезагрузить веб-сервер. Ubuntu и Debian:

systemctl restart apache2

CentOS:

systemctl restart httpd

Дополнительные расширения PHP, доступные для установки, можно посмотреть командой: Ubuntu и Debian:

apt-cache search php | egrep 'module' | grep default

CentOS:

yum search php | grep module

Установить выбранный модуль можно командой (на примере расширения SOAP): Ubuntu и Debian:

apt -y install php-soap

CentOS:

yum -y install php-soap
PQ VPS сервера в 28+ странах.