Как установить Apache, MariaDB и PHP (LAMP) на Debian 11 | Debian 10
Стек LAMP — это набор программных продуктов с открытым исходным кодом, которые часто используются вместе. Аббревиатура LAMP используется для описания компьютерной системы, состоящей из следующих компонентов: Linux, HTTP-сервер Apache (или просто сервер), MySQL и PHP/Perl/Python.
Пользователь может установить все эти компоненты отдельно на один компьютер или, что чаще, на отдельные компьютеры, соединенные сетью; однако некоторые компоненты зависят от других компонентов — например, невозможно установить Apache без предварительной установки Linux — поэтому стандартной практикой установки является установка всех компонентов в одной компьютерной системе.
Стек LAMP представляет собой комбинацию программного обеспечения с открытым исходным кодом для формирования серверной среды, наиболее часто используемой в веб-разработке.
Открытый исходный код относится к чему-либо, особенно к приложению или операционной системе, исходный код которого предоставляется для бесплатного использования или распространения, хотя могут применяться определенные ограничения пользователя. Это позволяет пользователям создавать копии любого продукта и вносить любые изменения, которые им нравятся.
Установка стека LAMP в Debian 11 будет показана в этой статье. После завершения у вас будет веб-сервер, который с легкостью будет обслуживать ваши сайты и приложения. Здесь мы покажем, как установить их вручную из терминала, если вам нужен полный контроль над настройками вашей системы, например, самостоятельное редактирование файлов конфигурации.
Обновление системы
Чтобы начать «лучшие практики», вы должны начать с обновления установленных пакетов в вашей системе. Вы можете сделать это либо из графического интерфейса, либо из интерфейса командной строки (оболочки).
sudo apt update
sudo apt upgrade
Установка Apache
Веб-сервер Apache — это бесплатная программа с открытым исходным кодом, которую можно использовать на различных типах компьютерных систем. Это самый используемый веб-сервер в мире. Проект веб-сервера Apache был запущен в 1995 году и сыграл ключевую роль в развитии всемирной паутины, предоставив платформу, которая позволяет любому свободно создавать свой собственный веб-сайт.
Вы можете установить apache на Debian 11, используя следующую команду. Эта команда вытянет все зависимости Apache и модули поддержки.
sudo apt-get install apache2 apache2-utils -y
После установки запустите и включите службу Apache, чтобы Apache загружался автоматически при загрузке.
sudo systemctl start apache2
sudo systemctl enable apache2
Apache прослушивает порт 80 для запросов HTTP и порт 443 для запросов HTTPS. Вы можете убедиться в этом, проверив порты прослушивания Apache с помощью команды ss (аналогично netstat ).
ss -antpl | grep apache2
Чтобы проверить, работает ли сервер Apache, используйте команду systemctl status для проверки его состояния.
sudo systemctl status apache2
Мы видим, что Apache активен, работает и включается при загрузке. Он выделяет 15,1 МБ памяти и имеет три процесса.
Служба Apache запущена. Однако лучший способ проверить это — запросить веб-страницу с сервера.
Вы можете запросить веб-страницу, указав в браузере IP-адрес или доменное имя вашего сервера.
http://<IP-адрес или доменное имя>
Страница Apache по умолчанию будет показана, если служба Apache работает правильно в вашей системе.
Установите сервер базы данных MariaDB
MariaDB — это система управления реляционными базами данных с открытым исходным кодом, которая обеспечивает замену MySQL. MariaDB, как и многие проекты и базы данных с открытым исходным кодом, бесплатна. Он разработан с учетом духа обмена и сотрудничества — настолько, что его название было переведено с Марии Деймон Бертон как «промоутер». Он официально принадлежит шведской компании MariaDB Corporation AB, которая является основным разработчиком MariaDB.
Вы можете установить MariaDB в Debian 11, используя следующую команду. Это приведет к извлечению всех зависимостей и модулей поддержки MariaDB.
sudo apt-get install mariadb-server -y
После установки запустите и включите службу Mariadb, чтобы MariaDB загружалась автоматически при загрузке.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Чтобы проверить, работает ли сервер MariaDB, используйте команду systemctl status для проверки его состояния.
sudo systemctl status mariadb
Этот сценарий проведет вас через серию подсказок, которые помогут вам сделать вашу установку MariaDB безопасной.
В первом запросе вас попросят ввести пароль для администратора root. Вы вводите текущий пароль для пользователя root. Поскольку вы не установили пароль root, просто нажмите Enter , если нет.
Следующее приглашение попросит вас переключиться на аутентификацию unix_socket, введите Y и нажмите Enter .
sudo mysql_secure_installation
Следующее приглашение проверяет, хотите ли вы создать пароль root для базы данных. Установка пароля root — важный шаг к обеспечению безопасности MariaDB. Это гарантирует, что никто не сможет получить доступ к вашей базе данных в качестве администратора без разрешения, и дает вам больше контроля над безопасностью в целом.
Введите Y и нажмите клавишу Enter . Укажите пароль по вашему выбору для пользователя root MariaDB. Вам нужно будет использовать этот пароль при подключении к приглашению MariaDB. Выберите пароль, который будет трудно угадать, но легко запомнить.
Для остальных подсказок вы можете ввести Y и нажать Enter , чтобы принять значения по умолчанию. Эти подсказки касаются удаления тестовой базы данных, запрета удаленного входа в систему root и перезагрузки таблиц привилегий.
Теперь, когда вы завершили защиту своей установки MariaDB. Вы можете проверить свое соединение с помощью утилиты mysqladmin, которая позволит установить связь с базой данных. Например, следующая команда позволяет нам подключиться как root и отобразить информацию о нашей версии установки MariaDB.
sudo mysqladmin version
Установка языка сценариев PHP
Если вы хотите создать динамичный и интерактивный веб-сайт, вам следует выбрать язык программирования PHP. Он широко используется на современных веб-страницах из-за его способности создавать отличную интерактивность с различными функциями, такими как, среди прочего, календари или корзины покупок.
Вы можете установить PHP с другими часто используемыми модулями, используя следующую команду.
sudo apt-get install php -y
sudo apt-get install php-mysql php libapache2-mod-php php-cli -y
Чтобы вывести список всех установленных модулей PHP, выполните следующую команду.
php -m
Чтобы проверить версию PHP, установленную на вашем компьютере, используйте команду php -v.
php -v
Вы можете протестировать свою установку PHP, написав простой php-код в файле, поместив его в корневой веб-каталог и выполнив его.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Перезапустите сервер Apache, чтобы получить доступ к php-файлу в браузере.
sudo systemctl restart apache2
Откройте веб-браузер и перейдите на страницу you_server_ip/info.php, где you_server_ip — это фактический IP-адрес вашего сервера.
ваш_сервер_ip/info.php
Этот URL-адрес откроет страницу, отображающую информацию о php, такую как версия и параметры конфигурации, используемые во время установки двоичных файлов php.
Создание виртуального хоста для Apache
На этом этапе ваш стек LAMP настроен и готов к работе. Дайте себе свободу размещения нескольких веб-сайтов, создав виртуальный хост, чтобы вы могли использовать этот сервер для всех будущих проектов. Виртуальные хосты — один из наиболее распространенных способов запуска веб-сайтов с помощью Apache. Виртуальный хост позволяет сопоставить несколько доменных имен (или псевдонимов) с одним IP-адресом. В большинстве случаев это делается для веб-серверов, на которых размещено несколько веб-сайтов с разными доменными именами с одного компьютера.
В этой части мы создадим виртуальный хост example.com . Не стесняйтесь заменять example.com своим собственным доменным именем, следуя инструкциям.
Первым шагом является создание корневых каталогов документов для каждого из сайтов, которые вы будете обслуживать со своего компьютера. В этом примере мы создадим каталог с именем /var/www/html/example.com.
sudo mkdir -p /var/www/html/example.com
Затем назначьте некоторые разрешения для этих каталогов.
sudo chown -R www-data:www-data /var/www/html/example.com
Теперь перейдите в /www/html/example.com , создайте файл example.html и заполните его следующими строками.
cd /var/www/html/example.com
sudo nano example.html
<html> <body> <center><h1>Hello World, infoit.com.ua!</h1></center> </body> </html>
Сохраните и закройте этот файл, когда закончите.
Теперь мы можем создать наш файл виртуального хоста. Откройте файл /etc/apache2/sites-available/example.com.conf в любом редакторе.
sudo nano /etc/apache2/sites-available/example.com.conf
Заполните файл следующими строками.
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName example.com DocumentRoot /var/www/html/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Сохраните и закройте этот файл, когда закончите.
Теперь мы можем включить этот виртуальный хост и перезапустить Apache2:
a2ensite domain1.com.conf a2ensite domain2.com.conf systemctl restart apache2
Вы можете проверить только что созданный виртуальный хост с помощью следующей команды.
apache2ctl configtest
Если все правильно, будет показан вывод OK .
Вы также можете снова проверить состояние службы Apache с помощью следующей команды.
Вы можете протестировать свои виртуальные хосты, зайдя на сайт example.com в веб-браузере после их настройки.
Убедитесь, что какие-либо ошибки или странное поведение сервера не отображаются на экране во время тестирования, например, загрузка только одной страницы в течение нескольких минут, сервер выдает сообщение об ошибке о невозможности получить доступ и т. д.
Вывод
В этом сообщении блога мы дали вам краткое введение в стек LAMP и показали, как установить его в системе Debian 11. Мы надеемся, что предоставленная информация поможет быстрее начать ваш проект веб-разработки. Если у вас есть какие-либо вопросы