Image

(Последнее изменение: 23.03.2023)
В этом руководстве показано, как установить стек LAMP в Ubuntu 20.04 LTS. Программный стек — это набор программных инструментов, объединенных вместе. LAMP означает Linux, Apache, MariaDB/MySQL и PHP, все они имеют открытый исходный код и бесплатны для использования. Это наиболее распространенный программный стек, который поддерживает динамические веб-сайты и веб-приложения. Linux — это операционная система; Apache — это веб-сервер; MariaDB/MySQL — это сервер базы данных, а PHP — это серверный язык сценариев, отвечающий за создание динамических веб-страниц. В данном руководстве мы выполняем установку от пользователя root, если у Вас обычный, используйте команду sudo.


Конфигурация преднастроенного сервера доступна на форме заказа.

1. Обновите пакеты программного обеспечения

Прежде чем мы установим стек LAMP, рекомендуется обновить репозиторий и пакеты программного обеспечения. Выполните следующие команды в ОС Ubuntu 20.04.

apt update
apt upgrade

2. Установите веб-сервер Apache

Введите следующую команду, чтобы установить веб-сервер Apache. Пакет apache2-utils установит некоторые полезные утилиты, такие как инструмент для тестирования HTTP-сервера Apache (ab).

apt install -y apache2 apache2-utils


После установки Apache должен автоматически запуститься. Проверьте его статус с помощью systemctl.

systemctl status apache2

Если он не запущен, используйте systemctl для его запуска.

systemctl start apache2

Также рекомендуется включить автоматический запуск Apache во время загрузки системы.

systemctl enable apache2

Теперь введите общедоступный IP-адрес вашего сервера Ubuntu 20.04 в адресной строке браузера. Вы должны увидеть надпись «Это работает!» Веб-страница, что означает, что веб-сервер Apache работает правильно. Если вы устанавливаете LAMP на свой локальный компьютер с Ubuntu 20.04, введите 127.0.0.1 или localhost в адресной строке браузера.

Если соединение отклонено или не может быть установлено, возможно, брандмауэр блокирует входящие запросы на порт TCP 80. Если вы используете брандмауэр iptables, вам необходимо выполнить следующую команду, чтобы открыть порт TCP 80.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Если вы используете брандмауэр UFW, выполните эту команду, чтобы открыть TCP-порт 80.

ufw allow http

Теперь нам нужно установить www-data (пользователя Apache) в качестве владельца корня документа (иначе известного как веб-корень). По умолчанию он принадлежит пользователю root.

chown www-data:www-data /var/www/html/ -R

По умолчанию Apache использует системное имя хоста в качестве своего глобального имени сервера. Если системное имя хоста не может быть разрешено в DNS, вы, вероятно, увидите следующую ошибку после запуска команды #apache2ctl -t.

AH00558: apache2: не удалось надежно определить полное доменное имя сервера, используя 127.0.0.1. Установите директиву 'ServerName' глобально, чтобы подавить это сообщение.


Чтобы решить эту проблему, мы можем установить глобальное имя сервера в Apache. Используйте текстовый редактор командной строки Nano, чтобы создать новый файл конфигурации. Добавьте следующую строку в этот файл:

nano /etc/apache2/conf-available/servername.conf

ServerName localhost

Сохраните и закройте файл. Чтобы сохранить файл в текстовом редакторе Nano, нажмите Ctrl+O, затем нажмите Enter для подтверждения. Чтобы выйти, нажмите Ctrl+X. Затем включите этот файл конфигурации.

a2enconf servername.conf

Перезагрузите Apache, чтобы изменения вступили в силу.

systemctl restart apache2

Теперь, если вы снова запустите команду #apache2ctl -t, вы не увидите приведенное выше сообщение об ошибке.

3. Установите сервер базы данных MariaDB

MariaDB является заменой MySQL. Он разработан бывшими членами команды MySQL, которые обеспокоены тем, что Oracle может превратить MySQL в продукт с закрытым исходным кодом. Введите следующую команду, чтобы установить MariaDB в Ubuntu 20.04.

