インストールガイド · 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

install dependencies

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 npm

Node.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 v16NPM 8.xがインストールされており、両方のバイナリファイルが/binディレクトリにあることを確認します。

checking node.js and npm

MariaDBサーバーのインストール

デフォルトでは、インストールされたEtherpadはSQLiteをデータベースとして使用します。大規模なデプロイメントの場合、MariaDB/MySQLをEtherpadインストールのデータベースとして使用できます。

以下のdnfコマンドを実行してMariaDBサーバーをインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押します。

sudo dnf install mariadb-server

install mariadb

MariaDBがインストールされたら、次のコマンドを実行してMariaDBサービスを開始し、有効にします。

sudo systemctl start mariadb  
sudo systemctl enable mariadb

次に、以下のコマンドを使用してMariaDBサービスのステータスを確認します。

sudo systemctl status mariadb

MariaDBサーバーが実行中の場合、出力は次のようになります。

start enable mariadb

Nginxウェブサーバーのインストール

MariaDBサーバーをインストールした後、Etherpadのリバースプロキシとして使用されるNginxウェブサーバーをインストールします。したがって、先に進む前に、サーバーのIPアドレスを指すドメイン名と、LetsencryptおよびCertbotを介して生成されたSSL証明書があることを確認してください。

以下のdnfコマンドを実行してNginxウェブサーバーをインストールします。プロンプトが表示されたら、確認のためにyを入力し、ENTERを押します。

sudo dnf install nginx

install nginx

次に、以下のコマンドを実行してNginxサービスを開始し、有効にします。

sudo systemctl start nginx  
sudo systemctl enable nginx

その後、以下のコマンドを入力してNginxサービスを確認し、サービスが実行中であることを確認します。

sudo systemctl status nginx

Nginxサービスが実行中の場合、次のような出力が得られます。

start enable verify nginx

次に、以下のコマンドを実行してサーバー上のHTTPおよびHTTPSポートを開きます。

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

以下のコマンドを使用して開いているポートとサービスのリストを確認します。HTTPとHTTPSがfirewalldで有効になっていることが確認できます。

sudo firewall-cmd --list-all

configure firewalld

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;

create new database and user

次に、以下のクエリを実行してMariaDBユーザーetherpaduserの権限を確認します。

SHOW GRANTS FOR etherpaduser@localhost;  
quit

MariaDBユーザーetherpaduserがデータベースetherpad_lite_dbにアクセスする権限を持っていることがわかります。

show mariadb user privileges

MariaDBから退出するにはquitと入力します。

Etherpadのダウンロードとインストール

このセクションでは、システムユーザーを作成し、Etherpadのソースコードをダウンロードし、Etherpadの依存関係をインストールし、MariaDBデータベースとEtherpadを統合し、コマンドラインを介して実行してインストールを確認します。

まず、以下のコマンドを実行して新しいシステムユーザーとグループ「etherpad」を作成します。このユーザーはEtherpadサービスを実行するために使用されます。

sudo groupadd etherpad  
sudo adduser -r -M -d /opt/etherpad-lite -g etherpad etherpad

gitを介してターゲットディレクトリ/opt/etherpad-liteにEtherpadのソースコードをダウンロードします。

git clone --branch master https://github.com/ether/etherpad-lite.git /opt/etherpad-lite

Etherpadのソースコードがダウンロードされたら、以下のコマンドを実行してディレクトリ/opt/etherpad-liteの所有権をユーザーとグループ「etherpad」に変更します。

sudo chown -R etherpad:etherpad /opt/etherpad-lite

create user and download etherpad source code

次に、作業ディレクトリを/opt/etherpad-liteディレクトリに移動し、以下のコマンドを使用してEtherpadの依存関係をインストールします。

cd /opt/etherpad-lite  
sudo su -s /bin/bash -c "./bin/installDeps.sh" etherpad

コマンドを実行すると、次のようなインストールプロセスが表示されます。

install etherpad dependencies

インストールが完了したら、以下のnanoエディタコマンドを使用してEtherpadの設定settings.jsonを開きます。

nano settings.json

Etherpadインストールのタイトルを変更します。

  "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インストールが成功した場合、次の出力が表示されます。

running check 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

verify etherpad service

以下のコマンドを使用してシステム上の開いているポートのリストを確認することもできます。Etherpadがポート9001を使用していることが確認できます。

ss -tulpn | grep 9001

Nginxをリバースプロキシとして設定する

この時点で、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

configure nginx as reverse proxy

その後、ウェブブラウザを開いてEtherpadインストールのドメイン名(例: https://etherpad.howtoforge.local/)にアクセスします。Etherpad共同編集者のデフォルトのホームページが表示されるはずです。

新しいパッドを作成するには、パッド名を入力してOKをクリックします。

create new pad

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

etehrpad collaboratuive editor

結論

おめでとうございます。AlmaLinux 9サーバーにMariaDBデータベースとNginxウェブサーバーを使用してEtherpadのインストールを完了しました。また、SSL証明書を使用してEtherpadを保護しました。これで、友人やグループ、チームと一緒にEtherpadを主要な共同編集者として使用を開始できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。