「GNU social JP Fossil」の版間の差分
提供:GNU social JP Wiki
Gnusocialjp (トーク | 投稿記録) (Install) |
Gnusocialjp (トーク | 投稿記録) 細 (→CGI) |
||
44行目: | 44行目: | ||
=== CGI === | === CGI === | ||
情報源 | |||
* [https://fossil-scm.org/home/doc/tip/www/server/any/cgi.md Fossil: Serving via CGI] | |||
* [https://fossil-scm.org/home/doc/tip/www/cgi.wiki Fossil: CGI Script Configuration Options] | |||
バイナリーを取得したので、CGIで動作させるために設定する。 | バイナリーを取得したので、CGIで動作させるために設定する。 | ||
2024年12月29日 (日) 09:21時点における版
About
GNUプロジェクトのソースコードのホスティングには、フリーソフトを使用したサービスしか使用できない。
それもあって、リポジトリーを自己ホストするために調査した。
- phorge
- trac
- kallithea
- fossil
上記4ソフトのインストール・動作を2024-12に検証 (https://gnusocial.jp/notice/8089277) して、その結果fossilに決めた。fossslが唯一以下を満たした。
- CGIで動作
- リポジトリーと管理UIの統合
Tracもインストールはできたが、これはBTS機能のみで、リポジトリー自体のホスティングはgitwebやcgitなど別サービスが必要だった。2個に分かれるのが面倒くさい。
FossilはSQLiteの著者が管理するプロジェクト。Gitが使いにくいと思っており、そこをうまく解消している。さすがのプロジェクト。
Install
Condition
wiki.gnusocial.jpなどをホストしているCORESERVERに追加する形でインストールする。
- ドメイン=fossil.gnusocial.jp
- ホスティングサービス=CORESERVER
- 方式=CGI
Binary
情報源=Fossil: A Coherent Software Configuration Management System
インストールに先立って、fossilのバイナリーを取得する。
ソースコードからコンパイルするか、コンパイル済みバイナリーを配置するだけ。設置先の共用サーバーにログインして、以下のコマンドを実行する。
VER=2.25 mkdir -p ~/.local/stow/fossil-$VER ~/.local/bin cd ~/.local/stow/fossil-$VER curl -O https://fossil-scm.org/home/uv/fossil-linux-x64-$VER.tar.gz tar -xf fossil-$VER.* ln -fns ../stow/fossil-$VER/fossil ../../bin/
.bashrcなどに以下を記入して、PATHを設定しておく。
export PATH="$PATH:~/.local/bin"
CGI
情報源
バイナリーを取得したので、CGIで動作させるために設定する。
ディレクトリー構成は以下とする。
- public_html
- fossil: fossilリポジトリーの格納場所。
- fossil.gnusocial.jp: 公開ディレクトリー。
- .htaccess
- fossil: FossilのCGI。
- index.html
以下のコマンドでディレクトリーを作ってCGIファイルなどを配置する。
mkdir -p ~/public_html/fossil ~/public_html/fossil.gnusocial.jp cd ~/public_html/fossil.gnusocial.jp cat <<-'EOT' >.htaccess <FilesMatch fossil$> SetHandler cgi-script </FilesMatch> EOT cat <<-EOT >fossil #!$HOME/.local/bin/fossil directory: $HOME/public_html/fossil notfound: /fossil repolist EOT cat <<-'EOT' >index.html <!DOCTYPE html> <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8" /> <meta name="author" content="SENOO, Ken" /> <title>GNU social JP Fossil</title> </head> <body> <h1>GNU social JP Fossil</h1> <main> <section> <h1>About</h1> <p>This site hosts GNU social fossil repositories.<p> </section> <section> <h1>Link</h1> <ul> <li><a href="fossil">fossil</a>: repository list.</li> <li><a href="fossil/gnusocial">fossil/gnusocial</a>: GNU social main repository</li> </ul> </section> </main> </body> </html>
index.htmlは仮。必要になったタイミングで、内容やスタイルを改良する。
これで一旦稼働する。あとはFossilリポジトリーの用意。