Установка 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.

Установка сервера 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 mariadbЕсли сервер MariaDB работает, вывод должен выглядеть следующим образом:

Установка веб-сервера Nginx
После установки сервера MariaDB вы установите веб-сервер Nginx, который будет использоваться в качестве обратного прокси для Etherpad. Поэтому, прежде чем продолжить, убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего сервера, и SSL-сертификаты, сгенерированные через Letsencrypt и Certbot.
Выполните команду dnf ниже для установки веб-сервера Nginx. Когда будет предложено, введите y для подтверждения и нажмите ENTER.
sudo dnf install nginx
Теперь выполните следующую команду, чтобы запустить и включить службу Nginx.
sudo systemctl start nginx
sudo systemctl enable nginxПосле этого введите следующую команду, чтобы проверить службу Nginx и убедиться, что служба работает.
sudo systemctl status nginxЕсли служба Nginx работает, вы должны получить вывод, похожий на этот:

Затем выполните следующую команду, чтобы открыть порты HTTP и HTTPS на вашем сервере.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadПроверьте список открытых портов и служб, используя следующую команду. Вы должны увидеть, что HTTP и HTTPS включены на firewalld.
sudo firewall-cmd --list-all
Настройка сервера 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.

Введите 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
Затем переместите рабочую директорию в директорию /opt/etherpad-lite и установите зависимости Etherpad, используя команду ниже.
cd /opt/etherpad-lite
sudo su -s /bin/bash -c "./bin/installDeps.sh" 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 прошли успешно, будет выведен следующий результат:

Нажмите 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 использует порт 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
После этого откройте веб-браузер и посетите доменное имя установки Etherpad (т. е.: https://etherpad.howtoforge.local/). Вы должны увидеть домашнюю страницу вашего совместного редактора Etherpad.
Теперь создайте новый документ, введя имя документа, и нажмите OK.

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

Заключение
Поздравляем, вы завершили установку Etherpad с базой данных MariaDB и веб-сервером Nginx на сервере AlmaLinux 9. Вы также обеспечили безопасность Etherpad с помощью SSL-сертификатов. Теперь вы можете начать использовать Etherpad в качестве основного совместного редактора с вашими друзьями/группами/командой.
Get new posts in your inbox
No spam. Unsubscribe anytime.