Введение
В этом кратком руководстве мы расскажем об установке комплекта LAMP на сервере Ubuntu 20.04.
Более подробную версию этого обучающего руководства с подробным описанием каждого шага можно найти в статье Установка комплекта Linux, Apache MySQL, PHP (LAMP) в Ubuntu 20.04.
Предварительные требования
Для выполнения этого руководства вам потребуется доступ к серверу Ubuntu 20.04 с пользователем с правами sudo
.
Шаг 1 — Установка Apache
Обновите кэш диспетчера пакетов и установите Apache с помощью следующей команды:
- sudo apt update
- sudo apt install apache2
После завершения установки вам нужно будет изменить настройки брандмауэра, чтобы разрешить трафик HTTP на вашем сервере. Запустите следующую команду, чтобы разрешить внешний доступ к порту 80
(HTTP):
- sudo ufw allow in "Apache"
После добавления нового правила брандмауэра вы можете проверить, запущен ли сервер, запросив доступ к публичному IP-адресу или доменному имени сервера из вашего веб-браузера. Страница будет выглядеть следующим образом:
Шаг 2 — Установка MySQL
Теперь мы установим MySQL, популярную СУБД, используемую в средах PHP.
Используйте apt
для получения и установки этого программного обеспечения:
- sudo apt install mysql-server
После завершения установки рекомендуется запустить скрипт безопасности, входящий в комплект MySQL. Для запуска интерактивного скрипта введите следующую команду:
- 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 и его зависимостей выполните следующую команду:
- sudo apt install php libapache2-mod-php php-mysql
После завершения установки вы можете использовать следующую команду для подтверждения вашей версии PHP:
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:
- sudo mkdir /var/www/your_domain
Затем необходимо назначить права владения для каталога с помощью переменной среды $USER
, которая будет использоваться для текущего системного пользователя:
- sudo chown -R $USER:$USER /var/www/your_domain
После этого откройте новый файл конфигурации в каталоге Apache sites-available
с помощью любого редактора командной строки.
- 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
для активации нового виртуального хоста:
- sudo a2ensite your_domain
Чтобы отключить сайт Apache по умолчанию, введите следующую команду:
- sudo a2dissite 000-default
Чтобы убедиться в отсутствии ошибок синтаксиса в вашем файле конфигурации, выполните команду:
- sudo apache2ctl configtest
В заключение перезагрузите Apache, чтобы эти изменения вступили в силу:
- sudo systemctl reload apache2
Теперь ваш новый веб-сайт активен, но корневой веб-каталог /var/www/your_domain
все еще пуст. Создайте файл index.html
в этом расположении, чтобы убедиться, что виртуальный хост работает, как ожидалось:
- 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
Страница будет выглядеть следующим образом:
Шаг 5 — Тестирование PHP с помощью Apache
Теперь мы создадим тестовый скрипт PHP для подтверждения возможности обрабатывать и обрабатывать запросы файлов PHP в Apache.
Создайте новый файл с именем info.php
в корневой папке сайта:
- 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 с помощью данной страницы рекомендуется удалить созданный вами файл, поскольку он содержит конфиденциальную информацию о вашей среде PHP и о вашем сервере Ubuntu. Для этого можно использовать rm
:
- sudo rm /var/www/your_domain/info.php
Другие обучающие руководства
Ниже представлены ссылки на более подробные материалы, связанные с настоящим обучающим руководством: