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

Что мы будем делать?

  1. Установить зависимости пакетов
  2. Установить Nodejs
  3. Установить и настроить MySQL
  4. Скачать Etherpad
  5. Настроить Etherpad
  6. Настроить Etherpad как службу
  7. Настроить Nginx как обратный прокси для Etherpad
  8. Настроить брандмауэр UFW
  9. Тестирование

Шаг 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 --version

Node.js v9.11 был установлен на сервере Ubuntu 18.04.

Установка node.js

Шаг 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 была создана.

Установка MySQL

Шаг 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

Вы получите результат, как ниже.

Скачать Etherpad

Откройте веб-браузер и введите IP-адрес сервера с портом ‘9001’.

http://192.168.33.10:9001/

И вы увидите главную страницу etherpad.

Доступ к 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"  
                 },

Конфигурация Etherpad

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

  "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.

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

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

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

Etherpad за прокси 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.

Доступ к Etherpad

Создайте новый документ, введя имя документа в поле и нажав кнопку ‘OK’.

И вы получите редактор Etherpad, как ниже.

Редактор Etherpad

Далее откройте URL-адрес администратора etherpad. У меня это https://pad.hakase.io/admin/

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

Административная область Etherpad

И вы получите страницу администратора Etherpad по умолчанию ниже.

- Конфигурация settings.json Etherpad

Конфигурация settings.json Etherpad

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

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

Установка Etherpad с MySQL и обратным прокси Nginx на Ubuntu 18.04 успешно завершена.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.