// Tutorial //

Установка комплекта Linux, Apache, MySQL, PHP (LAMP) в Ubuntu 20.04 [Краткое руководство]

Published on May 21, 2020
Default avatar
By Erika Heidi
Developer Advocate
Установка комплекта Linux, Apache, MySQL, PHP (LAMP) в Ubuntu 20.04 [Краткое руководство]

Введение

В этом кратком руководстве мы расскажем об установке комплекта LAMP на сервере Ubuntu 20.04.

Более подробную версию этого обучающего руководства с подробным описанием каждого шага можно найти в статье Установка комплекта Linux, Apache MySQL, PHP (LAMP) в Ubuntu 20.04.

Предварительные требования

Для выполнения этого руководства вам потребуется доступ к серверу Ubuntu 20.04 с пользователем с правами sudo.

Шаг 1 — Установка Apache

Обновите кэш диспетчера пакетов и установите Apache с помощью следующей команды:

  1. sudo apt update
  2. sudo apt install apache2

После завершения установки вам нужно будет изменить настройки брандмауэра, чтобы разрешить трафик HTTP на вашем сервере. Запустите следующую команду, чтобы разрешить внешний доступ к порту 80 (HTTP):

  1. sudo ufw allow in "Apache"

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

Ubuntu 20.04 Apache по умолчанию

Шаг 2 — Установка MySQL

Теперь мы установим MySQL, популярную СУБД, используемую в средах PHP.

Используйте apt для получения и установки этого программного обеспечения:

  1. sudo apt install mysql-server

После завершения установки рекомендуется запустить скрипт безопасности, входящий в комплект MySQL. Для запуска интерактивного скрипта введите следующую команду:

  1. sudo mysql_secure_installation

Скрипт запросит подтверждение настройки плагина VALIDATE PASSWORD PLUGIN. Выберите Y для активации или любой другой вариант, чтобы продолжить без активации этой функции. Если вы выберете ответ «yes» («Да»), вам будет предложено выбрать уровень подтверждения паролем.

Затем сервер попросит вас выбрать и подтвердить пароль для пользователя root MySQL. Хотя в MySQL метод аутентификации пользователя root по умолчанию не требует использования пароля даже при его наличии, задайте надежный пароль для обеспечения дополнительной безопасности.

Для всех остальных вопросов нужно выбирать Y и нажимать ENTER в каждом диалоге.

Примечание. На момент написания этого руководства родная библиотека MySQL PHP mysqlnd не поддерживает caching_sha2_authentication, метод аутентификации MySQL 8 по умолчанию. Поэтому при создании пользователей базы данных для приложений PHP на MySQL 8 вам нужно убедиться, что они настроены на использование вместо этого пароля mysql_native_password. Подробнее об этой процедуре можно узнать в шаге 6 нашего подробного руководства по установке LAMP в Ubuntu 20.04.

Шаг 3 — Установка PHP

Для установки PHP и его зависимостей выполните следующую команду:

  1. sudo apt install php libapache2-mod-php php-mysql

После завершения установки вы можете использовать следующую команду для подтверждения вашей версии PHP:

  1. php -v
Output
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Шаг 4 — Создание виртуального хоста для сайта

В этом руководстве мы настроим домен your_domain, но вы должны заменить это имя собственным доменным именем.

В Apache в Ubuntu 20.04 по умолчанию включен один серверный блок, настроенный на обслуживание документов из каталога /var/www/html. Вместо изменения /var/www/html мы создадим внутри /var/www структуру каталогов для нашего сайта your_domain, оставив /var/www/html​​​ в качестве каталога по умолчанию для вывода в случае, если запросу клиента не соответствуют никакие другие сайты.

Создайте следующий каталог для your_domain:

  1. sudo mkdir /var/www/your_domain

Затем необходимо назначить права владения для каталога с помощью переменной среды $USER, которая будет использоваться для текущего системного пользователя:

  1. sudo chown -R $USER:$USER /var/www/your_domain

После этого откройте новый файл конфигурации в каталоге Apache sites-available с помощью любого редактора командной строки.

  1. sudo nano /etc/apache2/sites-available/your_domain.conf

В результате будет создан новый пустой файл. Вставьте следующую пустую конфигурацию:

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerName your_domain
    ServerAlias www.your_domain
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Сохраните и закройте файл после завершения. Если вы используете nano, нажмите CTRL+X, а затем Y и ENTER.

Теперь вы можете использовать a2ensite для активации нового виртуального хоста:

  1. sudo a2ensite your_domain

Чтобы отключить сайт Apache по умолчанию, введите следующую команду:

  1. sudo a2dissite 000-default

Чтобы убедиться в отсутствии ошибок синтаксиса в вашем файле конфигурации, выполните команду:

  1. sudo apache2ctl configtest

В заключение перезагрузите Apache, чтобы эти изменения вступили в силу:

  1. sudo systemctl reload apache2

Теперь ваш новый веб-сайт активен, но корневой веб-каталог /var/www/your_domain все еще пуст. Создайте файл index.html в этом расположении, чтобы убедиться, что виртуальный хост работает, как ожидалось:

  1. nano /var/www/your_domain/index.html

Внесите в файл следующее:

/var/www/your_domain/index.html
<html>
  <head>
    <title>your_domain website</title>
  </head>
  <body>
    <h1>Hello World!</h1>

    <p>This is the landing page of <strong>your_domain</strong>.</p>
  </body>
</html>

Откройте браузер и введите в адресную строку доменное имя вашего сервера или IP-адрес:

http://server_domain_or_IP

Страница будет выглядеть следующим образом:

Тестирование виртуального хоста Apache

Шаг 5 — Тестирование PHP с помощью Apache

Теперь мы создадим тестовый скрипт PHP для подтверждения возможности обрабатывать и обрабатывать запросы файлов PHP в Apache.

Создайте новый файл с именем info.php в корневой папке сайта:

  1. nano /var/www/your_domain/info.php

В результате откроется пустой файл. Добавьте в файл следующее:

/var/www/your_domain/info.php
<?php
phpinfo();

После завершения редактирования сохраните и закройте файл.

Откройте браузер и введите доменное имя или IP-адрес вашего сервера, а затем название скрипта, в данном случае info.php:

http://server_domain_or_IP/info.php

Вы увидите приблизительно следующую страницу:

PHP info в Ubuntu 20.04

После проверки соответствующей информации о вашем сервере PHP с помощью данной страницы рекомендуется удалить созданный вами файл, поскольку он содержит конфиденциальную информацию о вашей среде PHP и о вашем сервере Ubuntu. Для этого можно использовать rm:

  1. sudo rm /var/www/your_domain/info.php

Другие обучающие руководства

Ниже представлены ссылки на более подробные материалы, связанные с настоящим обучающим руководством:


Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Developer Advocate

Dev/Ops passionate about open source, PHP, and Linux.

Still looking for an answer?

Was this helpful?
Leave a comment