インストールガイド · 3 min read · Nov 02, 2025
AlmaLinux 9にEtherpadをインストールする方法

Etherpadは、Google DocsやZoho Writerなどのサービスの無料でオープンソースの代替品です。Etherpadは、チームのための共同作業およびリアルタイムのテキストエディタであり、ウェブベースのテキストエディタであるため、いつでもどこでもアクセスできます。
Etherpad上の変更はリアルタイムで行われ、バージョン管理やチーム向けの組み込みフォーマットもサポートしています。Etherpadは、さまざまなプラグインをサポートする非常にカスタマイズ可能なエディタです。また、doc、pdf、odt、markdownなどの現代的な文書形式もサポートしています。
このチュートリアルでは、MariaDBデータベースサーバーとNginxウェブサーバーを使用して、AlmaLinux 9サーバーにEtherpadをインストールする方法を示します。また、SSL証明書を介してEtherpadを保護し、安全なアクセスを可能にします。
前提条件
このチュートリアルを完了するには、以下のものが必要です:
- AlmaLinux 9サーバー - このデモでは、ホスト名がalmalinux9のAlmaLinuxを使用します。
- sudo権限を持つ非rootユーザー。
- サーバーのIPアドレスを指すドメイン名。
- LetsecnryptとCertbotを使用して生成されたSSL証明書。
依存関係のインストール
Etherpadをインストールする前に、Etherpadが必要とするいくつかの依存関係をインストールする必要があります。これには以下が含まれます:
- 開発ツール
- Node.jsおよびNPM(Node Package Manager)
- MariaDBデータベースサーバー
- Nginxウェブサーバー
これらの手順を完了して、Etherpadの依存関係をインストールします。
開発ツールのインストール
まず、AlmaLinuxサーバーに「Development Tools」をインストールする必要があります。次のdnfコマンドを入力して「Development Tools」をインストールし、yを入力してENTERを押して続行します。
sudo dnf group install "Development Tools"次に、以下のコマンドを実行して、いくつかの追加の依存関係をインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押します。
sudo dnf install gzip git curl python3-devel openssl-devel pkg-config
Node.jsおよびNPMのインストール
Etherpadは、主にNode.jsで書かれたウェブベースのコラボレーションおよびリアルタイムエディタです。これをインストールするには、Node.js JavaScriptランタイムとNPM(Node Package Manager)をインストールする必要があります。
この記事の執筆時点では、Etherpadは少なくともNode.js v16を必要とし、これはAlmaLinuxのappstreamリポジトリにデフォルトで利用可能であり、DNFを介してインストールできます。
次のdnfコマンドを実行してNode.jsとNPMをインストールします。インストールを確認するためにyを入力し、ENTERを押します。
sudo dnf install nodejs npmNode.jsがインストールされたら、次のコマンドを実行して/usr/local/binディレクトリをPATH環境変数に追加します。これにより、NPMを介してインストールされたバイナリファイルのいくつかがサーバー上で実行できるようになります。
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc次に、以下のコマンドを実行してNode.jsとNPMの両方のバイナリファイルを見つけます。
which node
which npm次に、以下のコマンドを使用してNode.jsとNPMのバージョンを確認します。
node --version
npm --version表示された出力は、Node.js v16とNPM 8.xがインストールされており、両方のバイナリファイルが/binディレクトリにあることを確認します。

MariaDBサーバーのインストール
デフォルトでは、インストールされたEtherpadはSQLiteをデータベースとして使用します。大規模なデプロイメントの場合、MariaDB/MySQLをEtherpadインストールのデータベースとして使用できます。
以下のdnfコマンドを実行してMariaDBサーバーをインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押します。
sudo dnf install mariadb-server
MariaDBがインストールされたら、次のコマンドを実行してMariaDBサービスを開始し、有効にします。
sudo systemctl start mariadb
sudo systemctl enable mariadb次に、以下のコマンドを使用してMariaDBサービスのステータスを確認します。
sudo systemctl status mariadbMariaDBサーバーが実行中の場合、出力は次のようになります。

Nginxウェブサーバーのインストール
MariaDBサーバーをインストールした後、Etherpadのリバースプロキシとして使用されるNginxウェブサーバーをインストールします。したがって、先に進む前に、サーバーのIPアドレスを指すドメイン名と、LetsencryptおよびCertbotを介して生成されたSSL証明書があることを確認してください。
以下のdnfコマンドを実行してNginxウェブサーバーをインストールします。プロンプトが表示されたら、確認のためにyを入力し、ENTERを押します。
sudo dnf install nginx
次に、以下のコマンドを実行してNginxサービスを開始し、有効にします。
sudo systemctl start nginx
sudo systemctl enable nginxその後、以下のコマンドを入力してNginxサービスを確認し、サービスが実行中であることを確認します。
sudo systemctl status nginxNginxサービスが実行中の場合、次のような出力が得られます。

