GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にRestyaboardをインストールする方法

Restyaboardは、無料のオープンソースかんばんボードアプリケーションです。これは、Trelloに代わる最良のセルフホスト型です。 PHPで記述されており、PostgreSQLを使用してデータベースを保存します。

このチュートリアルでは、CentOS7サーバーにRestyaboardをインストールします。

前提条件

  • 最小限のCentOS7サーバー
  • root権限
ステップ1-Nginxをインストールします

パッケージをインストールする前に、次のコマンドを使用してパッケージとリポジトリを更新することをお勧めします。

yum -y update

NginxはデフォルトのCentOSYUMリポジトリでは使用できないため、EPELリポジトリもインストールする必要があります。次のように入力してEPELをインストールできます:

yum -y install epel-release

これで、次のように入力してnginxをインストールできます:

yum -y install nginx

インストールが完了したら、次のコマンドを実行してnginxを起動し、次のコマンドを使用して起動時に自動的に起動できるようにします。

systemctl start nginx systemctl enable nginx

Nginxがサーバー上で実行されているはずです。

ステップ2-Mbstringを使用してPHP-FPMをインストールおよび構成します

RestyaboardはPHP7.0をサポートしているため、セキュリティとパフォーマンスを最大化するためにPHP7.0をインストールします。 PHP 7.0はYUMまたはEPELリポジトリでは利用できないため、同じためにWebtaticリポジトリをインストールする必要があります。次のコマンドを実行して、Webtaticリポジトリをインストールします。

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

次に、PHP7.0とPHP-FPMを他の必要なモジュールとともにインストールします。

yum -y install php70w php70w-fpm php70w-devel php70w-cli php70w-curl php70w-pgsql php70w-mbstring php70w-ldap php70w-pear php70w-imap php70w-xml php70w-pecl-imagick ImageMagick

インストールが完了したら、いくつかの設定が必要になります。デフォルトでは、PHP-FPMはApacheで使用するように構成されていますが、nginxでも機能するようにユーザーを変更する必要があります。お気に入りのテキストエディタを使用して、/ etc / php-fpm.d/www.confファイルを編集します。このチュートリアルでは、nanoエディターを使用します。 nanoがインストールされていない場合は、yum -yinstallnanoを実行できます。

nano /etc/php-fpm.d/www.conf

次の行を見つけて、apacheをnginxに変更します。

; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

サーバーポートを使用する代わりに、PHP-FPM用のソケットファイルを使用します。次の行を見つけます。

listen = 127.0.0.1:9000

次の行に変更します。

listen = /run/php-fpm/php7.0-fpm.sock

次に、次の行を見つけます。

;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660

値を次のように変更します。

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

さらに、PHP構成ファイルでタイムゾーンを設定する必要があります。次のコマンドを使用してPHP構成ファイルを編集します:

nano /etc/php.ini

次の行を見つけてコメントを外し、地域に応じてタイムゾーンを設定します。例:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

cgi.fix_pathinfo行のコメントを解除し、値を0に変更します。

cgi.fix_pathinfo=0

さらに、GeoIPもインストールする必要があります。次のコマンドを実行してGeoIPをインストールします。

yum -y install GeoIP-devel

/etc/php.ini

の最後に次の行を追加して、GeoIP拡張機能を有効にします。
extension=geoip.so

PHP-FPMを起動し、次のコマンドを使用して起動時に起動できるようにします。

systemctl start php-fpm systemctl enable php-fpm

次に、次のコマンドを使用してnginxを再起動します。

systemctl restart nginx
ステップ3-PostgreSQLデータのインストールと構成

PostgreSQLはオープンソースのオブジェクト-リレーショナルデータベース管理システムです。 RestyaboardはPostgreSQLを使用してデータベースを保存します。

PostgreSQLはYUMまたはEPELリポジトリでは使用できません。PostgreSQLリポジトリをインストールする必要があります。

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

PostgreSQLをインストールするには、次のコマンドを実行します。

yum -y install postgresql96-server postgresql96-contrib

