Skip to content

Commit

Permalink
Added etherpad
Browse files Browse the repository at this point in the history
  • Loading branch information
Sem committed Oct 5, 2014
1 parent baa6eb7 commit cf34b1c
Show file tree
Hide file tree
Showing 47 changed files with 3,475 additions and 0 deletions.
43 changes: 43 additions & 0 deletions mod/etherpad/CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
1.8.1
Forwarding to a 404 error page instead to frontpage when error.

1.8.0
No changes from 0.8.1
0.8.1 => 1.8.0

0.8.1
fixed forwarded links. forwards to owners/groups pages when integration is enabled, or pads when not.
Changed river message, "created a new collaborative pad" as it works for both pads and collab pages.
History button now only appears when pages integration is enabled.
Fixed fullscreen button, works again and only appears if pages integration is disabled.

0.8.0 (Big thanks to Sem)
Pages integration
Group pads.
Lots of refactoring.
Bug fixes.
Plugin name changed from 'elggpad-lite' to 'elggpad'.
Changed 'Etherpads' to 'Pads' for consistency.

0.6.0
Fixed Etherpad Lite authentication.
Pads now support elgg permissions (private, logged in users only, friends, public)
Pads can no longer be directly accessed without logging into elgg. (unless public)

0.5.4
Added spanish translation file, languages/es.php, thanks Antonio Arebalo
for translating.
Better translation support.
Added pad description to etherpad page.

0.5.3
Fixed widget settings, max display actually works now.
Added changelog, todo, and license.

0.5.2
Fixed permissions broken in 0.5.1

0.5.1
Added etherpad lites beta api info as default host address/api key.
Updated README to include more details about installion and configuration.
Fixed a few minor bugs and tidied up code (a little).
107 changes: 107 additions & 0 deletions mod/etherpad/INSTALL.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@

### Node & NPM

You first need to install **node** and **npm**.

At the time of writting this documentation, latest Etherpad Lite (1.2.11) wasn't working with latest stable node.js version (v0.10.16).

You can download precompiled *node.js v0.8.25* from http://nodejs.org

<pre>
$ wget http://nodejs.org/dist/v0.8.25/node-v0.8.25-linux-x64.tar.gz
$ tar -vxzf node-v0.8.25-linux-x64.tar.gz
$ rm node-v0.8.25-linux-x64.tar.gz
$ mv node-v0.8.25-linux-x64 /opt
$ ln -s /opt/node-v0.8.25-linux-x64/bin/node /usr/local/bin/node
$ ln -s /opt/node-v0.8.25-linux-x64/bin/npm /usr/local/bin/npm
</pre>

You can check node's version:

<pre>
$ node --version
v0.8.25
</pre>

### Etherpad Lite

You can get the latest version from github, configure and deploy as a service.

<pre>
# Install etherpad-lite
$ git clone git://github.com/ether/etherpad-lite.git /usr/share/etherpad-lite
$ sh /usr/share/etherpad-lite/bin/installDeps.sh

# Configure Etherpad settings
$ nano /usr/share/etherpad-lite/settings.json

Usually you set a mysql database for etherpad here.

# Create a user called etherpad-lite
$ useradd -r -d /bin/false etherpad-lite

# Create a log folder for the service /var/log/etherpad-lite
$ mkdir /var/log/etherpad-lite

# Ensure the etherpad-lite user have full access to the log and the git folder
$ chown -R etherpad-lite /var/log/etherpad-lite

# Copy following script to /etc/init.d/ and configure the variables
$ cp ep-daemon /etc/init.d/etherpad-lite

# Make sure the script is marked as executable
$ chmod +x /etc/init.d/etherpad-lite

# Enable it with
$ update-rc.d etherpad-lite defaults
</pre>

Provided **ep-daemon** if for Debian and Ubuntu, you can get more daemons in the [Etherpad Lite Wiki](https://github.com/ether/etherpad-lite/wiki/How-to-deploy-Etherpad-Lite-as-a-service).

You can run Etherpad Lite with:

<pre>
service etherpad-lite start
</pre>

Etherpad Lite should be running on http://localhost:9001/

### Reverse Proxy

You can read [How to put Etherpad Lite behind a reverse Proxy](https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy) from Etherpad Wiki to know how to serve resources from 9001 port to / path.

To integrate Etherpad with Elgg, we need it served in a /pad subpath, becuase whey are sharing cookies.

This is an example for apache2:

<pre>
Redirect /pad /pad/

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so

ProxyVia On
ProxyRequests Off
ProxyPass /pad/ http://localhost:9001/
ProxyPassReverse /pad/ http://localhost:9001/
ProxyPreserveHost on
<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Proxy>
</pre>

### Elgg Plugin

Once you have Etherpad Lite running, it's the turn to Elgg. Go to the admin area and activate the plugin. Then, in it's configuration write the API KEY you can find in API-KEY.txt.

<pre>
$ cat /usr/share/etherpad-lite/APIKEY.txt
</pre>

Enjoy your new installation!

Loading

0 comments on commit cf34b1c

Please sign in to comment.