Etherpad - текстовый редактор для совместной работы в реальном времени

Etherpad Lite – это бесплатный веб-инструмент для редактирования документов, который позволяет группам пользователей совместно работать над документом в режиме реального времени, подобно многопользовательскому редактору, работающему в веб-браузере.

Etherpad позволяет авторам редактировать одновременно, видя правки друг друга в режиме реального времени, с возможностью отображения текста каждого автора в своих цветах.

Ключевые особенности Etherpad

  • Несколько пользователей могут одновременно редактировать документ, просматривая изменения в режиме реального времени.
  • Окно чата в боковой панели позволяет авторам общаться во время редактирования, улучшая совместную работу.
  • Он построен на JavaScript как на стороне сервера, так и на стороне клиента, что облегчает разработчикам поддержку и добавление новых функций.
  • Хорошо документированный HTTP API обеспечивает доступ ко всем данным, что позволяет легко интегрировать его в другие приложения.
  • Поддерживает импорт и экспорт документов в различных форматах (HTML, Open Document, Microsoft Word, PDF и обычный текст) и предлагает переводы для местных языков.
  • Функция временной слайдер позволяет пользователям изучать историю изменений документа.

Для ознакомления вы можете посмотреть демо-версию Etherpad Lite по ссылке: Смотреть демонстрацию EtherPad

В этом руководстве мы рассмотрим установку и настройку Etherpad Lite в дистрибутивах на базе RHEL и Debian.

Шаг 1: Установка библиотек и пакетов разработки

Сначала нам нужно установить несколько необходимых библиотек и инструментов разработки, выполнив следующие команды либо от имени root, либо добавив sudo в начале каждой команды.

В дистрибутивах на базе RHEL:

sudo yum install gzip git curl python3 openssl-devel && yum groupinstall "Development Tools"

В дистрибутивах на базе Debian:

sudo apt install gzip git curl python3 libssl-dev pkg-config build-essential

Шаг 2: Установите Node.js

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

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
nvm install 23
node -v
npm -v

Шаг 3: Скачайте и установите Etherpad Lite

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

sudo useradd --create-home etherpad

Переключитесь на пользователя etherpad и загрузите последнюю стабильную версию Etherpad Lite из репозитория Git.

su - etherpad
cd /home/etherpad
git clone https://github.com/ether/etherpad-lite.git

Перейдите в каталог Etherpad Lite и выполните скрипт run.sh:

cd etherpad-lite/bin
./run.sh

Вы должны увидеть вывод, указывающий на то, что Etherpad запущен и доступен по адресу http://0.0.0.0:9001/.

Шаг 4: Доступ и создание новых планшетов в Etherpad Lite

Откройте веб-браузер и перейдите на страницу http://localhost:9001 или http://your-ip-address:9001.

Чтобы создать новый документ, введите имя Pad. Например, создав блокнот, вы получите URL http://your-ip-address:9001/p/tecmint. Вы можете поделиться этим URL с коллегами, и они смогут присоединиться к сеансу редактирования в режиме реального времени.

Шаг 5: Использование Etherpad Lite с бэкендом MySQL

По умолчанию Etherpad хранит документы в базе данных в виде плоского файла. Для повышения производительности рекомендуется использовать MySQL в качестве бэкенда.

В системах на базе RHEL:

sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

В системах на базе Debian:

sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql

Подключитесь к оболочке MySQL и создайте базу данных Etherpad:

mysql -u root -p
CREATE USER 'etherpad'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON etherpad_lite.* TO 'etherpad'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Переключитесь обратно на пользователя etherpad и измените файл settings.json:

su - etherpad
cd /home/etherpad/etherpad-lite
cp settings.json.template settings.json
nano settings.json

Обновите конфигурацию базы данных:

"dbType": "mysql",
"dbSettings": {
  "user": "etherpad",
  "host": "localhost",
  "password": "your-password",
  "database": "etherpad_lite"
},

Теперь установите зависимости и снова запустите Etherpad для инициализации бэкенда MySQL:

./bin/installDeps.sh
./bin/run.sh

Наконец, имейте в виду, что приложение Etherpad завершит свой процесс, когда вы закроете терминальную сессию. Вы можете использовать службу systemd для более простого управления приложением Etherpad, включая запуск, остановку и включение его при загрузке.

Шаг 6: Создание файла службы Etherpad Systemd

Теперь войдите в систему как обычный пользователь sudo и создайте новый служебный файл в каталоге systemd:

sudo nano /etc/systemd/system/etherpad.service

Добавьте следующее содержимое в служебный файл:

[Unit]
Description=Etherpad Lite
After=network.target
[Service]
Type=simple
User=etherpad
WorkingDirectory=/home/etherpad/etherpad-lite
ExecStart=/usr/bin/node /home/etherpad/etherpad-lite/node/node server.js
Restart=on-failure
[Install]
WantedBy=multi-user.target

Убедитесь, что путь ExecStart скорректирован, если установка Node.js находится в другом месте.

После создания файла службы необходимо перезагрузить systemd, чтобы она распознала новую службу:

sudo systemctl daemon-reload

Теперь вы можете запустить службу Etherpad и включить ее запуск при загрузке:

sudo systemctl start etherpad
sudo systemctl enable etherpad
sudo systemctl status etherpad

Если все настроено правильно, вы можете получить доступ к Etherpad, перейдя по адресу http://your-ip-address:9001 в веб-браузере.

Заключение

Вы успешно установили и настроили Etherpad Lite для использования MySQL в качестве внутренней базы данных. Вам предстоит еще многое изучить и улучшить в своей установке Etherpad, например, настроить безопасный доступ по HTTPS/SSL.

Для получения более подробной информации о дальнейших настройках посетите официальную вики-страницу Etherpad Lite.