На главную
- Инструкции для UNIX-систем
- Обзор
- Подключение к серверу по SSH
- Подключение к серверу по SFTP
- Авторизация по SSH-ключу
- Смена или сброс пароля root
- Смена пароля root для MySQL
- Добавление пользователей
- Управление правами доступа
- Защита SSH от подбора пароля. Fail2ban
- Создание дампа базы и восстановление данных
- Установка LAMP на Ubuntu
- Установка phpMyAdmin на Ubuntu с LAMP
- Установка SSL-сертификата на Nginx
- Установка модулей PHP (CentOS)
- Установка модулей PHP (Debian / Ubuntu)
- Настройка параметров PHP (CentOS)
- Настройка параметров PHP (Debian / Ubuntu)
- Настройка перенаправлений
- Настройка перенаправлений (Nginx)
- Настройка FTP в Ubuntu 20.04
- Оптимизация MySQL с помощью MySQLTuner
- Сканирование с помощью ClamAV
- Управление службами в systemd
- Логирование в systemd
- Аудит системных событий
- Добавление дополнительного IP
- Настройка статического IP
- Добавление и удаление диска
- Изменение размера диска
- Монтирование резервных копий
- Создание swap, изменение его размера
- Установка и удаление программ. Менеджеры пакетов
- Установка графической оболочки XFCE на Ubuntu
- Настройка iptables
- Настройка OpenVPN
- Установка произвольной ОС на сервер
- Удаленный доступ к MySQL
- Установка QEMU-агента
- Установка Zabbix-агента
- Установка и работа с PostgreSQL
- Установка почтового сервера iRedMail
- Настройка почтового сервера iRedMail
- Установка SSL на сервер с Keitaro
- Запуск Wordpress на сервере c Ubuntu
- Запуск бота в фоновом режиме
- Установка сертификатов Минцифры
- Подготовка образа для создания облачного сервера
- Создание и развертывание образа с помощью утилиты dd
- Установка Minecraft на CentOS 7
- Запуск сервера Minecraft
- Запуск сервера с CS 1.6 и EngineGP
- Запуск сервера RageMP
- Настройка Outline VPN
- Диагностика и решение проблем
- Инструкции для Windows
- Панели управления
Установка LAMP на Ubuntu
LAMP — набор программного обеспечения (Linux, Apache, MySQL, PHP) с открытым исходным кодом, который обычно устанавливается на сервер для отображения динамических веб-сайтов и веб-приложений.
В статье описан процесс установки LAMP на сервер с операционной системой Ubuntu 18.04.
LAMP также можно установить автоматически: при заказе сервера на сайте или создании нового сервера в панели управления, а также при переустановке ОС.
Установка Apache
Для установки веб-сервера выполните команды ниже:
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
Следующий этап — установка СУБД, то есть системы управления базами данных.
Самый распространенный вариант — это MySQL, но вместо нее можно, например, установить MariaDB. Управление MariaDB принципиально не отличается от MySQL, и вы можете без особых затруднений попробовать использовать именно MariaDB, чтобы самостоятельно оценить работу с ней. Почти полная совместимость MariaDB с MySQL позволит вам в случае необходимости легко заменить одну СУБД на другую (аналогичной версии) без опасения потерять какие-либо данные и необходимости изменять настройки остального ПО.
- Если вы устанавливаете MySQL, выполните команду:
sudo apt-get install mysql-server
Далее будет необходимо задать пароль суперпользователя БД и нажать Enter, после чего повторить ввод пароля:
- Если вы устанавливаете MariaDB, выполните команду:
sudo apt-get install mariadb-server mariadb-client
Следующие шаги практически идентичны для обеих СУБД.
Выполните команду ниже, чтобы запустить настройку базовых параметров безопасности:
sudo mysql_secure_installation
Далее последовательно ответьте на запросы системы.
В случае с MySQL:
- Enter current password for root — введите пароль суперпользователя БД.
- Would you like to setup VALIDATE PASSWORD plugin — плагин валидации паролей. Его использование необязательно; при включении данного плагина все пароли, которые не соответствуют требованиям безопасности (слишком слабые) будут отвергаться MySQL. Для включения плагина нажмите y; либо нажмите любую другую клавишу, чтобы продолжить без запуска плагина.
- Change the root password — нажмите
n
, чтобы не менять пароль.
В случае с MariaDB:
- Enter current password for root — нажмите Enter.
- Change the root password — нажмите
y
, чтобы задать пароль root-пользователя базы данных. - New password — введите нужный пароль.
- Re-enter new password — повторно введите пароль.
Далее для обеих СУБД:
- Remove anonymous users — нажмите
y
, чтобы удалить анонимных пользователей. - Disallow root login remotely — введите
y
, чтобы запретить удаленный доступ для root. - Remove test database and access to it — нажмите
y
, чтобы удалить тестовую базу. - Reload privilege tables now — введите
y
, чтобы обновить таблицы привилегий пользователей.
База данных установлена.
Для подключения к БД используйте команду:
mysql -u root -p
Далее потребуется ввести пароль root, заданный при настройке БД.
Для выхода из консоли MySQL введите \q
.
Для удобства работы с базами данных вы также можете установить phpMyAdmin по нашей инструкции.
Установка PHP
Установить 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 на ваш сервер завершена.