Поиск по сайту:

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


На этой странице

  1. Предпосылки
  2. Установка веб-сервера Apache
  3. Установите сервер базы данных MariaDB
  4. Установить язык обработки PHP
  5. Создание виртуального хоста для Apache
  6. Проверьте установку PHP на Apache
  7. Заключение

LAMP Stack — это общий набор инструментов с открытым исходным кодом, используемых для размещения веб-сайтов и приложений в Интернете. LAMP Stack — это платформа веб-разработки, использующая Linux в качестве операционной системы, Apache в качестве веб-сервера, MariaDB/MySQL в качестве сервера базы данных и PHP в качестве языка сценариев. Он так широко используется и предоставляет проверенный набор программного обеспечения для доставки высокопроизводительных веб-приложений.

В этом руководстве мы покажем вам, как установить стек LAMP в Debian 11.

Предпосылки

  • Сервер под управлением Debian 11.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

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

Пакет веб-сервера Apache включен в репозиторий Debian 11 по умолчанию. Вы можете установить его, просто выполнив следующую команду:

apt-get install apache2 apache2-utils -y

После установки веб-сервера Apache проверьте установленную версию Apache с помощью следующей команды:

apache2 -v

Вы должны увидеть следующий вывод:

Server version: Apache/2.4.48 (Debian)
Server built:   2021-08-12T11:51:47

Чтобы запустить службу Apache, выполните следующую команду:

systemctl start apache2

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

systemctl enable apache2

Вы также можете проверить полный статус Apache с помощью следующей команды:

apt-get install elinks
apache2ctl fullstatus

Вы должны увидеть следующий вывод:

 Apache Server Status for localhost (via ::1)

   Server Version: Apache/2.4.48 (Debian)

   Server MPM: prefork

   Server Built: 2021-08-12T11:51:47

   --------------------------------------------------------------------------

   Current Time: Tuesday, 17-Aug-2021 09:29:41 UTC

   Restart Time: Tuesday, 17-Aug-2021 09:29:33 UTC

   Parent Server Config. Generation: 1

   Parent Server MPM Generation: 0

   Server uptime: 7 seconds

   Server load: 0.05 0.01 0.00

   Total accesses: 0 - Total Traffic: 0 kB - Total Duration: 0

   CPU Usage: u.03 s.02 cu0 cs0 - .714% CPU load

   0 requests/sec - 0 B/second

   1 requests currently being processed, 4 idle workers

По умолчанию Apache работает на порту 80, вы можете проверить это с помощью следующей команды:

ss -antpl | grep apache2

Вы должны получить следующий результат:

LISTEN 0      511                *:80              *:*    users:(("apache2",pid=44022,fd=4),("apache2",pid=44021,fd=4),("apache2",pid=44020,fd=4),("apache2",pid=44019,fd=4),("apache2",pid=44018,fd=4),("apache2",pid=44017,fd=4))

Вы также можете проверить установку Apache, просмотрев URL-адрес http://your-server-ip. Вы должны увидеть тестовую страницу Apache на следующем экране:

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

MariaDB — это система управления базами данных, которая используется для хранения и управления данными вашего веб-сайта. Вы можете установить его с помощью следующей команды:

apt-get install mariadb-server -y

После установки MariaDB запустите службу MariaDB и включите ее запуск при загрузке системы с помощью следующей команды:

systemctl start mariadb
systemctl enable mariadb

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

systemctl status mariadb

Вы должны увидеть следующий вывод:

? mariadb.service - MariaDB 10.3.31 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1838 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 2353)
     Memory: 66.1M
     CGroup: /system.slice/mariadb.service
             ??1838 /usr/sbin/mysqld

Также рекомендуется защитить вашу установку MariaDB и установить пароль администратора MariaDB. Вы можете запустить скрипт mysql_secure_installation для защиты установки MariaDB:

mysql_secure_installation

