apache2

Da es nicht mehr all zu lange dauert bis Debian 8 erscheint, bzw. bis Jessie den Status stable erreicht, haben wir bereits jetzt einige(in progress...) Drupal-Installationen auf eine Debian-Jessie-KVM migriert.

Von Debian 7 zu 8 hat sich nicht nur das Major-Release-Nummer von Debian erhöht, sondern auch der Webserver Apache hat einen Sprung gemacht, von Apache Version 2.2 auf 2.4.

Das bringt einige Implikationen mit sich...

Damit der Webserver auch die Repositories in Gitweb anzeigen kann,
habe ich den Benutzer gitosis der Gruppe www-data hinzugefügt.

Als root:

usermod -g www-data gitosis

Auf birgit, die Datei /etc/apache2/sites-available/birgit.example.com mit dem folgendem Inhalt anlegen:

<VirtualHost *>
  ServerName birgit.example.com
  ServerAdmin webmaster@example.com
  DocumentRoot /srv/gitosis/repositories
  SetEnv GITWEB_CONFIG /etc/gitweb.conf
  Alias /gitweb.css /usr/share/gitweb/gitweb.css

Htaccess mit Authentifizierung an einer MySQL basierten Drupal-Installation.

Installation des benötigten Apache Moduls

aptitude install libapache2-mod-auth-mysql

Aktivierung des authmysql-Moduls

a2enmod auth_mysql

Htaccess mit Authentifizierung an einer MySQL basierten Drupal-Installation.

Installation des benötigten Apache Moduls

aptitude install libapache2-mod-auth-mysql

Aktivierung des authmysql-Moduls

a2enmod auth_mysql

Dieses Snippet in die jeweilige Apache-VirtualHost-Datei einfügen

Security by obscurity

Mein erster Gedanke war, die CHANGLOG.txt mit in Direktive für die Absicherung von Drupals cron.php zu nehmen um diese Datei ebenso vor fremden Blicken zu schützen...

Abschließende Konfiguration

Einrichtung der Virtual-Hosts und Absichern der Installation.

Um die Apache-Direktiven und den Virtual-Host anzulegen benötigen wir wieder erhöhte Privilegien.

sudo su oder su

Um Drupals cron.php vor unberechtigtem Zugriff zu schützen, tragen wir in /etc/apache2/conf.d/drupal.conf noch die folgende Passage ein:

<Files cron.php>
Order deny,allow
Deny from all
Allow from 10.10.10.0/24
Allow from 127.0.0.1
Allow from 1.2.3.4
</Files>

Damit die von Drupal benutzte .htaccess funktioniert legen wir die Datei /etc/apache2/conf.d/drupal.conf mit folgendem Inhalt an:

<Directory /home/foobar/drupal/>
Options +FollowSymLinks Indexes
AllowOverride All
order allow,deny
allow from all
</Directory>

Anlegen der Datei /etc/apache2/sites-available/example.com.localhost.conf,
auch hier ist foobar wieder durch den eigenen Benutzernamen zu ersetzten, DocumentRoot zeigt auf den symbolischen Link, welcher wiederum auf die Wurzel der Drupal-Installation zeigt.

<VirtualHost *>
ServerName example.com.localhost
ServerAlias www.example.com.localhost