コンピューターを使っていると様々なシーンで必要になるパスワード。安全のためには十分に長く、
Ubuntuで使えるパスワード管理ツールにKeePassがあります。KeePassは非常に便利なソフトウェアですが、
RatticWebのインストール
RatticWebはPython製のソフトウェアです。WebサーバーとしてApache、
まずは依存パッケージ一式をインストールします。
$ sudo apt-get install python-dev python-pip python-mysqldb python-ldap libxml2-dev libxslt1-dev zlib1g-dev gettext libmysqlclient-dev
パスワードの初期化等でユーザーにメールを送る必要があるため
$ sudo apt-get install postfix
インストール中にPostfixの構成タイプとメールサーバー名を聞かれますので、


通知の送信にしか使用しないため、
$ sudo postconf -e 'inet_interfaces = localhost' $ sudo service postfix restart
続いてMySQLをインストールします。
$ sudo apt-get install mysql-server
MySQLのrootユーザーのパスワードを聞かれるので、

MySQLを再起動した後、
$ mysql -u root -p mysql> CREATE DATABASE rattic DEFAULT CHARACTER SET utf8; mysql> GRANT ALL PRIVILEGES ON rattic.* TO 'rattic'@'localhost' IDENTIFIED BY 'ratticユーザーのパスワード' WITH GRANT OPTION;
RatticWeb本体をインストールします。インストール先は/opt/
$ sudo mkdir -p /opt/rattic/{static,media} $ wget -O- https://github.com/tildaslash/RatticWeb/archive/v1.3.1.tar.gz | sudo tar zxvf - -C /opt/rattic/ $ sudo ln -s /opt/rattic/RatticWeb-1.3.1/ /opt/rattic/RatticWeb
RatticWebの設定ファイルは/etc/
[ratticweb]
debug = False
secretkey = '(シークレットキー)'
hostname = rattic.example.com
timezone = Asia/Tokyo
[filepaths]
static = /opt/rattic/static
media = /opt/rattic/media
[database]
engine = django.db.backends.mysql
name = (データベース名)
user = (データベースのユーザー名)
password = (データベースのユーザーのパスワード)
パスワードなどの情報が第三者に見られないよう、
$ sudo chown root:www-data /etc/ratticweb.cfg $ sudo chmod 640 /etc/ratticweb.cfg
pipを使い、
$ sudo /usr/bin/pip install -r /opt/rattic/RatticWeb/requirements-mysql.txt
この後データベースの初期設定を行うのですが、
$ sudo rm -rf /usr/local/lib/python2.7/dist-packages/kombu/transport/django/migrations /usr/local/lib/python2.7/dist-packages/djcelery/migrations $ sudo mv /usr/local/lib/python2.7/dist-packages/kombu/transport/django/south_migrations /usr/local/lib/python2.7/dist-packages/kombu/transport/django/migrations $ sudo mv /usr/local/lib/python2.7/dist-packages/djcelery/south_migrations /usr/local/lib/python2.7/dist-packages/djcelery/migrations
manage.
$ cd /opt/rattic/RatticWeb $ sudo ./manage.py syncdb --noinput $ sudo ./manage.py migrate --all $ sudo ./manage.py compilemessages $ sudo ./manage.py collectstatic -c --noinput $ sudo ./manage.py demosetup
これでRatticWeb本体のインストールは完了です。最後にWebサーバーとしてApacheと、
$ sudo apt-get install apache2 libapache2-mod-wsgi
RatticWebを動かすバーチャルホストを用意します。/etc/
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName rattic.example.com
Alias /robots.txt /opt/rattic/static/robots.txt
Alias /favicon.ico /opt/rattic/static/favicon.ico
AliasMatch ^/([^/]*\.css) /opt/rattic/static/styles/$1
Alias /media/ /opt/rattic/media/
Alias /static/ /opt/rattic/static/
<Directory /opt/rattic/static>
Require ip 192.168.1.0/24 127.0.0.1
</Directory>
<Directory /opt/rattic/media>
Require ip 192.168.1.0/24 127.0.0.1
</Directory>
WSGIScriptAlias / /opt/rattic/RatticWeb/ratticweb/wsgi.py
WSGIPassAuthorization On
WSGIDaemonProcess rattic processes=2 threads=25 home=/opt/rattic/RatticWeb/ python-path=/opt/rattic/RatticWeb display-name=%{GROUP}
WSGIProcessGroup rattic
<Directory /opt/rattic/RatticWeb/ratticweb>
<Files wsgi.py>
Require ip 192.168.1.0/24 127.0.0.1
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/rattic_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/rattic_access.log combined
</VirtualHost>
最後に、
$ sudo a2ensite rattic $ sudo service apache2 reload
以上でインストールは完了です。
ユーザーとグループを作成する
ブラウザからRatticWebにアクセスして、



次に、


これからパスワードを登録していくわけですが、

グループを作成したら

自分が所属しているグループはページ左の
図11 お気に入りのタグと所属するグループの一覧。

パスワードを登録する
パスワードを登録するには、
項目 | 内容 |
---|---|
Title | 任意の名前(必須) |
Url | そのパスワードを利用するURL |
Username | ユーザーID |
Password | パスワード |
Markdown Description | DescriptionをMarkdownで記述できるようにするフラグ |
Description | パスワードに関する任意のメモ |
Owner Group | このパスワードが所属するグループ(必須) |
Viewers Groups | このパスワードを閲覧できるグループ |
Tags | 任意の検索用タグ |
Icon | 一覧に表示する際のアイコン |
Ssh key | SSH秘密鍵 |
Attachment | 任意の添付ファイル |
名前とオーナーグループは必須になっています。また見ての通り、
RatticWebのバックアップとリストア
パスワードを集中管理できるのは便利ですが、
とはいえデータベースの中身はパスワードというセンシティブな情報ですので、
$ gpg --list-keys pub 4096R/(鍵ID) 2016-03-01 uid Hajime MIZUNO <mizuno@example.com>
/etc/
[backup]
dir = (バックアップを保存するディレクトリ)
gpg_home = (GPGの鍵輪が保存されているディレクトリ)
recipients = (暗号化に使う鍵ID)
manage.
$ cd /opt/rattic/RatticWeb $ sudo ./manage.py backup
ディスク故障などの物理的障害を考えると、
s3_bucket = (バックアップを保存するバケット名)
バケットへのアクセス権限があるIAMユーザーを作成し、
$ mysql -u root -p rattic < <(gpg --decrypt db_backup_1456866001.93.gpg)
RatticWebを使えば、