Перейти к основному содержанию

Настройка сервера debian 13 под drupal 11

Имеем свежую версию OS debian 13 "Trixie". 
Задача: настроить окружение под сайт на drupal 11.

# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.3
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Шаг 1. Обновление системы.

sudo apt update
sudo apt upgrade
sudo apt autoremove

Шаг 2. Установка php (кроме mysql мне нужен еще и postgresql)

sudo apt install php-cli
sudo apt install php-{mysql,pgsql,curl,gd,intl,mbstring,xml,fpm}

Шаг 3. Установка nginx.

sudo apt install nginx

Настройка https в nginx под drupal 11, настройка хоста.

Шаг 4. Установка MySql (MariaDB).

# Установить MySQL сервер и клиент
sudo apt install mariadb-server mariadb-client

# Запустить и включить автозагрузку
sudo systemctl enable --now mariadb

# Выполнить базовую безопасную настройку (рекомендуется)
# Эта утилита задаст пароль root, удалит анонимных пользователей и т.д.
sudo mariadb-secure-installation

Шаг 5. Установка PostgreSQL (psql). Опционально.

# Установить PostgreSQL и клиентские утилиты
apt install postgresql postgresql-contrib

# Запустить и включить автозагрузку
systemctl enable --now postgresql

Шаг 6. Локали для сервера с drupal.

Для чего вообще нужны локали?

  • Локали определяют:
    1. Формат даты и времени (01.01.2026 vs Jan 01, 2026)
    2. Формат чисел (1 000 000,50 vs 1,000,000.50)
    3. Валюту (₽ vs $)
    4. Порядок сортировки (collation)
    5. Перевод системных сообщений (редко используется на сервере)
  • Когда ru_RU.UTF-8 может понадобиться?
    1. Запуск CLI-скрипты на PHP/Python, которые используют локаль для форматирования
      Например: echo strftime('%d %B %Y'); → покажет «01 января 2026» только если LC_TIME=ru_RU.UTF-8.
    2. Вы лично работаете в терминале и хотите видеть русские названия месяцев в ls -l или date
      → Это удобство, но не необходимость.

На выделенном сервере с Drupal:

Предпочтительно использовать только en_US.UTF-8 (или C.UTF-8) — это проще, стабильнее и безопаснее.

# Убедитесь, что en_US.UTF-8 сгенерирована
sudo sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
sudo locale-gen

# Установите системную локаль
echo 'LANG=en_US.UTF-8' | sudo tee /etc/default/locale
echo 'LC_ALL=en_US.UTF-8' | sudo tee -a /etc/default/locale

Шаг 7. Установка composer.

sudo apt install composer

Шаг 8. Включение отображения меню со вставкой при нажатии ПКМ в vim. Опционально.

Я пользуюсь vim как основным текстовым редактором в терминале. Данная команда активирует меню при клике ПКМ (через которое можно вставить текст из буфера обмена в редактор).

echo "set mouse=" >> ~/.vimrc

Шаг 9. Установка git.

sudo apt install git

Шаг 10. Экспорт проекта на хост с локалки.

Инициализация git репозитория проекта, экспорт проекта на хост.