LAMP (Linux, Apache, MySQL/MariaDB, PHP) — это популярный стек технологий, используемый для разработки веб-приложений и сайтов. Установка LAMP на ПК с операционной системой Ubuntu 24.04 — это отличный способ начать работать с динамическими веб-приложениями и тестировать свои проекты в локальной среде. В этой статье мы шаг за шагом рассмотрим процесс установки всех компонентов LAMP на Desktop-версию Ubuntu, начиная с подготовки системы и заканчивая проверкой работы сервера.
Если вы хотите создать собственный веб-сайт, протестировать свои веб-программы или просто изучить веб-разработку, установка LAMP на ваш компьютер станет важным шагом в этом процессе. Мы сделаем все максимально просто и понятно, чтобы вы могли быстро настроить рабочее окружение для своих проектов.
Подготовка системы
Для начала нам необходимо подготовить систему. Сделаем обновление списка пакетов репозиториев:
sudo apt update && apt upgrade -y
Это гарантирует, что система имеет актуальные пакеты и исправления безопасности.
Apache
Установим веб-сервер Apache:
sudo apt install apache2 -y
это популярный веб-сервер, который будет обрабатывать HTTP-запросы.
Для проверки успешной установки и его работы введите в командной строке:
sudo systemctl status apache2
Если статус active (running), то всё в порядке.
Теперь открой браузер и перейди по адресу http://localhost. Вы должны увидеть страницу Apache «It works!».
После проверки успешной установки — мы переходим к созданию и настройке виртуальных хостов.
Для начала создадим директорию, где будет располагаться наш будущий сайт:
sudo mkdir -p /var/www/your_site.local
Замените your_site.local на свои и нажмите Enter. Это создаст новую директорию по указанному нами адресу.
Задайте права доступа для директории:
sudo chown -R $USER:$USER /var/www/your_site.local
Тут тоже не забудьте указать именно вашу директорию.
Для создания тестового сайта можно сделать:
echo "<h1>Welcome to my 1-st site</h1>" | sudo tee /var/www/your_site.local/index.html
И создадим конфигурацию для виртуального хоста:
sudo nano /etc/apache2/sites-available/your_site.local.conf
Со следующим содержимым:
<VirtualHost *:80>
ServerName your_site.local
DocumentRoot /var/www/your_site.local
<Directory /var/www/your_site.local>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/your_site.local_error.log
CustomLog ${APACHE_LOG_DIR}/your_site.local_access.log combined
</VirtualHost>
Сохраняйте файл (Ctrl+o, и Enter) и выходите (Ctrl+x).
Теперь сайт необходимо включить:
sudo a2ensite your_site.local.conf
Уже почти все готово для того, чтоб открыть браузер, ввести в него http://your_site.local и наслаждаться результатом. Осталось только прописать локальный DNS через /etc/hosts:
sudo nano /etc/hosts
И добавляем в конец файла следующее:
127.0.0.1 your_site.local
Сохраняем и выходим (Ctrl+o, Enter, Ctrl+x).
Теперь, если ввести в браузере http://your_site.local, то вы увидите приветствие вашего первого сайта.
Установка MySQL
Установка СУБД MySQL через консоль происходит так-же как и любого другого:
sudo apt install mysql-server -y
Запустим скрипт безопасной настройки MySQL:
sudo mysql_secure_installation
Этот скрипт задаст несколько вопросов:
- Установить плагин проверки пароля? (Yes)
- Выбрать уровень сложности пароля (например, 2 — STRONG).
- Задать пароль для пользователя root.
- Удалить анонимных пользователей? (Yes)
- Запретить удалённый вход для root? (Yes)
- Удалить тестовую базу данных? (Yes)
- Перезагрузить привилегии? (Yes)
Теперь войдем в MySQL:
sudo mysql -u root -p
Начиная с версии MySQL 5.7 по умолчанию аутентификация настроена через unix_socket, что может быть неудобно для работы. Исправить это можно следующим образом:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_secure_password';
Это изменит метод аутентификации пользователя root на аутентификацию по паролю.
Затем необходимо сбросить привилегии и выйти из MySQL:
FLUSH PRIVILEGES;
EXIT;
Установка и первичная настройка MySQL завершена, и можно переходить к следующему этапу.
Установка PHP
Установим PHP и необходимые модули:
sudo apt install php libapache2-mod-php php-mysql -y
После установки давайте проверим какая версия у нас установилась:
php -v
В ответ вы получите что-то вроде:
PHP 8.3.6 (cli) (built: Dec 2 2024 12:36:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies
Далее необходимо проверить конфигурацию и работу PHP. Это можно сделать из консоли:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/your_site.local/info.php
Или создать вручную файл info.php в директории вашего сайта со следующим содержимым:
<?php
phpinfo();
</?>
Перейдите в браузер и откройте страницу http://your_site.local/info.php
Тут вы уже увидете все настройки и модули своего PHP.
После всех настроек, а так-же если что-то пошло не так — перезапустите Apache:
sudo systemctl restart apache2
и посмотрите его статус:
systemctl status apache2
Вы должны получить в ответ что-то вроде:
Apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-02-10 15:05:30 +05; 3h 20min left
Docs: https://httpd.apache.org/docs/2.4/
Process: 1413 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 1505 (apache2)
Tasks: 7 (limit: 16604)
Memory: 39.0M (peak: 39.3M)
CPU: 750ms
CGroup: /system.slice/apache2.service
├─xxxx /usr/sbin/apache2 -k start
└─xxx /usr/sbin/apache2 -k start
02 10 10:11:20 systemd[1]: Starting apache2.service - The Apache HTTP Server...
02 10 10:11:30 systemd[1]: Started apache2.service - The Apache HTTP Server.
Нас интересует строка Active: в ней должно быть указано active (running), который указывает, что Apache активный и запущен без проблем. При наличие каких-либо проблем — они будут указаны в низу сообщения.
Таким образом мы установили на свой ПК LAMP и теперь можем приступать к разработке своих проектов.
Что еще можно сделать или улучшить?
Настройте приоритеты php над html, чтоб при наличие в вашей директории двух файлов index.html и index.php, при открытии сайта браузером без указания конкретного файла, первым будет открываться файл php. Для этого необходимо сделать так:
sudo nano /etc/apache2/mods-enabled/dir.conf
И измените этот файл так, чтоб index.php стоял первым.
При необходимости, установите phpmyadmin, для удобного управления MySQL.
Добавить комментарий