Гид по технологиям

Установка TeamPass на Debian 10 и защита через Let's Encrypt

• 5 min read • Инфраструктура • Обновлено 18 Nov 2025
Установка TeamPass на Debian 10 с SSL
Установка TeamPass на Debian 10 с SSL

Краткое описание

TeamPass — веб‑приложение для совместного управления паролями с разграничением ролей. Хранит данные в MariaDB/MySQL и использует библиотеку Defuse PHP Encryption для шифрования. Руководство покрывает типовую установку и основные этапы повышения безопасности.

Кому это нужно

  • Системным администраторам, которые хотят выделенный менеджер паролей для команды.
  • Командам, которым нужен self‑hosted вариант для контроля данных.

Требования

  • Сервер с Debian 10 (buster).
  • Домен, указывающий на IP сервера (в примерах используется teampass.example.com).
  • Доступ root или пользователь с sudo.

Терминология (одна строка)

  • TeamPass: веб‑менеджер паролей; Certbot: клиент для Let’s Encrypt; MariaDB: форк MySQL; LAMP: стек Apache+MariaDB+PHP.

1. Подготовка системы

Обновите пакеты и перезапустите систему при необходимости.

apt-get update -y
apt-get upgrade -y

Важно: перед установкой убедитесь, что у вас есть резервные копии важных данных и доступ по SSH.

2. Установка LAMP и зависимостей

Установим Apache, MariaDB, PHP и необходимые расширения:

apt-get install apache2 mariadb-server php php-cli libapache2-mod-php php-mysql php-curl php-mbstring php-bcmath php-common php-gd php-xml git wget -y

После установки откройте конфигурационный файл PHP для Apache и измените параметры под большую нагрузку/размеры файлов (пример для PHP 7.3):

nano /etc/php/7.3/apache2/php.ini

Измените (или добавьте) значения:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Kolkata

Примечание: date.timezone — установите ваш часовой пояс, например Europe/Moscow.

После изменений перезапустите Apache:

systemctl restart apache2

3. Настройка MariaDB

Для безопасности рекомендуем выполнить интерактивный помощник, затем задать пароль root и создать базу данных.

Запустите безопасную настройку:

mysql_secure_installation

Войдите в консоль MariaDB:

mysql

Выполните команды для задания пароля root (замените yournewpassword) и создания БД/пользователя для TeamPass:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewpassword");
create database teampassdb;
grant all privileges on teampassdb.* to 'tpuser'@'localhost' identified by "password";
flush privileges;
exit;

Совет: используйте надёжный пароль и храните его в менеджере секретов.

4. Загрузка TeamPass

Клонируем репозиторий в корень веб‑сервера и задаём права:

cd /var/www/html
 git clone https://github.com/nilsteampassnet/TeamPass.git
chown -R www-data.www-data /var/www/html/TeamPass/
chmod -R 775 /var/www/html/TeamPass/

Проверка: в браузере по адресу http://ваш-домен должно быть видно содержимое каталога (или 403, если нет индекса). После настройки виртуального хоста доступ будет корректен.

5. Конфигурация Apache для TeamPass

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

nano /etc/apache2/sites-available/teampass.conf

Добавьте конфигурацию (замените ServerAdmin и ServerName на ваши значения):


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/TeamPass
     ServerName teampass.example.com

     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/teampass_error.log
     CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined

Активируйте сайт и перезапустите Apache:

a2ensite teampass
systemctl restart apache2

Если у вас включён firewall (ufw), разрешите HTTP/HTTPS:

ufw allow 80/tcp
ufw allow 443/tcp

6. Защита сертификатом Let’s Encrypt (Certbot)

Установим Certbot из backports и получим SSL‑сертификат:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
apt-get update -y
apt-get install python-certbot-apache -t buster-backports

Запуск certbot для автоматической конфигурации Apache:

certbot --apache -d teampass.example.com

В интерактивном режиме примите условия и укажите email. Certbot предложит перенаправлять трафик с HTTP на HTTPS — для публичных сайтов выбирайте Redirect (2).

Автоматическое обновление сертификатов выполняется командой:

certbot renew --dry-run

Чтобы обновление было автоматическим, systemd unit и таймер обычно создаются автоматически при установке пакета Certbot. Дополнительно можно добавить cron/task:

