Etherpadは、Node.jsに基づくリアルタイムのコラボレーションエディターです。これは、マルチユーザーアクセス用のオープンソースのWebベースの共同エディターであり、さまざまなオフィスファイル形式にインポート/エクスポートする機能と高度にカスタマイズ可能なオンラインエディターです。
このチュートリアルでは、Ubuntu18.04サーバーにEtherpad-liteをインストールして構成する手順を説明します。 MySQLをデータベースとしてEtherpad-liteをインストールし、Nginx Webサーバーをリバースプロキシとしてインストールし、HTTPSセキュア接続を有効にします。
- Ubuntu18.04サーバー
- root権限
何をしますか?
- パッケージの依存関係をインストールする
- Nodejsをインストールする
- MySQLのインストールと構成
- Etherpadをダウンロード
- Etherpadを構成する
- Etherpadをサービスとしてセットアップ
- NginxをEtherpadのリバースプロキシとして設定する
- UFWファイアウォールのセットアップ
- テスト
このガイドで行う最初のステップは、Nodejsインストールのすべてのパッケージ依存関係をインストールすることです。
以下のaptコマンドを実行します。
sudo apt install gzip git curl python libssl-dev pkg-config gcc g ++ make build-essential -y
すべてのインストールを待ちます。
EtherpadにはNode.js>=6.9が必要です。このステップでは、nodesourceリポジトリからインストールできるNodejs9.11をインストールします。
nodesource Nodejsリポジトリを追加し、以下のコマンドを使用してNode.jsパッケージをインストールします。
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash-
sudo apt install -y nodejs
この後、nodejsコマンドとnpmコマンドを確認します。
nodejs --version
npm --version
Node.jsv9.11がUbuntu18.04サーバーにインストールされました。
このチュートリアルでは、EtherpadのデータベースとしてMySQLを使用します。
以下のaptコマンドを使用してMySQLデータベースサーバーをインストールします。
sudo apt install mysql-server mysql-client
インストールが完了したら、mysqlサービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl start mysql
sudo systemctl enable mysql
MySQLサーバーがインストールされました。
次に、mysqlのrootパスワードを設定し、etherpadをインストールするための新しいデータベースとユーザーを作成します。
MySQLルートパスワードを設定するには、以下のコマンドを実行します。
mysql_secure_installation
強力なmysqlルートパスワードを入力します。
次に、rootユーザーを使用してmysqlシェルにログインします。
mysql -u root -p
'etherpad_db'およびユーザー'hakase'という名前の新しいデータベースを作成し、以下のmysqlクエリを実行します。
データベースetherpad_dbを作成します;
etherpad_db。*のすべての権限を「[emailprotected]#」で識別される[emailprotected]に付与します;
flush権限;
etherpadインストール用のMySQLデータベースが作成されました。
このステップでは、新しいユーザーを作成し、etherpadのソースコードをダウンロードします。
'etherpad'という名前の新しいユーザーを作成し、そのユーザーにログインします。
useradd -m -s / bin / bash etherpad
su --etherpad
次に、etherpadリポジトリのクローンを作成します。
git clone git://github.com/ether/etherpad-lite.git
'etherpad-lite /'ディレクトリに移動し、bashスクリプトを実行してetherpadを起動します。
cd etherpad-lite /
bin/run.sh
以下のような結果が得られます。
Webブラウザを開き、ポート「9001」でサーバーのIPアドレスを入力します。
http://192.168.33.10:9001/
そして、etherpadのホームページが表示されます。
ターミナルに戻り、「Ctrl+c」を押してアプリケーションを終了します。
このステップでは、etherpadコラボレーティブエディターの基本的な構成を行います。
etherpadユーザーにログインし、「etherpad-lite」ディレクトリに移動します。
su --etherpad
cd etherpad-lite /
vimエディターを使用して構成「settings.json」を編集します。
vim settings.json
Nginxリバースプロキシでetherpadを実行するため、IPアドレスを「127.0.0.1」またはlocalhostに変更します。
"ip": "127.0.0.1"、
"port":9001、
ここで、コメント'/ * .... * /'を追加してデフォルトのダーティデータベースを無効にし、MySQLデータベース構成を貼り付けます。
/ *
"dbType": "dirty"、
"dbSettings":{
"filename": "var / dirty.db"
}、
* /
MySQLデータベースの構成。
"dbType": "mysql"、
"dbSettings":{
"user": "hakase"、
"host": "localhost"、
":3306、
" password ":" [email protected]# "、
" database ":" etherpad_db "、
" 4 " / pre>
次に、これらの行からコメントを削除して管理者ユーザーを有効にし、新しいパスワードでパスワード値を変更します。
"users":{
"admin":{
// ep_hash_authをインストールすると、「password」を「hash」に置き換えることができます
"password": "[email protected] #"、
" is_admin ":true
}、
" user ":{
// ep_hash_authをインストールすると、"password"を"hash"に置き換えることができます
"password": "[email protected]#"、
"is_admin":false
}
}、
保存して終了します。
基本的なイーサパッドの設定が完了しました。
ステップ6-Etherpadをサービスとしてセットアップ 次に、ubuntuシステムでsystemdサービスとしてetherpadを実行します。
'/ etc / systemd / system'ディレクトリに移動し、'etherpad.service'という名前の新しいサービスファイルを作成します。
cd /etc/systemd/system/
vim etherpad.service以下に構成を貼り付けます。
[Unit]
Description =Etherpad-lite、コラボレーティブエディター。
After =syslog.target network.target
[Service]
Type =simple
User =etherpad
Group =etherpad
WorkingDirectory =/ home / etherpad / etherpad-lite
Environment =NODE_ENV =Production
ExecStart =/ usr / bin / nodejs / home / etherpad / etherpad-lite / node_modules / ep_etherpad-lite / node / server.js
Reset =always#mysqlと完全なsettings.jsonを使用して、サービスのホールドオフタイムオーバーを回避し、再起動をスケジュールします。
[インストール]
WantedBy =multi-user.target保存して終了します。
systemdサービスリストをリロードします。
sudosystemctlデーモン-リロードイーサパッドサービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl start etherpad
sudo systemctl enable etherpadそして、etherは、デフォルトのポート9001を使用してlocalhostipでサービスとして稼働しています。
以下のコマンドを使用してサービスを確認してください。
sudo systemctl status etherpad
netstat -plntuステップ7-Nginxをリバースプロキシとしてインストールして構成する このステップでは、NginxWebサーバーをetherpadサービスのリバースプロキシとしてインストールして構成します。
以下のaptコマンドを使用してnginxWebサーバーをインストールします。
sudo apt install nginx -yインストールが完了したら、「/ etc / nginx / sites-available」ディレクトリに移動し、新しい仮想ホスト「etherpad」を作成します。
cd / etc / nginx / sites-available /
vim etherpad以下に構成を貼り付けます。
server {
listen 80;
server_name pad.hakase.io;
rewrite ^(。*)https:// $ server_name $ 1permanent;
}
#ここではhttpコンテキストにいます
map $ http_upgrade $ connection_upgrade{
デフォルトのアップグレード;
''close;
}
server {
listen 443;
server_name pad.hakase.io;
access_log /var/log/nginx/eplite.access.log;
error_log var / log / nginx / eplite.error.log;
ssl on;
ssl_certificate certificate etc / sl / sl / fullchain.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_cipher AESGCM EECDH + aRSA + AESGCM EECDH + ECDSA + SHA384 EECDH + ECDSA + SHA256 EECDH + aRSA + SHA384 EECDH + aRSA + SHA256 EECDH + aRSA + RC4 EECDH EDH + aRSA RC4!aNULL!eNULL !LOW!3DES!MD5!EXP!PSK!SRP!DSS ";
場所/{
proxy_pass http:// localhost:9001 /;
host $ proxy_set_head
proxy_pass_header Server;
#注意してください。この行は、conf.d/file.confで設定されたproxy_bufferingをオーバーライドしません。
setproxy_buffering off;
-er _ IP $ remote_addr; #http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $ remote_addr; #実際のリモートIPを表示するEPログ
proxy_set_header X-Forwarded-Proto $ schema; #httpsが使用されているときにEPがセキュアCookieフラグを設定する場合
proxy_set_header Host $ host; #ホストヘッダーを渡す
proxy_http_version 1.1; #キープアライブ接続
#のWebSocketプロキシを推奨 - http://nginx.org/en/docs/http/websocket.html
proxy_set_headerアップグレード$ http_upgradeから、
proxy_set_header接続する$ connection_upgrade;
}
}保存して終了します。
注:
- SSLのパスを独自のSSL証明書で変更してください。
- etherpadドメイン「pad.hakase.io」を独自のドメイン名に変更します。
次に、etherpad仮想ホストをアクティブにして、構成をテストします。
ln -s / etc / nginx / sites-available / etherpad / etc / nginx / sites-enabled /
nginx -tエラーがないことを確認してから、nginxサービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl restart nginx
sudo systemctl enable nginx
イーサパッドリバースプロキシとしてのNginxのインストールと構成が正常に完了しました。
ステップ8-UFWファイアウォールのセットアップ ファイアウォールの設定では、SSH、HTTP、およびHTTPSポートサービスを開きたいだけです。
以下のufwコマンドを実行します。
sudo fuw allow ssh
sudo ufw allow http
sudo ufw allow https次に、ufwファイアウォールを有効にします。
sudo ufw enableそして、ufwファイアウォールの構成が完了しました。
ステップ9-テスト ウェブブラウザを開き、etherpadドメイン名を入力します。私の名前は次のとおりです。 http://pad.hakase.io/
これで、HTTSの安全な接続にリダイレクトされます。
ボックスにパッド名を入力して新しいパッドを作成し、[OK]ボタンをクリックします。
そして、あなたは以下のようにEtherpadエディタを手に入れるでしょう。
次に、etherpad管理URLを開きます。私のはhttps://pad.hakase.io/admin/
管理者のユーザー名とパスワードを尋ねられます。自分のユーザーとパスワードを入力し、[サインイン]ボタンをクリックします。
そして、以下のデフォルトのEtherpad管理ページが表示されます。
-Etherpadsettings.json構成
-Etherpadプラグインマネージャー
Ubuntu18.04でのMySQLおよびNginxリバースプロキシを使用したEtherpadのインストールが正常に完了しました。
Ubuntu