次に、以下のコマンドを実行してサーバー上のHTTPおよびHTTPSポートを開きます。
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload以下のコマンドを使用して開いているポートとサービスのリストを確認します。HTTPとHTTPSがfirewalldで有効になっていることが確認できます。
sudo firewall-cmd --list-all
MariaDBサーバーの設定
このセクションでは、mariadb-secure-installationユーティリティを使用してMariaDBサーバーを保護し、次にEtherpadに使用される新しいデータベースとユーザーを作成します。
以下のコマンドを実行してMariaDBサーバーのセキュリティを開始します。
sudo mariadb-secure-installationコマンドが実行されると、次の設定について尋ねられます:
- MariaDB rootユーザーの認証方法をunix_socketに変更します。nを入力してNoを選択します。
MariaDB rootパスワードを設定します。yを入力して確認し、新しいMariaDB rootパスワードを入力して繰り返します。
MariaDB rootユーザーのリモートログインを無効にします。yを入力して確認します。
MariaDBからデフォルトデータベースtestを削除します。yを入力して確認します。
MariaDBから匿名ユーザーを削除します。yを入力して確認します。
最後に、変更を適用するためにテーブル権限を再読み込みするためにyを再度入力します。
MariaDBサーバーが保護されたら、次に新しいMariaDBデータベースとユーザーを作成します。
以下のmariadbコマンドを使用してMariaDBサーバーにログインします。
sudo mariadb -u root -p以下のクエリを実行して、Etherpad用の新しいMariaDBデータベースとユーザーを作成します。この例では、新しいデータベースetherpad_lite_dbとユーザーetherpaduserをパスワードStrongPasswordEtherpadDBで作成します。
CREATE DATABASE etherpad_lite_db CHARACTER SET utf8mb4;
CREATE USER etherpaduser@localhost IDENTIFIED BY 'StrongPasswordEtherpadDB';
GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on etherpad_lite_db.* to etherpaduser@localhost;
FLUSH PRIVILEGES;
次に、以下のクエリを実行してMariaDBユーザーetherpaduserの権限を確認します。
SHOW GRANTS FOR etherpaduser@localhost;
quitMariaDBユーザーetherpaduserがデータベースetherpad_lite_dbにアクセスする権限を持っていることがわかります。

MariaDBから退出するにはquitと入力します。
Etherpadのダウンロードとインストール
このセクションでは、システムユーザーを作成し、Etherpadのソースコードをダウンロードし、Etherpadの依存関係をインストールし、MariaDBデータベースとEtherpadを統合し、コマンドラインを介して実行してインストールを確認します。
まず、以下のコマンドを実行して新しいシステムユーザーとグループ「etherpad」を作成します。このユーザーはEtherpadサービスを実行するために使用されます。
sudo groupadd etherpad
sudo adduser -r -M -d /opt/etherpad-lite -g etherpad etherpadgitを介してターゲットディレクトリ/opt/etherpad-liteにEtherpadのソースコードをダウンロードします。
git clone --branch master https://github.com/ether/etherpad-lite.git /opt/etherpad-liteEtherpadのソースコードがダウンロードされたら、以下のコマンドを実行してディレクトリ/opt/etherpad-liteの所有権をユーザーとグループ「etherpad」に変更します。
sudo chown -R etherpad:etherpad /opt/etherpad-lite
次に、作業ディレクトリを/opt/etherpad-liteディレクトリに移動し、以下のコマンドを使用してEtherpadの依存関係をインストールします。
cd /opt/etherpad-lite
sudo su -s /bin/bash -c "./bin/installDeps.sh" etherpadコマンドを実行すると、次のようなインストールプロセスが表示されます。

