GNU/Linux >> Linux の 問題 >  >> Debian

Debian9にEtherpadをインストールする方法

この記事では、マネージド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>
    ServerName domain_name.com ServerAlias www.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をインストールする方法についてのこの投稿が気に入った場合は、下の共有ボタンを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションにコメントを残してください。ありがとうございます。


Debian
  1. MySQL 8.0/5.7をDebian11/Debian10にインストールする方法

  2. MySQLをDebian11にインストールする方法

  3. MySQLWorkbenchをDebian11にインストールする方法

  1. MySQLサーバーをDebian9にインストールする方法

  2. MySQLWorkbenchをDebian10にインストールする方法

  3. Debian 11 に MySQL をインストールする方法

  1. PHP-Fusion9をDebian8にインストールする方法

  2. Debian8にLAMPをインストールする方法

  3. Debian8にPunBBをインストールする方法