Home » Как установить стек LAMP на последний CentOS
Как установить стек LAMP на последний CentOS

Как установить стек LAMP на последний CentOS

В этой статье разберёмся, как быстро и без лишней боли развернуть LAMP-стек на последнем CentOS. Почему это важно? Потому что LAMP — это классика жанра для хостинга сайтов, блогов, CRM, форумов и вообще всего, что работает на PHP. Если ты хочешь поднять свой сервер, не зависеть от чужих shared-хостингов и быть уверенным в том, что всё под контролем — этот гайд для тебя. Я покажу, как не наступать на грабли, которые уже давно валяются на пути каждого, кто решает собрать свой первый (или двадцать первый) LAMP. Будет просто, но по делу, с примерами, фишками и лайфхаками.

Что такое LAMP и зачем он нужен?

LAMP — это аббревиатура из четырёх компонентов:

  • Linux — операционная система (в нашем случае CentOS, свежий релиз).
  • Apache — веб-сервер, который раздаёт твои сайты в интернет.
  • MySQL/MariaDB — база данных, где хранятся все твои посты, юзеры и прочий контент.
  • PHP — язык программирования, на котором написаны WordPress, Joomla, Bitrix и куча других движков.

Почему именно LAMP? Потому что это проверенная временем связка, которую поддерживают все популярные CMS, фреймворки и даже сам Stack Overflow. Она бесплатна, гибка, легко масштабируется и отлично подходит для автоматизации. Если хочется больше гибкости — можно заменить компоненты (например, Nginx вместо Apache, PostgreSQL вместо MySQL), но для старта и большинства задач LAMP — идеальный выбор.

Как это работает?

Всё просто: пользователь заходит на твой сайт, Apache принимает запрос, если нужно — отдаёт статику (картинки, CSS, JS), а если страница динамическая — подключает PHP. PHP, в свою очередь, может обратиться к базе данных (MySQL/MariaDB), получить нужные данные и сгенерировать HTML, который возвращается пользователю. Вся эта магия происходит за миллисекунды, если всё настроено правильно.

Вот схема для наглядности:

Пользователь
    |
    v
[ Apache ] --(PHP скрипты)--> [ PHP ] --(SQL запросы)--> [ MySQL/MariaDB ]
    |
    v
  HTML-ответ

Вся эта конструкция работает на CentOS — стабильной и надёжной ОС, которую любят за предсказуемость и долгую поддержку.

Как быстро и просто всё настроить?

Переходим к самому интересному — практике. Я покажу, как развернуть LAMP на CentOS 9 Stream (на момент написания — самый свежий релиз). Всё делается через терминал, так что SSH и root-доступ — must have.

1. Подготовка системы

Обновляем систему, чтобы не ловить баги из-за старых пакетов:


sudo dnf update -y
sudo dnf upgrade -y

2. Установка Apache


sudo dnf install httpd -y
sudo systemctl enable httpd
sudo systemctl start httpd
sudo systemctl status httpd

Проверь, что Apache работает: открой в браузере http://your_server_ip/ — должна появиться стандартная страница Apache.

3. Установка MariaDB (или MySQL)

В CentOS по умолчанию идёт MariaDB — форк MySQL, полностью совместимый и даже чуть шустрее.


sudo dnf install mariadb-server mariadb -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb

Далее — настраиваем безопасность:


sudo mysql_secure_installation

Тут всё просто: ставим пароль root, убираем анонимных пользователей, запрещаем удалённый root-доступ, удаляем тестовую БД.

4. Установка PHP

CentOS 9 Stream поддерживает свежие версии PHP через репозитории Remi. Ставим их:


sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.2 -y
sudo dnf install php php-mysqlnd php-cli php-gd php-xml php-mbstring php-curl -y
sudo systemctl restart httpd

Проверяем версию:


php -v

Создай файл /var/www/html/info.php с содержимым:


<?php phpinfo(); ?>

Открой http://your_server_ip/info.php — если видишь страницу с инфой о PHP, всё ок.

5. Открываем порты в firewall


sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

6. Готово! Можно деплоить сайты

Всё, LAMP-стек работает. Кидай свои сайты в /var/www/html, настраивай виртуальные хосты, подключай домены.

