---
title: "Установка LAMP на Ubuntu 24.04 — Timeweb Cloud"
description: "Пошаговая инструкция по установке LAMP на сервер с Ubuntu 24.04: Apache с настройкой виртуальных хостов, MySQL с базовой настройкой безопасности и PHP с необходимыми модулями."
---

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

LAMP — набор программного обеспечения (Linux, Apache, MySQL, PHP) с открытым исходным кодом, который обычно устанавливается на сервер для отображения динамических веб-сайтов и веб-приложений. 

В статье описан процесс установки LAMP на сервер с операционной системой Ubuntu 24.04.

> [!NOTE]
> LAMP также можно установить автоматически: при [создании нового сервера](https://timeweb.cloud/docs/cloud-servers/manage-servers/create-server) или [переустановке ОС](https://timeweb.cloud/docs/cloud-servers/manage-servers/os-reinstall).

## Установка Apache

Для установки веб-сервера выполните команды ниже:

```shell
sudo apt update
sudo apt install apache2
```

Далее добавьте Apache в автозагрузку:

```shell
sudo systemctl enable apache2
```

И запустите веб-сервер:

```shell
sudo systemctl start apache2
```

Чтобы проверить, что все работает корректно, введите в адресной строке браузера IP-адрес вашего сервера. Если установка прошла успешно, вы увидите стандартное приветственное окно Apache:

![Apache](https://content.timeweb.com/assets/bc117f53-357c-464c-b43d-7b16a040cf5b?width=599&height=507)

_Стандартное приветственное окно веб-сервера [Apache](https://httpd.apache.org/)_

### **Настройка виртуальных хостов**

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

Перед настройкой виртуального хоста добавьте домен сайта в раздел «[Домены и SSL](https://timeweb.cloud/my/domains)». Вы можете [перенести существующий домен](https://timeweb.cloud/docs/domains/domain-technical-transfer), [зарегистрировать новый](https://timeweb.cloud/docs/domains/registration-and-renewal) или воспользоваться бесплатным техническим доменом, чтобы протестировать работу сайта на сервере. По ссылкам вы найдете необходимые инструкции для данных процедур. 

Создайте директорию сайта (в примере используется `site1`, укажите вместо него удобное вам имя сайта / директории):

```shell
sudo mkdir /var/www/site1
sudo mkdir /var/www/site1/public_html
```

Установите права доступа:

```shell
sudo chmod -R 755 /var/www/site1
```

По умолчанию Apache содержит стандартный файл конфигурации `000-default.conf`, который хранится в директории `/etc/apache2/sites-available`. Файлы новых виртуальных хостов будут храниться здесь же.

Сначала отключите стандартный файл конфигурации командой:

```shell
sudo a2dissite 000-default
```

После чего создайте конфигурационный файл нового хоста:

```shell
sudo nano /etc/apache2/sites-available/site1.conf
```

Приведите его содержимое к следующему виду:

```bash
<VirtualHost *:80>
    ServerName site1.com
    ServerAlias www.site1.com
    ServerAdmin admin@localhost

    DocumentRoot /var/www/site1/public_html

    <Directory /var/www/site1/public_html>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/www/site1/error.log
    CustomLog /var/www/site1/access.log combined
</VirtualHost>
```

Сохраните файл.

Поясним приведенные выше параметры.

-   Блок `<VirtualHost>` включает в себя набор директив, задающих настройки для конкретного виртуального хоста.
    -   `ServerName` — имя созданного хоста, полное доменное имя вашего сайта.
    -   `ServerAlias` — альтернативное имя, по которому сайт тоже должен быть доступен. 
    -   `ServerAdmin` — e-mail администратора сервера.
    -   `DocumentRoot` — путь до корневой директории, в которой хранятся файлы сайта `site1`.
-   Блок `<Directory>` задает настройки, которые будут применены для конкретной папки (`/var/www/site1/public_html`). В данном случае это: `AllowOverride All` — разрешение допускать настройки, заданные в `.htaccess`; и `Require all granted` — доступ к каталогу разрешен всем.
-   `ErrorLog` — расположение файла с логами ошибок (по умолчанию логи размещаются в директории `/var/log/apache2/error.log`, доступ к которой имеет только root-пользователь; поэтому для удобства обращения к логам можно задать для них другой путь).
-   `CustomLog` — расположение файла с логами доступа.

Этого набора директив достаточно для функционирования виртуального хоста, хотя список не является исчерпывающим. Со списком всех возможных директив и их описанием можно ознакомиться на сайте [Apache](https://httpd.apache.org/docs/2.4/mod/core.html).

Далее включите сайт следующей командой:

```shell
sudo a2ensite site1.conf
```

И перезапустите Apache:

```shell
sudo systemctl reload apache2
```

На этом этапе настройка виртуального хоста завершена. Для того, чтобы проверить корректность его работы, создайте индексный файл сайта:

```shell
nano /var/www/site1/public_html/index.html
```

Внесите в него любой HTML-код для проверки и сохраните документ. Например:

```html
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <title>Удалось!</title>
</head>
<body>
    <h1>Виртуальный хост работает!</h1>
</body>
</html>
```

Теперь введите в браузере адрес сайта, для которого вы настраивали виртуальный хост. Если все настройки были выполнены корректно, на экране будет выведено содержимое созданного выше индексного файла.

## Установка MySQL

Следующий этап — установка СУБД, то есть системы управления базами данных.

Для установки MySQL выполните команду:

```bash
sudo apt install mysql-server
```

После установки служба будет запущена автоматически.

Для подключения к СУБД выполните команду:

```bash
sudo mysql
```

При таком способе входа пароль не требуется.

Чтобы выйти из консоли MySQL, выполните команду:

```shell
\q
```

Чтобы выполнить базовую настройку безопасности, используйте команду:

```bash
sudo mysql_secure_installation
```

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

-   `Would you like to setup VALIDATE PASSWORD component` — при необходимости включите проверку сложности паролей (нажмите `y`) или пропустите этот шаг.
    
-   `Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG` — выберите уровень сложности паролей.
    
-   `Remove anonymous users` — нажмите `y`, чтобы удалить анонимных пользователей.
    
-   `Disallow root login remotely` — введите `y`, чтобы запретить удаленный доступ для `root`.
    
-   `Remove test database and access to it` — введите `y`, чтобы удалить тестовую базу.
    
-   `Reload privilege tables now` — введите `y`, чтобы применить изменения.
    

Для подключения к MySQL используйте команду:

```bash
sudo mysql
```

Если для пользователя `root` настроен вход по паролю, подключение можно выполнить командой:

```bash
mysql -u root -p
```

Для удобства работы с базами данных вы также можете установить phpMyAdmin [по нашей инструкции](https://timeweb.cloud/docs/unix-guides/installing-pma-on-ubuntu-with-lamp).

## Установка PHP

Установить PHP c несколькими основными модулями можно командой ниже: 

```shell
sudo apt install php libapache2-mod-php php-mysql
```

Можно добавить необходимые модули в команду выше или установить их по отдельности, также командой `apt install имя_модуля`.

Получить дополнительную информацию по каждому модулю можно с помощью команды:

```shell
sudo apt show имя_модуля
```

После того, как необходимые модули будут установлены, проверьте работу PHP. Для этого создайте php-файл в директории сайта:

```shell
nano /var/www/site1/public_html/test.php
```

Внесите в него следующее содержимое и сохраните файл:

```shell
<?php  
phpinfo();  
?>
```

Теперь перейдите по адресу `http://IP-адрес-сервера/test.php` (либо `http://вашдомен/test.php`) — если все в порядке, будет отображена страница с параметрами PHP.

![Scr 20260413 Lvfk](https://content.timeweb.com/assets/629cb36b-4aae-4a51-99b6-6e72b1eef5ca.png?width=2138&height=1668)

_Страница с параметрами [PHP](https://www.php.net/)_

При необходимости тестовый файл можно удалить командой ниже:

```shell
rm /var/www/site1/public_html/test.php
```

На этом установка LAMP на ваш сервер завершена.
