Установка Etherpad · 9 min read · Nov 02, 2025

Как установить Etherpad на AlmaLinux 9

Etherpad — это бесплатная и открытая альтернатива таким сервисам, как Google Docs и Zoho Writer. Etherpad — это совместный и редактор текста в реальном времени для вашей команды, доступный из любого места в любое время, так как Etherpad является веб-редактором текста.

Все изменения в Etherpad происходят в реальном времени, а также Etherpad поддерживает версионность и встроенное форматирование для команд. Etherpad — это высоконастраиваемый редактор с поддержкой различных плагинов. Он также поддерживает современные форматы документов, такие как doc, pdf, odt, markdown и т. д.

Этот учебник покажет вам, как установить Etherpad на сервере AlmaLinux 9 с сервером базы данных MariaDB и веб-сервером Nginx. Вы также обеспечите безопасность Etherpad с помощью SSL-сертификатов для включения безопасного доступа.

Предварительные требования

Чтобы завершить этот учебник, убедитесь, что у вас есть следующее:

  • Сервер AlmaLinux 9 — в этом демонстрационном примере используется AlmaLinux с именем хоста almalinux9.
  • Пользователь без прав root с привилегиями sudo.
  • Доменное имя, указывающее на IP-адрес сервера.
  • Сгенерированные SSL-сертификаты через Letsecnrypt и Certbot.

Установка зависимостей

Перед установкой Etherpad вам необходимо установить некоторые зависимости, необходимые для Etherpad, включая:

  • Инструменты разработки
  • Node.js и NPM (Node Package Manager)
  • Сервер базы данных MariaDB
  • Веб-сервер Nginx

Выполните следующие шаги, чтобы установить зависимости Etherpad.

Установка инструментов разработки

Сначала вам необходимо установить “ Инструменты разработки “ на вашем сервере AlmaLinux. Введите следующую команду dnf для установки “ Инструментов разработки “, введите 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. Чтобы установить его, вам необходимо установить среду выполнения JavaScript Node.js и NPM (Node Package Manager).

На момент написания Etherpad требовал как минимум Node.js v16, который доступен по умолчанию в репозитории appstream AlmaLinux, и вы можете установить его через 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 v16 и NPM 8.x установлены, и оба бинарных файла находятся в директории /bin.

проверка node.js и npm

Установка сервера MariaDB

По умолчанию установленный Etherpad использует SQLite в качестве базы данных. Вы можете использовать MariaDB/MySQL в качестве базы данных для крупных развертываний вашей установки Etherpad.

Выполните команду dnf ниже для установки сервера MariaDB. Когда будет предложено, введите y для подтверждения и нажмите ENTER.

sudo dnf install mariadb-server

установка mariadb

После установки MariaDB выполните следующую команду, чтобы запустить и включить службу MariaDB.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Затем проверьте статус службы MariaDB, используя команду ниже.

sudo systemctl status mariadb

Если сервер MariaDB работает, вывод должен выглядеть следующим образом:

запуск включения mariadb

Установка веб-сервера Nginx

После установки сервера MariaDB вы установите веб-сервер Nginx, который будет использоваться в качестве обратного прокси для Etherpad. Поэтому, прежде чем продолжить, убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего сервера, и SSL-сертификаты, сгенерированные через Letsencrypt и Certbot.

Выполните команду dnf ниже для установки веб-сервера Nginx. Когда будет предложено, введите y для подтверждения и нажмите ENTER.

sudo dnf install nginx

установка nginx

Теперь выполните следующую команду, чтобы запустить и включить службу Nginx.

sudo systemctl start nginx  
sudo systemctl enable nginx

После этого введите следующую команду, чтобы проверить службу Nginx и убедиться, что служба работает.

sudo systemctl status nginx

Если служба Nginx работает, вы должны получить вывод, похожий на этот:

запуск включение проверка nginx

Затем выполните следующую команду, чтобы открыть порты HTTP и HTTPS на вашем сервере.

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

Проверьте список открытых портов и служб, используя следующую команду. Вы должны увидеть, что HTTP и HTTPS включены на firewalld.

sudo firewall-cmd --list-all

настройка firewalld

Настройка сервера MariaDB

В этом разделе вы обеспечите безопасность сервера MariaDB с помощью утилиты mariadb-secure-installation, а затем создадите новую базу данных и пользователя, которые будут использоваться для Etherpad.

Выполните следующую команду, чтобы начать обеспечивать безопасность сервера MariaDB.

sudo mariadb-secure-installation

После выполнения команды вам будет предложено ответить на следующие настройки:

  • Изменить метод аутентификации для пользователя root MariaDB на unix_socket. Введите n для Нет.
    Настройка пароля root для MariaDB. Введите y для подтверждения и введите новый пароль root для MariaDB, затем повторите.
    Отключить удаленный вход для пользователя root MariaDB. Введите y для подтверждения.
    Удалить тестовую базу данных по умолчанию из MariaDB. Введите y для подтверждения.
    Удалить анонимного пользователя из MariaDB. Введите y для подтверждения.
    Наконец, введите y снова, чтобы перезагрузить привилегии таблиц и применить изменения.

С обеспеченным сервером MariaDB вы далее создадите новую базу данных и пользователя MariaDB.

