Es geht auch direkt los mit meinem ersten Projekt, welches ich auf meinem Server durchführen will – die Installation von Etherpad.
Die Ausgangslage lässt sich grob wie folgt beschreiben:
- Ubuntu Server 14.04
- nginx 1.8.1
- php5-fpm 5.5.9
Vorbereitung
Zunächst werden für Etherpad diverse Tools benötigt, welche sich einfach über den diesen Befehl hier installieren lassen:
sudo apt-get install gzip git curl python libssl-dev pkg-config build-essential
Zusätzlich benötigt Etherpad auch noch node.js in der letzten Version. Es wird zwar empfohlen, node.js selbst zu bauen, aber es funktioniert auch wunderbar mit der node.js-Version aus einem PPA.
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - sudo apt-get install -y nodejs
Zuletzt will auch noch nginx vorbereitet werden. Das kann recht einfach passieren, indem man den nginx allen Verkehr per proxy_pass durchleitet, oder etwas komplexer, wenn man im gleichen Schritt auch noch das ganze per TLS absichern will. Die einfache Variante sieht etwa so aus:
server { server_name DOMAIN.TLD; listen 80; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:9001; } }
Meine Konfiguration (mit TLS, ein paar Anpassungen nach bettercrypto.org, SPDY etc.) könnt Ihr euch hier herunterladen und anschauen: etherpad.conf
Das Ganze wird dann noch in nginx aktiviert.
sudo ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/etherpad.conf sudo service nginx reload
Installation von Etherpad
Zunächst muss ein Verzeichnis und ein Benutzer für Etherpad erstellt werden.
sudo mkdir /var/www/etherpad sudo adduser --home /var/www/etherpad etherpad sudo chown etherpad:etherpad /var/www/etherpad
Anschließend wird in den neuen Benutzer und sein Verzeichnis gewechselt.
su etherpad cd
Dann wird noch schnell Etherpad heruntergeladen und gestartet.
git clone git://github.com/ether/etherpad-lite.git cd etherpad-lite bin/run.sh
Nun sollte der Server unter der gewünschten Domain erreichbar sein.
In den nächsten Tagen werde ich dazu auch noch einen Service schreiben, welcher sich um die Steuerung von Etherpad kümmert. Und natürlich sollte man noch die Default-Datenbank durch eine bessere Datenbank ersetzen und den Nutzer „etherpad“ absichern.
Weiterführende Artikel:
- Etherpad auf MySQL umstellen
- Service für Etherpad erstellen