På trods af en vis usikkerhed, der kan omgøre MySQL, foretrækker jeg personligt stadig at arbejde med denne DB frem for at bruge nogle andre. Jeg har ikke noget imod Postgre, jeg har simpelthen brugt MySQL hele mit liv, og indtil nu har jeg ikke haft nogen grund til at genoverveje brugen.
Denne gang lærer jeg dig, hvordan du installerer en FTP-server, men ikke kun det, jeg lærer dig på en ikke så kompleks måde, hvordan man får brugere, adgangskoder og andre brugerdata til at blive gemt i en MySQL-database og ikke på konti lokal.
Hvorfor gør dette sådan?
Simpelt, fordi når du laver en sikkerhedskopi, geninstallerer en server eller enhver anden væsentlig ændring, vil flytning af tjenesten være så simpelt som at kopiere en konfigurationsfil og eksportere MySQL-databasen til FTP.
For at opnå dette vil vi bruge Ren-FTPd, ja ... lad os komme i gang 🙂
Installation af FTP-tjenesten med Pure-FTPd
1. Den første ting at gøre er at installere pakken: ren-ftpd-mysql
I distroer som Debian eller derivater: aptitude installere pure-ftpd-mysql
2. Når tjenesten var installeret, blev den startet, men vi skal stoppe den for at stoppe den på systemer som Debian eller derivater er det nok med:
/etc/init.d/pure-ftpd-mysql stop
Imidlertid forlader jeg dig en linje, der stopper tjenesten uanset distro, du bruger:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Forbereder betingelser på MySQL-serveren
Jeg har allerede forklaret for længe siden, hvordan man opretter en database, en bruger og giver tilladelser til den bruger i databasen: Brugere og tilladelser i MySQL
Lad os gå videre til hvad skal vi gøre her? ...
1. Vi opretter en database ja, men først får vi adgang til MySQL:
mysql -u root -p
2. Når vi er inde i MySQL, opretter vi databasen myftpdb:
CREATE DATABASE myftpdb;
3. Nu opretter vi brugeren myftpuser og vi giver tilladelse til at bruge bruger i den database, vi lige har oprettet, denne bruger vil have som adgangskode myftppassword:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Klar, vi har oprettet databasen, brugeren og indstillet tilladelserne. Nu skal vi importere standarddatabasen (eller ren) for at denne skal være komplet. For at gøre dette, lad os først afslutte MySQL:
exit;
Lad os nu downloade den standarddatabase, som jeg tilbyder dig:
Eller brug følgende linje på serveren:
wget http://ftp.desdelinux.net/myftpdb.sql
Klar, vi har det allerede på vores server, nu er det kun at importere dine data:
mysql -u root -p myftpdb < myftpdb.sql
Og klar!
5. Og alt dette for at have betingelserne i vores MySQL klar.
Deltagelse i FTP med MySQL
Nå, vi har allerede installeret FTP-tjenesten, MySQL-tjenesten installeret og med vores databasesæt ... nu har vi bare brug for, Bliv medlem af FTP-tjenesten med MySQL.
1. Først skal vi downloade den konfigurationsfil, som vi vil bruge til ovennævnte. Lad os sætte følgende linje i serverterminalen:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Nu starter vi FTP-tjenesten, der fortæller den at bruge til at godkende MySQL-brugere, og vi vil også angive, hvilken konfigurationsfil der skal bruges til at oprette forbindelse til MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Og voila 😀
Dette er nok til at installere vores egen FTP-server, der godkendes med en MySQL-database.
Hvis du vil have, at når serveren starter automatisk, starter den FTP-tjenesten, skal du indsætte filen /etc/rc.local den linje, vi bruger til at udføre FTP, det vil sige, vi sætter ind /etc/rc.local dette:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Forresten kan du få adgang til FTP ved hjælp af enhver browser såvel som FTP-klienter som Filezilla ... og ikke kun det, ved hjælp af filbrowsere som Nautilus, Dolphin eller PCManFM kan du også downloade og uploade filer 😀
Test bruger, der er i databasen
Brugernavn: testuser
Adgangskode: testadgangskode
Hvordan styres FTP-brugere?
Når man tager i betragtning, at det er en MySQL-database, som jeg sagde ovenfor ... ved hjælp af PHPMyAdmin eller Adminer er det tilstrækkeligt. Brug bare din yndlingsapplikation til at administrere databasen, som indeholder en enkelt tabel: brugere ... og i det er brugerne, her er et screenshot:
Hvis du vil oprette en ny bruger, kan du duplikere eller klone den eksisterende linje og ændre de data, der ville være forskellige mellem begge brugere, her viser jeg dig et screenshot:
Nå ... intet mere at tilføje 🙂
Jeg håber, det er nyttigt for dig, og du ved, spørgsmål eller forslag, lad mig det vide.
hilsen
PD: I denne tutorial bruger vi adgangskoder, der er gemt i databasen i almindelig tekst, hvis du vil have mere sikkerhed, anbefaler jeg, at du prøver md5 😉
MEGET GODT!!! For et par uger siden installerede jeg dette, men med vsftpd, og jeg er ikke overbevist, så jeg vil prøve dette for at se, hvordan det er. tak skal du have
Tak ven.
vsftpd Jeg kan ikke huske, hvornår sidste gang jeg brugte det ... det vil være et par år nu, ... hvis jeg nogensinde har brugt det HAHA. I øjeblikket med PureFTPd er jeg mere end glad 😀
Meget godt bidrag!
Tak compa 😀
Du gør hvad du kan lol….
Uuumm, interessant ... send mig IP'en til DB'en, som jeg vil have den samling af brugere og adgangskoder ved hånden 😉
Vær ikke ond, mand
Jeg forstod ikke hehehe ... hvilken IP og DB taler du om?
Hvis du mener, at disse data, som jeg har lagt i vejledningen, også kan være på en server, ja der har du ret ... de er i en FTP-tjeneste på en virtuel pc på min bærbare computer, den har en MEGET god firewall (iptables) så ... HAHAHAHAHA vær selvfølgelig ikke ond LOL !!!
Joroña hvad en joroña…. Det vil være mere kompliceret, end det ser ud til at drage fordel af en vis sårbarhed og indfange disse data 😉
Meget interessant!! 🙂
Tak
Dette er hvad jeg forsøger at skelne os fra resten af siderne ... at vi prøver ikke at sætte så meget nyt, men som tekniske artikler 😀
Hvor hurtigt er dette sammenlignet med Samba? (kun lokalt netværk)
at samba og ftp er 2 forskellige ting, ftp er en seriøs protokol og smb bare for at lette delingen mellem win og linux.
Hvis du leder efter ydeevne på netværket, skal du bruge en FTP-tjeneste, ellers brug samba bare uden problemer
Eksakt.
Lad os sige, at FTP er lidt mere seriøs end Samba, i det mindste efter min mening er det.
Jeg har slet ikke lavet nogen benchmarks, men måske er FTP lidt hurtigere.
Tak skal du have. Jeg bruger Samba, så jeg fra min Wii-konsol (ved hjælp af wiimc) kan se film og serier, som jeg downloader til min computer. Men wiimc kan også oprette forbindelse til en ftp-server. Jeg brugte Samba, fordi det var det nemmeste, men jeg var altid fascineret, hvis det ville være hurtigere med ftp. Jeg bliver nødt til at prøve.
Nå, du kunne også bare montere Apache på din pc, og så Wii ville oprette forbindelse, det skal være hurtigere end samba ... og meget lettere at konfigurere end FTP 😀
Wiimc (en Wii Media Player) accepterer kun Samba- og FTP-forbindelser.
Fremragende. Du har bare brug for noget til disse typer artikler (og webstedet generelt) for at gøre alt perfekt; en CSS-skabelon til udskrivning af artiklerne til PDF eller på papir.
Jeg ved ikke, om det vil være mit eget, men det store problem med dette er, at brugerne kan gå gennem alle mapper, selvom jeg giver dem en bestemt mappe som "/ var / www / user_site", hvis de forbinder via ftp, har de adgang til hvor som helst fra min pc ¬¬
det er ikke særlig sikkert haha
HER ER DET!!!
For at forhindre, at de brugere, vi opretter, kan navigere gennem hele vores system, skal vi tilføje parameteren "-A", når vi starter den rene ...
Så hvad vi tilføjer til /etc/rc.local, som du lægger i vejledningen, er dette
ren-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
og du er nødt til at erstatte den med denne anden:
ren-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Bliver det værdsat? ... Denne nye linje bærer -A-parameteren for kun at begrænse den mappe, som vi tildeler den, og intet andet, den kan oprette, men den kan ikke niveauere sig.
D: denne søde pure-fptd
Tak for tipet 😀
Hej, det er muligt at implementere kvoter i denne MySQL- og FTP-implementering, jeg har i øjeblikket en ftp-server med vsftpd, og jeg har ikke noget problem med kvoterne, men at være en virtuel bruger (oprettet i mysql) vil kvoterne være gyldige? og det andet er, hvor de filer, der uploades af brugerne, er gemt, det vil sige, hvilke mapper er for hver bruger.
I teorien kan du implementere kvoter, faktisk har databasen de felter, der er oprettet til den, og konfigurationsfilen til FTP-tjenesten har forespørgslerne sat til dette, som jeg faktisk ikke har testet dette
Om, hvor brugerne ville placere filerne, definerer du det i det 5. felt, se skærmbilledet: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Mange tak for din kommentar, jeg skal teste dette system på en testserver og kommentere resultaterne, jeg håber, jeg kan, for det er en god metode at have alt i orden, og med en RAID har du et stabilt backupsystem: D.
Tak til dig for kommentaren 🙂
Jeg har et spørgsmål, jeg har allerede formået at installere pure-ftp med mysql og kvoter, problemet er nu, hvordan kan jeg suspendere en konto fra selve mysql-tabellen uden at ændre brugeradgangskoden eller uploadede filer.
Jeg kan tænke på to måder, den enkleste er at ændre værdien af Status fra 1 til 0, hvis det er ved 0, er kontoen deaktiveret, prøv dette og fortæl mig 🙂
Roberto, hvordan lykkedes det dig at fastsætte gebyrerne ved hjælp af denne facilitet? Del oplysningerne.
Meget god indgang !!
Birkhoff, bare i min personlige blog oprettede jeg et emne om det, jeg forlader linket for dig at gennemgå:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
hilsner:
Jeg prøver at følge alt, men jeg får fejl 501 og mest af alt at henvise til det faktum, at adgangskoden er forkert, når jeg ved, at det er fint