Trotz einiger Unsicherheiten, die MySQL umgeben könnten, ziehe ich es persönlich immer noch vor, mit dieser Datenbank zu arbeiten, anstatt eine andere zu verwenden. Ich habe nichts gegen Postgre, ich habe MySQL einfach ein Leben lang verwendet, und bis jetzt hatte ich keinen Grund, seine Verwendung zu überdenken.
Dieses Mal werde ich Ihnen zeigen, wie Sie einen FTP-Server installieren, aber nicht nur das. Ich werde Ihnen auf nicht so komplexe Weise beibringen, wie Benutzer, Kennwörter und andere Benutzerdaten in einer MySQL-Datenbank und nicht in Konten gespeichert werden lokal.
Warum so?
Einfach, denn wenn Sie ein Backup erstellen, einen Server neu installieren oder eine andere wichtige Änderung vornehmen, ist das Verschieben des Dienstes so einfach wie das Kopieren einer Konfigurationsdatei und das Exportieren der MySQL-Datenbank nach FTP.
Um dies zu erreichen, werden wir verwenden Rein-FTPd, na ja ... lass uns anfangen 🙂
Installieren des FTP-Dienstes mit Pure-FTPd
1. Als erstes müssen Sie das Paket installieren: pure-ftpd-mysql
In Distributionen wie Debian oder Derivate: aptitude installiere pure-ftpd-mysql
2. Nach der Installation haben wir den Dienst gestartet, aber wir müssen ihn stoppen. Um ihn auf Systemen wie Debian oder Derivaten zu stoppen, reicht es aus, um:
/etc/init.d/pure-ftpd-mysql stop
Ich hinterlasse Ihnen jedoch eine Leitung, die den Dienst unabhängig von der von Ihnen verwendeten Distribution beendet:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Bedingungen auf dem MySQL-Server vorbereiten
Ich habe bereits vor kurzem erklärt, wie man eine Datenbank und einen Benutzer erstellt und diesem Benutzer Berechtigungen in der Datenbank erteilt: Benutzer und Berechtigungen in MySQL
Fahren wir fort mit dem, was wir hier tun werden. ...
1. Wir werden ja eine Datenbank erstellen, aber zuerst greifen wir auf MySQL zu:
mysql -u root -p
2. Sobald wir in MySQL sind, erstellen wir die Datenbank myftpdb:
CREATE DATABASE myftpdb;
3. Jetzt erstellen wir den Benutzer myftpuser und wir erteilen Berechtigungen zur Verwendung des Benutzers in der Datenbank, die wir gerade erstellt haben. Dieser Benutzer hat ein Kennwort myftppasswort:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Fertig, wir haben die Datenbank und den Benutzer erstellt und die Berechtigungen festgelegt. Jetzt müssen wir die Standarddatenbank (oder die saubere Datenbank) importieren, damit dies vollständig ist. Beenden Sie dazu zunächst MySQL:
exit;
Laden wir jetzt die Standarddatenbank herunter, die ich Ihnen anbiete:
Oder verwenden Sie auf dem Server die folgende Zeile:
wget http://ftp.desdelinux.net/myftpdb.sql
Fertig, wir haben es bereits auf unserem Server, jetzt müssen nur noch Ihre Daten importiert werden:
mysql -u root -p myftpdb < myftpdb.sql
Und fertig!
5. Und das alles, um die Bedingungen unseres MySQL bereit zu halten.
Verknüpfung von FTP mit MySQL
Nun, wir haben bereits den FTP-Dienst installiert, den MySQL-Dienst installiert und mit unserem Datenbank-Set ... jetzt brauchen wir nur noch, Treten Sie dem FTP-Dienst mit MySQL bei.
1. Zuerst müssen wir die Konfigurationsdatei herunterladen, die wir für die oben genannten verwenden werden. Geben Sie im Serverterminal die folgende Zeile ein:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Jetzt starten wir den FTP-Dienst, der ihn zur Authentifizierung von MySQL-Benutzern auffordert, und geben außerdem an, welche Konfigurationsdatei für die Verbindung mit MySQL verwendet werden soll:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Und voila 😀
Dies reicht aus, um unseren eigenen FTP-Server zu installieren, der sich bei einer MySQL-Datenbank authentifiziert.
Wenn Sie möchten, dass der Server bei jedem automatischen Start den FTP-Dienst startet, müssen Sie ihn in die Datei einfügen /etc/rc.local Die Zeile, die wir zum Ausführen des FTP verwenden, dh die wir eingeben /etc/rc.local diese:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Übrigens können Sie mit jedem Browser auf FTP zugreifen sowie mit FTP-Clients wie Filezilla ... und nicht nur das. Mit Dateibrowsern wie Nautilus, Dolphin oder PCManFM können Sie auch Dateien herunterladen und hochladen 😀
Testen Sie den Benutzer, der sich in der Datenbank befindet
Benutzername: testuser
Passwort: Testpasswort
Wie verwalte ich FTP-Benutzer?
Nun, wenn man bedenkt, dass es sich um eine MySQL-Datenbank handelt, wie ich oben sagte ... die Verwendung von PHPMyAdmin oder Adminer wird ausreichen. Verwenden Sie einfach Ihre Lieblingsanwendung, um die Datenbank zu verwalten, die eine einzelne Tabelle enthält: Nutzer ... und darin sind die Benutzer, hier ist ein Screenshot:
Wenn Sie einen neuen Benutzer erstellen möchten, können Sie die vorhandene Zeile duplizieren oder klonen und die Daten ändern, die zwischen beiden Benutzern unterschiedlich wären. Hier zeige ich Ihnen einen Screenshot:
Naja ... nichts mehr hinzuzufügen 🙂
Ich hoffe, das ist nützlich für Sie und Sie wissen, alle Fragen oder Vorschläge lassen mich wissen.
Grüße
PD: In diesem Tutorial verwenden wir in der Datenbank gespeicherte Passwörter im Klartext. Wenn Sie mehr Sicherheit wünschen, empfehlen wir Ihnen, md5 try zu versuchen
SEHR GUT!!! Vor ein paar Wochen habe ich das installiert, aber mit vsftpd, und ich bin nicht überzeugt, also werde ich es versuchen, um zu sehen, wie es ist. Dankeschön
Danke Freund.
vsftpd Ich erinnere mich nicht, wann ich es das letzte Mal benutzt habe ... es wird jetzt ein paar Jahre dauern, ... wenn ich es jemals benutzt habe HAHA. Im Moment bin ich mit PureFTPd mehr als glücklich 😀
Sehr guter Beitrag!
Danke compa 😀
Du tust was du kannst lol….
Uuumm, interessant ... gib mir die IP der DB, dass ich diese Sammlung von Benutzern und Passwörtern zur Hand haben möchte 😉
Sei nicht böse, Mann
Ich habe es nicht verstanden, hehehe ... über welche IP und DB sprichst du?
Wenn Sie meinen, dass sich diese Daten, die ich in das Tutorial eingefügt habe, auch auf einem Server befinden könnten, ja, da haben Sie Recht ... Sie befinden sich in einem FTP-Dienst auf einem virtuellen PC auf meinem Laptop. Es verfügt über eine SEHR gute Firewall (iptables). also… HAHAHAHAHA natürlich nicht böse sein LOL !!!
Joroña was für ein joroña…. Es wird komplizierter sein, als es scheint, eine Schwachstelle auszunutzen und diese Daten zu erfassen
Sehr interessant!! 🙂
dank
Dies ist, was ich versuche, uns von den anderen Seiten zu unterscheiden ... dass wir versuchen, nicht so viele Neuigkeiten, sondern als technische Artikel zu veröffentlichen 😀
Wie schnell ist das im Vergleich zu Samba? (nur lokales Netzwerk)
dass samba und ftp zwei verschiedene dinge sind, ftp ist ein seriöses protokoll und smb, nur um das teilen zwischen win und linux zu erleichtern.
Wenn Sie nach Leistung im Netzwerk suchen, verwenden Sie einen FTP-Dienst, andernfalls verwenden Sie Samba nur ohne Probleme
Genau.
Nehmen wir an, FTP ist etwas ernster als Samba, zumindest meiner Meinung nach.
Ich habe überhaupt keine Benchmarks durchgeführt, aber vielleicht ist FTP etwas schneller.
Dankeschön. Ich verwende Samba, damit ich über meine Wii-Konsole (mit Wiimc) Filme und Serien ansehen kann, die ich auf meinen Computer heruntergeladen habe. Wiimc kann aber auch eine Verbindung zu einem FTP-Server herstellen. Ich habe Samba verwendet, weil es am einfachsten war, aber ich war immer fasziniert, ob es mit FTP schneller gehen würde. Ich werde es versuchen müssen.
Nun, Sie könnten Apache auch einfach auf Ihrem PC mounten, und damit die Wii eine Verbindung herstellen kann, muss sie schneller als Samba sein ... und viel einfacher zu konfigurieren als FTP 😀
Der Wiimc (ein Wii Media Player) akzeptiert nur Samba- und FTP-Verbindungen.
Ausgezeichnet. Sie brauchen nur etwas für diese Art von Artikeln (und die Website im Allgemeinen), um alles perfekt zu machen. eine CSS-Vorlage, um die Artikel als PDF oder auf Papier drucken zu können.
Ich weiß nicht, ob es mein eigenes sein wird, aber das große Problem dabei ist, dass Benutzer alle Verzeichnisse durchsuchen können, obwohl ich ihnen ein bestimmtes Verzeichnis wie "/ var / www / user_site" gebe, wenn sie über FTP eine Verbindung herstellen habe Zugriff auf irgendwo von meinem PC ¬¬
das ist nicht sehr sicher haha
HIER IST ES!!!
Um zu verhindern, dass die von uns erstellten Benutzer durch unser gesamtes System navigieren können, müssen wir beim Starten des reinen ...
Was wir also zu /etc/rc.local hinzufügen, das Sie in das Tutorial aufgenommen haben, ist Folgendes
pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
und Sie müssen es durch dieses andere ersetzen:
pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Wird es geschätzt? ... Diese neue Zeile hat den Parameter -A, um das Verzeichnis einzuschränken, dem wir es zuweisen, und nichts anderes, das sie erstellen kann, aber nicht aufsteigen kann.
D: dieses süße pure-fptd
Danke für den Tipp 😀
Hallo, es ist möglich, Kontingente in dieser MySQL- und FTP-Implementierung zu implementieren. Ich habe derzeit einen FTP-Server mit vsftpd und ich habe kein Problem mit den Kontingenten. Aber als virtueller Benutzer (in MySQL erstellt) sind die Kontingente gültig? und die zweite ist, wo die von Benutzern hochgeladenen Dateien gespeichert werden, dh die Verzeichnisse jedes Benutzers.
Theoretisch können Sie Kontingente implementieren, tatsächlich werden in der Datenbank die Felder dafür erstellt, und in der Konfigurationsdatei des FTP-Dienstes sind die Abfragen dafür festgelegt, was ich tatsächlich nicht getestet habe 😉
Wie die Benutzer die Dateien ablegen würden, definieren Sie im 5. Feld, siehe Screenshot: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Vielen Dank für Ihren Kommentar. Ich werde dieses System auf einem Testserver testen und die Ergebnisse kommentieren. Ich hoffe, ich kann es, weil es eine großartige Methode ist, alles in Ordnung zu bringen, und mit einem RAID haben Sie ein stabiles Backup System: D.
Vielen Dank für den Kommentar 🙂
Ich habe eine Frage, ich habe es bereits geschafft, pure-ftp mit MySQL und Kontingenten zu installieren. Das Problem ist nun, wie ich ein Konto von der MySQL-Tabelle selbst sperren kann, ohne das Benutzerkennwort oder die hochgeladenen Dateien zu ändern.
Ich kann mir zwei Möglichkeiten vorstellen: Die einfachste besteht darin, den Wert von zu ändern Status von 1 bis 0, theoretisch, wenn es bei 0 ist, ist das Konto deaktiviert, versuchen Sie dies und sagen Sie mir 🙂
Roberto, wie haben Sie es geschafft, die Gebühren mit dieser Funktion festzulegen? Bitte teilen Sie die Informationen.
Sehr guter Einstieg !!
Birkhoff, gerade in meinem persönlichen Blog habe ich ein Thema dazu erstellt. Ich lasse den Link für Sie zur Überprüfung:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
Grüße:
Ich versuche alles zu befolgen, aber ich erhalte den Fehler 501 und vor allem, um darauf hinzuweisen, dass das Passwort falsch ist, wenn ich weiß, dass es in Ordnung ist