Mets Minor League Blog

Music theory, instruments and musicians

Mets Minor League Blog

Music theory, instruments and musicians

How to Install Etherpad on Ubuntu Linux for Easy Collaborative Editing

How to Install Etherpad on Ubuntu Linux for Easy Collaborative Editing

Etherpad is a powerful, open-source online editor that allows multiple users to collaborate on documents in real-time. Installing Etherpad on your Ubuntu Linux system enables you to create your own collaborative workspace, perfect for teams, classrooms, or community projects. This guide walks you through each step of the installation process, ensuring you can set up Etherpad quickly and efficiently. Before you begin, ensure your Ubuntu system is up to date and has internet access. You’ll also need root or sudo privileges to install software and make configuration changes.

What You’ll Need

  • An Ubuntu Linux server or desktop (Ubuntu 20.04 or later recommended)
  • Root or sudo access to install packages
  • Basic command line knowledge
  • Optional: A domain name for hosting Etherpad (not required but recommended for remote access)

Step-by-Step

  1. Update Your System: Open a terminal and run:
    sudo apt update && sudo apt upgrade -y

    This ensures all your packages are current, reducing compatibility issues.

  2. Install Required Dependencies: Install Git, Node.js, npm, and other necessary tools:
    sudo apt install git curl gnupg build-essential -y
  3. Install Node.js and npm: Etherpad requires Node.js. Use NodeSource to install a recent version:
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt install -y nodejs

    Verify installation:

    node -v
    npm -v
  4. Create a Directory for Etherpad: Choose a location and clone the Etherpad source:
    sudo mkdir -p /opt/etherpad
    sudo chown $USER:$USER /opt/etherpad
    cd /opt/etherpad
    git clone https://github.com/ether/etherpad-lite.git .
  5. Install Etherpad Dependencies: Inside the Etherpad directory, run:
    bin/installDeps.sh

    This script installs all necessary Node.js modules and dependencies.

  6. Configure Etherpad: Copy the default settings and create your custom configuration:
    cp settings.json.template settings.json

    Edit settings.json to customize your server, such as setting the port and ip address.
    Use a text editor like nano:

    nano settings.json
  7. Set Up a System Service: To run Etherpad as a service, create a systemd service file:
    sudo nano /etc/systemd/system/etherpad.service

    Insert the following:

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

    Enable and start the service:

    sudo systemctl enable etherpad
    sudo systemctl start etherpad
  8. Configure Firewall: Allow HTTP traffic:
    sudo ufw allow 9001/tcp

    Etherpad by default runs on port 9001. Adjust your firewall accordingly.

  9. Access Etherpad: Open your browser and navigate to:
    http://your_server_ip:9001

    You should see the Etherpad interface. Log in or start editing collaboratively.

Common Mistakes

  • Not updating your system before starting — can lead to dependency issues.
  • Forgetting to run bin/installDeps.sh — Etherpad relies on Node.js modules that must be installed.
  • Incorrect configuration of settings.json — leads to connection or security issues.
  • Not setting permissions properly on the Etherpad directory — prevents Etherpad from running correctly.
  • Forgetting to enable and start the systemd service — Etherpad won’t run on startup.

Tips

  • Use a domain name with SSL/TLS for secure remote access — consider setting up a reverse proxy with Nginx.
  • Regularly update Etherpad and its dependencies for security and new features.
  • Back up your settings.json and database regularly.
  • Monitor the Etherpad logs for errors:
    journalctl -u etherpad
  • Customize the appearance and plugins via the settings.json and plugin directories.

Troubleshooting

If Etherpad does not start or is inaccessible, follow these steps:

  • Check Service Status: Run
    sudo systemctl status etherpad

    to see if the service is active and running.

  • Review Logs: Examine logs for errors:
    journalctl -u etherpad
  • Verify Dependencies: Ensure Node.js modules are installed correctly:
    cd /opt/etherpad
    bin/installDeps.sh

  • Firewall Settings: Confirm port 9001 (or your custom port) is open:
    sudo ufw status
  • Configuration Files: Double-check settings.json for correctness and proper IP binding.
  • Network Issues: Make sure your server’s IP and DNS settings are correct, especially if hosting remotely.

If problems persist, consider reinstalling Etherpad or seeking help from community forums.

Frequently Asked Questions

1. Can I run Etherpad on a Raspberry Pi?

Yes, Etherpad can run on Raspberry Pi with Ubuntu or Raspbian, but ensure your device has sufficient resources and install the required dependencies accordingly.

2. How do I update Etherpad to the latest version?

Navigate to the Etherpad directory and run

git pull

to fetch the latest code, then run

bin/installDeps.sh

again to update dependencies.

3. Is it safe to expose Etherpad to the internet?

It can be, if you secure your server with SSL/TLS, strong passwords, and proper firewall rules. Consider deploying behind a reverse proxy with HTTPS for added security.

4. How do I add plugins to Etherpad?

Plugins are added via npm. Use

npm install

inside the Etherpad directory or add plugin names in the settings.json.

5. Can I run multiple Etherpad instances on the same server?

Yes, by configuring each instance on different ports and setting up separate systemd services and directories.

6. How do I back up my Etherpad data?

Back up the settings.json and the database (if using a separate database). Etherpad stores its data in the data directory or in a database if configured.

Related

How to Install Etherpad on Ubuntu Linux for Easy Collaborative Editing
Scroll to top