Настройка LAMP в Debian 9 2020

Главная » Блог программиста » Настройка LAMP в Debian 9 2020

Просмотров: 634

Настройка LAMP в Debian 9 2020

Для установки LAMP на VDS регистрируемся на Firstbyte, выбираем подходящий тариф (например MSK-KVM-SSD-1 за 99р/месяц), в качестве ОС выбираем Debian 9.
Примечание:

Символ # в начале строки означает, что команда должна быть запущена от пользователя root

Символ $ в начале строки означает, что команда должна быть запущена от Вашего созданного пользователя

Установку возможно производить через скрипт (пункты 0-9)

wget https://iproger.ru/content/uploads/lamp-debian.sh
chmod +x lamp-debian.sh
./lamp-debian.sh

Установку можно произвести вручную по командам:
0) обновляем список пакетов

# apt update && apt upgrade

1) устанавливаем программы для более удобного управления сервером:

# apt install mc nano

2) добавляем репозиторий с php 7.3:

apt -y install lsb-release apt-transport-https ca-certificates
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
apt update


3) устанавливаем apache+php:

# apt -y install apache2 apache2-dev php7.3 php7.3-gd php7.3-curl php7.3-cli php7.3-cgi php7.3-dev php7.3-zip php7.3-mbstring php7.3-xml php7.3-mysql

Для apache2 дополнительно:

apt -y install libapache2-mod-php7.3 php7.3-fpm
Добавляем в автозагрузку:
systemctl enable apache2

4) добавим поддержку кэширования (cache-control) и rewrite:

# a2enmod headers
a2enmod rewrite
a2enmod ssl

5) очищаем страницу-заглушку apache:

# echo "" > /var/www/html/index.html

6) далее устанавливаем пакет apache2-mpm-itk (для запуска виртуальных хостов от своего пользователя):

# apt -y install libapache2-mpm-itk

7) далее устанавливаем git:

# apt -y install git

8) Для поддержки SSL-сертификатов:

apt install letsencrypt
apt install python3-certbot-apache

9) Устанавливаем сервер MySQL (MariaDB):

# apt -y install mysql-server
mysql_secure_installation

Для битрикса в файле /etc/mysql/mariadb.conf.d выставляем:

character-set-server  = utf8
collation-server      = utf8_unicode_ci


При необходимости открываем доступ с внешних ресурсов к базе данных.
10) Изменяем настройки:
10.1) Устанавливаем PMA (phpmyadmin), при необходимости:
apt -y install phpmyadmin

10.2) в файле /etc/apache2/apache2.conf добавить это:

ServerName localhost
Include /etc/phpmyadmin/apache.conf

10.3) линкуем phpmyadmin, если не открывается:

# ln -s /usr/share/phpmyadmin/ /var/www
ln -s /etc/apache2/sites-available/ /var/www
chmod -R 777 /etc/apache2/sites-available/000-default.conf
chmod -R 777 /var/lib/phpmyadmin/tmp

11) правим файл /etc/php/7.3/apache2/php.ini а также /etc/php/7.3/fpm/php.ini (для crontab)

max_execution_time = 120
max_input_time = 90
memory_limit = 128M
post_max_size = 150M
upload_max_filesize = 150M
session.gc_maxlifetime = 14400
short_open_tag = On
; для битрикса:
max_input_vars = 10000

раскомментируем в этом же файле строчку:

extension=mysqli

12) создадим пользователя:

# useradd username
passwd username

12.1) Если нужно скрыть информацию о сервере на страницах 403,404 и пр. в файле

/etc/apache2/apache2.conf

 добавляем:

ServerTokens Prod
ServerSignature Off

Перезапускаем apache:

service apache2 restart

Дополнительная информация:

Установка сертификата на сайт производится простой командой:

letsencrypt -d domain.ru

13) при использовании единого unix-пользователя для всех сайтов (не рекомендуется):

# chown -R username:username /var/www
cd /var/www/
find ./ -type d -exec chmod 4770 {} \;

13) добавляем виртуальный хост.

в /var/www создаем директорию с именем будущего хоста (например, drupal.my)

14) в /etc/apache2/sites-available/ создаем файл.conf хоста, например /etc/apache2/sites-available/drupal.my.conf

15) содержимое должно выглядеть таким образом (пример).

*вместо drupal.my везде вписываете имя своего хоста, а вместо username своё имя пользователя в системе

16) активируем наш хост

# a2ensite drupal.my.conf

17) в /etc/hosts записываем наш хост таким образом

127.0.0.1 drupal.my

18) не забываем перезапустить апач

# service apache2 restart

19) При необходимости добавляем поддержку python и модуля requests для него

# apt install python-minimal
apt install python3-pip


Полное удаление lamp из системы:

1)

# apt-get purge libapache2-mod-auth-mysql phpmyadmin

2)

# dpkg -l | grep ^ii | grep mysql-server | awk -F' ' '{ print $2 }'

*команда выведет на экран список пакетов....их все нужно удалить:

# apt-get purge пакет1 пакет2 пакет3

3)

# dpkg -l | grep ^ii | grep apache2 | awk -F' ' '{ print $2 }'

*тоже самое, что и в п.2

4)

# apt-get autoremove

Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.