この記事では、マネージドDebian9サーバーにEtherpadをインストールする方法を紹介します。
Etherpadは、Webベースのリアルタイムエディタであり、オープンソースパッケージとして提供されます。このアプリケーションを使用すると、ユーザーはドキュメントをリアルタイムで同時に編集し、色付きのテキストを使用して違いを確認できます。 Etherpadには、ユーザーが相互に簡単に通信できるチャットボックスもあり、生産性がさらに向上します。インストールにはそれほど時間はかからないので、始めましょう
ステップ1:サーバーに接続する
始める前に、rootユーザーまたは管理者アカウントとしてSSH経由でサーバーに接続する必要があります。これを行うには、次のコマンドを使用します。
ssh root@IP_ADDRESS -p PORT_NUMBER
もちろん、IP_ADDRESS
を置き換える必要があります およびPORT_NUMBER
それぞれのサーバーのIPアドレスとSSHポート番号を使用します。必要に応じて、「root」を管理者アカウントのユーザー名に置き換えます。
ログインしたら、次のコマンドを実行して、サーバーが最新であることを確認します。
apt update apt upgrade
ステップ2:依存関係をインストールする
ログインに成功したら、次のコマンドを実行して、Node.jsインストールのすべての依存関係をインストールできるようにする必要があります。
apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y
ステップ3:Node.jsをインストールする
EtherpadにはNode.jsバージョン8.9.0以降が必要なため、このチュートリアルでは、最新バージョンのNode.jsをインストールします(このチュートリアルの執筆時点)。
次のcurlコマンドを使用してNodeSourceリポジトリを有効にします。
curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -
これで、次のコマンドを使用してNode.jsをインストールできます。
apt install -y nodejs
以下のコマンドを使用して、nodejsとnpmのバージョンを確認できます。
nodejs --version npm --version
ステップ4:MySQLをインストールして構成する
データベースサーバーは、Etherpadを実行するための要件の1つです。優れたオープンソースデータベースサーバーであるMySQLをインストールできます。次のコマンドを入力して、MySQLをサーバーにインストールします。
apt install mysql-server mysql-client
MySQLがサーバーにインストールされたら、以下のコマンドを使用して、MySQLサービスを停止、開始、および有効にすることができます。
systemctl start mysql systemctl stop mysql systemctl enable mysql
次のコマンドはオプションですが、推奨されています。リモートルートアクセスを禁止し、テストデータベースを削除し、MySQLのルートパスワードを設定することで、MySQLサーバーを保護する場合は、このコマンドを実行できます。
mysql_secure_installation
プロンプトが表示されたら、ガイドに従って以下の質問に答えてください。
Enter current password for root (enter for none): Just press the [Enter] key, as no password is set by default. Set root password? [Y/n]: Y New password: Enter your password Re-enter new password: Repeat 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
MySQLサーバーを再起動して、変更を有効にします。
systemctl restart mysql
これで、次のコマンドを使用してMySQLシェルにログインできるようになります。
mysql -u root -p
次に、上記で作成したパスワードを入力してサインオンします。 MySQLシェルに入ったら、次のコマンドを使用して、etherpad_db
というデータベースを作成できます。 Etherpadアプリケーション用。
CREATE DATABASE etherpad_db;
ユーザーにetherpad_dbへのフルアクセス権を付与するには、次のコマンドを実行します。
GRANT ALL PRIVILEGES ON etherpad_db.* TO etherpad_user@localhost IDENTIFIED BY 'Str0n9Pas$worD';
注: 「Str0n9Pas$worD」を一意の強力なパスワードに置き換えることを忘れないでください。これで、特権のフラッシュ操作を使用して付与テーブルを再ロードできます。その後、MySQLシェルを終了できます。
FLUSH PRIVILEGES; EXIT;
ステップ5:Etherpadをダウンロードしてインストールする
次のコマンドを使用して、etherpadという新しいユーザーを作成し、そのユーザーに切り替えます。
useradd -m -s /bin/bash etherpad su - etherpad
以下のgitコマンドを実行し、etherpadリポジトリのクローンを作成します。
git clone git://github.com/ether/etherpad-lite.git
etherpadリポジトリのクローンを作成したら、etherpad-liteディレクトリに入り、bin/run.sh
を実行できます。 Etherpadを起動するスクリプト。
cd etherpad-lite/ bin/run.sh
Etherpadが一時的に起動しました。 Etherpadのホームページを表示するには、お好みのWebブラウザーを開いて、サーバーのパブリックIPアドレスをポート9001で入力します。
http://server_IP_address:9001/
Etherpadのホームページが表示されるはずです。
アプリケーションを停止するには、ターミナルで「Ctrl+c」を押します。これに伴う問題は、サービスが一時的にのみ実行されることです。ターミナルセッションで開いている間のみです。サーバーを永続的に実行するには、サーバー用のサービスを作成する必要があります。これは、ステップ7で説明されています 。
ステップ6:Etherpadを構成する
記事のこの手順に従って、Etherpadエディターの基本的な構成を実行します。
etherpadユーザーにログインし、etherpad-liteディレクトリに入ります。
su - etherpad cd etherpad-lite/
settings.json
を開きます 好みのテキストエディタを使用した構成ファイル。この例では、選択するテキストエディタとしてnanoを使用します。
nano settings.json
構成ファイルのIPアドレスを「server_IP_address」に変更します。オプションで、リスニングポートをデフォルト以外に変更できます。この例では、デフォルトのポートを使用します。
"ip": "server_IP_address", "port" : 9001,
コメントタグ/*
を使用して、構成ファイルのデフォルトである「ダーティ」データベースを無効にします。 および*/
以下の例に示すように。
/* "dbType" : "dirty", "dbSettings" : { "filename" : "var/dirty.db" }, */
次に、MySQLデータベース構成のコメントを解除し、この記事の4番目のステップで作成したMySQL情報を入力します。
"dbType" : "mysql", "dbSettings" : { "user" : "etherpad_user", "host" : "localhost", "port" : 3306, "password": "Str0n9Pas$worD", "database": "etherpad_db", "charset" : "utf8mb4" },
これらの行からコメントを削除し、Str0n9Pas$worD
を置き換えることで、管理者ユーザーを有効にできます。 選択したパスワードを使用します。
"users": { "admin": { // "password" can be replaced with "hash" if you install ep_hash_auth "password": "Str0n9Pas$worD", "is_admin": true }, "user": { // "password" can be replaced with "hash" if you install ep_hash_auth "password": "Str0n9Pas$worD", "is_admin": false } },をインストールすると、"password"を"hash"に置き換えることができます。
すべての変更が完了したら、構成ファイルを保存して終了できます。
ステップ7:Etherpadをサービスとしてセットアップする
方法1:Systemd
このステップでは、Debian9システムでsystemdサービスとして実行するようにEtherpadを設定します。
次のコマンドを実行して、「etherpad.service」という名前の新しいサービスファイルを作成できるようにします。
cd /etc/systemd/system/ && nano etherpad.service
次に、次の構成を貼り付けます。
[Unit] Description=etherpad-lite (real-time collaborative document editing) After=syslog.target network.target [Service] Type=simple User=etherpad Group=etherpad WorkingDirectory=/home/etherpad/etherpad-lite Environment=NODE_ENV=development ExecStart=/usr/bin/nodejs /home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js Restart=always # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart. [Install] WantedBy=multi-user.target
その後、構成ファイルを保存して終了できます。以下のコマンドを使用して、サーバーにsystemdサービスリストをリロードします。
systemctl daemon-reload
これで、systemctl
を使用できます コマンドを使用して、Etherpadアプリケーションを簡単かつ永続的に起動および有効化できます。サービスを有効にすると、システムが起動するたびにサービスが自動的に開始されます。
systemctl start etherpad systemctl enable etherpad
方法2:Init.d
initを使用する場合は、次のコマンドを使用して新しい初期スクリプトを作成できます。
nano /etc/init.d/etherpad
次のスクリプトを貼り付けます。
#!/bin/sh ### BEGIN INIT INFO # Provides: etherpad-lite # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts etherpad lite # Description: starts etherpad lite using start-stop-daemon ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin" LOGFILE="/var/www/etherpad-lite/etherpad-lite.log" EPLITE_DIR="/var/www/etherpad-lite" EPLITE_BIN="bin/safeRun.sh" USER="etherpad" GROUP="etherpad" DESC="Etherpad Lite" NAME="etherpad-lite" set -e . /lib/lsb/init-functions start() { echo "Starting $DESC... " start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $EPLITE_DIR/$EPLITE_BIN -- $LOGFILE || true echo "done" } #We need this function to ensure the whole process tree will be killed killtree() { local _pid=$1 local _sig=${2-TERM} for _child in $(ps -o pid --no-headers --ppid ${_pid}); do killtree ${_child} ${_sig} done kill -${_sig} ${_pid} } stop() { echo "Stopping $DESC... " while test -d /proc/$(cat /var/run/$NAME.pid); do killtree $(cat /var/run/$NAME.pid) 15 sleep 0.5 done rm /var/run/$NAME.pid echo "done" } status() { status_of_proc -p /var/run/$NAME.pid "" "etherpad-lite" && exit 0 || exit $? } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "Usage: $NAME {start|stop|restart|status}" >&2 exit 1 ;; esac exit 0
ファイルを保存して閉じます。ファイルの権限を変更してスクリプトを実行可能にし、起動時にスクリプトを開始できるようにします。
chmod +x /etc/init.d/etherpad update-rc.d etherpad defaults /etc/init.d/etherpad start
次のコマンドを使用して、アプリケーションがポート9001で稼働していることを確認できます。
systemctl status etherpad and netstat -tunlp | grep 9001
ステップ8:リバースプロキシの設定
ApacheとNginxはインターネット上で最も人気のあるWebサーバーの1つであるため、このステップでは、ドメイン名でEtherpadを含むWebサイトを開くことができるように、それらのリバースプロキシを作成する方法を示します。これには、Etherpadにアクセスするためにポート番号を指定する必要がないという利点もあります。
サーバーにApacheまたはNginxがすでにインストールされていることを前提としています。以下のコマンドでWebサーバーのステータスを確認できます。
Apache2の場合:
systemctl status apache2
Nginxの場合:
systemctl status nginx
サーバーにApache2がインストールされている場合は、新しい仮想ホスト構成ファイルを作成して、ドメイン名でEtherpadアプリケーションにアクセスできるようにすることができます。
nano /etc/apache2/sites-available/domain_name.conf
次のコンテンツをファイルに追加します:
<VirtualHost *:80> ServerNamedomain_name.com
ServerAliaswww.domain_name.com
ServerSignature Off <IfModule mod_proxy.c> ProxyVia On ProxyRequests Off ProxyPass / http://server_IP_address:9001/ ProxyPassReverse / http://server_IP_address:9001/ ProxyPreserveHost on <Proxy *> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Proxy> </IfModule> </VirtualHost>
もちろん、domain_name.comを実際に登録されているドメイン名に置き換える必要があります。また、server_IP_addressをサーバーのパブリックIPアドレスに置き換える必要があります。構成ファイルの編集が終了したら、ファイルを保存して終了します。
次のApacheモジュールをインストールする必要があります:
a2enmod proxy a2enmod proxy_http a2enmod headers
作成した仮想ホストを有効にするには、a2ensite
を実行します コマンド:
a2ensite domain_name
行った変更を有効にするには、Apacheを再起動する必要があります:
apache2ctl restart
サーバーにNginxがインストールされている場合は、新しいサーバーブロックを作成して、ポート番号なしでドメイン名を使用してEtherpadアプリケーションにアクセスできるようにすることができます。
次のコマンドを使用して、新しいetherpadサーバーブロックを作成します。
nano /etc/nginx/sites-available/etherpad.conf
次のコンテンツをファイルに追加します:
server { listen 80; server_name domain_name.com; location / { proxy_pass http://server_IP_address:9001/ proxy_set_header Host $host; proxy_buffering off; } }
domain_name.comを実際に登録されているドメイン名に置き換える必要があります。また、server_IP_addressをサーバーのパブリックIPアドレスに置き換える必要があります。構成ファイルの編集が終了したら、ファイルを保存して終了します。
etherpad仮想ホストをアクティブ化するには、次のコマンドでシンボリックリンクを作成できます:
ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/
それが完了したら、Nginx構成をテストします。
nginx -t
Nginxサービスを開始して有効にする前に、Nginx構成テスト中にエラーが発生していないことを確認する必要があります。すべてチェックアウトしたら、次のコマンドを実行できます。
systemctl restart nginx systemctl enable nginx
ステップ9:Etherpadへのアクセス
次に、お気に入りのWebブラウザを開いて、ドメイン名を入力します。
http://domain_name.com/
ブラウザにEtherpadエディタが表示されるはずです。
新しいパッドの名前を入力し、[OK]ボタンをクリックします。
これで、下の画像に示すように、Etherpadエディターが表示されるはずです。
管理者URLにアクセスするには、/admin/
を追加します ドメイン名の末尾まで。
http://domain_name.com/admin/
管理者のユーザー名とパスワードの入力を求められます。管理者のユーザー名とパスワードを入力し、[サインイン]ボタンをクリックします。
おめでとう。これで、Etherpadエディターが正常にインストールおよび構成されました。
この記事では、Debian 9にEtherpadをインストールする方法を紹介しました。これで、この素晴らしいオープンソースアプリケーションを引き続き使用して探索することができます。
もちろん、Debian Hostingをご利用の場合は、Debian 9 VPSにEtherpadをインストールする必要はありません。管理者に聞いて、座ってリラックスしてください。管理者がすぐにDebian9にEtherpadをインストールして設定します。
PS。 Debian 9 VPSにEtherpadをインストールする方法についてのこの投稿が気に入った場合は、下の共有ボタンを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションにコメントを残してください。ありがとうございます。