上記のコマンドは、システムに必要なすべての依存関係とともにPostgreSQLをインストールします。ソフトウェアを使用する前に、次のコマンドを実行してデータベースを初期化する必要があります。

/usr/pgsql-9.6/bin/postgresql96-setup initdb

PostgreSQLがインストールされたら、それを構成します。 /var/lib/pgsql/9.6/data/pg_hba.confを編集して、MD5ベースの認証を有効にします。

nano /var/lib/pgsql/9.6/data/pg_hba.conf

次の行を見つけて、peerをtrustに、idnetをmd5に変更します。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

更新すると、構成は次のようになります。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

次に、PostgreSQLサーバーを起動し、次のコマンドを使用して起動時に自動的に起動できるようにします。

systemctl start postgresql-9.6 systemctl enable postgresql-9.6

次に、PostgreSQLのインストール中に作成されたデフォルトのPostgreSQLユーザーのパスワードを変更します。

passwd postgres

次に、次のコマンドを使用してPostgreSQLユーザーを使用してログインします。

su - postgres

上記のコマンドはpostgresのシェルにログインします

次に、次のように入力して新しいユーザーを作成します。

createuser rb_user

次に、次のコマンドを使用してPostgreSQLシェルに切り替えます。

psql

シェルのプロンプトがpostgres-#に変更されていることがわかります。次に、次のクエリを実行して、Restyaboardデータベース用に新しく作成されたユーザーのパスワードを設定します。

ALTER USER rb_user WITH ENCRYPTED password 'StrongPassword';

クエリの最後には必ずセミコロンを使用してください。上記のクエリでは、rb_userのパスワードを2回要求されます。次に、次のクエリを使用してPostgreSQLデータベース用の新しいデータベースを作成します。

CREATE DATABASE rb_data OWNER rb_user ENCODING 'UTF8' TEMPLATE template0;

上記のクエリは、template0を使用してUTf8エンコーディングでrb_dataという名前のデータベースを作成し、所有権はrb_userに提供されます。

次のコマンドを使用して、psqlシェルを終了してpostgresユーザーの通常のシェルユーザーシェルに移動します。

\q

そして、exitコマンドを使用してrootユーザーに再度切り替えます。

ステップ4-Restyaboardをダウンロード

すべての依存関係の準備ができたので、Restyaboardをダウンロードできます。次のコマンドを実行して、展開可能なバージョンをダウンロードします。

cd /usr/share/nginx/html wget https://github.com/RestyaPlatform/board/releases/download/v0.4.2/board-v0.4.2.zip

最新バージョンへのリンクは、RestyaboardGithubページでいつでも見つけることができます。

次に、次のコマンドを使用してアーカイブを抽出します。 unzipがインストールされていない場合は、yum -yinstallunzipを実行できます。

unzip board-v0.4.2.zip -d board

アーカイブが抽出されたら、次のコマンドを使用してSQLファイルをインポートします。

psql -d rb_data -f "/usr/share/nginx/html/board/sql/restyaboard_with_empty_data.sql" -U rb_user

次に、Restyaboard構成ファイルを編集して、データベースの資格情報を更新します。

nano /usr/share/nginx/html/board/server/php/config.inc.php

次の行を見つけます。

define('R_DB_HOST', 'localhost');
define('R_DB_USER', 'restya');
define('R_DB_PASSWORD', 'hjVl2!rGd');
define('R_DB_NAME', 'restyaboard');
define('R_DB_PORT', 5432);

Restyaboardデータを保存するために最近作成したデータベースのデータベース名、ユーザー名、パスワードに応じて変更してください。完了すると、次のようになります。

define('R_DB_HOST', 'localhost');
define('R_DB_USER', 'rb_user');
define('R_DB_PASSWORD', 'StrongPassword');
define('R_DB_NAME', 'rb_data');
define('R_DB_PORT', 5432);
ステップ5-Nginxサーバーブロックを構成する

