CentOS 7にPhabricatorをインストールして構成する方法

Phabricatorは、次の目的で使用できる高度なオープンソースソフトウェア開発プラットフォームです。

  • コードを確認および監査します。
  • ホストGit / Hg / SVNリポジトリ。
  • バグを追跡します。
  • プロジェクトを管理します。
  • チームメンバーと通信します。
  • そして、もっとたくさん!

その豊富な機能と卓越したパフォーマンスのおかげで、Phabricatorはオープンソースソフトウェアコミュニティでますます人気が高まっています。

この記事では、Vultr CentOS 7サーバーインスタンスにPhabricatorをインストールする方法を紹介します。

前提条件

  • Vultr CentOS 7サーバーインスタンスを最初からデプロイします。
  • root以外のsudoユーザーを使用して、SSHターミナルからログインします。

手順1:システムアップデート

CentOS 7システムを更新してから再起動します。

yum update -y && shutdown -r now

システムが起動したら、sudoアクセス権を持つ非rootユーザーとしてログインします。

ステップ2:MariaDBをインストールする

MariaDBサーバーをインストールします。

sudo yum install mariadb mariadb-server

MariaDBサービスを開始して有効にします。

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

セキュリティ上の理由から、MySQLセキュアインストールユーティリティを実行します。

sudo /usr/bin/mysql_secure_installation

以下の指示に従って、このプロセスを完了します。

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password:<your-password>
Re-enter new password:<your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

ステップ3:Apacheをインストールする

YUMを使用してApache Webサーバーをインストールします。

sudo yum install httpd

セキュリティを強化するためにデフォルト構成を変更します。

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Apacheサービスを開始して有効にします。

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

ステップ4:PHPをインストールする

PHPと必要な拡張機能をインストールします。

sudo yum install php php-mysqli php-mbstring php-gd php-curl php-cli php-common php-process

ステップ5:gitをインストールする

sudo yum install git

ステップ6:Phabricatorをダウンロードしてインストールする

cd ~
mkdir phabricator
cd phabricator
git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git
cd ~
sudo chown -R apache: ~/phabricator
sudo mv ~/phabricator /var/www/html

ステップ7:Phabricatorの仮想ホストをセットアップする

sudo vi /etc/httpd/conf.d/phabricator.conf

次のコードセグメントに入力します。

注:あなたが交換する必要があり[email protected]phabricator.example.comwww.phabricator.example.com/var/log/httpd/phabricator.example.com-error_log、および/var/log/httpd/phabricator.example.com-access_log独自の値を持ちます。

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/phabricator/phabricator/webroot/
    ServerName phabricator.example.com
    ServerAlias www.phabricator.example.com
    RewriteEngine on
    RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
    RewriteRule ^/favicon.ico   -                       [L,QSA]
    RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]
    <Directory /var/www/html/phabricator/phabricator/webroot/>
        AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/phabricator.example.com-error_log
    CustomLog /var/log/httpd/phabricator.example.com-access_log common
</VirtualHost>

保存して終了:

:wq

変更を有効にするために、Apacheサービスを再起動します。

sudo systemctl restart httpd.service

ステップ8:PhabricatorのMariaDB資格情報をセットアップする

Phabricatorを使用する前に、MariaDBの認証情報を設定する必要があります。

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set mysql.host localhost
sudo ./bin/config set mysql.port 3306
sudo ./bin/config set mysql.user root
sudo ./bin/config set mysql.pass <your-MySQL-root-password>

Phabricatorスキームに入力します。

./bin/storage upgrade

このプロセス中に、「y」を2回入力する必要があります。

Before running storage upgrades, you should take down the Phabricator web
interface and stop any running Phabricator daemons (you can disable this
warning with --force).

    Are you ready to continue? [y/N] y

...

MySQL needs to copy table data to make some adjustments, so these migrations may take some time.

    Fix these schema issues? [y/N] y

ステップ9:ファイアウォールルールを変更してPhabricator管理者アカウントを設定する

デフォルトのHTTPポート80で受信トラフィックを許可する必要があります。

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

次に、Webブラウザーを使用してアクセスします。

http://<your-Vultr-server-IP>

Phabricator登録Webページが表示されます。日常の管理用の管理者アカウントを作成します。

それでは、Phabricatorを構成する方法を見てみましょう。

手順10:未解決のセットアップの問題を修正する

Phabricatorを安心して使用する前に、いくつかのセットアップの問題を修正する必要があります。セットアップの問題の数はさまざまですが、私の場合は16でした。1つずつ解決していきましょう。

問題1:ベースURIが構成されていない

[Base URI Not Configured]リンクをクリックして、この問題の詳細を確認できる問題の詳細ページに移動します。

この問題を修正するには、SSHターミナルで次のコマンドを実行する必要があります。必ず正しいIPアドレスを使用してください。

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set phabricator.base-uri 'http://<your-Vultr-server-IP>'

次に、Webブラウザーで、問題の詳細ページの[ページの再読み込み]ボタンをクリックします。修復が成功した場合、ページのテキストは「Issue Resolved」になります。「未解決の問題リストに戻る」リンクをクリックして、他の問題を調査します。

問題2:認証プロバイダーが構成されていない

[認証プロバイダーが設定されていません]リンクをクリックして、問題の詳細ページに移動します。

この問題を修正するには、認証プロバイダーを指定する必要があります。