Войдите на сервер MariaDB, используя команду mariadb ниже.

sudo mariadb -u root -p

Выполните следующие запросы, чтобы создать новую базу данных MariaDB и пользователя для Etherpad. В этом примере вы создадите новую базу данных 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;  
quit

Вы заметите, что у пользователя MariaDB etherpaduser есть привилегии для доступа к базе данных etherpad_lite_db.

показать привилегии пользователя mariadb

Введите quit, чтобы выйти из MariaDB.

Скачивание и установка Etherpad

В этом разделе вы начнете установку Etherpad, создав системного пользователя, скачав исходный код Etherpad, установив зависимости для Etherpad, интегрировав Etherpad с базой данных MariaDB, а затем проверив установку, запустив ее через командную строку.

Сначала выполните следующую команду, чтобы создать нового системного пользователя и группу ‘ etherpad ‘. Этот пользователь будет использоваться для запуска службы Etherpad.

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

Скачайте исходный код Etherpad через git в целевую директорию /opt/etherpad-lite.

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

создание пользователя и скачивание исходного кода etherpad

Затем переместите рабочую директорию в директорию /opt/etherpad-lite и установите зависимости Etherpad, используя команду ниже.

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

После выполнения команды вы должны увидеть процесс установки, похожий на этот:

установка зависимостей etherpad

Когда установка завершится, откройте конфигурацию Etherpad settings.json, используя следующую команду редактора nano.

nano settings.json

Измените заголовок вашей установки Etherpad.

  "title": "Etherpad AlmaLinux 9",

Измените IP-адрес по умолчанию для работы Etherpad на 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 прошли успешно, будет выведен следующий результат:

проверка запуска etherpad

Нажмите Ctrl+c, чтобы завершить процесс.

Запуск Etherpad как службы Systemd

С установленным Etherpad вы теперь настроите Etherpad как службу systemd. Это позволит вам запускать Etherpad в фоновом режиме и легко управлять Etherpad через командную строку systemctl.

Для начала создайте новый файл службы systemd /lib/systemd/system/etherpad.service с помощью следующей команды редактора nano.

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  
# используйте mysql плюс полный settings.json, чтобы избежать времени ожидания службы, планируя перезапуск.  
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

Вы также можете проверить список открытых портов на вашей системе, используя следующую команду. И вы должны увидеть, что Etherpad использует порт 9001.

ss -tulpn | grep 9001

Настройка Nginx как обратного прокси

На данный момент Etherpad работает на порту 9001. Чтобы сделать его доступным для конечных пользователей, вы можете использовать Nginx, который будет использоваться в качестве обратного прокси. Прежде чем начать, убедитесь, что у вас есть доменное имя, которое будет использоваться для Etherpad, и убедитесь, что вы сгенерировали SSL-сертификаты через Letsencrypt и Certbot.

Создайте новую конфигурацию блока сервера Nginx /etc/nginx/conf.d/etherpad.conf с помощью команды редактора nano ниже.

sudo nano /etc/nginx/conf.d/etherpad.conf

Вставьте следующую конфигурацию и обязательно измените детали доменного имени и путь к SSL-сертификатам.

# принудить HTTPS  
server {  
    listen       80;  
    server_name  etherpad.howtoforge.local;  
    return 301   https://$host$request_uri;  
}  
  
# мы находимся в контексте http  
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; # будьте осторожны, эта строка не переопределяет никакое прокси-буферизование, установленное в conf.d/file.conf  
        proxy_set_header   Host $host;  
        proxy_pass_header  Server;  
  
        # Обратите внимание, что вы также можете передать эти заголовки и т. д.  
        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 логи, чтобы показать фактический удаленный IP  
        proxy_set_header    X-Forwarded-Proto $scheme; # для EP, чтобы установить флаг безопасного cookie, когда используется https  
        proxy_http_version  1.1; # рекомендуется с соединениями keepalive  
  
        # Прокси-сервер WebSocket - из https://nginx.org/en/docs/http/websocket.html  
        proxy_set_header  Upgrade $http_upgrade;  
        proxy_set_header  Connection $connection_upgrade;  
    }  
}

Сохраните файл и закройте редактор, когда закончите.

Теперь выполните следующую команду, чтобы убедиться, что у вас правильная и корректная конфигурация. Если успешно, вы должны получить сообщение, такое как “ Синтаксис в порядке - тест успешен “.

sudo nginx -t

Затем введите следующую команду, чтобы перезапустить службу Nginx и применить изменения.

sudo systemctl restart nginx

настройка nginx как обратного прокси

После этого откройте веб-браузер и посетите доменное имя установки Etherpad (т. е.: https://etherpad.howtoforge.local/). Вы должны увидеть домашнюю страницу вашего совместного редактора Etherpad.

Теперь создайте новый документ, введя имя документа, и нажмите OK.

создание нового документа

Теперь вы можете начать использовать Etherpad как совместный редактор.

совместный редактор etherpad

Заключение

Поздравляем, вы завершили установку Etherpad с базой данных MariaDB и веб-сервером Nginx на сервере AlmaLinux 9. Вы также обеспечили безопасность Etherpad с помощью SSL-сертификатов. Теперь вы можете начать использовать Etherpad в качестве основного совместного редактора с вашими друзьями/группами/командой.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.