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

Установка TeamPass на Ubuntu 20.04 с Let's Encrypt SSL

• 6 min read • Безопасность • Обновлено 24 Nov 2025
TeamPass на Ubuntu 20.04 с Let's Encrypt
TeamPass на Ubuntu 20.04 с Let's Encrypt

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

TeamPass — это совместный менеджер паролей с хранением данных в MySQL/MariaDB. Он позволяет централизованно хранить пароли, настраивать права доступа по ролям и работать в команде. Приложение доступно как свободное ПО и поддерживает шифрование данных, персональные папки, древовидную структуру и разграничение прав.

Требования

  • Сервер с Ubuntu 20.04.
  • Домен, указывающий на IP сервера.
  • Настроен root или пользователь с sudo.
  • Рабочий LAMP (Apache, MariaDB/MySQL, PHP 7.4).

Быстрая схема действий

  1. Установить LAMP и PHP модули.
  2. Настроить php.ini (память, файлы, таймзона).
  3. Создать базу данных и пользователя для TeamPass.
  4. Склонировать репозиторий TeamPass в /var/www/html.
  5. Настроить виртуальный хост Apache.
  6. Прописать сертификат Let’s Encrypt через certbot.
  7. Завершить установку через веб‑интерфейс и провести базовую настройку безопасности.

Установка LAMP и необходимых PHP модулей

Перед началом убедитесь, что на сервере установлен LAMP. Если нет, выполните в терминале:

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

После установки отредактируйте php.ini, чтобы повысить лимиты и задать корректную таймзону.

nano /etc/php/7.4/apache2/php.ini

Измените (или добавьте) следующие строки — установите значения под вашу нагрузку и местную таймзону (пример для Москвы):

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Moscow

Важно: указывайте корректную зону (список зон см. в /usr/share/zoneinfo или на php.net). После правок перезапустите Apache:

systemctl restart apache2

Создание базы данных TeamPass

Войдите в оболочку MariaDB/MySQL:

mysql -u root

Выполните команды для создания базы и пользователя (замените “password” на надёжный пароль):

MariaDB [(none)]> create database teampass;
MariaDB [(none)]> grant all privileges on teampass.* to teampass@localhost identified by "password";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

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

Загрузка 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/

Важно: в продакшене рассмотрите более строгие права (например, 750 для директорий, 640 для файлов) и минимизацию доступа.

Конфигурация Apache

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

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

Вставьте конфигурацию (замените ServerName и контактный email на ваши значения):


     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/TeamPass
     ServerName teampass.linuxbuz.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

Совет: отключите дефолтный сайт, если он не нужен:

a2dissite 000-default
systemctl reload apache2

Получение SSL от Let’s Encrypt (certbot)

Установите certbot для Apache и запустите выдачу сертификата:

apt-get install python3-certbot-apache -y
certbot --apache -d teampass.linuxbuz.com

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

Примерный диалог certbot показан в исходной инструкции: вы увидите сообщения об успешной установке и местоположении сертификатов в /etc/letsencrypt/live/your-domain/.

Важно: настройте автоматическое обновление сертификатов (обычно уже настроено через systemd timer или cron). Проверьте командой:

certbot renew --dry-run

Доступ к веб‑интерфейсу TeamPass и завершение установки

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

TeamPass Installer

Нажимайте “NEXT” для перехода между шагами. Сначала будут выполнены серверные проверки:

Server Check

Далее настраивается подключение к базе данных — укажите созданные ранее данные:

Database settings

Создайте учётную запись администратора и дождитесь создания таблиц:

Create administrator account

Create tables

После финализации вы увидите сообщение об успешной установке:

Finalize setup

Installation finished

Затем перейдите на главную страницу и авторизуйтесь учётными данными администратора:

Log-in to TeamPass

После входа вы попадёте в панель управления TeamPass:

TeamPass dashboard

Рекомендации по безопасности и эксплуатации

  • Установите строгие права на директории и файлы TeamPass: веб‑серверу достаточно прав на запись только в избранные каталоги (установите список в документации TeamPass).
  • Отключите доступ по SSH для root, используйте sudo и ключи.
  • Защитите доступ к базе данных: слушайте localhost, используйте сложные пароли и регулярные дампы.
  • Настройте бэкапы каталога TeamPass и /etc/letsencrypt, а также дампы базы (mysqldump) по расписанию.
  • Используйте UFW или iptables для фильтрации входящих соединений (разрешить 80, 443, SSH по нужному порту).
  • Включите автоматическое продление certbot и мониторинг статуса (ping / healthcheck).

Чек‑лист перед выпуском в продакшн

  • Домен настроен и доступен по HTTPS.
  • Certbot успешно прошёл dry‑run для обновления сертификатов.
  • Выполнен бэкап БД и файлов TeamPass.
  • Права на файлы и каталоги минимизированы.
  • Фаервол настроен (открыты только порты 22/80/443 по необходимости).
  • Протестирован вход администратора и создание/чтение записи.
  • Настроены роли и права пользователей.

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

  1. Сайт доступен по HTTPS и возвращает 200 OK на главную страницу.
  2. В веб‑интерфейсе можно подключиться к базе и успешно создать администратора.
  3. Созданная учётная запись может добавлять заметки/пароли и применять права доступа.
  4. Автоматическое обновление сертификата прошло dry‑run успешно.
  5. Регулярный бэкап БД и файлов выполняется и восстанавливается.

Отладка и частые проблемы

  • Проблема: 500 Internal Server Error после установки.
    • Проверка: смотрите логи Apache (/var/log/apache2/teampass_error.log) и PHP. Часто связана с правами или отсутствием PHP‑модулей.
  • Проблема: Не подключается к базе данных.
    • Проверка: credentials в установщике, хост (localhost), привилегии пользователя и доступ MariaDB.
  • Проблема: certbot не может верифицировать домен.
    • Проверка: DNS указывает на сервер, порт 80 доступен и в виртуальном хосте настроен правильный ServerName.
  • Проблема: Ошибки при создании таблиц.
    • Проверка: кодировка БД (utf8mb4), права пользователя, версия MySQL/MariaDB.

Альтернативные подходы

  • Развёртывание в Docker: официальные/сообщества образы упрощают зависимостии и изоляцию окружения.
  • Использование внешней БД: если у вас централизованная СУБД, TeamPass можно подключить к ней (обеспечьте сетевую безопасность).
  • HA/кластеризация: для критичных инсталляций используйте репликацию БД и резервирование веб‑ноды.

План обновлений и отката

  • Перед обновлением TeamPass сделайте полный бэкап файлов и дамп БД.
  • Протестируйте обновление в тестовой среде.
  • Если обновление провалилось, откат: вернуть файлы из бэкапа и восстановить дамп БД.

Мини‑методология управления доступом

  • Роли: определите администраторов, менеджеров и обычных пользователей. Только минимально необходимые права.
  • Перевод прав в ревью: пересматривайте роли и владение паролями каждые 3 месяца.
  • Логи аудита: включите и храните логи доступа и изменений.

Небольшая галерея ошибок и их решений

  • Ошибка прав 403: проверьте директиву Require all granted и права на каталог.
  • Ошибка PHP missing extension: установите недостающий пакет (например, php7.4-mbstring) и перезапустите Apache.
  • Ошибка SSL при редиректе: проверьте, что VirtualHost для :443 корректно создан и содержит путь к сертификатам.

Заключение

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

Для подробной документации и обновлений посетите официальный репозиторий TeamPass.

Важно: корректно сохраняйте /etc/letsencrypt и конфигурации Apache; без резервной копии восстановление сертификатов и настроек может быть затруднено.

Поделиться: 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 быстро