web2py auf einem VServer bei Hosteurope einrichten

Die Aufgabe hörte sich ganz einfach an: Migration eine PHP basierten Datenbank mit webbasierter Oberfläche auf web2py. Das Ganze sollte natürlich auf dem vorhanden VServer bei Hosteurope laufen. Dazu habe ich ja diesen VServer 😉

Das sich das Projekt aber ziemlich kompliziert darstellt, hatte ich im Vorfeld nicht gewusst.

Zu den Eckdaten der Installation:

Hosteurope Virtual Server Linux Advanced 8.0 mit Ubuntu 14.04. Seit Mai 2016 mit dieser Ausstattung nicht mehr im Angebot bei Hosteurope. (Aktuelle VServer bei Hosteurope)

WERBUNG
Virtual Server von Host Europe

Hardware

RAID: RAID5
Garantierte vCores (CPU-Ressourcen): 2
RAM: 4 GB (RAM dynamisch (nur mit Linux) bis zu 8 GB)
Storage: 300 GB

Software:

Python Version: 2.7.6
web2py Version: 2.14.6-stable


Ziel sollte sein, diese Zeile im web2py Adminbackend zu sehen:

2.14.6-stable+timestamp.2016.05.10.00.21.47
(läuft auf Apache, Python 2.7.6)

Nun zum spannenden Teil. Auf dem VServer ist Plesk (Version 12.5.30 Update Nr. 48) zur Administration installiert. Und das sollte sich als Knackpunkt und Garant für viele Try-And-Error Aktionen herausstellen.

Plesk ist zwar schön bequem, wenn man nur alles mit Plesk macht. Ich hatte mich aber via SSH zum Server verbunden. Ziel war es, web2py für eine Subdomain über mod_wsgi – Apache laufen zu lassen. Dokumentiert ist das ja alles recht gut. (web2py Dokumentation -Deployment)

Suche den Pfad für die vhost.conf

In der Hosteurope FAQ steht folgendes:

/var/www/vhosts/*domainname*/subdomains/*subdomain*/conf/ (Debian/Ubuntu/CentOS)

Da war aber nichts zu finden. Also über Plesk mal schnell eine Apache Direktive angelegt, so dass Plesk eine vhost.conf für die entsprechende (Sub)Domain anlegt. Über SSH schnell mal ein find angestoßen und siehe da, die vhost.conf ist vorhanden liegt aber unter:

/var/www/vhosts/system/<(sub)domain>/conf/

Nun geht es ans Einrichten des Apache Webservers. web2py soll für diese (Sub)Domain den mitgebrachten WSGI Handler nutzen. Nachzulesen in der web2py Doku. Das ebenfalls im web2py Paket enthaltene Script zum Setup unter Ubuntu diente auch als Informationsquelle. (https://github.com/web2py/web2py/blob/master/scripts/setup-web2py-ubuntu.sh)

Also die Zeilen zwischen

<VirtualHost *:80>

...

</VirtualHost>

in die vhost.conf kopiert und Apache neustarten. Schlechte Idee. Durch Fehler in der Konfiguration startet der Apache leider nicht mehr. Wenigstens ist die Fehlermeldung aussagekräftig: Verschachtelte <VirtualHost> Angaben sind nicht erlaubt. Aha, da die httpd.conf die vhost.conf am Ende einbindet, ensteht diese Verschachtelung. Kommentieren wir also die Zeilen mit <VirtualHost…> und </VirtualHost> mal aus und schauen dann. Bingo! Der Apache startet.

Zwischenzeitlich meldet sich aber mein Monitoring und meldet für die Hauptdomain, dass der HTTP Dienst nicht zur Verfügung steht. Au weia. Wozu gibt es den Befehl:

apachectl configtest oder apachectl -t

Der hätte mir im Vorfeld schon gesagt, dass die Konfiguration fehlerhaft ist. Man kann ja nicht an alles denken…

sudo service apache2 restart

lief nun ohne Fehler durch. Nun konnte ich testen, ob die Website auch die web2py Ausgabe liefert. Natürlich nicht!

Was noch nicht funktionierte, war das Apache WSGI-Modul und was zuviel des Guten war, dass das Apache PYtgon Modul gestartet war. Ebenso schadet ein rekonfigurieren der Plesk httpd Einstellungen nicht:

Am Ende also noch ein paar Befehle absetzen um die Konfiguration zu komplettieren und web2py läuft hinter Apache:

/usr/local/psa/admin/bin/httpdmng --reconfigure-all
sudo apt-get install libapache2-mod-wsgi
sudo a2enmod wsgi
sudo a2dismod python
sudo service apache2 restart

Zu Bemerken ist, dass Plesk nun eine fehlerhafte Konfiguration bemängelt. Es gibt aber keine Einschränkungen bei der Benutzung von Plesk. Die Behebung dieses Fehlers beschreibe ich im nächsten Artikel.

 

Werbung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.