Server Setup · 5 min read · Nov 27, 2025
Virtuelles Hosting Mit PureFTPd Und MySQL (Incl. Quota Und Bandbreitenmanagement) Auf CentOS 6.5
Virtuelles Hosting Mit PureFTPd Und MySQL (Incl. Quota Und Bandbreitenmanagement) Auf CentOS 6.5
Version 1.0
Autor: Falko Timme, aktualisiert von Srijan Kishore
Folgen Sie howtoforge auf Twitter
Dieses Dokument beschreibt, wie man einen PureFTPd-Server installiert, der virtuelle Benutzer aus einer MySQL-Datenbank anstelle von echten Systembenutzern verwendet. Dies ist viel leistungsfähiger und ermöglicht es, Tausende von FTP-Benutzern auf einer einzigen Maschine zu haben. Darüber hinaus werde ich die Verwendung von Quoten und Upload-/Download-Bandbreitenlimits mit diesem Setup zeigen. Passwörter werden verschlüsselt als MD5-Strings in der Datenbank gespeichert.
Für die Verwaltung der MySQL-Datenbank können Sie webbasierte Tools wie phpMyAdmin verwenden, die ebenfalls in diesem Howto installiert werden. phpMyAdmin ist eine komfortable grafische Benutzeroberfläche, was bedeutet, dass Sie sich nicht mit der Befehlszeile herumschlagen müssen.
Dieses Tutorial basiert auf CentOS 6.5. Sie sollten bereits ein grundlegendes CentOS 6.5-System eingerichtet haben, zum Beispiel wie in den ersten sechs Kapiteln dieses Tutorials beschrieben: Der Perfekte Server - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)
Dieses Howto ist als praktische Anleitung gedacht; es behandelt nicht die theoretischen Hintergründe. Diese werden in vielen anderen Dokumenten im Web behandelt.
Dieses Dokument kommt ohne jegliche Gewährleistung! Ich möchte sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. Ich gebe keine Garantie, dass dies für Sie funktionieren wird!
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls ersetzen.
2 MySQL Und phpMyAdmin Installieren
Zuerst aktivieren wir das EPEL-Repository auf unserem CentOS-System, da einige Pakete, die wir im Verlauf dieses Tutorials installieren werden, nicht in den offiziellen CentOS 6.5-Repositories verfügbar sind:
cd /tmp
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpmyum install yum-prioritiesBearbeiten Sie /etc/yum.repos.d/epel.repo…
vi /etc/yum.repos.d/epel.repo… und fügen Sie die Zeile priority=10 zum [epel]-Abschnitt hinzu:
| [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
Jetzt können wir MySQL und phpMyAdmin wie folgt installieren:
yum install mysql mysql-server phpMyAdmin httpdJetzt konfigurieren wir phpMyAdmin. Wir ändern die Apache-Konfiguration, damit phpMyAdmin Verbindungen nicht nur von localhost erlaubt (indem wir alles im
so dass die Datei so aussieht:
vi /etc/httpd/conf.d/phpMyAdmin.conf| # phpMyAdmin - Web basierter MySQL-Browser, geschrieben in php # # Erlaubt standardmäßig nur localhost # # Aber phpMyAdmin für jeden anderen als localhost zu erlauben, sollte als # gefährlich angesehen werden, es sei denn, es ist ordnungsgemäß durch SSL gesichert Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin |
Dann erstellen wir die Systemstartlinks für MySQL und Apache (damit beide automatisch starten, wenn das System bootet) und starten beide Dienste:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld startchkconfig --levels 235 httpd on
/etc/init.d/httpd startErstellen Sie ein Passwort für den MySQL-Benutzer root (ersetzen Sie yourrootsqlpassword durch das Passwort, das Sie verwenden möchten):
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
HINWEIS: ALLE TEILE DIESER SCRIPT AUSFÜHREN WIRD FÜR ALLE MySQL
SERVER IM PRODUKTIONSEINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN
SCHRITT SORGFÄLTIG!
Um sich in MySQL einzuloggen, um es zu sichern, benötigen wir
das aktuelle Passwort für den root-Benutzer. Wenn Sie
MySQL gerade installiert haben und das root-Passwort noch nicht
festgelegt haben, ist das Passwort leer,
also sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines): <– EINGABETASTE
OK, Passwort erfolgreich verwendet, weiter…
Das Festlegen des root-Passworts stellt sicher, dass
niemand sich ohne die richtige Autorisierung in den MySQL
root-Benutzer einloggen kann.
Root-Passwort festlegen? [Y/n] <– EINGABETASTE
Neues Passwort: <– yourrootsqlpassword
Neues Passwort erneut eingeben: <– yourrootsqlpassword
Passwort erfolgreich aktualisiert!
Aktualisieren der Berechtigungstabellen..
… Erfolg!
Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer,
die es jedem erlaubt, sich in MySQL einzuloggen, ohne
ein Benutzerkonto erstellt zu haben. Dies
ist nur für Tests gedacht und soll die Installation
etwas reibungsloser gestalten. Sie sollten sie
entfernen, bevor Sie in eine Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] <– EINGABETASTE
… Erfolg!
Normalerweise sollte root nur von ‘localhost’
verbunden werden dürfen. Dies
sichert, dass jemand das root-Passwort nicht
über das Netzwerk erraten kann.
Root-Login aus der Ferne verbieten? [Y/n] <– EINGABETASTE
… Erfolg!
Standardmäßig kommt MySQL mit einer Datenbank namens
‘test’, auf die jeder zugreifen kann.
Dies ist ebenfalls nur für Tests gedacht und
sollte entfernt werden, bevor Sie in eine
Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? [Y/n] <– EINGABETASTE
- Testdatenbank wird gelöscht…
… Erfolg! - Berechtigungen für die Testdatenbank werden entfernt…
… Erfolg!
Das Aktualisieren der Berechtigungstabellen stellt sicher,
dass alle bisher vorgenommenen Änderungen
sofort wirksam werden.
Berechtigungstabellen jetzt aktualisieren? [Y/n] <– EINGABETASTE
… Erfolg!
Aufräumen…
Alles erledigt! Wenn Sie alle oben genannten Schritte
abgeschlossen haben, sollte Ihre MySQL-Installation
jetzt sicher sein.
Danke, dass Sie MySQL verwenden!
[root@server1 ~]#
3 Installieren Sie PureFTPd Mit MySQL-Unterstützung
Das CentOS PureFTPd-Paket unterstützt verschiedene Backends,
wie MySQL, PostgreSQL, LDAP usw. Daher müssen wir nur
das normale PureFTPd-Paket installieren:
yum install pure-ftpdDann erstellen wir eine FTP-Gruppe (ftpgroup) und einen Benutzer (ftpuser),
auf die alle unsere virtuellen Benutzer abgebildet werden. Ersetzen Sie die Gruppen-
und Benutzer-ID 2001 durch eine Nummer, die auf Ihrem System frei ist:
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuserErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.