Linux に Fossil バージョン コントロール システムをインストールする方法

Linux に Fossil バージョン コントロール システムをインストールする方法
JavaScript コードが表示されているコンピューター画面の写真。

Fossil は、Linux 用の強力なバージョン管理システム (VCS) です。この記事では、Ubuntu Linux に Fossil をインストールして展開する方法を説明します。

Git ではなく Fossil を使用する理由

Fossilの最大のセールスポイントの 1 つは、ソース コードをオンラインで管理するためのオールインワン スイートであることです。これは、Github または Gitlab アカウントを作成せずに、単一のリポジトリを他のユーザーと共有したいユーザーにとって非常に便利です。

それ以外にも、Fossil は非常に柔軟性が高く、セルフホストも非常に簡単です。システム内の単一の静的バイナリとして実行することも、自己完結型の Docker コンテナとして実行することもできます。そのため、Fossil を導入して自分のニーズに合わせて調整するのは非常に簡単です。

Fossil と Git は同じ操作構文を共有していますが、Fossil は Git で実装するのが難しい追加機能を提供します。たとえば、Fossil は、以前のコミットと将来のコミット間の参照を追跡する内部データベースを提供することで、「分離された HEAD」の問題を回避します。その結果、Fossil リポジトリは Git と比較してシームレスでトラブルフリーです。

Fossil が Git より優れているもう 1 つの点は、すぐに使える機能を提供しながら、実行に必要な依存関係とメモリが少ないことです。Fossil インスタンスには、ディスカッション ボード、Wiki、問題追跡機能があります。これにより、Fossil は、コードの開発と公開に「手間のかからない」環境を求めるすべての人にとって統合ソリューションになります。

Fossilの前提条件とDockerの入手

Fossil をデプロイする最初のステップは、Docker のリポジトリ ファイルを取得することです。そのためには、Docker プロジェクトの署名キーを取得します。

「/etc/apt/sources.list.d」の下に新しいファイルを作成します。これには、Ubuntu が Docker パッケージを取得するリポジトリ リンクが含まれます。

新しいリポジトリ ファイル内に次のコードを貼り付けます。

Docker リポジトリ ファイルを保存し、コア スナップ パッケージをインストールします。

Electronic Frontier Foundation から Certbot snap パッケージをダウンロードします。

システムのパッケージ リストを更新するには、次のコマンドを実行します。

Docker と Nginx を依存パッケージとともにインストールします。

Linux での Fossil の構築とインストール

Fossil のダウンロード ページに移動し、最新の安定リリースのソース tarball を選択します。私の場合は、Fossil のバージョン 2.23 をダウンロードします。

Fossil の最新の安定版リリースへのリンクを強調表示したスクリーンショット。

ソース tarball をホーム ディレクトリに移動し、解凍します。

tarball のフォルダー内に移動し、お気に入りのテキスト エディターを使用して Fossil の Dockerfile を開きます。

ファイルの一番下までスクロールし、"--user", "admin"]行の前に次のコードを追加します。

端末を強調表示

変更した Dockerfile を保存し、コンテナ イメージをビルドします。

Fossil の実行と SSL リバース プロキシの作成

これで、サーバー上で Docker コンテナとして実行される Fossil VCS の新しいインスタンスが作成されました。これにアクセスするには、Fossil への外部接続を暗号化する必要があります。

まず、Fossil サーバーの IP アドレスを指す新しい DNS「A」レコードを作成します。

Fossil の A DNS レコードを示すスクリーンショット。

お気に入りのテキスト エディターを使用して、Fossil インスタンスの新しいサイト構成ファイルを作成します。

新しいサイト構成ファイル内に次のコード ブロックを貼り付けます。

server_name変数を Fossil のサブドメインに置き換えます。

Nginx のリバース プロキシ サイト構成ファイルを表示するターミナル。

サイト設定ファイルへのシンボリックリンクを「/etc/nginx/sites-enabled/」に作成します。

systemctl を使用してシステムの Nginx デーモンを起動します。

次のコマンドを実行して、新しい Fossil Docker イメージを起動します。

Ctrl+を押してBから を押して、新しい Tmux パネルを開きますC。その中で、次のコマンドを実行して、Certbot から SSL 証明書を要求します。

サブドメインに移動して、Fossil インスタンスがインターネット経由でアクセスできるかどうかをテストします。

新しくインストールされた Fossil インスタンスのランディング ページを示すスクリーンショット。

最初の化石リポジトリを作成する

Linux サーバーで Fossil が起動して実行されたら、新しいインスタンスを構成できます。[ホーム]セクションの[setup/config]リンクをクリックします。

スクリーンショットでは、

管理者アカウントの詳細を入力し、「ログイン」をクリックします。管理者アカウントのパスワードは、Docker コンテナの出力ログで確認できます。

管理者アカウントのランダム パスワードを強調表示したスクリーンショット。

プロジェクト名プロジェクトの説明の両方のテキストボックスにリポジトリの詳細を入力し、 「変更を適用」をクリックして保存します。

スクリーンショットでは、

化石リポジトリのクローン作成と使用

新しいコード リポジトリを使用するには、まずそのコピーをマシン上に作成する必要があります。そのためには、Linux デスクトップに Fossil のローカル バージョンをインストールします。

リポジトリ全体をマシンにプルし、そのリポジトリ フォルダー内に移動します。

最初のファイルを追加し、変更を Fossil リポジトリにコミットします。

最初のコミットの詳細を入力し、ピリオド (.) で始まる新しい行を作成して保存します。

Fossil のコミット メッセージ形式を表示するターミナル。

ローカルの変更をリモート Fossil リポジトリにプッシュする

デフォルトでは、Fossil はリモート リポジトリへの書き込み権限を一切提供しません。ローカル リポジトリに加えた変更はそこに残り、Fossil インスタンスには反映されません。

これを修正するには、Fossil インスタンスの Web インターフェースに移動し、管理者アカウントとしてログインします。

ダッシュボードの上部メニューにある「管理者」カテゴリをクリックします。

場所を示すスクリーンショット

管理者のコントロール パネルで[ユーザー]を選択します。

スクリーンショットでは、

リポジトリに新しいユーザーを作成するには、「追加」をクリックします。

場所を示すスクリーンショット

新しいユーザーのユーザー名とパスワードを入力します。

機能カテゴリの開発者チェックボックスをオンにし、「変更を適用」をクリックして新しいユーザーを保存します。

新しい Fossil ユーザーのデフォルトのコミッター設定を示すスクリーンショット。

ローカル ターミナルに戻り、次のコマンドを実行します。

Fossil ユーザーのパスワードを入力し、 を押してEnterローカルの変更をリモート リポジトリにプッシュします。

Web インターフェースに移動して、リモート Fossil リポジトリがローカル コミットを受信したことを確認します。

セルフホスト型 Fossil インスタンス内のサンプル コミット ファイルを示すスクリーンショット。

独自の Fossil バージョン コントロール システムをインストールして展開することは、オンライン データの制御を取り戻すための最初のステップにすぎません。SimpleLogin を使用して独自の電子メール エイリアス サーバーをホストすることで、オンライン通信を安全に保護する方法を学びます。

画像クレジット: Panjak Patel (Unsplash 経由)。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です