LAMP — набор программного обеспечения (Linux, Apache, MySQL, PHP) с открытым исходным кодом, который обычно устанавливается на сервер для отображения динамических веб-сайтов и веб-приложений.
В статье описан процесс установки LAMP на сервер с операционной системой Ubuntu 18.04.
LAMP также можно установить автоматически: при заказе сервера на сайте или создании нового сервера в панели управления, а также при переустановке ОС.
Для установки веб-сервера выполните команды ниже:
sudo apt update
sudo apt-get install apache2
Далее добавьте Apache в автозагрузку:
sudo systemctl enable apache2
И запустите веб-сервер:
sudo systemctl start apache2
Чтобы проверить, что все работает корректно, введите в адресной строке браузера IP-адрес вашего сервера. Если установка прошла успешно, вы увидите стандартное приветственное окно Apache:
Важной особенностью Apache является возможность создания виртуальных хостов, настраиваемых независимо друг от друга, что позволяет размещать на VDS-сервере сразу несколько сайтов. За конфигурацию каждого сайта будет отвечать конкретный виртуальный хост. Даже если на начальном этапе вы планируете размещать только один сайт на сервере, мы рекомендуем в любом случае использовать виртуальные хосты. Это обеспечит вам удобство администрирования и обслуживания вашего проекта, а в дальнейшем и легкость расширения при необходимости.
Перед настройкой виртуального хоста добавьте домен сайта в раздел «Домены». Вы можете перенести существующий домен, зарегистрировать новый или воспользоваться бесплатным техническим доменом, чтобы протестировать работу сайта на сервере. По ссылкам вы найдете необходимые инструкции для данных процедур.
Создайте директорию сайта (в примере используется site1
, укажите вместо него удобное вам имя сайта / директории):
sudo mkdir /var/www/site1
sudo mkdir /var/www/site1/public_html
Установите права доступа:
sudo chmod -R 755 /var/www
По умолчанию Apache содержит стандартный файл конфигурации 000-default.conf
, который хранится в директории /etc/apache2/sites-available
. Файлы новых виртуальных хостов будут храниться здесь же.
Сначала отключите стандартный файл конфигурации командой:
sudo a2dissite 000-default
После чего создайте конфигурационный файл нового хоста:
sudo nano /etc/apache2/sites-available/site1.conf
Приведите его содержимое к следующему виду:
<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
— расположение файла с логами ошибок (по умолчанию логи размещаются в директории /etc/apache2/error.log
, доступ к которой имеет только root-пользователь; поэтому для удобства обращения к логам можно задать для них другой путь).CustomLog
— расположение файла с логами доступа.Этого набора директив достаточно для функционирования виртуального хоста, хотя список не является исчерпывающим. Со списком всех возможных директив и их описанием можно ознакомиться на сайте Apache.
Далее включите сайт следующей командой:
sudo a2ensite site1
И перезапустите Apache:
sudo systemctl restart apache2
На этом этапе настройка виртуального хоста завершена. Для того, чтобы проверить корректность его работы, создайте индексный файл сайта:
nano /var/www/site1/public_html/index.html
Внесите в него любой HTML-код для проверки и сохраните документ. Например:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Удалось!</title>
</head>
<body>
<h1>Виртуальный хост работает!</h1>
</body>
</html>
Теперь введите в браузере адрес сайта, для которого вы настраивали виртуальный хост. Если все настройки были выполнены корректно, на экране будет выведено содержимое созданного выше индексного файла.
Следующий этап — установка СУБД, то есть системы управления базами данных.
Самый распространенный вариант — это MySQL, но вместо нее можно, например, установить MariaDB. Управление MariaDB принципиально не отличается от MySQL, и вы можете без особых затруднений попробовать использовать именно MariaDB, чтобы самостоятельно оценить работу с ней. Почти полная совместимость MariaDB с MySQL позволит вам в случае необходимости легко заменить одну СУБД на другую (аналогичной версии) без опасения потерять какие-либо данные и необходимости изменять настройки остального ПО.
sudo apt-get install mysql-server
Далее будет необходимо задать пароль суперпользователя БД и нажать Enter, после чего повторить ввод пароля:
sudo apt-get install mariadb-server mariadb-client
Следующие шаги практически идентичны для обеих СУБД.
Выполните команду ниже, чтобы запустить настройку базовых параметров безопасности:
sudo mysql_secure_installation
Далее последовательно ответьте на запросы системы.
В случае с MySQL:
n
, чтобы не менять пароль.В случае с MariaDB:
y
, чтобы задать пароль root-пользователя базы данных.Далее для обеих СУБД:
y
, чтобы удалить анонимных пользователей.y
, чтобы запретить удаленный доступ для root.y
, чтобы удалить тестовую базу.y
, чтобы обновить таблицы привилегий пользователей.База данных установлена.
Для подключения к БД используйте команду:
mysql -u root -p
Далее потребуется ввести пароль root, заданный при настройке БД.
Для выхода из консоли MySQL введите \q
.
Для удобства работы с базами данных вы также можете установить phpMyAdmin по нашей инструкции.
Установить PHP c несколькими основными модулями можно командой ниже:
sudo apt-get install php libapache2-mod-php php-mysql
Можно добавить необходимые модули в команду выше или установить их по отдельности, также командой apt-get install имя_модуля
.
Получить дополнительную информацию по каждому модулю можно с помощью команды:
sudo apt show имя_модуля
После того, как необходимые модули будут установлены, проверьте работу PHP. Для этого создайте php-файл в директории сайта:
nano /var/www/site1/public_html/test.php
Внесите в него следующее содержимое и сохраните файл:
<?php
phpinfo();
?>
Теперь перейдите по адресу http://IP-адрес-сервера/test.php
(либо http://вашдомен/test.php
) — если всё в порядке, будет отображена страница с параметрами php.
При необходимости тестовый файл можно удалить командой ниже:
nano rm /var/www/site1/public_html/test.php
На этом установка LAMP на ваш сервер завершена.