0 3 * * * /usr/bin/certbot renew --quiet

Важно: убедитесь, что бэкапите /etc/letsencrypt — там хранятся ключи и учётные записи.

7. Запуск веб‑установщика TeamPass

Откройте в браузере https://teampass.example.com. Вы увидите установочный интерфейс TeamPass.

Инсталлятор TeamPass — веб‑интерфейс

Следуйте шагам в веб‑мастере: проверка сервера, подключение к БД, создание таблиц, создание администратора.

Инсталлятор — проверка сервера

Результат проверки — все требования удовлетворены

Подключение к базе данных

Префикс таблиц и создание администратора

После успешного создания таблиц и финализации установщика вы попадёте на главную страницу TeamPass и сможете войти под админом.

Завершение установки TeamPass

Вход в TeamPass

Панель управления TeamPass

8. Базовые меры безопасности и жёсткая конфигурация

  • Ограничьте доступ к управлению сервером через SSH (ключи, отключите root login по паролю).
  • Храните резервные копии каталога /var/www/html/TeamPass и дампа БД (mysqldump).

Пример резервного копирования БД:

mysqldump -u tpuser -p teampassdb > /root/teampassdb-$(date +%F).sql

Пример восстановления:

mysql -u tpuser -p teampassdb < /root/teampassdb-YYYY-MM-DD.sql
  • Ограничьте права файлов: каталогу конфигураций — 640/750 по необходимости.
  • Регулярно обновляйте систему и PHP‑модули.
  • Храните /etc/letsencrypt в зашифрованном резерве.

9. Резервное копирование и план восстановления (мини‑SOP)

  1. Остановите Apache: systemctl stop apache2
  2. Сделайте дамп БД: mysqldump …
  3. Архивируйте каталог TeamPass: tar -czf /root/teampass-www-$(date +%F).tgz /var/www/html/TeamPass
  4. Скопируйте на внешний носитель или в облако.
  5. Проверьте целостность архива и дампа.

10. Обновление и миграция

  • При обновлении TeamPass проверяйте совместимость версии PHP и расширений.
  • Тестируйте обновление на копии базы и веб‑каталога перед переносом на прод.

11. Отладка распространённых проблем

  • Ошибка 500: проверьте логи Apache (/var/log/apache2/teampass_error.log) и права файлов.
  • Проблемы с подключением к БД: проверьте host, user, пароль, привилегии и SELinux/AppArmor (на Debian обычно отключены).
  • SSL: если certbot не может верифицировать домен — проверьте A-запись DNS и доступность порта 80.

Контрольный чеклист перед вводом в эксплуатацию

  • Домен указывает на сервер
  • Сертификат Let’s Encrypt выдан и работает
  • Настроен пользователь и пароль MariaDB
  • Сделана резервная копия веб‑каталога и БД
  • Ограничен доступ к SSH
  • Развернут мониторинг/резервные звонки на случай просрочки сертификата

Роли и обязанности (кто что делает)

  • Системный администратор: установка OS/пакетов, бэкапы, безопасность сервера.
  • DBA/оператор БД: управление MariaDB, бэкапы, производительность.
  • Администратор TeamPass: управление ролями пользователей, аудит доступа в приложении.

Критерии приёмки

  • Приложение доступно по HTTPS без предупреждений браузера.
  • Пользователь с ролью admin может войти и создать запись пароля.
  • Успешный дамп/восстановление БД на тестовой машине.
  • Наличие плана резервного копирования и теста восстановления.

Короткая памятка по безопасности

  • Регулярно проверяйте обновления TeamPass и PHP.
  • Ограничьте доступ к панели администратора по IP (если возможно).
  • Включите двухфакторную аутентификацию в TeamPass, если есть поддержка.

Глоссарий (1 строка)

  • Certbot: клиент для автоматического получения сертификатов Let’s Encrypt.

Заключение

Вы успешно установили TeamPass и настроили базовую защиту через Let’s Encrypt. Следуйте чеклисту, регулярно делайте бэкапы и обновляйте систему. Для корпоративной эксплуатации рассмотрите выделение отдельного хоста базы, аудит доступа и периодический аудит конфигураций.

Важно: всегда тестируйте изменения на копии окружения перед применением в продакшене.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро