ProFTPd mit MySQL Anbindung

Interner Link zum Forum

Sie möchten einen FTP Server installieren und wollen die Administration der Benutzer relativ einfach gestalten. Zudem wollen Sie nicht, dass die Benutzer im BSD System eingetragen wird. Sie können den FTP Server nutzen, um Webseiten sehr einfach hochzuladen oder größere Datenmengen abzuspeichern. Bedenken sie bitte das, dass Protokoll FTP nicht gerade sicher ist.

Warum soll man überhaupt einen FTP Server mit einer SQL Datenbank koppeln?

-    Saubere Trennung zwischen FTP User und System User
-    Benutzer können bequem per Webinterface eingetragen werden
-    Verwendung anderer Passwörter für die FTP User, damit die System Passwörter nicht unverschlüsselt übertragen werden

Damit Sie bequem die User per Webinterface einbinden können, muss unbedingt der Apache Webserver, die MySQL Datenbank, das PHP5 Modul und Phpmyadmin installiert sein. Das Programm ProFTPd kommt bei mir als Serverversion zum Einsatz.

Achtung: Diese Anleitung beruht sich auf den Apache Webserver 2.2, dem PHP 5 Modul, dem MySQL-Server 5.0, Datenbank Verwaltung phpmyAdmin 2.11 und dem Proftpd-Server 1.3. Sollten Sie ein Programm davon nicht installiert haben, installieren Sie sich erst und passen eventuell die Pfade an.

Beginnen wir mit der Installation des FTP Servers.
Wechseln Sie dazu in das Verzeichnis: „/usr/port/ftp/proftpd“. In diesem Verzeichnis geben Sie „make config“ ein. Nun sollte sich ein Auswahl Menü öffnen. Falls in dem Feld „Use MySQL“ kein Kreuz enthalten ist, setzen Sie es nachträglich rein. Mit der Tabulator Taste kommen Sie auf das Feld „OK“, Mit Enter dann bestätigen. Jetzt geben Sie den Befehl „make install clean“ ein. Das Programm wird jetzt installiert was einige Minuten dauern kann.

Hier kann MySQL aktiviert werden

Nach erfolgreicher Installation des Proftpd Servers wechseln Sie in das Verzeichnis „/usr/local/etc/rc.d“ Geben Sie dort „./proftpd start“ ein. Wenn Sie eine Meldung bekommen die etwa so lautet: „ProFTPd started“ ist der ProFTP Deamon gestartet. Wenn alles geklappt hat können Sie sich probeweise mit einem FTP Programm einloggen. Ich empfehle dazu FlashFXP aus unserer Download Abteilung. Melden Sie sich am FTP mit ihrem Benutzer + Passwort oder Root + Root-Passwort an.

Achtung: Damit der FTP Server bei einem Neustart wieder mit startet, müssen Sie in der „rc.conf“ noch diesen Befehl einfügen: proftpd_enable="YES". Die rc.conf finden Sie unter /etc und editieren Sie mit ihrem Lieblings Editor.




Sollte dies auch funktionieren geht an ans Eingemachte. Wir müssen eine Datenbank und eine Tabelle anlegen, was über phpMyAdmin ganz einfach geht. Über phpMyAdmin legen wir später auch die FTP Benutzer an.  Also schon mal ans Umfeld gewöhnen.
Melden Sie sich an der phpMyAdmin Oberfläche an und zwar mit dem Passwort welches Sie für die MySQL Benutzer angelegt haben. Nun sehen Sie das „Hauptmenü“ – wenn man das so nennen darf.

Wir müssen jetzt eine Datenbank und einen Benutzer für diese Datenbank anlegen. Falls Sie damit noch nicht so vertraut sind, gehen Sie am besten so vor:

Klicken Sie auf den Link „Rechte

Das Hauptmenü

Jetzt sehen Sie schon welche Benutzer, auf welche Datenbank zugreifen dürfen. Wichtig ist das alle Benutzer ein Passwort haben. Falls Ihnen ein Benutzer auffällt ohne Passwort ändern Sie es am besten gleich. Wir wollen aber einen neuen Benutzer hinzufügen. Den Link finden Sie unter der
Benutzertabelle.

Hier kann ein neuer Benutzer hinzugefügt werden

Wie Sie auf dem Bild sehen ist der Host für meine Proftp-Datenbank der „Localhost“. Ist auf Ihrem BSD Server auch eine MySQL Daten installiert tragen sie auch Localhost ein.  Nun können Sie alles eingeben zum erstellen einer Datenbank und des Benutzers. Überlegen Sie sich einen Sinnvollen Benutzernamen, denn Ihre Datenbank heißt später genauso wie der Benutzer. Damit eine Datenbank direkt mit erstellt wird setzen die den Punkt auf „Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte“ Der Benutzer bekommt nur für die erstelle Datenbank alle Rechte. Somit braucht man die Globalen Rechte nicht mehr beachten. Wer allerdings eine Datenbank manuell hinzufügen möchte, muss dem Benutzer die entsprechenden Rechte zuweisen.

Hier werden die Benutzerrechte bearbeitet

Jetzt müssen wir eine Tabelle erstellen, in der wir später die FTP Benutzer eintragen werden. Dazu klicken wir auf der linken Seite auf unsere gerade frisch erstellte Datenbank, und wählen dann in der Registerkarte SQL aus.

phpMyAdmin Konsole

In dem Feld tragen sie folgendes ein:

CREATE TABLE users (
userid VARCHAR(30) NOT NULL ,
passwd VARCHAR(80) NOT NULL,
uid INTEGER UNIQUE,       
gid INTEGER,
homedir VARCHAR(255),
shell VARCHAR(255)
)   

Mit "OK" einfach bestätigen. Nun ist unsere Tabelle erstellt. Von der reinen SQL Seite war es das schon. Später kommen wir noch einmal darauf zurück wenn wir einen Benutzer erstellen wollen. Jetzt muss aber die proftpd.conf angepasst werden.




Wechseln Sie in das Verzeichnis: „/usr/local/etc“ und öffnen sie mit ihrem Lieblingseditor die Datei: „proftpd.conf“. Dort stellen sie alles ein was benötigt wird. Da meine proftpd.conf gut funktioniert können Sie sich erst einmal auf meine stützen und später ergänzen.

</span>Die ProFTPd.conf Datei bekommen Sie hier.<span style="color: #808080;">


Wenn Sie alles eingegeben haben, müssen Sie noch ihre Angaben anpassen. Das was angepasst werden muss ist farbig markiert. Nachdem alles fertig ist müssen Sie den Proftp Deamon neustarten. Dazu gehen Sie in das gleich Verzeichnis wie beim starten und geben einfach „./proftpd restart“ ein. Wenn keine Fehler kommen haben Sie es fast geschafft. Sie müssen nur noch die FTP Benutzer anlegen. Dazu gehen wir wieder in Unser phpMyAdmin Interface. Wählen unsere Datenbank und erstellte Tabelle aus. Nun klicken Sie auf das Symbol einfügen.

Hier das Symbol für Einfügen anklicken

Das man einen Usernamen und Passwort eingeben muss erklärt sich von selber. Wichtig ist nur das der User ein „Homedir“ Verzeichnis hat. Am sinnvollsten, auch wegen dem Speicherplatz, legt man es in „/home/ftp/“ an. Nicht vergessen dem Ordner alle Zugriffsrechte zu geben (chmod 777 ftp), sonst kann keiner dort etwas abspeichern. Dort wird der User dann eingesperrt und kann auf keine anderen Ordner Zugreifen außer auf die, die in /home angelegt sind. UID und GID kann man frei lassen, sowie den Shell. Sowas sollten nur geübte Administratoren benutzen.

Hier legen Sie den FTP-Benutzer an

Wenn alles eingegeben ist mit „OK“ bestätigen. Nun ist ihr erster FTP Benutzer angelegt und Sie können sich mit ihm anmelden. Falls es dennoch Probleme geben sollte können sie einfach in die Logdateien schauen.



****0
0: 1: 2: 3: 4: 5:


| del.icio.us | digg.com | reddit.com | ma.gnolia.com | newsvine.com | furl.net | google | yahoo | technorati.com | twitter.com |

Alles keine Zauberei, es kann so einfach sein !!