[認証アプリケーション]リンクをクリックし、[+プロバイダーの追加]ボタンをクリックして、[認証プロバイダーの追加]ページに移動します。適切な認証プロバイダーを選択し、[続行]ボタンをクリックします。ここでは「ユーザー名/パスワード」を選びました。

[認証プロバイダーの追加:ユーザー名/パスワード]ページで、より詳細な設定を確認し、[プロバイダーの追加]ボタンをクリックできます。

同じ方法で認証プロバイダーをさらに追加できますが、現時点では、「Xの未解決のセットアップの問題があります...」リンクをクリックして、他の問題を処理します。

問題3:Phabricatorデーモンが実行されていない

「Phabricator Daemons Are Not Running」リンクをクリックして、詳細ページに入ります。

この問題を解決するには、SSHターミナルで次のコマンドを実行します。

cd /var/www/html/phabricator/phabricator/
./bin/phd start

「ページの再読み込み」ボタンをクリックして結果を確認します。

問題4:PHP post_max_sizeが構成されていない

この問題を修正するには、SSHターミナルで次のコマンドを実行します。

sudo sed -i "s/post_max_size = 8M/post_max_size = 32M/" /etc/php.ini
sudo systemctl restart httpd.service

[ページの再読み込み]ボタンをクリックして、変更を確認します。

問題5-10:MySQL関連の問題

合計6つのMySQL関連の問題があります。

  • 小さなMySQL「最大許容パケット」
  • MySQL STRICT ALL TABLESモードが設定されていません
  • MySQLはデフォルトのストップワードファイルを使用しています
  • MySQLはデフォルトの最小語長を使用しています
  • MySQLはデフォルトのブール構文を使用しています
  • MySQLの実行が遅い

便宜上、1つのバッチで修正しましょう。

SSHターミナルで、MySQL構成ファイルをvi次のように編集します。

sudo vi /etc/my.cnf

上部の3行の下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

以下の6行を追加します。

max_allowed_packet=32M
sql_mode=STRICT_ALL_TABLES
ft_stopword_file=/var/www/html/phabricator/phabricator/resources/sql/stopwords.txt
ft_min_word_len=3
ft_boolean_syntax=' |-><()~*:""&^'
innodb_buffer_pool_size=1600M        # about 40% of your system memory

警告:特定のサーバーサイズに応じて、適切なInnodbバッファープールサイズを設定する必要があります。通常、Innodbバッファープールのサイズは、マシンのメモリ量の約40%にする必要があります。たとえば、4Gメモリのマシンを使用している場合、妥当なInnodbバッファープールサイズは1600Mになります。メモリの少ないマシン(768Mなど)を使用している場合は、システムのメモリを節約するために、マシンのメモリ量(たとえば220M)の40%未満のサイズを割り当てる必要がある場合があります。

保存して終了:

:wq

MariaDBサービスを再起動します。

sudo systemctl restart mariadb.service

最後に、次のコマンドを実行します。

mysql -u root -p -e "REPAIR TABLE phabricator_search.search_documentfield"

[ページの再読み込み]ボタンをクリックして、作業を確認してください。

問題11:Pygmentsをインストールして構文の強調表示を改善する

CentOS 7では、Pygmentsがインストールされていますが、デフォルトでは有効になっていません。手動で有効にする必要があります。

リンクをクリックします。「pygments.enabled」を編集し、「データベース値」ドロップダウンメニューから「Pygmentsを使用」を選択して、「構成エントリを保存」ボタンをクリックします。

問題12:サーバーのタイムゾーンが構成されていない

php.iniファイルを変更します。

sudo vi /etc/php.ini

次の行を置き換えます。

;date.timezone =

と:

date.timezone = America/Los_Angeles

保存して終了:

:wq

注:「America / Los_Angeles」は私のマシンのタイムゾーン値ですここで自分のサーバーインスタンスに適切なタイムゾーン値を見つける必要があります

Apacheサービスを再起動します。

sudo systemctl restart httpd.service

「ページの再読み込み」ボタンをクリックして結果を確認します。

問題13:構成されていない大容量ファイルストレージ

独自の設定に従って、適切な大容量ファイルストレージソリューションを展開する必要があります。現時点では、「セットアップの問題を無視」ボタンをクリックしてスキップできます。

問題14:構成されていない代替ファイルドメイン

代替ファイルドメインまたはCDNを設定したとすると、SSHターミナルで次のようになります。

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set security.alternate-file-domain <https://files.example.com>

「ページの再読み込み」ボタンをクリックして結果を確認します。

問題15:リポジトリのローカルパスがありません

この問題を解決するには、次のコマンドを使用します。

sudo mkdir /var/repo
sudo chown apache: /var/repo

「ページの再読み込み」ボタンをクリックして結果を確認します。

問題16:PHP拡張機能「APC」がインストールされていない

sudo yum install php-pear php-devel httpd-devel pcre-devel gcc make
sudo pecl install apc

APCのインストールプロセス中は、常にEnterキーを押してデフォルトオプションを使用してください。

sudo vi /etc/php.ini

ファイルの最後に4行を追加します。

extension=apc.so
apc.write_lock = On
apc.slam_defense = Off
apc.stat = Off

保存して終了:

:wq

Apacheサービスを再起動します。

sudo systemctl restart httpd.service

「ページの再読み込み」ボタンをクリックして結果を確認します。

それで全部です。幸せなコーディング!



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。