Веб сервер
1.Обновление
ssh user@ip_address
sudo apt update
2.Установка
sudo apt install -y apache2 mariadb-server php libapache2-mod-php php-mysql php-mbstring php-curl php-zip php-gd phpmyadmin
3. Автозапуск
sudo systemctl enable --now apache2
sudo systemctl enable --now mariadb
4. Страницы
cd /var/www/html
# удали дефолтную страницу (если не нужна)
sudo rm index.html
# сюда копируй свои файлы через scp или другим способом
5. БД
sudo mariadb
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'сложный_пароль';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
6.Доступ к phpMyAdmin
Он будет по адресу: http://IP_сервера/phpmyadmin
-------------------------------------------------
Статья‑напоминалка: быстрый старт веб‑сервера (LAMP на Ubuntu/Debian)
Эта заметка — шпаргалка, чтобы быстро развернуть базовый стек Apache + MariaDB + PHP + phpMyAdmin на Linux‑сервере. Подходит, если ты делаешь это для тестов, обучения или небольшого проекта.
1. Обновление системы
bash
ssh user@ip_address
sudo apt update
Что тут происходит:
ssh user@ip_address — подключаешься к серверу по SSH. Замени user на имя пользователя (часто root или твоё имя), а ip_address на IP сервера.
sudo apt update — обновляет списки пакетов в репозиториях. Это нужно, чтобы ставить актуальные версии программ.
Совет: после обновления можно выполнить sudo apt upgrade -y, чтобы поставить свежие версии уже установленных пакетов.
2. Установка веб‑сервера и стека
bash
sudo apt install -y apache2 mariadb-server php libapache2-mod-php php-mysql php-mbstring php-curl php-zip php-gd phpmyadmin
За что отвечает каждый пакет:
apache2 — веб‑сервер, который отдаёт страницы в браузере.
mariadb-server — СУБД (база данных), замена MySQL.
php — интерпретатор PHP для динамических сайтов.
libapache2-mod-php — модуль, который «подружит» Apache и PHP.
php-mysql (точнее, драйвер для работы с MariaDB) — чтобы PHP мог подключаться к базе.
php-mbstring, php-curl, php-zip, php-gd — полезные расширения: работа с многобайтовыми строками, HTTP‑запросы, архивами, графикой.
phpmyadmin — веб‑интерфейс для управления базой данных.
Важно: при установке phpmyadmin система может задавать вопросы (какой веб‑сервер выбрать, настраивать ли БД автоматически). Выбирай apache2 и соглашайся на автоматическую настройку — это упростит старт.
3. Автозапуск и запуск служб
bash
sudo systemctl enable --now apache2
sudo systemctl enable --now mariadb
Разбор:
enable — добавляет службу в автозагрузку (чтобы после перезагрузки сервера она стартовала сама).
--now — сразу запускает службу, не дожидаясь перезагрузки.
Проверить статус можно командой: systemctl status apache2 (или mariadb).
4. Подготовка папки для сайта
bash
cd /var/www/html
sudo rm index.html
/var/www/html — стандартная корневая папка сайта для Apache. Всё, что лежит здесь, доступно по адресу http://IP_сервера/.
rm index.html удаляет стандартную страницу «Apache2 Debian Default Page». После этого ты сможешь положить сюда свои файлы.
Как загрузить файлы:
Самый простой способ — scp с локальной машины:
scp -r папка_с_сайтом user@ip_address:/var/www/html/
Либо через SFTP в файловом менеджере (WinSCP, FileZilla и т. п.).
5. Настройка базы данных и пользователя
bash
sudo mariadb
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'сложный_пароль';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Пояснение:
CREATE DATABASE — создаёт базу mydb с правильной кодировкой (utf8mb4 поддерживает эмодзи и все символы).
CREATE USER — создаёт отдельного пользователя базы данных (не путать с пользователем Linux).
GRANT ALL PRIVILEGES — даёт этому пользователю полные права только на эту базу (это безопаснее, чем давать права на всё).
FLUSH PRIVILEGES — применяет изменения прав немедленно.
EXIT — выходит из консоли MariaDB.
Безопасность: используй сложный пароль вместо 'сложный_пароль'. Для генерации можно использовать openssl rand -base64 16 прямо на сервере.
6. Доступ к phpMyAdmin
После установки он доступен по адресу:
http://IP_сервера/phpmyadmin
Нюансы:
Для входа используй созданного пользователя (myuser) и его пароль — либо root‑пользователя базы данных, если он настроен.
phpMyAdmin — удобный инструмент для создания таблиц, импорта дампов, просмотра данных. Но в продакшене его лучше не оставлять открытым без пароля и HTTPS.
Частые проверки и полезные команды
Проверить, работает ли Apache: curl -I http://localhost или просто открыть http://IP_сервера в браузере. Должна появиться твоя страница (или пустая, если файлов ещё нет).
Посмотреть логи ошибок Apache: sudo tail -n 50 /var/log/apache2/error.log
Проверить статус MariaDB: sudo systemctl status mariadb
Войти в консоль базы без sudo: mariadb -u myuser -p -D mydb (введёт пароль интерактивно).
Важные замечания по безопасности
Фаервол: если на сервере включён UFW, открой порты:
sudo ufw allow 80/tcp (HTTP) и при необходимости sudo ufw allow 22/tcp (SSH).
Не используй root для сайта: для базы лучше иметь отдельного пользователя, как в примере.
HTTPS: для реального проекта обязательно нужен SSL‑сертификат (например, Let’s Encrypt).
phpMyAdmin в публичном доступе: это риск. В продакшене либо ограничивай доступ по IP, либо убирай его совсем и пользуйся консолью/клиентами.