Παρά την αβεβαιότητα που μπορεί να περιβάλλει τη MySQL, προσωπικά προτιμώ ακόμα να δουλεύω με αυτό το DB από τη χρήση κάποιου άλλου. Δεν έχω τίποτα εναντίον της Postgre, απλά χρησιμοποίησα τη MySQL για μια ζωή και μέχρι τώρα δεν είχα κανένα λόγο να επανεξετάσω τη χρήση του.
Αυτή τη φορά θα σας διδάξω πώς να εγκαταστήσετε έναν διακομιστή FTP, αλλά όχι μόνο αυτό, θα σας διδάξω με έναν όχι τόσο περίπλοκο τρόπο, πώς να κάνετε χρήστες, κωδικούς πρόσβασης και άλλα δεδομένα χρήστη να αποθηκεύονται σε μια βάση δεδομένων MySQL και όχι σε λογαριασμούς τοπικός.
Γιατί αρέσει αυτό;
Απλό, επειδή κατά την δημιουργία αντιγράφων ασφαλείας, την επανεγκατάσταση ενός διακομιστή ή οποιασδήποτε άλλης σημαντικής αλλαγής, η μετακίνηση της υπηρεσίας θα ήταν τόσο απλή όσο η αντιγραφή ενός αρχείου διαμόρφωσης και η εξαγωγή της βάσης δεδομένων MySQL στο FTP.
Για να το επιτύχουμε αυτό θα χρησιμοποιήσουμε Pure-FTPdκαλά ... ας ξεκινήσουμε 🙂
Εγκατάσταση της υπηρεσίας FTP με Pure-FTPd
1. Το πρώτο πράγμα που πρέπει να κάνετε είναι να εγκαταστήσετε το πακέτο: pure-ftpd-mysql
Σε διανομές όπως Debian ή παράγωγα: εγκατάσταση aptitude pure-ftpd-mysql
2. Μόλις εγκαταστήσαμε, ξεκινήσαμε την υπηρεσία, αλλά πρέπει να την σταματήσουμε, για να την σταματήσουμε σε συστήματα όπως το Debian ή παράγωγα, αρκεί:
/etc/init.d/pure-ftpd-mysql stop
Ωστόσο, σας αφήνω μια γραμμή που θα σταματήσει την υπηρεσία ανεξάρτητα από τη διανομή που χρησιμοποιείτε:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Προετοιμασία συνθηκών στο διακομιστή MySQL
Έχω ήδη εξηγήσει εδώ και πολύ καιρό πώς να δημιουργήσω μια βάση δεδομένων, έναν χρήστη και να παραχωρήσω σε αυτά τα δικαιώματα χρήστη στη βάση δεδομένων: Χρήστες και δικαιώματα στο MySQL
Ας προχωρήσουμε σε αυτό που θα κάνουμε εδώ; ...
1. Θα δημιουργήσουμε μια βάση δεδομένων ναι, αλλά πρώτα θα έχουμε πρόσβαση στη MySQL:
mysql -u root -p
2. Μόλις μπείτε στη MySQL συνεχίζουμε να δημιουργούμε τη βάση δεδομένων myftpdb:
CREATE DATABASE myftpdb;
3. Τώρα θα δημιουργήσουμε τον χρήστη myftpuser και θα δώσουμε δικαιώματα χρήσης του χρήστη στη βάση δεδομένων που μόλις δημιουργήσαμε, αυτός ο χρήστης θα έχει ως κωδικό πρόσβασης myftppassword:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Έτοιμοι, έχουμε δημιουργήσει τη βάση δεδομένων, τον χρήστη και θέσαμε τα δικαιώματα. Τώρα πρέπει να εισαγάγουμε την προεπιλεγμένη (ή καθαρή) βάση δεδομένων για να είναι πλήρης. Για να το κάνουμε αυτό, ας βγούμε πρώτα τη MySQL:
exit;
Τώρα ας κατεβάσουμε την προεπιλεγμένη βάση δεδομένων που σας προσφέρω:
Ή στο διακομιστή χρησιμοποιήστε την ακόλουθη γραμμή:
wget http://ftp.desdelinux.net/myftpdb.sql
Έτοιμοι, το έχουμε ήδη στον διακομιστή μας, τώρα απομένει μόνο η εισαγωγή των δεδομένων σας:
mysql -u root -p myftpdb < myftpdb.sql
Και έτοιμος!
5. Και όλα αυτά είναι έτοιμα οι συνθήκες της MySQL μας.
Συμμετοχή στο FTP με MySQL
Λοιπόν, έχουμε ήδη εγκαταστήσει την υπηρεσία FTP, την υπηρεσία MySQL εγκατεστημένη και με το σύνολο βάσης δεδομένων μας ... τώρα χρειαζόμαστε, εγγραφείτε στην υπηρεσία FTP με MySQL.
1. Πρώτα πρέπει να κατεβάσουμε το αρχείο διαμόρφωσης που θα χρησιμοποιήσουμε για τα προαναφερθέντα. Στο τερματικό διακομιστή βάζουμε την ακόλουθη γραμμή:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Τώρα ξεκινάμε την υπηρεσία FTP που της λέει να χρησιμοποιεί για έλεγχο ταυτότητας χρηστών MySQL και θα υποδείξουμε επίσης ποιο αρχείο διαμόρφωσης θα χρησιμοποιηθεί για σύνδεση στο MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Και voila 😀
Αυτό αρκεί για να εγκαταστήσουμε τον δικό μας διακομιστή FTP με έλεγχο ταυτότητας με βάση δεδομένων MySQL.
Αν θέλετε όποτε ο διακομιστής ξεκινά αυτόματα ξεκινά την υπηρεσία FTP, πρέπει να το βάλετε στο αρχείο /etc/rc.local τη γραμμή που χρησιμοποιούμε για την εκτέλεση του FTP, δηλαδή, βάζουμε /etc/rc.local Αυτό:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Παρεμπιπτόντως, μπορείτε να έχετε πρόσβαση στο FTP χρησιμοποιώντας οποιοδήποτε πρόγραμμα περιήγησης, καθώς και πελάτες FTP όπως το Filezilla ... και όχι μόνο αυτό, χρησιμοποιώντας προγράμματα περιήγησης αρχείων όπως το Nautilus, το Dolphin ή το PCManFM, μπορείτε επίσης να κατεβάσετε και να ανεβάσετε αρχεία 😀
Δοκιμάστε τον χρήστη που βρίσκεται στη βάση δεδομένων
Όνομα Χρήστη: testuser
Σύνθημα: κωδικός πρόσβασης δοκιμής
Πώς να διαχειριστείτε τους χρήστες FTP;
Λοιπόν, δεδομένου ότι είναι μια βάση δεδομένων MySQL, όπως είπα παραπάνω ... αρκεί η χρήση του PHPMyAdmin ή του Διαχειριστή. Απλώς χρησιμοποιήστε την αγαπημένη σας εφαρμογή για να διαχειριστείτε τη βάση δεδομένων, η οποία περιέχει έναν μόνο πίνακα: Χρήστες … Και σε αυτό είναι οι χρήστες, εδώ είναι ένα στιγμιότυπο οθόνης:
Εάν θέλετε να δημιουργήσετε έναν νέο χρήστη, μπορείτε να αντιγράψετε ή να κλωνοποιήσετε την υπάρχουσα γραμμή και να αλλάξετε τα δεδομένα που θα ήταν διαφορετικά μεταξύ των δύο χρηστών, εδώ σας δείχνω ένα στιγμιότυπο οθόνης:
Λοιπόν ... τίποτα περισσότερο για να προσθέσετε 🙂
Ελπίζω ότι αυτό είναι χρήσιμο για εσάς και γνωρίζετε, τυχόν ερωτήσεις ή προτάσεις με ενημερώστε.
αφορά
PD: Σε αυτό το σεμινάριο χρησιμοποιούμε κωδικούς πρόσβασης που είναι αποθηκευμένοι στη βάση δεδομένων σε απλό κείμενο, εάν θέλετε περισσότερη ασφάλεια, σας προτείνω να δοκιμάσετε md5 😉
ΠΟΛΥ ΚΑΛΑ!!! Πριν από μερικές εβδομάδες το έκανα αυτό, αλλά με το vsftpd και δεν είμαι πεπεισμένος, γι 'αυτό θα το δοκιμάσω για να δω πώς είναι. Ευχαριστώ
Σας ευχαριστούμε φίλος.
vsftpd Δεν θυμάμαι πότε ήταν η τελευταία φορά που το χρησιμοποίησα ... θα είναι μερικά χρόνια τώρα, ... αν το χρησιμοποιούσα ποτέ HAHA. Προς το παρόν με το PureFTPd είμαι πολύ χαρούμενος 😀
Πολύ καλό συμβολή!
Ευχαριστώ compa 😀
Κάνετε ό, τι μπορείτε lol ....
Ωχ, ενδιαφέρον ... δώσε μου την IP του DB που θέλω να έχω αυτήν τη συλλογή χρηστών και κωδικών πρόσβασης 😉
Μην είσαι κακός, φίλε
Δεν κατάλαβα hehehe… για τι IP και DB μιλάτε;
Αν εννοείτε ότι αυτά τα δεδομένα που έβαλα στο σεμινάριο θα μπορούσαν επίσης να βρίσκονται σε διακομιστή, ναι, έχετε δίκιο ... βρίσκονται σε υπηρεσία FTP σε εικονικό υπολογιστή στο φορητό υπολογιστή μου, έχει ΠΟΛΥ καλό τείχος προστασίας (iptables) λοιπόν ... HAHAHAHAHA φυσικά μην είσαι κακός LOL !!!
Joroña τι joroña…. Θα είναι πιο περίπλοκο από ό, τι φαίνεται να εκμεταλλεύεται κάποια ευπάθεια και να συλλαμβάνει αυτά τα δεδομένα 😉
Πολύ ενδιαφέρον!! 🙂
Σας ευχαριστώ
Αυτό προσπαθώ να μας διαφοροποιήσει από τους υπόλοιπους ιστότοπους ... που προσπαθούμε να μην βάλουμε τόσα νέα αλλά ως τεχνικά άρθρα 😀
Πόσο γρήγορα συγκρίνεται αυτό με το Samba; (μόνο τοπικό δίκτυο)
ότι το samba και το ftp είναι 2 διαφορετικά πράγματα, το ftp είναι ένα σοβαρό πρωτόκολλο και smb μόνο για να διευκολύνει την κοινή χρήση μεταξύ win και linux.
Αν ψάχνετε για απόδοση στο δίκτυο, χρησιμοποιήστε μια υπηρεσία FTP, διαφορετικά χρησιμοποιήστε το samba χωρίς προβλήματα
Ακριβής.
Ας πούμε ότι το FTP είναι λίγο πιο σοβαρό από το Samba, τουλάχιστον κατά τη γνώμη μου.
Δεν έχω κάνει καθόλου σημεία αναφοράς, αλλά ίσως το FTP είναι λίγο πιο γρήγορο.
Ευχαριστώ. Χρησιμοποιώ το Samba έτσι ώστε από την κονσόλα Wii (χρησιμοποιώντας το wiimc) να βλέπω ταινίες και σειρές που κατεβάζω στον υπολογιστή μου. Αλλά το wiimc μπορεί επίσης να συνδεθεί σε έναν διακομιστή ftp. Χρησιμοποίησα το Samba επειδή ήταν το πιο εύκολο, αλλά πάντα με ενθουσίαζε αν θα ήταν πιο γρήγορο με το ftp. Θα πρέπει να δοκιμάσω.
Λοιπόν, θα μπορούσατε επίσης να τοποθετήσετε απλώς το Apache στον υπολογιστή σας και έτσι το Wii θα συνδεθεί, πρέπει να είναι πιο γρήγορο από το samba ... και πολύ πιο απλό να διαμορφωθεί από το FTP 😀
Το wiimc (ένα Wii Media Player) δέχεται μόνο συνδέσεις Samba και FTP.
Εξοχος. Απλώς χρειάζεστε κάτι σε αυτούς τους τύπους άρθρων (και στον ιστότοπο γενικά) για να κάνετε τα πάντα τέλεια. ένα πρότυπο CSS για να μπορείτε να εκτυπώσετε τα άρθρα σε PDF ή σε χαρτί.
Δεν ξέρω αν θα είναι δικό μου, αλλά το μεγάλο πρόβλημα με αυτό είναι ότι οι χρήστες μπορούν να περάσουν από όλους τους καταλόγους ακόμα και αν τους δώσω έναν συγκεκριμένο κατάλογο όπως "/ var / www / user_site" εάν συνδέονται μέσω ftp αυτοί έχουν πρόσβαση σε οπουδήποτε από τον υπολογιστή μου ¬
αυτό δεν είναι πολύ ασφαλές χαχα
ΕΔΩ ΕΙΝΑΙ!!!
Για να αποτρέψουμε την πρόσβαση των χρηστών που δημιουργούμε σε ολόκληρο το σύστημά μας, πρέπει να προσθέσουμε την παράμετρο "-A" κατά την εκκίνηση του καθαρού ...
Αυτό που προσθέτουμε στο /etc/rc.local που βάζετε στο σεμινάριο είναι αυτό
pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
και πρέπει να το αντικαταστήσετε με αυτό το άλλο:
pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Εκτιμάται; ... Αυτή η νέα γραμμή έχει την παράμετρο -A για να περιορίσει τον κατάλογο μόνο στον οποίο τον αντιστοιχίζουμε και τίποτα άλλο, μπορεί να δημιουργήσει αλλά δεν μπορεί να ανεβεί επίπεδο.
D: αυτό το χαριτωμένο καθαρό fptd
Ευχαριστώ για την συμβουλή 😀
Γεια σας, είναι δυνατή η εφαρμογή ποσοστώσεων σε αυτήν την εφαρμογή MySQL και FTP, αυτήν τη στιγμή έχω έναν διακομιστή ftp με vsftpd και δεν έχω κανένα πρόβλημα με τις ποσοστώσεις, αλλά είμαι εικονικός χρήστης (δημιουργήθηκε στο mysql) θα ισχύουν οι ποσοστώσεις; και το δεύτερο είναι όπου αποθηκεύονται τα αρχεία που ανεβάζουν οι χρήστες, δηλαδή οι κατάλογοι κάθε χρήστη.
Θεωρητικά μπορείτε να εφαρμόσετε ποσοστώσεις, στην πραγματικότητα η βάση δεδομένων έχει τα πεδία που δημιουργήθηκαν για αυτό και το αρχείο διαμόρφωσης της υπηρεσίας FTP έχει τα ερωτήματα που έχουν οριστεί για αυτό, το οποίο στην πραγματικότητα δεν το έχω δοκιμάσει 😉
Σχετικά με το πού θα τοποθετούσαν οι χρήστες τα αρχεία, το ορίζετε στο 5ο πεδίο, δείτε το στιγμιότυπο οθόνης https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Σας ευχαριστώ πολύ για το σχόλιό σας, πρόκειται να δοκιμάσω αυτό το σύστημα σε έναν δοκιμαστικό διακομιστή και να σχολιάσω τα αποτελέσματα, ελπίζω ότι μπορώ επειδή είναι μια εξαιρετική μέθοδος για να τακτοποιήσετε τα πάντα και με ένα RAID έχετε ένα σταθερό αντίγραφο ασφαλείας σύστημα: Δ.
Ευχαριστώ για το σχόλιο 🙂
Έχω μια ερώτηση, έχω ήδη καταφέρει να εγκαταστήσω το pure-ftp με mysql και ποσοστώσεις, το ζήτημα τώρα είναι πώς μπορώ να αναστείλω έναν λογαριασμό από τον ίδιο τον πίνακα mysql, χωρίς να τροποποιήσω τον κωδικό πρόσβασης χρήστη ή τα μεταφορτωμένα αρχεία.
Μπορώ να σκεφτώ δύο τρόπους, ο απλούστερος είναι να αλλάξω την αξία του Κατάσταση από το 1 έως το 0, θεωρητικά εάν είναι στο 0 ο λογαριασμός είναι απενεργοποιημένος, δοκιμάστε αυτό και πείτε μου 🙂
Roberto, πώς καταφέρατε να ορίσετε τα τέλη χρησιμοποιώντας αυτήν την εγκατάσταση; Παρακαλώ μοιραστείτε τις πληροφορίες.
Πολύ καλή είσοδος !!
Birkhoff, ακριβώς στο προσωπικό μου blog δημιούργησα ένα θέμα σχετικά με αυτό, αφήνω τον σύνδεσμο για να το ελέγξετε:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
Χαιρετισμοί:
Προσπαθώ να ακολουθήσω τα πάντα, αλλά παίρνω το σφάλμα 501 και πάνω απ 'όλα για να αναφερθώ στο γεγονός ότι ο κωδικός πρόσβασης είναι λανθασμένος όταν ξέρω ότι είναι εντάξει