Помощь

Настройка LAMP на Ubuntu

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

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

Существует также возможность автоматической установки LAMP: это можно сделать при заказе сервера на сайте или при создании нового сервера через панель управления, а также при переустановке операционной системы.

Установка Apache

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

sudo apt update
sudo apt-get install apache2

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

sudo systemctl enable apache2

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

sudo systemctl start apache2

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

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

Особенностью Apache является возможность создания виртуальных хостов, которые настраиваются независимо друг от друга. Это позволяет размещать на сервере несколько сайтов. Каждый сайт будет настроен как отдельный виртуальный хост, что обеспечивает гибкость и удобство администрирования.

Перед созданием виртуального хоста добавьте домен сайта в раздел "Домены". Вы можете использовать существующий домен, зарегистрировать новый или воспользоваться бесплатным техническим доменом для тестирования. Инструкции для этих процедур доступны по предоставленным ссылкам.

Создайте директорию для вашего сайта (в данном примере используется имя "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 — это адрес электронной почты администратора сервера.
  • 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

После этого потребуется установить пароль суперпользователя базы данных и подтвердить его, как показано ниже:

  • Если вы выбрали 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 — это опция для включения или выключения плагина проверки паролей. Вы можете использовать ее по своему усмотрению. Если включить, то будут применяться требования к безопасности паролей; нажмите "y", чтобы включить, или любую другую клавишу, чтобы продолжить без включения.
  • Change the root password — выберите "n", чтобы не изменять пароль суперпользователя.

Для MariaDB:

  • Enter current password for root — нажмите Enter.
  • Change the root password — нажмите "y", чтобы задать новый пароль суперпользователя базы данных.
  • 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 с несколькими основными модулями, выполните следующую команду:

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 на вашем сервере завершена.

Остались вопросы - пишите