Примеры, схемы, практические советы

  • Виртуальные хосты: Если хочешь держать несколько сайтов на одном сервере, создай отдельные конфиги в /etc/httpd/conf.d/. Пример:

    <VirtualHost *:80>
    ServerName mysite.local
    DocumentRoot /var/www/mysite
    <Directory /var/www/mysite>
    AllowOverride All
    Require all granted
    </Directory>
    </VirtualHost>
  • Автоматизация: Всё это можно засунуть в bash-скрипт или Ansible playbook и разворачивать LAMP за пару минут на любом VPS или выделенном сервере. Кстати, если нужен сервер — VPS или выделенный сервер — отличный вариант для старта.
  • Безопасность: Не забывай про fail2ban, ufw/firewalld, регулярные обновления. Не держи info.php на проде!
  • Бэкапы: Используй mysqldump для базы и rsync для файлов — автоматизируй через cron.

Положительные и отрицательные кейсы

Кейс Что получилось Рекомендации
Установка LAMP по инструкции Сайт работает, CMS ставится без проблем Следовать шагам, не пропускать настройку безопасности
Забыл открыть порты в firewall Сайт не открывается извне Проверить firewall-cmd --list-all, открыть 80/443
Поставил старую версию PHP из стандартного репозитория Современные CMS не запускаются Использовать Remi repo для свежего PHP
Не настроил права на папки Ошибка 403 Forbidden Права: chown -R apache:apache /var/www/mysite

Похожие решения, альтернативы и утилиты

  • LEMP — Nginx вместо Apache. Быстрее на статику, но чуть сложнее конфиги.
  • LNMP — Nginx + MySQL + PHP. Тоже популярен, особенно для highload.
  • Docker — контейнеризация LAMP-стека. Быстро, удобно для тестов и CI/CD.
  • Bitnami, XAMPP — готовые сборки, но для продакшена лучше ручная установка.
  • phpMyAdmin — веб-интерфейс для управления базой (ставится через dnf install phpMyAdmin).

Официальные ссылки:

Статистика и сравнение с другими решениями

Стек Производительность Совместимость Сложность настройки Гибкость
LAMP (Apache) Средняя Максимальная Простая Высокая
LEMP (Nginx) Выше на статику Высокая Средняя Высокая
Docker LAMP Средняя Высокая Очень простая Максимальная
Bitnami/XAMPP Средняя Средняя Очень простая Ограниченная

По опросу Stack Overflow 2023, LAMP/LEMP используют более 35% разработчиков для своих pet-проектов и продакшн-сервисов. Это говорит о том, что стек живее всех живых.

Интересные факты и нестандартные способы использования

  • LAMP можно использовать не только для сайтов, но и для REST API, микросервисов, IoT-решений (например, на базе Raspberry Pi).
  • С помощью LAMP легко поднять свой Git-сервер (например, Gitea или GitLab Community Edition).
  • Можно автоматизировать деплой через Git hooks: пушишь в репозиторий — сайт обновляется сам.
  • PHP можно использовать для написания CLI-утилит, которые работают с базой напрямую.
  • MariaDB поддерживает репликацию и кластеризацию — можно строить отказоустойчивые решения.

Новые возможности и автоматизация

С LAMP-стеком на CentOS ты получаешь:

  • Полный контроль над сервером — можно оптимизировать под свои задачи.
  • Возможность автоматизировать всё: от установки до деплоя и бэкапов.
  • Гибкость: хочешь — ставь Redis, Memcached, Elasticsearch, Node.js рядом.
  • Интеграция с CI/CD: деплой через GitLab CI, Jenkins, Ansible.
  • Масштабируемость: легко клонировать и переносить на другие сервера или в облако.

Для автоматизации рекомендую:

  • Скрипты на bash для развёртывания и обновления.
  • Ansible playbooks для массового управления серверами.
  • Мониторинг через Zabbix, Prometheus или даже простым htop + logwatch.

Выводы и рекомендации

LAMP на CentOS — это надёжно, просто и гибко. Такой стек подойдёт для:

  • Собственных сайтов, блогов, интернет-магазинов.
  • Тестирования и разработки новых проектов.
  • Автоматизации рутинных задач (бэкапы, деплой, мониторинг).
  • Обучения и экспериментов с серверными технологиями.

Если хочешь быстро стартовать — используй этот гайд, автоматизируй всё, что можно, и не забывай про безопасность. Для серьёзных проектов лучше брать VPS или выделенный сервер — VPS или dedicated — и держать всё под своим контролем. LAMP — это не только классика, но и отличная база для любых экспериментов и роста. Удачи в настройке, и пусть uptime всегда будет 99.99%!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

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

Leave a reply

Your email address will not be published. Required fields are marked