Установка TeamPass на Ubuntu 20.04 с Let's Encrypt SSL
Краткое описание
TeamPass — это совместный менеджер паролей с хранением данных в MySQL/MariaDB. Он позволяет централизованно хранить пароли, настраивать права доступа по ролям и работать в команде. Приложение доступно как свободное ПО и поддерживает шифрование данных, персональные папки, древовидную структуру и разграничение прав.
Требования
- Сервер с Ubuntu 20.04.
- Домен, указывающий на IP сервера.
- Настроен root или пользователь с sudo.
- Рабочий LAMP (Apache, MariaDB/MySQL, PHP 7.4).
Быстрая схема действий
- Установить LAMP и PHP модули.
- Настроить php.ini (память, файлы, таймзона).
- Создать базу данных и пользователя для TeamPass.
- Склонировать репозиторий TeamPass в /var/www/html.
- Настроить виртуальный хост Apache.
- Прописать сертификат Let’s Encrypt через certbot.
- Завершить установку через веб‑интерфейс и провести базовую настройку безопасности.
Установка 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.

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

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

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


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


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

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

Рекомендации по безопасности и эксплуатации
- Установите строгие права на директории и файлы 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 по необходимости).
- Протестирован вход администратора и создание/чтение записи.
- Настроены роли и права пользователей.
Критерии приёмки
- Сайт доступен по HTTPS и возвращает 200 OK на главную страницу.
- В веб‑интерфейсе можно подключиться к базе и успешно создать администратора.
- Созданная учётная запись может добавлять заметки/пароли и применять права доступа.
- Автоматическое обновление сертификата прошло dry‑run успешно.
- Регулярный бэкап БД и файлов выполняется и восстанавливается.
Отладка и частые проблемы
- Проблема: 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; без резервной копии восстановление сертификатов и настроек может быть затруднено.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента