Установка Etherpad · 6 min read · Oct 12, 2025
Как установить совместный редактор Etherpad в реальном времени на Ubuntu 18.04

Etherpad — это редактор в реальном времени, основанный на Node.js. Это редактор с открытым исходным кодом, веб-редактор для многопользовательского доступа с возможностью импорта/экспорта в различные офисные форматы файлов и высоко настраиваемый онлайн-редактор.
В этом руководстве я пошагово покажу вам, как установить и настроить Etherpad-lite на сервере Ubuntu 18.04. Мы установим Etherpad-lite с MySQL в качестве базы данных, веб-сервер Nginx в качестве обратного прокси и включим безопасное соединение HTTPS.
Предварительные требования
- Сервер Ubuntu 18.04
- Привилегии root
Что мы будем делать?
- Установить зависимости пакетов
- Установить Nodejs
- Установить и настроить MySQL
- Скачать Etherpad
- Настроить Etherpad
- Настроить Etherpad как службу
- Настроить Nginx как обратный прокси для Etherpad
- Настроить брандмауэр UFW
- Тестирование
Шаг 1 - Установить зависимости пакетов
Первый шаг, который мы сделаем в этом руководстве, — установить все зависимости пакетов для установки Nodejs.
Запустите команду apt ниже.
sudo apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -yПодождите завершения установки.
Шаг 2 - Установить Nodejs
Etherpad требует Node.js >= 6.9, и на этом шаге мы установим Nodejs 9.11, который можно установить из репозитория nodesource.
Добавьте репозиторий Nodejs nodesource и установите пакет Node.js, используя команды ниже.
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt install -y nodejsПосле этого проверьте команды nodejs и npm.
nodejs --version
npm --versionNode.js v9.11 был установлен на сервере Ubuntu 18.04.

Шаг 3 - Установить и настроить MySQL
В этом руководстве мы будем использовать MySQL в качестве базы данных для Etherpad.
Установите сервер базы данных MySQL, используя команду apt ниже.
sudo apt install mysql-server mysql-clientПосле завершения установки запустите службу mysql и включите ее, чтобы она запускалась каждый раз при загрузке системы.
sudo systemctl start mysql
sudo systemctl enable mysqlСервер MySQL был установлен.
Далее мы настроим пароль root для mysql и создадим новую базу данных и пользователя для нашей установки etherpad.
Чтобы настроить пароль root для MySQL, выполните команду ниже.
mysql_secure_installationВведите свой надежный пароль root для mysql.
Теперь войдите в оболочку mysql, используя пользователя root.
mysql -u root -pСоздайте новую базу данных с именем ‘etherpad_db’ и пользователя ‘hakase’, и выполните запросы mysql ниже.
create database etherpad_db;
grant all privileges on etherpad_db.* to hakase@localhost identified by 'Hakase321@#';
flush privileges;База данных MySQL для установки etherpad была создана.

Шаг 4 - Скачать Etherpad
На этом шаге мы создадим нового пользователя и загрузим исходный код 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Вы получите результат, как ниже.

Откройте веб-браузер и введите IP-адрес сервера с портом ‘9001’.
И вы увидите главную страницу etherpad.

Вернитесь в терминал и нажмите ‘Ctrl+c’, чтобы выйти из приложения.
Шаг 5 - Настроить Etherpad
На этом шаге мы выполним базовую настройку редактора etherpad.
Войдите в систему под пользователем etherpad и перейдите в директорию ‘etherpad-lite’.
su - etherpad
cd etherpad-lite/Отредактируйте конфигурацию ‘settings.json’ с помощью редактора vim.
vim settings.jsonИзмените IP-адрес на ‘127.0.0.1’ или localhost, потому что мы будем запускать etherpad на обратном прокси Nginx.
"ip": "127.0.0.1",
"port" : 9001,Теперь отключите базу данных dirty по умолчанию, добавив комментарий ‘/ …. /‘, и вставьте конфигурацию базы данных MySQL.
/*
"dbType" : "dirty",
"dbSettings" : {
"filename" : "var/dirty.db"
},
*/Конфигурация базы данных MySQL.
"dbType" : "mysql",
"dbSettings" : {
"user" : "hakase",
"host" : "localhost",
"port" : 3306,
"password": "Hakase321@#",
"database": "etherpad_db",
"charset" : "utf8mb4"
},
Далее мы включим пользователя администратора, убрав комментарий с этих строк и изменив значение пароля на новый пароль.
"users": {
"admin": {
// "password" можно заменить на "hash", если вы установите ep_hash_auth
"password": "hakase123@#",
"is_admin": true
},
"user": {
// "password" можно заменить на "hash", если вы установите ep_hash_auth
"password": "aqwe123@#",
"is_admin": false
}
},
Сохраните и выйдите.
Базовая конфигурация etherpad завершена.
Шаг 6 - Настроить Etherpad как службу
Теперь мы запустим etherpad как службу systemd на нашей системе ubuntu.
Перейдите в директорию ‘/etc/systemd/system’ и создайте новый файл службы с именем ‘etherpad.service’.
cd /etc/systemd/system/
vim etherpad.serviceВставьте конфигурации ниже.
[Unit]
Description=Etherpad-lite, the collaborative editor.
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
Restart=always # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.
[Install]
WantedBy=multi-user.targetСохраните и выйдите.
Перезагрузите списки служб systemd.
sudo systemctl daemon-reloadЗапустите службу etherpad и включите ее, чтобы она запускалась каждый раз при загрузке системы.
sudo systemctl start etherpad
sudo systemctl enable etherpadИ etherpad запущен и работает как служба на локальном IP с портом по умолчанию 9001.

Проверьте службу, используя команды ниже.
sudo systemctl status etherpad
netstat -plntuШаг 7 - Установить и настроить Nginx как обратный прокси
На этом шаге мы установим и настроим веб-сервер Nginx как обратный прокси для службы etherpad.
Установите веб-сервер nginx, используя команду apt ниже.
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$1 permanent;
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default 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 /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 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://localhost:9001/;
proxy_set_header Host $host;
proxy_pass_header Server;
# be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
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_set_header Host $host; # pass the host header
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $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 как обратного прокси для etherpad успешно завершены.
Шаг 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, как ниже.

Далее откройте URL-адрес администратора etherpad. У меня это https://pad.hakase.io/admin/
Вас попросят ввести имя пользователя и пароль администратора. Введите своего пользователя и пароль, затем нажмите кнопку Войти.

И вы получите страницу администратора Etherpad по умолчанию ниже.
- Конфигурация settings.json Etherpad

- Менеджер плагинов Etherpad

Установка Etherpad с MySQL и обратным прокси Nginx на Ubuntu 18.04 успешно завершена.
Ссылки
Get new posts in your inbox
No spam. Unsubscribe anytime.