Вам будет предложено установить пароль администратора MariaDB, удалить анонимных пользователей, запретить удаленный вход в систему root и удалить тестовую базу данных, как показано ниже:

Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

По умолчанию MariaDB работает на порту 3306. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep mariadb

Вы должны увидеть следующую команду:

LISTEN 0      80         127.0.0.1:3306      0.0.0.0:*    users:(("mariadbd",pid=12181,fd=15))

Чтобы подключить оболочку MariaDB, выполните следующую команду:

mysql -u root -p

Укажите свой корневой пароль MariaDB и нажмите Enter, чтобы подключиться к оболочке MariaDB. После подключения вы должны увидеть следующий вывод:

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:

MariaDB [(none)]> SELECT VERSION();

Вы должны увидеть следующий вывод:

+-------------------+
| VERSION()         |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)

Установить язык обработки PHP

PHP — это язык обработки, используемый для обслуживания приложений PHP на веб-сервере. По умолчанию в Debian 11 доступна версия PHP 7.4. Вы можете установить PHP с другими часто используемыми расширениями с помощью следующей команды:

apt-get install php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml -y

После установки PHP проверьте версию PHP с помощью следующей команды:

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

Создайте виртуальный хост для Apache

На этом этапе стек LAMP установлен на вашем сервере. Теперь вам нужно создать файл конфигурации виртуального хоста Apache для размещения любого приложения.

Здесь мы создадим каталог example.com для размещения страницы PHP. Вы можете создать его с помощью следующей команды:

mkdir /var/www/html/example.com

Затем установите владельца каталога example.com на www-data:

chown -R www-data:www-data /var/www/html/example.com

Затем создайте файл конфигурации виртуального хоста Apache с помощью следующей команды:

nano /etc/apache2/sites-available/example.com.conf

Добавьте следующие строки:

<VirtualHost *:80>
    ServerAdmin 
    ServerName example.com
    DocumentRoot /var/www/html/example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Сохраните и закройте файл, затем активируйте виртуальный хост example.com и отключите виртуальный хост по умолчанию с помощью следующей команды:

a2ensite example.com.conf
a2dissite 000-default

Затем проверьте файл виртуального хоста на наличие синтаксической ошибки с помощью следующей команды:

apache2ctl configtest

Если все в порядке, вы должны увидеть следующий вывод:

Syntax OK

Наконец, перезапустите службу Apache, чтобы применить изменения конфигурации:

systemctl reload apache2

Вы также можете проверить статус службы Apache с помощью следующей команды:

systemctl status apache2

Вы должны увидеть следующий вывод:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:30 UTC; 2min 56s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2257 (apache2)
      Tasks: 55 (limit: 2353)
     Memory: 5.3M
     CGroup: /system.slice/apache2.service
             ??2257 /usr/sbin/apache2 -k start
             ??2259 /usr/sbin/apache2 -k start
             ??2260 /usr/sbin/apache2 -k start

Aug 21 04:13:30 debian11 systemd[1]: Starting The Apache HTTP Server...
Aug 21 04:13:30 debian11 apachectl[2246]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 216.9>
Aug 21 04:13:30 debian11 systemd[1]: Started The Apache HTTP Server.

Проверьте установку PHP на Apache

Далее вам нужно будет создать образец PHP-файла для работы через веб-сервер Apache. Вы можете создать файл phpinfo.php в каталоге example.com:

nano /var/www/html/example.com/phpinfo.php

Добавьте следующую строку:

<?php phpinfo(); ?>

Сохраните и закройте файл, затем откройте веб-браузер и зайдите на свою страницу PHP, используя URL-адрес http://example.com/phpinfo.php. Вы должны увидеть свою страницу PHP на следующем экране:

Заключение

В приведенном выше руководстве мы объяснили, как установить стек LAMP в Debian 11. Теперь вы можете начать размещать свой первый веб-сайт с использованием стека LAMP. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.