Ubuntu 18.04(Virtualenv)にKallitheaを構築する


概要

KallitheaはGit と Mercurial に対応したオープンソース(GPLv3)のリポジトリホスティングソフトウェアです.
今回はそのKallitheaをubuntu上のvirtualenvに構築していきます.

Kallitheaとは

環境

Software Version
ESXi 6.7
Ubuntu 18.04

パッケージのアップデート

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

インストール

1. パッケージのインストール

sudo apt-get install build-essential git libffi-dev python3-dev python3-venv npm mercurial

2. リポジトリを配置するディレクトリを作成

  • 今回は/var/lib配下に作成してきます.
# ディレクトリ作成
sudo mkdir -p /var/lib/kallithea/repos
# 書き込み可能なパーミッションに変更
sudo chmod -R 777 /var/lib/kallithea/repos

3. Kallitheaをクローン

  • 今回は/opt配下にクローンしてきます.
# パーミッションの変更
sudo chmod -R 777 /opt
cd /opt
# クローン
hg clone https://kallithea-scm.org/repos/kallithea -u stable
# kallitheaディレクトリに移動
cd kallithea
# パーミッションの変更
sudo chmod -R 777 /opt

4. VirtualenvにKallitheaの仮想マシンを作成

# 仮想マシンを作成
python3 -m venv ../kallithea-venv
# 仮想マシンにログイン
. ../kallithea-venv/bin/activate

5. 各種アップグレードとsetup.pyの実行

※ここから先はvirtualenv上で実施します.

pip install --upgrade pip setuptools
pip install --upgrade -e .
python3 setup.py compile_catalog

6. Kallitheaのセットアップ

  • my.iniの作成
kallithea-cli config-create my.ini
  • my.iniの編集
sudo nano my.ini

# 下記の部分を編集
## Entry point for 'gearbox serve'
[server:main]
host = <サーバのアドレス>
port = 5000
  • DBのセットアップ
    下記コマンドを実行すると古いDatabaseを削除するか,リポジトリを保存するディレクトリ,管理者アカウントのユーザ名,パスワード,メールアドレスを聞かれるので入力する.

  • Are you sure to destroy old database ?

  • Enter a valid absolute path to store repositories. All repositories in that path will be added automatically:

  • Specify admin username:

  • Specify admin password (min 6 chars):

  • Specify admin email:

kallithea-cli db-create -c my.ini

#下記が聞かれる
Are you sure to destroy old database ? [y/n]y
Enter a valid absolute path to store repositories. All repositories in that path will be added automatically: /var/lib/kallithea/repos
Specify admin username:<管理者アカウントのユーザ名>
Specify admin password (min 6 chars):<パスワード>
Confirm password:<再度パスワード>
Specify admin email:<メールアドレス>

7. ビルドする

kallithea-cli front-end-build

8. 起動する

# Backgroundで実行する(--daemonを追記)
gearbox serve -c my.ini --daemon
# Virtualenvからログアウト
deactivate

9. Kallitheaにアクセス

下記URLにアクセスしKallitheaにアクセスできることを確認する

http://<サーバのアドレス>:5000

10. 次回以降の起動手順

# kallitheaディレクトリに遷移
cd /opt/kallithea
# Virtualenvにログイン
. ../kallithea-venv/bin/activate
# kallitheaを起動
gearbox serve -c my.ini --daemon
# Virtualenvからログアウト
deactivate

まとめ

今回はKallitheaをubuntu上のvirtualenvに構築した.
Web上のGUIで管理できるため非常に使いやすかった.

参考

Kallitheaのインストール手順

Kallithea Installation on Unix/Linux