Restyboard nginxサーバーブロック構成は、zipアーカイブにパッケージ化されています。次のコマンドを使用して、構成ファイルをnginx構成ファイルの場所にコピーできます。

cp /usr/share/nginx/html/board/restyaboard.conf /etc/nginx/conf.d

ここで、ファイルにいくつかの変更を加える必要があります。お気に入りのテキストエディタを使用して構成ファイルを開きます。

nano /etc/nginx/conf.d/restyaboard.conf

構成の開始時に、次の行を見つけます。

server {
        listen 80 default_server;
        server_name _;

default_serverテキストを削除し、サーバー名の後にドメイン名を指定します。以下のようになります。

server {
        listen 80;
        server_name board.yourdomain.com;

次の行も見つけてください:

 root /usr/share/nginx/html;

および

 location / {
                root /usr/share/nginx/html/client;
        }

および

root /usr/share/nginx/html/client;

Restyaboardのインストールフォルダに応じて上記の行を変更します。以下のようになります。

root /usr/share/nginx/html/board;

および

 location / {
                root /usr/share/nginx/html/board/client;
        }

および

root /usr/share/nginx/html/board/client

次の行も見つけてください:

fastcgi_pass    unix:/run/php/php7.0-fpm.sock;

次のように変更します:

fastcgi_pass    unix:/run/php-fpm/php7.0-fpm.sock;

これでファイルを閉じることができます。次のコマンドを使用して、適切な所有権と権限を提供します。

chown -R nginx:nginx /usr/share/nginx/html/board/
chmod -R go+w "/usr/share/nginx/html/board/media"
chmod -R go+w "/usr/share/nginx/html/board/client/img"
chmod -R go+w "/usr/share/nginx/html/board/tmp/cache"
chmod -R 0755 /usr/share/nginx/html/board/server/php/shell/*.sh

最後に、cronエントリを追加して、次のコマンドを使用してスケジュールされたタスクを実行できるようにします。

echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/instant_email_notification.sh" >> /var/spool/cron/root
echo "0 * * * * /usr/share/nginx/html/board/server/php/shell/periodic_email_notification.sh" >> /var/spool/cron/root
echo "*/30 * * * * /usr/share/nginx/html/board/server/php/shell/imap.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/webhook.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/card_due_notification.sh" >> /var/spool/cron/root
>

プロキシ設定はSELinuxポリシーでは機能しないため、SELinuxを無効にする必要があります。サーバーを再起動せずにSELinuxを一時的に無効にするには、次のコマンドを実行します。

setenforce 0

SELinuxを完全に無効にするには、/ etc / selinux/configファイルを編集する必要があります。

nano /etc/selinux/config

次の行を見つけます:

SELINUX=enforcing

次のように変更します:

SELINUX=disabled

次に、次のコマンドを使用してNginxを再起動します。

systemctl restart nginx

これで、次のURLにアクセスしてサーバーにアクセスできます。

http://board.yourdomain.com

次のログイン画面が表示されます。

次に、ユーザー名adminとパスワードrestyaを使用してログインします。ログインすると、次の画面が表示されます。

新しいボードを作成するには、ページの左隅にある矢印をクリックし、[ボードまたは組織の追加]をクリックします。

名前を入力し、テンプレートを選択して新しいボードを作成します。

ボードを作成すると、次のようになります。

管理パネルにアクセスするには、右下隅にある[管理]ボタンをクリックしてから、トップバーの[設定]をクリックします。

これでRestyaboardがサーバーにインストールされ、かんばんボードを使用してプロジェクトのワークフローを改善できるようになりました。


Cent OS
  1. CentOS7にNginxをインストールして構成する方法

  2. CentOS7にNginxをインストールする方法

  3. CentOS6にLinuxDashをインストールする方法

  1. CentOS7にRをインストールする方法

  2. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  3. CentOS8にNginxをインストールする方法

  1. CentOS8にRをインストールする方法

  2. CentOS7にMagento2.1をインストールする方法

  3. CentOS7にNginxを使用してSuiteCRMをインストールする方法