Dockerを使用してphabricatorをインストールする方法

Dockerを使用してphabricatorをインストールする方法

ここでは Ubuntu 16.04 システムを使用しています。

dockerを使用したインストール

https://hub.docker.com/r/redpointgames/phabricator/ から提供されるイメージを使用します。

このイメージでは、さまざまなプラグインが提供されていますが、MySQL データベース アドレスは自分で提供する必要があります。

まず、docker を使用して MySQL データベースをインストールします。参照: https://www.jb51.net/article/148880.htm

上記のチュートリアルによると、mysqlをインストールし、アカウントはroot、パスワードは123456です。

合格

docker inspect <container id> |grep IPAddress

mysql コンテナの IP アドレスを知ることができます。見つかったコンテナのプライベート IP アドレスは 172.17.0.2 です。

次に、docker を使用して phabricator をインストールします。

docker pull redpointgames/phabricator # 拉取最新版的phabricator

起動する

docker run --name phabricator -p 443:443 -p 332:22 -p 8891:80 -v /root/phabricator/backup:/repos -e PHABRICATOR_HOST=xxxxxx:8891 -e MYSQL_HOST=172.17.0.2 -e MYSQL_USER=root -e MYSQL_PASS=123456 -e PHABRICATOR_REPOSITORY_PATH=/repos -e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -it redpointgames/phabricator /bin/bash /app/init.sh

ここで、xxxx はサーバーの外部 IP アドレスです。サーバーに docker によってデプロイされた phabricator には、http://xxxxx:8891 からアクセスできます。ただし、セキュリティ グループを有効にすることを忘れないでください。

インストールが完了したら、外部ネットワークIPを使用できます。
アクセスするにはポート番号 8891 を追加します。

このとき、追加したユーザーはデフォルトでシステム管理者となり、バックグラウンドにログインしてその他の設定を行うことができます。ただし、まだこのページを終了しないでください。いくつかの設定が必要なためです。

このインターフェースに初めてアクセスする場合は、コンソールのコマンドを使用してユーザーを追加することもできます。

コンテナに入ります cd /srv/phabricator/phabricator
./bin/アカウント管理

管理者ユーザーがログアウトすると、次のメッセージが表示されます。

この Phabricator インストールでは、ログインに使用できる有効な認証プロバイダーが設定されていません。すべてのプロバイダーを無効にして誤ってロックアウトしてしまった場合は、 phabricator/bin/auth recover <username>を使用して管理者アカウントへのアクセスを回復できます。

次のコマンドを実行してください

コンテナに入ります cd /srv/phabricator/phabricator
./bin/auth 回復 luanpeng (Web ページで作成された管理者アカウント)

Web ページから入力するように求められます。

このリンクを使用して、Web インターフェースから「luanpeng」アカウントへのアクセスを回復します。
  http://xxxxxx:8891/ログイン/once/recover/1/xxxxxxxxx/
ログイン後、「Auth」アプリケーションを使用して認証プロバイダーを追加または復元し、通常のログインを成功させることができます。

指示に従ってください

ホームページの左の列でAuthを選択し、次の数字を入力します。

ユーザーがログインして登録できるようにする

今のところ、phabricatorはインストールされています。

Docker インストールを使用しない場合は、個別にデプロイできます。ただし、手順がかなり複雑なので、docker 経由でデプロイすることをお勧めします。

インストールスクリプトを使用してインストールする

インストール スクリプトを作成します。 URL を開き、Web ページ内のスクリプトの内容を新しく作成された sh ファイル (https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_ubuntu.sh) にコピーします。

URL からスクリプト ファイルをダウンロードするか、ローカルで直接 sh ファイルを作成し、Web ページの sh コードをコピーします。ローカルインストールスクリプトinstall_ubuntu.shを作成する

インストールディレクトリ /home/luanpeng/work/phabricator を作成します。

インストールスクリプトをインストールディレクトリにコピーし、スクリプトを実行します。

sh install_ubuntu.sh

インストール スクリプトを実行し、画面の指示に従います。このスクリプトは、git、apache、mysql、php などの一連のツールを自動的にインストールします。

注意: MySQL をインストールするときに、ルート パスワードの入力が数回求められます。後で使用する際に便利なように、パスワードを空に設定することをお勧めします。

Phabricatorとその依存関係をダウンロードする

$ cd somewhere/ # インストールディレクトリを選択 somewhere/ インストールディレクトリに切り替えます $ git clone git://github.com/facebook/libphutil.git
どこか/ $ git clone git://github.com/facebook/arcanist.git
どこか/ $ git clone git://github.com/facebook/phabricator.git

