Как установить LAMP на сервер?
Сборка серверного стека — сложная задача для новичков, потому что нужно интегрировать несколько компонентов (Linux, Apache, MySQL, PHP), каждый из которых требует настроек. У разных ОС свои команды и нюансы установки. Неправильные права доступа или конфигурация могут привести к сбоям или уязвимостям. Поэтому, мы проведем через каждый шаг установки LAMP на Linux, точнее версиях ОС Ubuntu и Debian.
Что такое LAMP и зачем нужен?
LAMP — аббревиатура которая состоит из Linux, Apache, MySQL и PHP — базы, на которой работают миллионы сайтов. YouTube, Facebook, Wikipedia созданы на LAMP. Этот стек надежен, как швейцарский нож. Его выбирают те, кто хотят стабильности, производительности и гибкости.
На чем работает LAMP?
LAMP работает только на Linux. Это не случайность. Linux — выбор профи, потому что это не просто ОС, а экосистема, в которой вы контролируете всё.
На Windows или macOS работать гораздо сложнее.. Поэтому мы ставим Ubuntu 22.04 или Debian 11 — это стандарт. Приступим к установке LAMP.
Устанавливаем LAMP
Перед установкой LAMP, убедимся, что обновлены Ubuntu или Debian:
Откройте командную строку ОС и введите:
sudo apt update && sudo apt upgrade -y
Команда sudo apt update && sudo apt upgrade -y выполняет следующее:
-
sudo apt update — обновляет информацию о доступных пакетах. Эта команда синхронизирует сервер с последними версиями программ, чтобы при установке вы получили самые актуальные версии.
-
sudo apt upgrade -y — обновляет все установленные пакеты на сервере до последних версий, которые доступны в системе. Ключ -y автоматически подтверждает установку обновлений.
Теперь установим сам LAMP. Начнем с Apache.
Устанавливаем Apache
Теперь нужно поставить Apache. Apache проверен временем. Он работает под любыми нагрузками. Если когда-то заходили на сайт, вероятно, вы использовали Apache. Введите:
sudo apt install apache2
Архитектура модулей Apache позволяет расширять возможности без переписывания сервера с нуля. Хотите поддержку SSL? Есть модуль. Хотите проксировать запросы через другую систему? Есть модуль. Всё готово и проверено.
Чтобы убедиться, что Apache работает, выполните команду:
sudo systemctl status apache2
Если в ответ видите зеленые строки — поздравляем. Ваш сервер работает.
Устанавливаем MySQL
MySQL — сердце любого LAMP сервера. Если сервер — тело, то MySQL — кровь, которая питает сайт данными. Некоторые могут предпочесть PostgreSQL, но MySQL доказал свое превосходство. Введите команду:
sudo apt install mysql-server
Установка MySQL — как установка сейфа. Вы не просто кидаете данные в кучу файлов. Вы их распределяете, обеспечиваете безопасность и доступность. А теперь закрепим защиту командой:
sudo mysql_secure_installation
Этот шаг надо пояснить.
Когда вы вводите команду sudo mysql_secure_installation, запускается интерактивный скрипт для повышения безопасности MySQL-сервера. Этот скрипт задает несколько вопросов, которые позволяют настроить безопасные параметры. Вот что вы должны делать на каждом этапе:
-
Введите текущий пароль для root (если требуется): Если у вас нет пароля root или это первый запуск, просто нажмите Enter.
-
Настроить плагин проверки паролей (VALIDATE PASSWORD PLUGIN)?: Система предложит включить плагин для проверки сложности паролей. Он помогает убедиться, что пользователи задают достаточно сложные пароли.
-
Если хотите повысить безопасность (рекомендуется), выберите Yes и выберите уровень сложности пароля.
-
Если не хотите включать проверку паролей, выберите No.
-
Введите новый пароль для root. Если вы не назначили пароль для root ранее, система предложит это сделать. Задайте сложный. Хороший пароль должен содержать буквы, цифры и специальные символы. Например, G5v$2uK9!.
-
Удалить анонимных пользователей (Remove anonymous users)?. MySQL по умолчанию устанавливает анонимных пользователей, что создает риски для безопасности. Выберите "Yes", чтобы удалить анонимных пользователей.
-
Запретить удалённый вход root (Disallow root login remotely)?. Это защитит сервер от попыток взлома root-пользователя через удалённое подключение. Рекомендуется выбрать "Yes".
-
Удалить тестовую базу данных (Remove test database and access to it)?. MySQL устанавливает тестовую базу данных для экспериментов. Она не нужна на боевом сервере, и её наличие может быть уязвимостью. Выберите "Yes", чтобы удалить её.
-
Перезагрузить таблицы привилегий (Reload privilege tables now)?. Это необходимо для того, чтобы все изменения вступили в силу. Выберите "Yes".
Рекомендуем ввести сложный пароль, отключить анонимных пользователей и убрать тестовые базы данных. Сервер должен быть защищен.
Устанавливаем PHP
Завершаем работу установкой PHP. Хотите простую интеграцию с MySQL? Хотите быстро разворачивать проекты? PHP справляется с этим на раз-два. Введите:
sudo apt install php libapache2-mod-php php-mysql
Теперь нужно проверить, что PHP установлен и работает. Создайте тестовый файл с названием:
sudo nano /var/www/html/info.php
Внутри файла впишите:
<?php
phpinfo();
?>
Теперь откройте в браузере http://your_server_ip/info.php и если видите страницу с характеристиками PHP, то поздравляем, вы успешно установили PHP и закончили установку LAMP.
Теперь вы знаете, как сделать сервер работоспособным. Не забывайте, что каждая операционная система требует вносить коррективы. На том же CentOS, команды могут отличаться. Устанавливайте через yum, а не через apt.
Если же возникнут трудности с установкой или конфигурацией, помните, что мы всегда готовы сделать это за вас. Иногда лучше доверить работу экспертам, чем тратить драгоценное время на борьбу с ошибками. Пишите в нашу техподдержку и мы поможем!