Tutorial

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

Published on May 21, 2020

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

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

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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors
Default avatar

Developer Advocate

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

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.