WEBサーバー: Apacheの設定

サーバー名を追加
(1)httpd.confを変更します。Apacheをインストールしたばかりのときは、このファイルは空のはずです。 (2.4.x バージョンの場合は、/etc/apache2 パスに httpd.conf ファイルを作成するだけです)
次の内容を追加します: ServerName localhost
(2)保存して終了します。
2. Apacheのインストールを確認する(1)Apacheサービスを再起動する
/etc/init.d/apache2 を再起動
(2)ページを確認します。ブラウザを開き、アドレスバーにlocalhostと入力します。 「It works」という文字が表示されるかどうかを確認します。表示される場合、Apache は正常に動作しています。それ以外の場合は、httpd.conf が正しく設定されているかどうかを確認する必要があります。

Phabricator の更新

Phabricator は継続的に開発されているため、頻繁に更新する必要があります。アップデート方法:

  • ウェブサーバーを停止する
  • git を実行して libphutil/、arcanist/、phabricator をプルします
  • phabricator/bin/storage アップグレードを実行する
  • ウェブサーバーを再起動します

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Docker に共通コンポーネント (mysql、redis) をインストールする方法
  • Docker コンテナのネットワーク障害に対する 6 つの解決策
  • Docker Swarm を使用して分散クローラー クラスターを構築する例
  • Docker で複数の MySQL コンテナを作成して実行する方法の例
  • DockerプライベートイメージライブラリとAlibaba CloudオブジェクトストレージOSSの簡単な分析
  • Docker で MySQL クラスターを構築する方法の例
  • docker-compose ネットワーク設定についての簡単な説明
  • docker pullがリセットされる問題を解決する
  • docker イメージのプル速度が遅い問題の解決策
  • 実行後にdocker nginxにアクセスできない問題の解決策
  • Dockerをクリーンアンインストールする方法の詳細な説明

<<:  広告を閉じるための JavaScript カウントダウン

>>:  MySQL PXC は IST 送信のみで新しいノードを構築します (推奨)

推薦する

CSSで記事の区切り線のスタイルを実装するさまざまな方法のまとめ

この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...

MySQL の結合インデックスと左端一致原則の詳細な説明

序文これまでインターネットでMySQLジョイントインデックスの最左接頭辞マッチングに関する記事をたく...

HTML 終了タグの問題と W3C 標準

W3C の原則によれば、XML の各開始タグには対応する終了タグが必要です。つまり、<html...

MySQLカーソルの使い方と機能の詳細な説明

[mysqlカーソルの使い方と機能]例:現在、テーブル A、B、C の 3 つのテーブルがあります。...

JSが5つ星の賞賛を獲得

この記事では、5つ星の評価を獲得するためのJSの具体的なコードを参考までに共有します。具体的な内容は...

データページング効果を実現する js オブジェクト

この記事の例では、データのページング効果を実現するためのjsオブジェクトの具体的なコードを参考までに...

JS 開発効率を上げる4つの超実践的なヒント

目次1. 短絡判定2. オプション連鎖演算子 (?) 3. ヌル合体演算子 (??) 4. 終了関数...

MySQL全文インデックスを使用して検索エンジンのサンプルコードの簡易版を実現する

序文全文インデックスを使用できるのは Innodb と MyISAM ストレージ エンジンのみです ...

MySQLの関連ロックについての簡単な理解

この記事は主にInnoDBのロックに関する知識を素早く理解してもらうことを目的としています。 Roc...

フィールドの文字セットの違いによる MySQL のインデックス失敗の解決策

インデックスとは何ですか?なぜインデックスを作成するのですか?インデックスは、列に特定の値を持つ行を...

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

MySQLクエリ文を書き換える3つの戦略

目次複雑なクエリとステップバイステップのクエリクエリステートメントを分割する共同クエリの分解問題のあ...

Zabbix ベースの Jenkins プロセス監視の詳細な説明

1. 監視アーキテクチャ図 2. 実装のアイデアJenkins に Metrics プラグインをイン...

Docker swarm を使用して Nebula Graph クラスターを迅速にデプロイする方法のチュートリアル

1. はじめにこの記事では、Docker Swarm を使用して Nebula Graph クラスタ...

ネイティブ JavaScript メッセージボード

この記事では、参考までにメッセージボードを実装するためのJavaScriptの具体的なコードを紹介し...