Как установить стек LAMP в Debian 10 / Debian 11

В этом руководстве объясняется, как установить Apache, MariaDB и PHP (стек LAMP) в системе Debian 10 / Debian 11 Linux. LAMP - это аббревиатура от LinuxApacheMySQL / MariaDB и PHP . LAMP Stack - это не отдельный пакет, а набор инструментов с открытым исходным кодом, которые используются для поддержки веб-приложений и веб-сайтов. Каждый компонент может использоваться независимо для обслуживания приложения.

Установите стек LAMP в Debian 10 / Debian 11

LAMP Stack состоит из следующих приложений с открытым исходным кодом.
  • Linux - это операционная система, в которой размещены Приложения.
  • Apache - Apache HTTP - это бесплатный кроссплатформенный веб-сервер с открытым исходным кодом.
  • MySQL / MariaDB - система управления реляционными базами данных с открытым исходным кодом.
  • PHP - язык программирования / сценариев, используемый для разработки веб-приложений.
Вы можете использовать виртуальную машину в локальной среде, в облаке или на выделенном сервере для установки и настройки LAMP Stack в операционной системе Debian 10. Аиспользовать Учетная запись, используемая в этой настройке, требует прав sudo для установки программного обеспечения, редактирования файлов конфигурации и управления службами.

Шаг 1. Обновите Debian 10 / Debian 11

Прежде чем мы сможем начать установку пакетов LAMP Stack в Debian 10 / Debian 11, рекомендуется поддерживать репозиторий и пакеты в актуальном состоянии.
apt update && apt -y upgrade

Шаг 2: Установите сервер базы данных MariaDB

MariaDB - это система управления реляционными базами данных, созданная на основе MySQL. Это бесплатно и с открытым исходным кодом. Установите его, выполнив следующие команды.
apt install -y mariadb-server mariadb-client
Установленная версия MariaDB - 10.3.
# Debian 10
$ apt policy mariadb-server
mariadb-server:
  Installed: (none)
  Candidate: 1:10.3.29-0+deb10u1
  Version table:
     1:10.3.29-0+deb10u1 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
     1:10.3.25-0+deb10u1 500
        500 http://security.debian.org/debian-security buster/updates/main amd64 Packages

# Debian 11
$ apt policy mariadb-server
mariadb-server:
  Installed: 1:10.5.11-1
  Candidate: 1:10.5.11-1
  Version table:
 *** 1:10.5.11-1 500
        500 http://deb.debian.org/debian bullseye/main amd64 Packages
        100 /var/lib/dpkg/status
Имя службы для сервера базы данных MariaDB - mysqlили mariadb.
$ systemctl status mariadb
 ● mariadb.service - MariaDB 10.3.13 database server
    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2019-03-29 10:31:19 UTC; 6min ago
      Docs: man:mysqld(8)
            https://mariadb.com/kb/en/library/systemd/
  Main PID: 14616 (mysqld)
    Status: "Taking your SQL requests now…"
     Tasks: 30 (limit: 1148)
    Memory: 51.8M
    CGroup: /system.slice/mariadb.service
            └─14616 /usr/sbin/mysqld
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: performance_schema
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: Phase 6/7: Checking and upgrading tables
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: Running 'mysqlcheck' with connection arguments: --socket='/var/run/mysqld/mysqld.sock' --host='lo
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: # Connecting to localhost…
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: # Disconnecting from localhost…
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: Processing databases
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: information_schema
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: performance_schema
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: Phase 7/7: Running 'FLUSH PRIVILEGES'
 Mar 29 10:31:20 deb10 /etc/mysql/debian-start[14653]: OK
Последний шаг - закрепление dатабазасервер. Это включает:
  • Установка надежного пароля root
  • Удаление анонимных пользователей
  • Отключение удаленного входа для пользователя root.
  • Удаление тестовое задание база данных и доступ к ней
