Til tross for noe usikkerhet som kan omgi MySQL, foretrekker jeg personlig å jobbe med denne DB fremfor å bruke noen andre. Jeg har ingenting imot Postgre, jeg har ganske enkelt brukt MySQL i en mannsalder, og til nå har jeg ikke hatt noen grunn til å tenke nytt over bruken.
Denne gangen vil jeg lære deg hvordan du installerer en FTP-server, men ikke bare det, jeg vil lære deg på en ikke så komplisert måte, hvordan du får brukere, passord og andre brukerdata til å bli lagret i en MySQL-database, og ikke i kontoer lokal.
Hvorfor gjør dette slik?
Enkelt, fordi når du tar en sikkerhetskopi, installerer en server på nytt eller andre viktige endringer, vil flytting av tjenesten være så enkelt som å kopiere en konfigurasjonsfil og eksportere MySQL-databasen til FTP.
For å oppnå dette vil vi bruke Ren-FTPd, vel ... la oss komme i gang 🙂
Indeks
Installere FTP-tjenesten med Pure-FTPd
1. Det første du må gjøre er å installere pakken: ren-ftpd-mysql
I distroer som Debian eller derivater: aptitude installere pure-ftpd-mysql
2. Når vi var installert, startet vi tjenesten, men vi må stoppe den, for å stoppe den på systemer som Debian eller derivater er det nok å:
/etc/init.d/pure-ftpd-mysql stop
Imidlertid forlater jeg deg en linje som vil stoppe tjenesten uansett distro du bruker:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Forbereder forhold på MySQL-serveren
Jeg har allerede forklart for ikke lenge siden hvordan jeg lager en database, en bruker og gir tillatelser til den brukeren i databasen: Brukere og tillatelser i MySQL
La oss gå videre til hva skal vi gjøre her? ...
1. Vi oppretter en database ja, men først får vi tilgang til MySQL:
mysql -u root -p
2. En gang i MySQL fortsetter vi med å opprette databasen myftpdb:
CREATE DATABASE myftpdb;
3. Nå skal vi opprette brukeren myftpuser og vi vil gi tillatelse til å bruke bruker i databasen som vi nettopp opprettet, denne brukeren vil ha som passord 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 opprettet databasen, brukeren og satt tillatelsene. Nå må vi importere standard (eller ren) database for at denne skal være komplett. For å gjøre dette, la oss først avslutte MySQL:
exit;
La oss nå laste ned standarddatabasen som jeg tilbyr deg:
Eller bruk følgende linje på serveren:
wget http://ftp.desdelinux.net/myftpdb.sql
Klar, vi har det allerede på serveren vår, nå gjenstår det bare å importere dataene dine:
mysql -u root -p myftpdb < myftpdb.sql
Og klar!
5. Og alt dette for å ha betingelsene for MySQL klare.
Kobling av FTP med MySQL
Vel, vi har allerede FTP-tjenesten installert, MySQL-tjenesten installert og med vårt databasesett ... nå trenger vi bare, bli med i FTP-tjenesten med MySQL.
1. Først må vi laste ned konfigurasjonsfilen som vi vil bruke til det ovennevnte. La oss sette følgende linje i serverterminalen:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Nå starter vi FTP-tjenesten som forteller den å bruke for å autentisere MySQL-brukere, og vi vil også indikere hvilken konfigurasjonsfil vi skal bruke for å koble til MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Og voila 😀
Dette er nok til å installere vår egen FTP-server autentisering med en MySQL-database.
Hvis du vil at når serveren starter automatisk, starter den FTP-tjenesten, må du legge inn filen /etc/rc.local linjen som vi bruker for å utføre FTP, det vil si vi legger inn /etc/rc.local dette:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Forresten, du kan få tilgang til FTP ved hjelp av hvilken som helst nettleser, så vel som FTP-klienter som Filezilla ... og ikke bare det, ved hjelp av fillesere som Nautilus, Dolphin eller PCManFM kan du også laste ned og laste opp filer 😀
Test bruker som er i databasen
Brukernavn: testuser
Passord: testpassord
Hvordan administrere FTP-brukere?
Vel, med tanke på at det er en MySQL-database, som jeg sa ovenfor ... å bruke PHPMyAdmin eller Adminer vil være tilstrekkelig. Bare bruk favorittprogrammet ditt til å administrere databasen, som inneholder en enkelt tabell: Brukere ... og i det er brukerne, her er et skjermbilde:
Jeg håper dette er nyttig for deg og du vet, spørsmål eller forslag, gi meg beskjed.
Hilsen
PD: I denne opplæringen bruker vi passord lagret i databasen i ren tekst. Hvis du vil ha mer sikkerhet, anbefaler jeg deg å prøve md5 😉
28 kommentarer, legg igjen dine
VELDIG BRA!!! For et par uker siden installerte jeg dette, men med vsftpd, og jeg er ikke overbevist, så jeg skal prøve dette for å se hvordan det er. Takk skal du ha
Takk venn.
vsftpd Jeg husker ikke når sist jeg brukte den ... for noen år siden, ... om jeg noen gang brukte den HAHA. For øyeblikket med PureFTPd er jeg mer enn glad 😀
Veldig bra bidrag!
Takk kompa 😀
Du gjør det du kan lol….
Uuumm, interessant ... send meg IP-en til DB-en som jeg vil ha den samlingen av brukere og passord for hånden 😉
Ikke vær ond, mann
Jeg forsto ikke hehehe ... hva IP og DB snakker du om?
Hvis du mener at disse dataene som jeg la i opplæringen også kan være på en server, ja der har du rett ... de er i en FTP-tjeneste på en virtuell PC på den bærbare datamaskinen min, den har en VELDIG god brannmur (iptables) så ... HAHAHAHAHA selvfølgelig er de ikke onde LOL !!!
Joroña for en joroña…. Det vil være mer komplisert enn det ser ut til å dra nytte av noe sårbarhet og fange opp dataene 😉
Veldig interessant!! 🙂
Takk
Dette er hva jeg prøver å skille oss fra resten av sidene ... at vi prøver å ikke gi så mye nyheter, men som tekniske artikler 😀
Hvor raskt er dette sammenlignet med Samba? (bare lokalt nettverk)
at samba og ftp er to forskjellige ting, ftp er en seriøs protokoll og smb bare for å forenkle delingen mellom win og linux.
Hvis du leter etter ytelse på nettverket, bruk en FTP-tjeneste, ellers bruk samba bare uten problemer
Nøyaktig.
La oss si at FTP er litt mer seriøs enn Samba, i det minste er det etter min mening.
Jeg har ikke gjort noen referanser i det hele tatt, men kanskje FTP er litt raskere.
Takk skal du ha. Jeg bruker Samba slik at jeg fra Wii-konsollen min (med wiimc) kan se filmer og serier som jeg laster ned til datamaskinen min. Men wiimc kan også koble til en ftp-server. Jeg brukte Samba fordi det var det enkleste, men jeg var alltid fascinert hvis det ville være raskere med ftp. Jeg må prøve.
Vel, du kan også bare montere Apache på PCen din, og slik at Wii vil koble til, må det være raskere enn samba ... og mye enklere å konfigurere enn FTP 😀
Wiimc (en Wii Media Player) godtar bare Samba- og FTP-tilkoblinger.
Utmerket. Du trenger bare noe til denne typen artikler (og nettstedet generelt) for å gjøre alt perfekt; en CSS-mal for å kunne skrive ut artiklene til PDF eller på papir.
Jeg vet ikke om det vil være mitt eget, men det store problemet med dette er at brukere kan gå gjennom alle katalogene selv om jeg gir dem en bestemt katalog som "/ var / www / user_site" hvis de kobler til ftp de har tilgang til hvor som helst fra PCen min ¬¬
det er ikke veldig trygt haha
HER ER DET!!!
For å forhindre at brukerne vi lager, kan navigere gjennom hele systemet vårt, må vi legge til parameteren "-A" når vi starter den rene ...
Så det vi legger til i /etc/rc.local du legger i opplæringen, er dette
ren-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
og du må erstatte den med denne andre:
ren-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Er det verdsatt? ... Denne nye linjen har parameteren -A for å begrense katalogen som vi bare tilordner den, og ingenting annet, den kan opprette, men den kan ikke nivåere seg.
D: denne søte pure-fptd
Takk for tipset 😀
Hei, det er mulig å implementere kvoter i denne MySQL- og FTP-implementeringen, jeg har for tiden en ftp-server med vsftpd og jeg har ikke noe problem med kvotene, men å være en virtuell bruker (opprettet i mysql) vil kvotene være gyldige? og det andre er hvor filene som er lastet opp av brukerne lagres, det vil si katalogene til hver bruker.
I teorien kan du implementere kvoter, faktisk har databasen feltene opprettet for den, og konfigurasjonsfilen til FTP-tjenesten har spørsmålene angitt for dette, som jeg faktisk ikke har testet dette this
Om hvor brukerne ville plassere filene, definerer du det i det femte feltet, se skjermbildet: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Tusen takk for kommentaren din, jeg skal teste dette systemet på en testserver og kommentere resultatene, forhåpentligvis kan jeg det fordi det er en fin metode å ha alt i orden, og med en RAID har du et stabilt backupsystem : D.
Takk til deg for kommentaren 🙂
Jeg har et spørsmål, jeg har allerede klart å installere pure-ftp med mysql og kvoter, problemet er nå hvordan kan jeg suspendere en konto fra selve mysql-tabellen uten å endre brukerpassordet eller opplastede filer.
Jeg kan tenke på to måter, det enkleste er å endre verdien på status fra 1 til 0, i teorien hvis den er på 0 er kontoen deaktivert, prøv dette og fortell meg 🙂
Roberto, hvordan klarte du å sette gebyrene ved hjelp av dette anlegget? Vennligst del informasjonen.
Veldig bra inngang !!
Birkhoff, bare på min personlige blogg opprettet jeg et emne om det, jeg lar lenken være for deg å gjennomgå:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
hilsener:
Jeg prøver å følge alt, men jeg får feil 501 og mest av alt å referere til det faktum at passordet er feil når jeg vet at det er bra