14 ноября 2026 г. · by Alex M.
Стек LAMP (Linux, Apache, MySQL, PHP) остаётся одной из самых популярных комбинаций технологий для хостинга веб-приложений. От WordPress и Joomla до кастомных PHP-приложений — LAMP предоставляет стабильную, хорошо задокументированную и гибкую основу.
В этом руководстве вы научитесь полностью устанавливать и настраивать стек LAMP на VPS SSD с Ubuntu 22.04, шаг за шагом, с реальными командами и советами по оптимизации.
LAMP — это аббревиатура:
Эта комбинация используется миллионами сайтов и веб-приложений по всему миру. Основные преимущества:
Если вы хотите запустить PHP-приложение в продакшене без overhead'а хостинг-панели, VPS NVMe с вручную настроенным стеком LAMP — идеальное решение.
Перед началом убедитесь, что у вас есть:
Если у вас ещё нет сервера, вы можете быстро заказать VPS SSD у CLIQHOST и получить его активным через несколько минут.
Перед любой установкой обновите список пакетов и существующую систему:
sudo apt update && sudo apt upgrade -y
Перезагрузите сервер при наличии обновлений ядра:
sudo reboot
Apache — веб-сервер, который будет обрабатывать HTTP-запросы и отдавать файлы вашего приложения.
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2
Если всё работает корректно, вы увидите active (running) в выводе команды.
Разрешите HTTP и HTTPS трафик через UFW:
sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status
Теперь, если вы откроете IP-адрес сервера в браузере, увидите страницу по умолчанию Apache: «Apache2 Ubuntu Default Page».
💡 Совет: Вы можете отключить стандартную страницу Apache командой
sudo a2dissite 000-default.confпосле настройки собственного VirtualHost.
MySQL будет управлять базами данных для ваших веб-приложений.
sudo apt install mysql-server -y
Запустите скрипт безопасности MySQL:
sudo mysql_secure_installation
Вас проведут через ряд вопросов:
Y (включает проверку паролей)YY (важно для безопасности)YYПодключитесь к MySQL:
sudo mysql
Создайте базу данных и выделенного пользователя (не используйте root для приложений):
CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'OchenNadyozhnyParol123!';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
⚠️ Внимание: Всегда используйте сложные пароли и отдельных пользователей для каждого приложения. Никогда не используйте аккаунт
rootMySQL в подключениях приложения.
PHP — язык программирования, который связывает Apache и MySQL, выполняя логику вашего веб-приложения.
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip php-bcmath php-intl -y
php -v
Ожидаемый вывод:
PHP 8.1.x (cli) (built: ...)
Отредактируйте файл php.ini:
sudo nano /etc/php/8.1/apache2/php.ini
Измените или проверьте следующие настройки:
; Лимит памяти на скрипт
memory_limit = 256M
; Максимальный размер загружаемых файлов
upload_max_filesize = 64M
post_max_size = 64M
; Максимальное время выполнения
max_execution_time = 300
; Скрыть версию PHP из HTTP-заголовков (безопасность)
expose_php = Off
; Включить логирование ошибок (не показывать ошибки в браузере на продакшене)
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
Перезапустите Apache для применения изменений:
sudo systemctl restart apache2
Создайте тестовый файл:
sudo nano /var/www/html/info.php
Содержимое:
<?php
phpinfo();
Откройте http://IP_СЕРВЕРА/info.php в браузере. Вы увидите страницу PHP Info со всеми деталями установки.
⚠️ Важно: Удалите этот файл после проверки — он раскрывает чувствительную информацию о сервере!
sudo rm /var/www/html/info.php
Virtual Hosts позволяет размещать несколько сайтов на одном сервере.
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www/example.com
sudo nano /etc/apache2/sites-available/example.com.conf
Содержимое:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
sudo a2ensite example.com.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
Каждый современный сайт должен работать на HTTPS. Certbot автоматизирует получение и обновление бесплатных SSL-сертификатов от Let's Encrypt.
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
Certbot автоматически изменит конфигурацию Apache и настроит редирект HTTP → HTTPS.
Проверьте автоматическое обновление:
sudo certbot renew --dry-run
Если вам нужен коммерческий SSL-сертификат для бизнес-проектов, CLIQHOST предлагает сертификаты от глобально признанных центров сертификации.
sudo a2enmod deflate
sudo a2enmod expires
sudo a2enmod headers
sudo systemctl restart apache2
Добавьте в файл .htaccess или непосредственно в VirtualHost:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE application/javascript application/json
AddOutputFilterByType DEFLATE application/x-font-ttf application/vnd.ms-fontobject
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType text/html "access plus 1 day"
</IfModule>
Apache имеет несколько модулей многопоточной обработки (MPM). По умолчанию используется mpm_prefork, но для лучшей производительности с PHP-FPM рекомендуется mpm_event.
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo apt install php8.1-fpm -y
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2 php8.1-fpm
💡 PHP-FPM управляет процессами PHP отдельно от Apache, значительно улучшая производительность под высокой нагрузкой. Идеально для сайтов со средним-высоким трафиком на VPS NVMe.
# Логи ошибок
sudo tail -f /var/log/apache2/error.log
# Логи доступа
sudo tail -f /var/log/apache2/access.log
# Использование CPU и RAM
htop
# Место на диске
df -h
# Процессы Apache
ps aux | grep apache2
Для расширенного мониторинга (Prometheus, Grafana, Zabbix) CLIQHOST предлагает услуги администрирования сервера, где наша команда настраивает и мониторит вашу инфраструктуру.
Создайте простой PHP-файл, который тестирует подключение к базе данных:
sudo nano /var/www/example.com/public_html/test_db.php
<?php
$host = 'localhost';
$dbname = 'myapp_db';
$username = 'myapp_user';
$password = 'OchenNadyozhnyParol123!';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "✅ Подключение к MySQL успешно!";
} catch (PDOException $e) {
echo "❌ Ошибка подключения: " . $e->getMessage();
}
Откройте https://example.com/test_db.php. Если видите сообщение об успехе, стек LAMP работает полностью.
⚠️ Удалите тестовый файл сразу после проверки!
sudo rm /var/www/example.com/public_html/test_db.php
Если у вас есть директория /admin, добавьте защиту паролем:
sudo htpasswd -c /etc/apache2/.htpasswd admin_user
В VirtualHost или .htaccess:
<Directory /var/www/example.com/public_html/admin>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
Отредактируйте /etc/apache2/conf-available/security.conf:
ServerTokens Prod
ServerSignature Off
Вы установили и настроили полный стек LAMP на VPS Linux, включая:
Правильно настроенный стек LAMP даёт надёжную основу для любого PHP-приложения — от простого WordPress-блога до сложного корпоративного приложения.
Если вы хотите пропустить этап ручной настройки или предпочитаете профессионально управляемую среду, команда CLIQHOST готова помочь. Изучите наши планы VPS SSD, VPS NVMe или услуги администрирования сервера — или свяжитесь с нами для индивидуального решения.
Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."