Выполните приведенную ниже команду, чтобы защитить сервер базы данных.
$ mysql_secure_installation
 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 In order to log into MariaDB to secure it, we'll need the current
 password for the root user.  If you've just installed MariaDB, and
 you haven't set the root password yet, the password will be blank,
 so you should just press enter here.
 Enter current password for root (enter for none): 
 OK, successfully used password, moving on…
 Setting the root password ensures that nobody can log into the MariaDB
 root user without the proper authorisation.
 Set root password? [Y/n] Y
 New password: 
 Re-enter new password: 
 Password updated successfully!
 Reloading privilege tables..
  … Success!
 By default, a MariaDB installation has an anonymous user, allowing anyone
 to log into MariaDB without having to have a user account created for
 them.  This is intended only for testing, and to make the installation
 go a bit smoother.  You should remove them before moving into a
 production environment.
 Remove anonymous users? [Y/n] Y
  … Success!
 Normally, root should only be allowed to connect from 'localhost'.  This
 ensures that someone cannot guess at the root password from the network.
 Disallow root login remotely? [Y/n] Y
  … Success!
 By default, MariaDB comes with a database named 'test' that anyone can
 access.  This is also intended only for testing, and should be removed
 before moving into a production environment.
 Remove test database and access to it? [Y/n] Y
 Dropping test database…
 … Success!
 Removing privileges on test database…
 … Success! 
 Reloading the privilege tables will ensure that all changes made so far
 will take effect immediately.
 Reload privilege tables now? [Y/n] Y
  … Success!
 Cleaning up…
 All done!  If you've completed all of the above steps, your MariaDB
 installation should now be secure.
 Thanks for using MariaDB!
Протестируйте установку базы данных MariaDB.
$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>  SELECT VERSION();
+-------------------+
| VERSION()         |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> 

Шаг 3

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

Пакеты веб-сервера Apache доступны в официальных репозиториях Debian 10 / Debian 11. Все, что нужно, - это выполнить команду установки с помощью sudo.
apt install -y apache2 apache2-utils
Подтвердите сборку и версию Apache.
$ apache2 -v
Server version: Apache/2.4.48 (Debian)
Server built:   2021-08-12T11:51:47
Сервис запускается автоматически после установки.
$ systemctl status apache2
 ● apache2.service - The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2019-03-29 10:56:09 UTC; 18s ago
      Docs: https://httpd.apache.org/docs/2.4/
  Main PID: 16696 (apache2)
     Tasks: 55 (limit: 1148)
    Memory: 9.0M
    CGroup: /system.slice/apache2.service
            ├─16696 /usr/sbin/apache2 -k start
            ├─16698 /usr/sbin/apache2 -k start
            └─16699 /usr/sbin/apache2 -k start
Вы можете перезапустить службу или перезагрузить после внесения изменений с помощью команды systemctl.
systemctl reload apache2
systemctl enable apache2
Чтобы служба запускалась при загрузке, используйте
systemctl включить apache2
Чтобы просмотреть полный статус сервера Apache, используйте apache2ctlкоманду.
apt -y install elinks
apache2ctl fullstatus 

Шаг 4: Установите PHP в Debian 10 / Debian 11

Теперь, когда у нас установлены и Apache, и MariaDB, недостает PHP. Мы установим PHP и стандартные расширения, которые обычно используются. Версия PHP, установленная в Debian 10, - это PHP 7.3 и PHP 7.4 в Debian 11.
apt install php libapache2-mod-php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath
Включите модуль Apache, если он еще не включен, затем перезапустите веб-сервер.
a2enmod php7.* 
Подтвердите свою версию PHP.
# Debian 10
$ php -v
PHP 7.3.29-1~deb10u1 (cli) (built: Jul  2 2021 04:04:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.29, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.29-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

# Debian 11
$ php -v
PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
Создайте скрипт php для проверки установки стека LAMP.
echo "<?php phpinfo(); ?>" | tee /var/www/html/phpinfo.php
Откройте IP-адрес и URL-адрес вашего сервера Debian: http://[ServerIP/hostname]/phpinfo.php
Это дает подробную информацию о PHP и веб-сервере Apache. На этом заканчивается наше руководство по установке LAMP Stack в системе Debian 10 / Debian 11 Linux.


Дополнительно:
a2enmod ssl proxy_ajp rewrite proxy_balancer proxy_html proxy proxy_wstunnel proxy_http proxy_hml proxy_ftp proxy_connect cache headers deflate remoteip 

apt install php-simplexml php-dom php-common php-cli

0