HowTo: FTP-Dienst mit MySQL-Datenbank

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

Wenn Sie diese Zeile im Detail verstehen möchten, lesen Sie Dieser Beitrag

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

Hier geben sie das Root-Passwort ein und greifen auf das MySQL-Terminal zu.

2. Sobald wir in MySQL sind, erstellen wir die Datenbank myftpdb:

CREATE DATABASE myftpdb;

Beachten Sie das Semikolon «;»Am Ende der Zeile.

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:

Laden Sie DB standardmäßig herunter

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!

Sie können auch einige Webanwendungen wie verwenden Administrator o phpMyAdmin Um die Datenbank zu importieren, überlasse ich es dem Geschmack.

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


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   LiGNUXero sagte

    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

    1.    KZKG ^ Gaara sagte

      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 😀

  2.   ordnungsgemäße sagte

    Sehr guter Beitrag!

    1.    KZKG ^ Gaara sagte

      Danke compa 😀
      Du tust was du kannst lol….

  3.   Computer Guardian sagte

    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

    1.    KZKG ^ Gaara sagte

      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 !!!

  4.   Computer Guardian sagte

    Joroña was für ein joroña…. Es wird komplizierter sein, als es scheint, eine Schwachstelle auszunutzen und diese Daten zu erfassen

  5.   Alge sagte

    Sehr interessant!! 🙂

    1.    KZKG ^ Gaara sagte

      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 😀

  6.   giskard sagte

    Wie schnell ist das im Vergleich zu Samba? (nur lokales Netzwerk)

    1.    LiGNUXero sagte

      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

      1.    KZKG ^ Gaara sagte

        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.

        1.    giskard sagte

          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.

          1.    KZKG ^ Gaara sagte

            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 😀

          2.    giskard sagte

            Der Wiimc (ein Wii Media Player) akzeptiert nur Samba- und FTP-Verbindungen.

  7.   Max Steel sagte

    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.

  8.   LiGNUXero sagte

    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

  9.   LiGNUXero sagte

    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

    1.    KZKG ^ Gaara sagte

      Danke für den Tipp 😀

  10.   Roberto sagte

    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.

    1.    KZKG ^ Gaara sagte

      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

  11.   Roberto sagte

    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.

    1.    KZKG ^ Gaara sagte

      Vielen Dank für den Kommentar 🙂

  12.   Roberto sagte

    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.

    1.    KZKG ^ Gaara sagte

      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 🙂

  13.   Birkhof sagte

    Roberto, wie haben Sie es geschafft, die Gebühren mit dieser Funktion festzulegen? Bitte teilen Sie die Informationen.
    Sehr guter Einstieg !!

    1.    Roberto Sotelo sagte

      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/

  14.   klaus sagte

    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