Страница 1 из 1

Установка LAMP на Ubuntu

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

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

Установка Apache

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

Код: Выделить всё

sudo apt update
sudo apt-get install apache2
Далее добавьте Apache в автозагрузку:

Код: Выделить всё

sudo systemctl enable apache2
И запустите веб-сервер:

Код: Выделить всё

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

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.

PHP

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

Код: Выделить всё

nano rm /var/www/site1/public_html/test.php
На этом установка LAMP на ваш сервер завершена.