Difference between revisions of "Mesh/SudoPad"

1,811 bytes added ,  13:53, 6 February 2018
no edit summary
Line 11: Line 11:
   sudo start etherpad-lite
   sudo start etherpad-lite


== Setup Instructions ==
== Setting up an etherpad-lite instance ==
The following are the instructions that were used to install our instance of etherpad-lite and could be used to reinstall the instance from scratch. Instructions adapted from https://help.ubuntu.com/community/Etherpad-liteInstallation.
The following are the instructions that were used to install our instance of etherpad-lite and could be used to reinstall the instance from scratch. Instructions adapted from https://help.ubuntu.com/community/Etherpad-liteInstallation.


1. Add a new etherpad-specific system user, etherpad should never be run as root in production.
1. Add a new etherpad-specific system user, etherpad should never be run as root in production.
   sudo adduser --system --home=/opt/etherpad --group etherpad
   sudo adduser --system --home=/opt/etherpad --group etherpad-lite
2. Install prequistes, some of these may already be installed, but it is always good to check that they are up-to-date,
2. Install prequistes, some of these may already be installed, but it is always good to check that they are up-to-date,
   sudo apt-get update
   sudo apt-get update
Line 24: Line 24:
   sudo apt-get install nodejs
   sudo apt-get install nodejs
4. Install and test etherpad-lite with following command,
4. Install and test etherpad-lite with following command,
   sudo su - etherpad -s /bin/bash  
   sudo su - etherpad-lite -s /bin/bash  
   mkdir -p ~/local/etherpad
   mkdir -p ~/local/etherpad
   cd ~/local/etherpad
   cd ~/local/etherpad
Line 44: Line 44:
   env EPHOME=/opt/etherpad/local/etherpad/etherpad-lite   
   env EPHOME=/opt/etherpad/local/etherpad/etherpad-lite   
   env EPLOGS=/var/log/etherpad-lite
   env EPLOGS=/var/log/etherpad-lite
   env EPUSER=etherpad
   env EPUSER=etherpad-lite
   pre-start script
   pre-start script
       cd $EPHOME
       cd $EPHOME
Line 65: Line 65:
9. Check if it worked by going again to <hostname>:9001
9. Check if it worked by going again to <hostname>:9001


== Setup MySQL Database ==
== Setting up the MySQL database ==
You may have noticed a warning about DirtyDB in the logs when you started the service. It is advised that you do not use DirtyDB in production, instead, we setup a MySQL database for etherpad in our existing MySQL instance.
You may have noticed a warning about DirtyDB in the logs when you started the service. It is advised that you do not use DirtyDB in production, instead, we'll setup a MySQL database for etherpad in our existing MySQL server.
 
1. First, assumming that MySQL is already installed and configured on the server, log into the MySQL server as root,
  mysql -u root -p
2. Once in MySQL, execute the following commands,
  create database `etherpad-lite`;
  grant all privileges on `etherpad-lite`.* to 'etherpad'@'localhost';
  exit
3. Now go to the ethepad config file with,
  sudo nano /opt/etherpad/local/etherpad/etherpad-lite/settings.json
and change the settings to match the priveleges you just granted, replacing the default dbType categories with the following,
  "dbType" : "mysql",
      "dbSettings" : {
          "user"    : "etherpad",
          "host"    : "localhost",
          "database": "etherpad-lite"
          "charset" : "utf8mb4"
      },
4. Restart the service and go to <hostname>:9001 to enable the new settings and check that the instance is still working.
 
5. Finally, back on the server, we'll need to change a few of the database's settings to do this, log into the MySQL server with,
  mysql -u root -p
and then execute the following commands,
  ALTER DATABASE `etherpad-lite` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  USE `etherpad-lite`;
  ALTER TABLE `store` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  exit
 
6. To set backups of the etherpad-lite database...
 
 
== Setting up log rotation ==
Explain what log rotation does? Why is it neccessary?
 
1. Create a logrotate config file with,
  sudo nano /etc/logrotate.d/etherpad-lite
2. Copy and paste the following into this file,
  /var/log/etherpad-lite/*.log
  {
      rotate 4
      weekly
      missingok
      notifempty
      compress
      delaycompress
      sharedscripts
      postrotate
        restart etherpad-lite >/dev/null 2>&1 || true
      endscript
  }
3. Check that it is working with,
  logrotate -d /etc/logrotate.d/etherpad-lite


== TODOs ==
== TODOs ==
* transfer setup instructions for posterity (in progress)
* setup/check-on the timetable for clearing abandoned pads
* setup/check-on the timetable for clearing abandoned pads
95

edits