Setup 2013

Zur Abwechslung beschäftige ich mich 2013 nicht mit der Einrichtung eines MacBooks. Seit einigen Jahren wird meine Website nämlich von einem kleinen virtuellen CentOS-Server ausgeliefert, der dank entsprechender Maßnahmen auch mit höheren Zugriffszahlen zurechtkommt. Django 1.4+ verträgt sich allerdings nicht mit Python 2.4 (und daher nicht mit CentOS 5), was mich auf veraltete Versionen meines Web-Frameworks festlegen würde, wenn ich nicht Python 2.6 von Hand installiert und sämtliche relevanten Komponenten (Django, mod_wsgi, psycopg2) mit Bezug auf diese Version kompiliert und aus dem Update-Zyklus mit yum ausgeschlossen hätte. Zähneknirschend.

Nevermore! Nach nur drei Anfragen im Abstand von jeweils einem Jahr bietet mein Webhoster CentOS 6 für virtuelle Systeme an. Dank der aktuellen Repositories für PostgreSQL und nginx lässt sich die Einrichtung schon sehr viel eleganter an:

yum install python-devel yum install mod_wsgi wget http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm rpm -ivh pgdg-centos92-9.2-6.noarch.rpm yum install postgresql92-server yum install python-psycopg2 wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm wget https://www.djangoproject.com/download/1.5.1/tarball/ tar -xzvf Django-1.5.1.tar.gz cd Django-1.5.1 python setup.py install

In /etc/yum.repos.d/CentOS-Base.repo sollten anschließend lediglich die Abschnitte [base] and [updates] ergänzt werden –

exclude=postgresql* exclude=nginx*

– während in /etc/sysconfig/httpd das Worker-MPM aktiviert werden muss. Auch der Eintrag von md5 als Authentifizierungsmethode für lokale Verbindungen in /var/lib/pgsql/9.2/pg_hba.conf (statt der peer-Authentifizierung) empfiehlt sich, um PostgreSQL wie gewohnt initialisieren zu können:

service postgresql-9.2 initdb service postgresql-9.2 start sudo -u postgres psql # Passwort setzen \password \q su - postgres createuser -d -P myuser

Nach der Übertragung von .ssh/authorized_keys, .bash_profile, .pgpass, nginx.conf und httpd.conf fühle ich mich schon wieder ganz zu Hause.

Das neue System ist natürlich etwas leistungsfähiger, so dass numfile und othersockbuf selbst in Spitzenzeiten in der grünen Zone bleiben. Dafür gerät mein Server jetzt regelmäßig in die gelbe/rote Zone für den Parameter kmemsize (Note to self: 64bit-Systeme brauchen reichlich kernel memory). So ist das Leben.