Создать сайт или запустить локальный сервер на Убунту, шпаргалка
Как я настроил LAMP на Ubuntu
Личная шпаргалка. Главный вывод: не надо sudo везде, где можно.
Ключевой момент: одна команда
chown -R $USER:$USER /var/www/html — и дальше работаешь без sudo. В интернете часто пишут «продакшен-подход» для локальной машины, это лишнее.
1. Убрать конфликтующий nginx
sudo systemctl stop nginx
sudo systemctl disable nginx
sudo apt purge nginx nginx-common nginx-core nginx-full nginx-light
sudo apt autoremove --purge
sudo rm -rf /etc/nginx /var/log/nginx
2. Убедиться, что Apache работает
sudo systemctl status apache2
sudo systemctl start apache2
sudo systemctl enable apache2
3. Забрать права на папку сайта
sudo chown -R $USER:$USER /var/www/html
После этого никакого sudo для правки файлов в /var/www/html.
4. Убрать стандартные заглушки
mv /var/www/html/index.html /var/www/html/index.html.bak
rm /var/www/html/index.nginx-debian.html
rm /var/www/html/info.php.save
5. Создать базу данных и пользователя MySQL
CREATE DATABASE mysite_db;
CREATE USER 'mysite_user'@'localhost' IDENTIFIED BY 'parol123';
GRANT ALL PRIVILEGES ON mysite_db.* TO 'mysite_user'@'localhost';
FLUSH PRIVILEGES;
SHOW DATABASES;
exit;
6. Написать index.php
<?php
echo "<h1>Привет! Это мой первый сайт.</h1>";
try {
$pdo = new PDO('mysql:host=localhost;dbname=mysite_db;charset=utf8mb4',
'mysite_user', 'parol123');
echo "<p>✅ База данных подключена!</p>";
} catch (PDOException $e) {
echo "<p>❌ Ошибка подключения: " . $e->getMessage() . "</p>";
}
?>
7. Проверить в браузере
http://127.0.0.1/
Правила, которые я вывел
- Локально — владелец папки я.
chown $USER:$USER, и всё. - Продакшен — владелец
www-data, права 755/644, sudo для правок. - Не копировать продакшен-подход на локальную машину.
- Один веб-сервер на порту 80. Apache и nginx вместе — конфликт.
- Читать ошибки в браузере и в логах
/var/log/apache2/. - Ctrl + F5 — если кажется, что изменения «не применились».