apt install mariadb-server mariadb-client

После установки сервер MariaDB должен автоматически запуститься. Используйте systemctl, чтобы проверить его статус.

systemctl status mariadb

Если он не запущен, запустите его с помощью этой команды:

systemctl start mariadb

Чтобы разрешить автоматический запуск MariaDB во время загрузки, запустите

systemctl enable mariadb

Теперь запустите сценарий безопасности после установки.

mysql_secure_installation

Когда вас попросят ввести пароль root для MariaDB, нажмите клавишу Enter, так как пароль root еще не установлен. Затем введите y, чтобы установить пароль root для сервера MariaDB.

Затем вы можете нажать Enter, чтобы ответить на все оставшиеся вопросы, что приведет к удалению анонимного пользователя, отключению удаленного входа в систему root и удалению тестовой базы данных. Этот шаг является основным требованием для обеспечения безопасности базы данных MariaDB. (Обратите внимание, что Y пишется с большой буквы, что означает, что это ответ по умолчанию.)

По умолчанию пакет MariaDB в Ubuntu использует unix_socket для аутентификации пользователя, что в основном означает, что вы можете использовать имя пользователя и пароль ОС для входа в консоль MariaDB. Таким образом, вы можете запустить следующую команду для входа в систему, не предоставляя root-пароль MariaDB.

mariadb -u root

Для выхода запустите

exit;

4. Установите PHP7.4

На момент написания этой статьи PHP7.4 является последней стабильной версией PHP и имеет незначительное преимущество в производительности по сравнению с PHP7.3. Введите следующую команду, чтобы установить PHP7.4 и некоторые распространенные модули PHP.

apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline

Включите модуль Apache php7.4, затем перезапустите веб-сервер Apache.

a2enmod php7.4
systemctl restart apache2

Чтобы протестировать сценарии PHP с сервером Apache, нам нужно создать файл info.php в корневом каталоге документа.

nano /var/www/html/info.php

<?php phpinfo(); ?>


Чтобы сохранить файл в текстовом редакторе Nano, нажмите Ctrl+O, затем нажмите Enter для подтверждения. Чтобы выйти, нажмите Ctrl+X. Теперь в адресной строке браузера введите server-ip-address/info.php. Замените server-ip-address вашим фактическим IP-адресом. Если вы следуете этому руководству на своем локальном компьютере, введите 127.0.0.1/info.php или localhost/info.php.

Вы должны увидеть информацию PHP вашего сервера. Это означает, что PHP-скрипты могут правильно работать с веб-сервером Apache.

Существует два основных способа запуска PHP-кода на веб-сервере Apache:

  • PHP-модуль Apache
  • PHP-FPM

В приведенных выше шагах модуль Apache PHP7.4 используется для обработки PHP-кода, что обычно нормально. Но в некоторых случаях вам нужно вместо этого запускать PHP-код с помощью PHP-FPM. Вот как это сделать:

Отключите модуль Apache PHP7.4.

a2dismod php7.4

Установите PHP-FPM.

apt install php7.4-fpm

Включите модуль proxy_fcgi и setenvif.

a2enmod proxy_fcgi setenvif

Включите файл конфигурации /etc/apache2/conf-available/php7.4-fpm.conf

a2enconf php7.4-fpm

Перезапустите Apache, чтобы изменения вступили в силу.

systemctl restart apache2

Теперь, если вы обновите страницу info.php в своем браузере, вы обнаружите, что API-интерфейс сервера изменен с обработчика Apache 2.0 на FPM/FastCGI, что означает, что веб-сервер Apache будет передавать запросы PHP в PHP-FPM.

LAMP (Apache, MariaDB и PHP7.4) успешно установлен на Ubuntu 20.04. Все эти действия уже выполнены в предустановленной конфигурации LAMP Ubuntu 20.04 для VPS серверов в форме заказа.




Нет комментариев