インストールが完了したら、以下のnanoエディタコマンドを使用してEtherpadの設定settings.jsonを開きます。
nano settings.jsonEtherpadインストールのタイトルを変更します。
"title": "Etherpad AlmaLinux 9",Etherpadが実行されるデフォルトのIPアドレスをlocalhostまたは127.0.0.1に変更します。
"ip": "127.0.0.1",
"port": 9001,以下のデフォルトデータベース設定を削除します。
/*
*"dbType": "dirty",
*"dbSettings": {
* "filename": "var/dirty.db"
*},
*/MySQL/MariaDBサーバーを使用するようにデータベースの詳細を変更します。データベース名、ユーザー、およびパスワードを変更することを忘れないでください。
"dbType" : "mysql",
"dbSettings" : {
"user": "etherpaduser",
"host": "localhost",
"port": 3306,
"password": "StrongPasswordEtherpadDB",
"database": "etherpad_lite_db",
"charset": "utf8mb4"
},ファイルを保存し、編集が完了したらエディタを終了します。
次に、以下のコマンドを実行してEtherpadを確認し、実行します。
/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.jsデータベース設定とEtherpadインストールが成功した場合、次の出力が表示されます。

Ctrl+cを押してプロセスを終了します。
EtherpadをSystemdサービスとして実行する
Etherpadがインストールされたので、次にEtherpadをsystemdサービスとして設定します。これにより、Etherpadをバックグラウンドで実行し、systemctlコマンドラインを介して簡単に管理できます。
まず、以下のnanoエディタコマンドを使用して新しいsystemdサービスファイル/lib/systemd/system/etherpad.serviceを作成します。
sudo nano /lib/systemd/system/etherpad.serviceファイルに次の設定を挿入します。
[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target mariadb.service nginx.service
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
# use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.
Restart=always
[Install]
WantedBy=multi-user.target完了したら、ファイルを保存して閉じます。
次に、以下のコマンドを実行してsystemdマネージャーを再読み込みし、Etherpadサービスファイルをシステムに適用します。
sudo systemctl daemon-reload次に、以下のコマンドを使用してEtherpadサービスを開始し、有効にします。
sudo systemctl start etherpad
sudo systemctl enable etherpad以下のコマンドを使用してEtherpadサービスを確認します。Etherpadサービスが実行中の場合、出力は「active (running)」のようになります。
sudo systemctl status etherpad
以下のコマンドを使用してシステム上の開いているポートのリストを確認することもできます。Etherpadがポート9001を使用していることが確認できます。
ss -tulpn | grep 9001Nginxをリバースプロキシとして設定する
この時点で、Etherpadはポート9001で稼働しています。エンドユーザーがアクセスできるようにするために、Nginxをリバースプロキシとして使用できます。開始する前に、Etherpadに使用されるドメイン名があり、LetsencryptおよびCertbotを介してSSL証明書が生成されていることを確認してください。
以下のnanoエディタコマンドを使用して新しいNginxサーバーブロック設定/etc/nginx/conf.d/etherpad.confを作成します。
sudo nano /etc/nginx/conf.d/etherpad.conf次の設定を挿入し、ドメイン名とSSL証明書のパスの詳細を変更してください。
# enforce HTTPS
server {
listen 80;
server_name etherpad.howtoforge.local;
return 301 https://$host$request_uri;
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl http2;
server_name etherpad.howtoforge.local;
access_log /var/log/nginx/eplite.access.log;
error_log /var/log/nginx/eplite.error.log;
ssl_certificate /etc/letsencrypt/live/etherpad.howtoforge.local/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/etherpad.howtoforge.local/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+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";
location / {
proxy_pass http://127.0.0.1:9001;
proxy_buffering off; # be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf
proxy_set_header Host $host;
proxy_pass_header Server;
# Note you might want to pass these headers etc too.
proxy_set_header X-Real-IP $remote_addr; # https://nginx.org/en/docs/http/ngx_http_proxy_module.html
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from https://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}ファイルを保存し、編集が完了したらエディタを閉じます。
次に、以下のコマンドを実行して、正しい設定があることを確認します。成功すると、「Syntax is ok - test is successful」というメッセージが表示されます。
sudo nginx -t次に、以下のコマンドを入力してNginxサービスを再起動し、変更を適用します。
sudo systemctl restart nginx
その後、ウェブブラウザを開いてEtherpadインストールのドメイン名(例: https://etherpad.howtoforge.local/)にアクセスします。Etherpad共同編集者のデフォルトのホームページが表示されるはずです。
新しいパッドを作成するには、パッド名を入力してOKをクリックします。

以下のように、Etherpadを共同編集者として使用を開始できます。

結論
おめでとうございます。AlmaLinux 9サーバーにMariaDBデータベースとNginxウェブサーバーを使用してEtherpadのインストールを完了しました。また、SSL証明書を使用してEtherpadを保護しました。これで、友人やグループ、チームと一緒にEtherpadを主要な共同編集者として使用を開始できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。