Daten|teiler
Kopieren als Kulturtechnik

Debian muss mit — GNU/Linux in der VirtualBox 3

24. Oktober 2012 von Christian Imhorst

Warum zum Henker FTP? Im ersten Teil von Debian muss mit habe ich meinen Windows-Wirten doch schon über SSH mit dem Debian-Gast verbunden. Dadurch kann man mit PuTTY eine Konsole auf dem Server öffnen oder mit WinSCP eine SFTP-Verbindung herstellen. Schließlich wurde das SSH File Transfer Protocol oder Secure File Transfer Protocol (SFTP) als Alternative zum File Transfer Protocol (FTP) entworfen, die Verschlüsselung ermöglicht.

Für das Einloggen per WinSCP benötigt man die IP-Adresse, bzw. den Rechnernamen, den ich im zweiten Teil vergeben habe, den Benutzernamen und das Kennwort. Dieselben Infos, die man auch bei der Einwahl per FTP benötigt.

Daher kann man diesen Punkt überspringen, wenn man FTP nicht unbedingt braucht. Außer, man möchte es zum Testen gerne am Bord haben, so wie ich. Für und gegen FTP gibt es eine ganze Reihe Argumente, doch das stärkste Argument dafür, warum es meiner Meinung nach auf einen Testserver gehört, ist sein Alter. FTP ist so alt, dass es von so ziemlich jedem Betriebssystem unterstützt wird. Debian funktioniert dabei ganz gut als FTP-Server, und man muss dabei nichtmal auf einen bestimmten Grad an Sicherheit verzichten, zum Beispiel mit vsftpd, dem Very Secure FTP Daemon.

Das schöne an vsftpd ist nicht nur, dass er ziemlich sicher ist, sondern auch leicht zu installieren und zu konfigurieren. Der Schutz vor unbefugter Nutzung steht im Mittelpunkt der Entwicklung, weshalb man sich schon sehr bemühen muss, die Konfigurationsdatei so zu verunstalten, dass durch die Einstellungen ein Sicherheitsleck entsteht. Die Installation erfolgt mit folgendem Befehl als Root:

apt-get install vsftpd

Bei der Installation kann man den Vorschlägen folgen, um den FTP-Server auf die virtuelle Platte zu bekommen. In der Standardeinstellung erlaubt vsftpd die anonyme Einwahl, allerdings hat man als Anonymous nur Leserechte, so dass man keine Dateien hochladen kann. Das ist aber langweilig, weshalb ich begrenzte Lese- und Schreibrechte an einen User vergeben habe. Dazu habe ich die Konfigurationsdatei bearbeitet.

nano /etc/vsftpd.conf

Da mein lokaler Benutzer “christian” diese Rechte haben soll, habe ich das Kommentarzeichen (#) vor der folgenden Zeile entfernt:

local_enable=YES

Jetzt lande ich allerdings beim Einloggen über FTP im Home-Verzeichnis meines Benutzers. Da der Apache-Webserver aber standardmäßig im Verzeichnis /var/www/ nach den auszuliefernden (HTML-)-Dateien sucht, will ich die Dateien direkt dorthin hochladen. Dafür füge ich die Option local_root in die Konfigurationsdatei ein:

local_root=/var/www

Damit der lokale Benutzer Schreibzugriff hat, muss auch das Kommentarzeichen vor dieser Zeile entfernt werden:

write_enable=YES

Den anonymen Zugriff über FTP verhindert man übrigens mit dieser Zeile:

anonymous_enable=NO

Alles zusammen sieht ein Ausschnitt der geänderten Konfigurationsdatei so aus:

Anschließend muss man den Server neu starten:

service vsftpd restart

Da der User “christian” kein Admin ist, benötigt er Schreibzugriff auf das Verzeichnis /var/www. Dafür legt man eine Gruppe an, in diesem Beispiel die Gruppe “www”, wobei der Name frei vergeben werden kann. Der Gruppe gibt man dann Schreibrechte auf /var/www.

groupadd www
adduser christian www
chgrp www /var/www
chmod g+w /var/www

Anschließend kann man die Einwahl mit einem FTP-Programm wie FileZilla testen.

Jetzt ist alles bereit, um mit dem ganz großen Spaß zu beginnen. PHP ist schon installiert, es fehlt noch MySQL und man kann verschiedenste Weblog-Systeme installieren und testen oder designen. Das bietet einem aber auch schon so ziemlich jeder günstige Webspace-Anbieter. Andererseits hat der normalerweise kein “mod_wsgi”, das ist ein Modul für den Apache-HTTP-Server, welches die Ausführung von Python-Programmen durch den Webserver ermöglicht, die wesentlich schneller als CGI-Skripte sind. Aber das schaue ich mir wann anders an.

Geschrieben in Gnu/Linux, Windows


(Kommentarfunktion ist geschlossen).