Trots viss osäkerhet som kan omge MySQL, föredrar jag personligen fortfarande att arbeta med denna DB framför att använda någon annan. Jag har inget emot Postgre, jag har helt enkelt använt MySQL under en livstid och hittills har jag inte haft någon anledning att tänka om dess användning.
Den här gången lär jag dig hur du installerar en FTP-server, men inte bara det, jag kommer att lära dig på ett inte så komplext sätt, hur man gör att användare, lösenord och annan användardata lagras i en MySQL-databas och inte på konton lokal.
Varför gör detta så här?
Enkelt, för när du gör en säkerhetskopia, installerar om en server eller någon annan betydande förändring, skulle det vara lika enkelt att flytta tjänsten som att kopiera en konfigurationsfil och exportera MySQL-databasen till FTP.
För att uppnå detta kommer vi att använda Ren-FTPd, ja ... låt oss komma igång 🙂
Installera FTP-tjänsten med Pure-FTPd
1. Det första du ska göra är att installera paketet: ren-ftpd-mysql
I distros som Debian eller derivat: aptitude installera pure-ftpd-mysql
2. Efter installationen startade vi tjänsten men vi måste stoppa den, för att stoppa den på system som Debian eller derivat räcker det att:
/etc/init.d/pure-ftpd-mysql stop
Jag lämnar dock en rad som stoppar tjänsten oavsett distro du använder:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Förbereder villkor på MySQL-servern
Jag förklarade redan för inte länge sedan hur man skapar en databas, en användare och ger användaren behörigheter i databasen: Användare och behörigheter i MySQL
Låt oss gå vidare till vad ska vi göra här? ...
1. Vi kommer att skapa en databas ja, men först kommer vi åt MySQL:
mysql -u root -p
2. Väl inne i MySQL fortsätter vi med att skapa databasen myftpdb:
CREATE DATABASE myftpdb;
3. Nu skapar vi användaren myftpuser och vi ger behörighet att använda användare i den databas som vi just skapade, den här användaren kommer att ha som lösenord myftplösenord:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Redo, vi har skapat databasen, användaren och ställt in behörigheterna. Nu måste vi importera standarddatabasen (eller rena) för att denna ska vara komplett. För att göra detta, låt oss först avsluta MySQL:
exit;
Låt oss nu ladda ner standarddatabasen som jag erbjuder dig:
Eller använd följande rad på servern:
wget http://ftp.desdelinux.net/myftpdb.sql
Klar, vi har det redan på vår server, nu återstår det bara att importera dina data:
mysql -u root -p myftpdb < myftpdb.sql
Och redo!
5. Och allt detta för att ha villkoren för vår MySQL redo.
Länka FTP med MySQL
Tja, vi har redan installerat FTP-tjänsten, MySQL-tjänsten installerad och med vår databasuppsättning ... nu behöver vi bara, gå med i FTP-tjänst med MySQL.
1. Först måste vi ladda ner konfigurationsfilen som vi kommer att använda för ovannämnda. Låt oss lägga till följande rad i serverterminalen:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Nu startar vi FTP-tjänsten som säger att den ska användas för att autentisera MySQL-användare, och vi kommer också att ange vilken konfigurationsfil som ska användas för att ansluta till MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Och voila 😀
Detta räcker för att installera vår egen FTP-server autentisering med en MySQL-databas.
Om du vill att när servern startar automatiskt startar den FTP-tjänsten måste du lägga in filen /etc/rc.local linjen som vi använder för att utföra FTP, det vill säga vi lägger in /etc/rc.local detta:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Förresten, du kan komma åt FTP med vilken webbläsare som helst, liksom FTP-klienter som Filezilla ... och inte bara det, med filwebbläsare som Nautilus, Dolphin eller PCManFM kan du också ladda ner och ladda upp filer 😀
Testanvändare som finns i databasen
Användarnamn: testuser
Lösenord: testlösenord
Hur hanterar jag FTP-användare?
Tja, med tanke på att det är en MySQL-databas, som jag sa ovan ... att använda PHPMyAdmin eller Adminer räcker. Använd bara ditt favoritprogram för att hantera databasen, som bara innehåller en tabell: användare ... Och i det finns användarna, här är en skärmdump:
Om du vill skapa en ny användare kan du duplicera eller klona den befintliga raden och ändra data som skulle vara annorlunda mellan båda användarna, här visar jag dig en skärmdump:
Tja ... inget mer att lägga till 🙂
Jag hoppas att det här är användbart för dig och du vet, alla frågor eller förslag låt mig veta.
hälsningar
PD: I den här handledningen använder vi lösenord som sparats i databasen i klartext, om du vill ha mer säkerhet rekommenderar jag att du försöker md5 😉
MYCKET BRA!!! För några veckor sedan installerade jag det här men med vsftpd och jag är inte övertygad så jag ska prova detta för att se hur det är. Tack
Tack kompis.
vsftpd Jag kommer inte ihåg när sista gången jag använde den ... för några år sedan, ... om jag någonsin använde den HAHA. Just nu med PureFTPd är jag mer än glad 😀
Mycket bra bidrag!
Tack kompa 😀
Du gör vad du kan lol ....
Uuumm, intressant ... skicka mig IP: n för DB som jag vill ha den samlingen av användare och lösenord till hands hand
Var inte ond, man
Jag förstod inte hehehe ... vilken IP och DB pratar du om?
Om du menar att dessa data som jag lägger i handledningen också kan finnas på en server, ja där har du rätt ... de är i en FTP-tjänst på en virtuell dator på min bärbara dator, den har en MYCKET bra brandvägg (iptables) så ... HAHAHAHAHA naturligtvis inte vara ond LOL !!!
Joroña vilken joroña .... Det kommer att bli mer komplicerat än att det verkar dra nytta av viss sårbarhet och fånga den informationen 😉
Mycket intressant!! 🙂
Tack
Det här är vad jag försöker skilja oss från resten av sajterna ... att vi inte försöker lägga ut så mycket nyheter utan som tekniska artiklar 😀
Hur snabbt är detta jämfört med Samba? (endast lokalt nätverk)
att samba och ftp är två olika saker, ftp är ett seriöst protokoll och smb bara för att underlätta delningen mellan win och linux.
Om du letar efter prestanda i nätverket, använd en FTP-tjänst, annars använd samba bara utan problem
Exakt.
Låt oss säga att FTP är lite allvarligare än Samba, åtminstone enligt min mening är det.
Jag har inte gjort några riktmärken alls, men kanske är FTP lite snabbare.
Tack. Jag använder Samba så att jag från min Wii-konsol (med wiimc) kan titta på filmer och serier som jag laddar ner till min dator. Men wiimc kan också ansluta till en ftp-server. Jag använde Samba eftersom det var det enklaste, men jag var alltid intresserad om det skulle gå snabbare med ftp. Jag måste försöka.
Tja, du kan också helt enkelt montera Apache på din dator, och så skulle Wii ansluta, det måste vara snabbare än samba ... och mycket enklare att konfigurera än FTP 😀
Wiimc (en Wii Media Player) accepterar endast Samba- och FTP-anslutningar.
Excellent. Denna typ av artikel (och webbplatsen i allmänhet) behöver bara något för att göra allt perfekt; en CSS-mall för att kunna skriva ut artiklarna till PDF eller på papper.
Jag vet inte om det kommer att bli mitt eget, men det stora problemet med detta är att användare kan gå igenom alla kataloger även om jag ger dem en specifik katalog som "/ var / www / user_site" om de ansluter via ftp de har tillgång till var som helst från min dator ¬¬
det är inte särskilt säkert haha
HÄR ÄR DET!!!
För att förhindra att användarna vi skapar kan navigera genom hela vårt system måste vi lägga till parametern "-A" när vi startar den rena ...
Så vad vi lägger till i /etc/rc.local som du lägger i handledningen är detta
ren-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
och du måste ersätta den med den här andra:
ren-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Uppskattas det? ... Den här nya raden har parametern -A för att begränsa katalogen bara till vilken vi tilldelar den och inget annat, den kan skapa men den kan inte höjas.
D: denna söta rena-fptd
Tack för tipset 😀
Hej, det är möjligt att implementera kvoter i denna MySQL- och FTP-implementering, jag har för närvarande en ftp-server med vsftpd och jag har inga problem med kvoterna, men att vara en virtuell användare (skapad i mysql) kommer kvoterna att vara giltiga? och det andra är där de filer som laddas upp av användare lagras, det vill säga vilka är katalogerna för varje användare.
I teorin kan du implementera kvoter, i själva verket har databasen fälten skapade för den, och konfigurationsfilen för FTP-tjänsten har frågorna inställda för detta, vilket jag faktiskt inte har testat detta 😉
Om var användarna skulle placera filerna definierar du det i det femte fältet, se skärmdumpen: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Tack så mycket för din kommentar, jag ska testa detta system på en testserver och kommentera resultaten, förhoppningsvis kan jag det eftersom det är en bra metod att ha allt i ordning, och med en RAID har du ett stabilt reservsystem : D.
Tack till dig för kommentaren 🙂
Jag har en fråga, jag har redan lyckats installera pure-ftp med mysql och kvoter, problemet är nu hur kan jag stänga av ett konto från själva mysql-tabellen utan att ändra dess användarlösenord eller uppladdade filer.
Jag kan tänka på två sätt, det enklaste är att ändra värdet på status från 1 till 0, om det är vid 0 är kontot inaktiverat, prova detta och berätta för mig 🙂
Roberto, hur lyckades du fastställa avgifterna med den här anläggningen? Vänligen dela informationen.
Mycket bra inträde !!
Birkhoff, precis i min personliga blogg skapade jag ett ämne om det, jag lämnar länken för dig att granska:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
Hälsningar:
Jag försöker följa allt men jag får fel 501 och mest av allt att hänvisa till det faktum att lösenordet är felaktigt när jag vet att det är bra