Установка и настройка Teampass в Ubuntu Linux 18.04

by Anton Chernousov aka GITA-DEV


Опубликовано: 14 Май 2018 (последние правки 1 неделя, 4 дня)


Установка и настройка Teampass в Ubuntu Linux 18.04

В связи с расширением штата сотрудников и увеличением количества серверов и сервисов на поддержке, уже довольно остро встает вопрос создания общего хранилища паролей, ключей и прочей конфиденциалки с поддержкой механизмов разграничения прав доступа и методов совместного редактирования. Мы сейчас находимся в поиске хорошего решения этого вопроса и пробуем различные OpenSource решения которые можно было бы использовать и в случае необходимости доработать.

Как я уже сказал, для дальнейшей полноценной работы нам требуется какой-то менеджер паролей с поддержкой шифрования и коллективной работы, я подобрал несколько вариантов и буду последовательно их устанавливать и предоставлять доступ коллегам, для того чтобы мы могли совместно выбрать удовлетворяющий всех вариант хранилища паролей.

Сегодня я буду устанавливать Teampass (гитхаб репозиторий проекта https://github.com/nilsteampassnet/TeamPass). Судя по скриншотам с официального сайта (официальный сайт находится по адресу https://teampass.net), Teampass выглядит вполне подходящим решением, но все надо пробовать и судить по скриншотам о программном продукте по крайней мере глупо.

Система коллективной работы с паролями и т.п.

Подготовка окружения

Установка незнакомого серверного программного обеспечения стоит начать с ознакомления с минимальными системными требованиями, после чего подготовить окружение в котором web-приложение будет запущено и уже после этого приступать к развертыванию ПО на web-сервер.

Требования для запуска TeamPass выглядят как обычный LAMP-сервер:

MySQL 5.1 or higher

PHP 5.5.0 or higher

PHP extensions:

  • mcrypt
  • openssl
  • ldap (if used)
  • mbstring
  • bcmath
  • iconv
  • xml
  • gd
  • curl

Подготовим чистый web-сервер согласно указанных требований на базе Ubuntu Server 18.04. Установку и настройку типовых LAMP-серверов я уже многократно описывал и особого интереса она не представляет и в большинстве случаев сводится к нескольким этапам:

  • Установка необходимых пакетов ПО
  • Настройка базы данных
  • Настройка параметров web-сервера
  • Подготовка виртуал-хоста для приложения

Устанавливаем необходимые пакеты из штатного репозитория:

# aptitude install mysql-server-5.7
# aptitude install apache2 libapache2-mod-php
# aptitude install mcrypt php-ldap php-mbstring php-bcmath php-xml php-gd php-curl
# aptitude install php-mysql

Единственно, что вызывает проблемы, это установка mcrypt в PHP 7.2, но и это не проблема и просто выполните следующие операции в консоли web-серевера:

# apt-get install php-pear php7.2-dev libmcrypt-dev
# pecl install mcrypt-1.0.1
# echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini
# echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini

Так же, при использовании PHP 7.2 может быть проблема с драйвером mysql.

Проблема с драйвером mysql в PHP 7.2

Если модули PHP для mysql не подходят из штатной поставки, то это означает, что вы используете устаревшую версию приложения которая использует старое расширение mysql которое было исключено из PHP версии 7.0.

Создаем виртуальный хост Apache на котором и будет запущено web-приложение Teampass, для чего в каталоге /etc/apache2/sites-available создаем файл teampass.conf следующего содержания:

<VirtualHost *:80>
ServerName teampass.local

DocumentRoot /var/www/teampass/
ErrorLog /var/log/apache2/teampass-error.log
CustomLog /var/log/apache2/teampass-requests.log combined

<Directory /var/www/html/test/>
        AllowOverride All
</Directory>

</VirtualHost>

Для активации виртуального хоста выполните следующие команды:

# a2ensite teampass
# systemctl reload apache2

Клонируем web-приложение Teampass из официального гит-репозитария и переключаем его на стабильную ветку:

# git clone https://github.com/nilsteampassnet/TeamPass.git
# cd ./TeamPass/
# git checkout -b 2.2.0 origin/2.2.0

Копируем данные web-приложения в каталог виртуального хоста и удаляем сервисные данные git-репозитария (дополнительно меняем права доступа).

# cp -R ./ /var/www/teampass/
# rm -R /var/www/teampass/.git/
# chown -R www-data:www-data /var/www/teampass/

Установка TeamPass (web-интерфейс)

С подготовкой серверного окружения мы закончили и приступаем к web-части установки Teampass, для чего мы перейдем по адресу http://<адрес-сервера> (в моем случае это http://10.1.1.20). Но еще хотел бы обратить ваше внимание, что web-инсталятор в свежих версиях Firefox порядочно глючит, а в Google Chrome вроде как нормально работает.

Соглашаемся с лицензионным соглашением

Соглашаемся с лицензионным соглашением и удостоверяемся, что система удовлетворяет требованиям для запуска web-приложение Teampass (пока все довольно стандартно).

Проверка на соответствие минимальным требованиям при установке TeamPass

После всех проверок переходим к созданию базы данных на сервере баз данных, созданию пользователя который будет иметь полный доступ к бпзе и его паролю:

# mysql
> CREATE USER 'teampass_user'@'localhost' IDENTIFIED BY 'SecretPasswordos';
> CREATE DATABASE `teampass`;
> GRANT ALL PRIVILEGES ON teampass.* TO 'teampass_user'@'localhost';
> FLUSH PRIVILEGES;

Все заданные логины-пароли и имя базы мы задаем в web-интерфейсе мастера установки и настройки.

Настройка базы данных в TeamPass

И на последок еще одно окно мастера и здесь необходимо задать путь к SaltKey, фактически же требуется создать отдельный каталог, желательно не в каталоге проекта, назначить права доступа и указать абсолютный путь к этому каталогу в этом поле. После запуска, мастер установки создаст необходимы таблицы и т.п.

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

Теперь с установкой мы закончили и можем приступать к настройке.

Авторизуемся в TeamPass

Базовая настройка TeamPass

После авторизации в Web-интерфейс приложения нам предложат создать несколько каталогов для хранения паролей, назначить роли доступа и настроить отправку статистики.

Настройка TeamPass

Первым делом переходим в раздел Manage Roles и создаем несколько ролей пользователей.

Роли и каталоги в TeamPass

Окей, роли созданы и мы переходим в раздел каталоги и создаем несколько "каталогов" для хранения паролей.

Базовая настройка TeamPass

Юзабилити у этого программного продукта честно говоря не очень :)

Юзабилити у TeamPass как и у всего OpenSource, просто кошмар

И вот сейчас мы можем создать пользователей и отключить режим обслуживания для того чтобы рядовые пользователи могли войти в систему, но честно говоря эта утилита мне кардинально не понравилась и мне проще ее удалить к чертовой матери чем издеваться над собой и коллегами. Я думаю, что с установкой и настройкой закончим, приложение работает и возможно эта заметка кому будет полезна.


Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .

Блог это некоммерческий проект! Если вам понравился мой блог и то что я пишу помогло вам на практике, то можете сказать спасибо материально.