20.05.2024

Установка LAMP Ubuntu

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

Apache — это самый популярный веб-сервер, может, он не такой производительный, как Nginx, зато очень прост в настройке. PHP — самый популярный язык программирования для веб, а без базы данных вообще сейчас мало что работает.

В этой статье мы рассмотрим, как выполняется Установка LAMP Ubuntu 18.04 несколькими способами: с помощью утилиты tasksel или вручную с помощью установщика программ.

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

1. Установка пакетов с помощью tasksel

Tasksel — это утилита, которая позволяет устанавливать пакеты различных программ буквально в одну команду. Она разработана для Debian, но может использоваться и в Ubuntu. Для её установки выполните в терминале:

sudo apt install tasksel

Установка LAMP Ubuntu

Затем, чтобы установить Lamp на Ubuntu, достаточно выполнить такую команду:

sudo tasksel install lamp-server

Установка займёт кое-какое время, потому что утилите придётся скачать и настроить все пакеты, но потом вы получите полностью работающий стек LAMP.

Установка LAMP Ubuntu

2. Как установить Lamp в Ubuntu вручную

Если вы не хотите использовать tasksel, вы можете установить все пакеты по отдельности и настроить их для совместной работы. Сначала установим все необходимые пакеты. Установка последней версии Apache2 из репозиториев:

sudo apt install apache2

Установка LAMP Ubuntu

Установка базы данных MariaDB из репозиториев:

sudo apt install mariadb-server

Установка LAMP Ubuntu

Или вы можете установить MySQL:

sudo apt install mysql-server

Установка интерпретатора языка программирования PHP 7.2 и расширений, необходимых для его работы с Apache и MySQL:

sudo apt install php7.2 libapache2-mod-php7.2 php-mysql

Установка LAMP Ubuntu

Установка дополнительных расширений для PHP, которые вам понадобятся в будущем для хостинга большинства популярных проектов:

sudo apt install php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

Установка LAMP Ubuntu

3. Настройка брандмауэра

По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:

sudo ufw allow in 80/tcp

Установка LAMP Ubuntu

4. Проверка работы LAMP

Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, у меня это localhost:

Установка LAMP Ubuntu

Работает, теперь давайте проверим, правильно ли работает PHP. Создайте файл в директории /var/www/html со следующим содержимым:

sudo vi /var/www/html/phpinfo.php<?php phpinfo(); ?>

Установка LAMP Ubuntu

Затем откройте адрес localhost/phpinfo.php. Если всё работает, вы должны увидеть такую страничку:

Установка LAMP Ubuntu

Также можно проверить, работает ли MySQL: если расширение PHP для MySQL загрузилось, то на странице phpinfo будет размещена такая информация:

Установка LAMP Ubuntu

Готово, дальше идёт в основном настройка LAMP в Ubuntu 18.04.

5. Настройка Apache

Для обработки запросов будет использоваться модуль npm_prefork, так как он совместим с большинством систем. Поэтому его нужно активировать, а npm_event и npm_worker отключить:

sudo a2dismod npm_event
sudo a2dismod npm_worker
sudo a2enmod npm_prefork

Включаем mod_rewrite, который сейчас используется практически везде:

sudo a2enmod rewrite

Если вы хотите использовать файлы httaccess для настроек, то необходимо в файле /etc/apache2/apache2.conf изменить значение AllowOverride с None на All для нужных местоположений, например, для /var/www:

sudo vi /etc/apache2/apache2.conf

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Далее необходимо перезапустить Apache:

sudo systemctl restart apache2

Подробнее про настройку веб-сервера читайте в отдельной статье установка и настройка Apache.

6. Настройка PHP

По умолчанию короткие теги, обрамляющие скрипты PHP, отключены. Это может привести к тому, что некоторые скрипты, использующие эти теги, могут не выполнятся. Для включения этой возможности откройте файл:

sudo vi /etc/php/7.2/apache2/php.ini

Найдите short_open_tag = Off и замените на:

short_open_tag = On

Установка LAMP Ubuntu

Вывод ошибок в PHP по умолчанию тоже отключён. Если вы хотите разрабатывать программы на этом сервере, то вам необходимо включить ошибки, иначе вместо ошибок вы будете видеть пустой экран. Для этого найдите эти строки и приведите их к такому виду:

error_reporting = E_ALL
display_errors = On

Установка LAMP Ubuntu

Установка LAMP Ubuntu

Или для записи ошибок в файл вы можете добавить такую строку:

error_log = php-errors.log

Установка LAMP Ubuntu

После внесения всех изменений необходимо перезапустить Apache:

sudo systemctl restart apache2

Подробнее про настройку файла php.ini смотрите здесь.

7. Настройка MySQL

По умолчанию MySQL не очень хорошо настроена в плане безопасности. Нам нужно задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале:

sudo mysql_secure_installation

На первом этапе утилита попросит вас ввести пароль суперпользователя, так как он ещё не задан, просто нажмите Enter:

Установка LAMP Ubuntu

Далее введите новый пароль:

Установка LAMP Ubuntu

Во всех следующих вопросах нужно отвечать утвердительно:

  • Запретить удалённый вход для root;
  • Запретить гостевой вход;
  • Удалить временные таблицы;
  • Обновить таблицы привилегий.

Установка LAMP Ubuntu

Готово, теперь ваша база данных защищена и готова к работе.

8. Удаление LAMP в Ubuntu

Чтобы полностью удалить LAMP из системы, достаточно удалить все пакеты, которые вы установили ранее:

sudo apt purge  apache2 mariadb-server php7.2 libapache2-mod-php7.2 php-mysql php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.

Если установка LAMP на Ubuntu выполнялась с помощью tasksel, то для удаления необходимо выполнить:

sudo tasksel uninstall lamp-server

Установка LAMP Ubuntu

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *