CentOSおよびその派生版にONLYOFFICE Docs デベロッパー版をインストールする
はじめに
デベロッパー版を使用すると、ONLYOFFICE Docsをローカルサーバーにインストールし、オンラインエディターをWebアプリケーションに統合することができます(詳細な機能リストをご覧ください)。このガイドでは、ONLYOFFICE Docs デベロッパー版のLinuxバージョンをマシンにインストールする方法を紹介します。
システム要件
- CPU:デュアルコア2 GHz以上
- RAM:最低2 GB、ただしホストOSによります。多いほど良いです
- HDD:最低40 GBの空き容量
- SWAP:最低4 GB、ただしホストOSによります。多いほど良いです
- OS:CentOS Stream 9、RHEL 8、またはRHEL 9
- 追加要件:
- PostgreSQL:バージョン12.9以上
- NGINX:バージョン1.3.13以上
- Redis:バージョン5以上
- RabbitMQ
依存関係のインストール
最新のNGINXパッケージバージョンのインストール
RHEL/CentOS用のyumリポジトリを設定するには、/etc/yum.repos.d/nginx.repoという名前のファイルを次の内容で作成します:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
NGINXをインストール:
sudo yum install nginx
その後、/etc/nginx/nginx.conf NGINX設定ファイルを次のように編集します:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
ポート80でONLYOFFICE Docsを実行する予定がある場合は、ここでNGINXのデフォルトWebサイトを無効にしてください。そうしないと、ONLYOFFICE Docsが正しく動作しない可能性があります。そのためには、次のコマンドを実行します:
sudo mv -f /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default.disabled
sudo mv -f /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled
sudo systemctl is-active --quiet nginx && sudo systemctl reload nginx || sudo systemctl start nginx
NGINXのインストール方法によっては、最初の2つのコマンドのいずれかでファイルが存在しないと表示される場合があります。このメッセージは無視しても問題ありません。
EPELリポジトリのインストール
sudo yum install epel-release
CentOS 9にEPELをインストールするには、次のコマンドを使用します:
sudo yum config-manager --set-enabled crb
sudo yum install epel-release epel-next-release
RHELにEPELをインストールするには、次のコマンドを使用します:
sudo subscription-manager repos --enable codeready-builder-for-rhel-$REV-$(arch)-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$REV.noarch.rpm
$REVをOSバージョンに手動で変更します(バージョン7.xの場合は7、8.xの場合は8、9.xの場合は9など)。
PostgreSQLのインストールと設定
CentOSのバージョンに含まれるPostgreSQLをインストール:
sudo yum install postgresql postgresql-server
他のPostgreSQLバージョンをPostgreSQLリポジトリからインストールしたい場合は、公式PostgreSQLドキュメントを参照してください。
PostgreSQLデータベースを初期化
sudo service postgresql initdb
sudo chkconfig postgresql on
CentOS 9では、chkconfigはデフォルトでインストールされていません。次のコマンドを使用してインストールします:
sudo yum install chkconfig
IPv4およびIPv6のlocalhostに対して 'scram-sha-256'認証方法を有効にする
テキストエディタで/var/lib/pgsql/data/pg_hba.confファイルを開きます。
host all all 127.0.0.1/32 identという文字列を見つけて、次のように置き換えます:
host all all 127.0.0.1/32 scram-sha-256
次に、host all all ::1/128 identという文字列を見つけて、次のように置き換えます:
host all all ::1/128 scram-sha-256
変更を保存します。
テキストエディタで/var/lib/pgsql/data/postgresql.confファイルを開きます。
'password_encryption'を見つけてコメントを外し、値を'scram-sha-256'に置き換えます:
password_encryption = 'scram-sha-256'
変更を保存します。
PostgreSQLサービスを再起動:
sudo service postgresql restart
PostgreSQLデータベースとユーザーを作成:
任意のユーザー名とパスワードを指定できます。
まず、次のコマンドを実行します
cd /tmp
rootから実行する場合にcould not change directory to "/root"という警告を防ぐためです。その後、データベースとユーザーを作成します:
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"
Redisのインストール
次のコマンドを実行します:
sudo yum -y install redis
redisサービスを開始し、起動時に自動的に開始するように設定します:
sudo systemctl enable --now redis
RabbitMQのインストール
sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | os=centos dist=$REV sudo bash
sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | os=centos dist=$REV sudo bash
$REVをOSバージョンに手動で変更します(バージョン7.xの場合は7、8.xの場合は8、9.xの場合は9など)。
sudo yum install rabbitmq-server
または、公式サイトからCentOS 8またはCentOS 9にRabbitMQをインストールすることもできます。
rabbitmqサービスを開始し、起動時に自動的に開始するように設定します:
sudo systemctl enable --now rabbitmq-server
ONLYOFFICE Docsリポジトリの追加
次のコマンドを使用してyum ONLYOFFICE Docsリポジトリを追加します:
sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm
mscorefontsのインストール
cabextractおよびxorg-x11-font-utilsパッケージをインストール:
sudo yum install cabextract xorg-x11-font-utils
CentOS 7.8(2003)の場合、fontconfigも必要です:
sudo yum install fontconfig
msttcoreフォントパッケージをインストール:
sudo rpm -i https://sourceforge.net/projects/mscorefonts2/files/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
ONLYOFFICE Docsのインストール
デベロッパー版のために次のコマンドを実行します:
sudo yum install onlyoffice-documentserver-de
nginxサービスを開始し、起動時に自動的に開始するように設定します:
sudo service nginx start
sudo systemctl enable nginx
その後、ONLYOFFICE Docsはプロセスとして実行されます。パッケージは他のrpmパッケージと同様に更新されます。
ONLYOFFICE Docsの更新
ONLYOFFICE Docsを更新するには、次のコマンドを実行します:
sudo yum update onlyoffice-documentserver-de
RHEL 8およびその派生版では、ONLYOFFICEリポジトリを有効にした状態でyum updateを実行すると、依存関係エラーで失敗する場合があります。
これを防ぐには、これらのパッケージをONLYOFFICEリポジトリから除外し、代わりにシステムのAppStreamリポジトリから取得されるようにします:
echo "excludepkgs=xorg-x11-server-Xvfb,xorg-x11-server-common" >> /etc/yum.repos.d/onlyoffice.repo
このコマンドは一度だけ実行すれば十分です。その後、yum updateは正常に動作します。
OneClick InstallでONLYOFFICE Docsをインストールした場合、この除外設定はすでに自動的に適用されています。
デフォルトのONLYOFFICE Docsポートを変更する
デフォルトでは、ONLYOFFICE Docsはポート8083を使用して接続を受け付けます。バージョン4.3以降では、デフォルトのポートの代わりに使用する場合、ONLYOFFICE Docsのポートを変更できます。
デフォルトポートを変更する場合、受信/送信接続のためにそのポートが開いていることを確認してください。ONLYOFFICE Docsで使用されるポートの完全なリストをご覧ください。
これを行うには、次のコマンドを実行してDS_PORT環境変数を編集する必要があります:
export DS_PORT=<PORT_NUMBER>
上記のコマンドでは、<PORT_NUMBER>の代わりにポート番号を入力してください。
ポートを80に設定する場合は、最新のNGINXパッケージバージョンのインストールセクションの説明に従って、NGINXのデフォルトWebサイトを無効にしていることを確認してください。
ONLYOFFICE DocsのプロトコルをHTTPSに変更したい場合、ポートを443に変更せず、代わりにこの手順を使用してください。
その後、ONLYOFFICE Docsの設定を続行できます。
ONLYOFFICE Docsの設定
設定スクリプトを実行する
デフォルトでは、PostgreSQLがデータベースとして使用されます。MySQLをPostgreSQLの代わりに使用したい場合、documentserver-configure.shスクリプトを実行する前に、データベースの種類とポートを定義するための2つの環境変数を追加してください:
export DB_TYPE=mysql
export DB_PORT=3306
これらの2つの変数を追加した後、スクリプトを使用してDBを切り替えることができます。
documentserver-configure.shスクリプトを実行します:
bash documentserver-configure.sh
PostgreSQL、Redis、およびRabbitMQの接続パラメータを指定するよう求められます。以下のデータを使用してください:
PostgreSQLの場合:
- ホスト:localhost
- データベース:onlyoffice
- ユーザー:onlyoffice
- パスワード:onlyoffice
Redisの場合:
- ホスト:localhost
RabbitMQの場合:
- ホスト:localhost
- ユーザー:guest
- パスワード:guest
ファイアウォール例外を追加する
sudo firewall-cmd --zone=public --add-port=8083/tcp --permanent
sudo firewall-cmd --reload
SELinuxを無効にする
v.5.0以降非推奨
任意のテキストエディタを使用して/etc/selinux/configファイルを開き、SELINUX=enforcingまたはSELINUX=permissiveの文字列をSELINUX=disabledに置き換えて変更を保存します。
変更を有効にするためにサーバーを再起動してください。
セキュリティ上の理由から、v8.1以降、documentserver-configure.shスクリプトを実行すると、新しいWOPIキーがlocal.jsonに生成されます。WOPI接続を使用している場合、ONLYOFFICE Docsを更新した後にスクリプトを実行する必要があります:
documentserver-configure.sh --wopienabled true
ブラウザでONLYOFFICE Docsを起動する
設定が完了したら、ブラウザのアドレスバーにhttp://localhost:8083を入力して、ONLYOFFICE Docsのウェルカムページを開くことができます。ここでは、ドキュメントの例を有効にする方法や、提供されたAPIを使用してオンラインエディターをWebアプリケーションに統合する方法についてのさらなる指示が見つかります。
デベロッパー版の登録
デベロッパー版を購入し、license.licファイルを受け取った場合、インストール先に配置してソフトウェアのフルバージョンを取得できます。
Red HatベースのLinuxディストリビューションを使用している場合、license.licファイルは次のフォルダに配置されます:
/var/www/onlyoffice/Data/license.lic
その後、デベロッパー版のバージョンが登録され、フル機能が利用可能になります。