В статье описан процесс установки LAMP на сервер с операционной системой Ubuntu 18.04.
Установка Apache
Для установки веб-сервера выполните команды ниже:
Код: Выделить всё
sudo apt update
sudo apt-get install apache2
Код: Выделить всё
sudo systemctl enable apache2
Код: Выделить всё
sudo systemctl start apache2
Apache
Настройка виртуальных хостов
Важной особенностью Apache является возможность создания виртуальных хостов, настраиваемых независимо друг от друга, что позволяет размещать на VDS-сервере сразу несколько сайтов. За конфигурацию каждого сайта будет отвечать конкретный виртуальный хост. Даже если на начальном этапе вы планируете размещать только один сайт на сервере, мы рекомендуем в любом случае использовать виртуальные хосты. Это обеспечит вам удобство администрирования и обслуживания вашего проекта, а в дальнейшем и легкость расширения при необходимости.
Перед настройкой виртуального хоста добавьте домен сайта в раздел «Домены». Вы можете перенести существующий домен, зарегистрировать новый или воспользоваться бесплатным техническим доменом, чтобы протестировать работу сайта на сервере. По ссылкам вы найдете необходимые инструкции для данных процедур.
Создайте директорию сайта (в примере используется site1, укажите вместо него удобное вам имя сайта / директории):
Код: Выделить всё
sudo mkdir /var/www/site1
sudo mkdir /var/www/site1/public_html
Код: Выделить всё
sudo chmod -R 755 /var/www
Сначала отключите стандартный файл конфигурации командой:
Код: Выделить всё
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>
Поясним приведенные выше параметры.
Этого набора директив достаточно для функционирования виртуального хоста, хотя список не является исчерпывающим. Со списком всех возможных директив и их описанием можно ознакомиться на сайте Apache.Блок <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 — расположение файла с логами доступа.
Далее включите сайт следующей командой:
Код: Выделить всё
sudo a2ensite site1
Код: Выделить всё
sudo systemctl restart apache2
Код: Выделить всё
nano /var/www/site1/public_html/index.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
Если вы устанавливаете MariaDB, выполните команду:
Код: Выделить всё
sudo apt-get install mariadb-server mariadb-client
Выполните команду ниже, чтобы запустить настройку базовых параметров безопасности:
Код: Выделить всё
sudo mysql_secure_installation
В случае с MySQL:
В случае с MariaDB:Enter current password for root — введите пароль суперпользователя БД.
Would you like to setup VALIDATE PASSWORD plugin — плагин валидации паролей. Его использование необязательно; при включении данного плагина все пароли, которые не соответствуют требованиям безопасности (слишком слабые) будут отвергаться MySQL. Для включения плагина нажмите y; либо нажмите любую другую клавишу, чтобы продолжить без запуска плагина.
Change the root password — нажмите n, чтобы не менять пароль.
Далее для обеих СУБД: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
Для выхода из консоли MySQL введите \q.
Для удобства работы с базами данных вы также можете установить phpMyAdmin по нашей инструкции.
Установка PHP
Установить PHP c несколькими основными модулями можно командой ниже:
Код: Выделить всё
sudo apt-get install php libapache2-mod-php php-mysql
Получить дополнительную информацию по каждому модулю можно с помощью команды:
Код: Выделить всё
sudo apt show имя_модуля
Код: Выделить всё
nano /var/www/site1/public_html/test.php
Код: Выделить всё
<?php
phpinfo();
?>
PHP
При необходимости тестовый файл можно удалить командой ниже:
Код: Выделить всё
nano rm /var/www/site1/public_html/test.php