Uprkos određenoj neizvjesnosti koja bi mogla okružiti MySQL, osobno mi je ipak draži rad s ovim DB-om od korištenja nekog drugog. Nemam ništa protiv Postgre, jednostavno sam MySQL koristio cijeli život i do sada nisam imao razloga da preispitam njegovu upotrebu.
Ovaj put naučit ću vas kako instalirati FTP server, ali ne samo to, naučit ću vas na ne tako složen način kako učiniti korisnike, lozinke i druge korisničke podatke pohranjenim u MySQL bazi podataka, a ne na računima lokalno.
Zašto ovo ovako?
Jednostavno, jer prilikom izrade sigurnosne kopije, ponovne instalacije servera ili bilo koje druge značajne promjene, premještanje usluge bilo bi jednostavno kao kopiranje konfiguracijske datoteke i izvoz MySQL baze podataka na FTP.
Da bismo to postigli koristit ćemo Čisto-FTPd, pa ... počnimo 🙂
Instaliranje FTP usluge s Pure-FTPd
1. Prvo što treba učiniti je instalirati paket: pure-ftpd-mysql
U distribucijama poput Debian ili derivati: aptitude instalirati pure-ftpd-mysql
2. Jednom instalirani, pokrenuli smo uslugu, ali moramo je zaustaviti, da bismo je zaustavili na sistemima kao što je Debian ili derivati, s čime je dovoljno:
/etc/init.d/pure-ftpd-mysql stop
Međutim, ostavljam vam liniju koja će zaustaviti uslugu bez obzira na distro koji koristite:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Priprema uslova na MySQL serveru
Već sam nedavno objasnio kako stvoriti bazu podataka, korisnika i dati tom korisniku dozvole u bazi podataka: Korisnici i dozvole u MySQL-u
Prijeđimo na ono što ćemo ovdje? ...
1. Stvorit ćemo bazu podataka da, ali prvo pristupamo MySQL:
mysql -u root -p
2. Kad uđemo u MySQL, krećemo u kreiranje baze podataka myftpdb:
CREATE DATABASE myftpdb;
3. Sada ćemo stvoriti korisnika myftpuser i dat ćemo dozvole za upotrebu korisnika u bazi podataka koju smo upravo kreirali, a ovaj korisnik će imati kao lozinku myftppassword:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Spremni, stvorili smo bazu podataka, korisnika i postavili dozvole. Sada moramo uvesti zadanu (ili čistu) bazu podataka da bi ovo bilo potpuno. Da bismo to učinili, prvo izađimo iz MySQL:
exit;
Sada preuzmimo zadanu bazu podataka koju vam nudim:
Ili na serveru koristite sljedeći redak:
wget http://ftp.desdelinux.net/myftpdb.sql
Spremni, već ga imamo na našem serveru, sada ostaje samo uvesti vaše podatke:
mysql -u root -p myftpdb < myftpdb.sql
I spremno!
5. I ovo je sve da bismo imali spremne uslove za naš MySQL.
Povezivanje FTP-a s MySQL-om
Pa, već imamo instaliranu FTP uslugu, instaliranu MySQL uslugu i s postavljenom bazom podataka ... sada samo trebamo, pridružite se FTP usluzi sa MySQL-om.
1. Prvo moramo preuzeti konfiguracijsku datoteku koju ćemo koristiti za gore spomenuto. U terminal poslužitelja stavimo sljedeći red:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Sada pokrećemo FTP uslugu koja joj govori da koristi za autentifikaciju MySQL korisnika, a takođe ćemo naznačiti koju konfiguracijsku datoteku koristiti za povezivanje na MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
I voila 😀
To je dovoljno za instaliranje vlastitog FTP servera za autentifikaciju s MySQL bazom podataka.
Ako želite da svaki put kada se server automatski pokrene, pokreće FTP uslugu, morate staviti datoteku /etc/rc.local red koji koristimo za izvršavanje FTP-a, odnosno stavimo /etc/rc.local ovo:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Inače, FTP-u možete pristupiti putem bilo kojeg pretraživača, kao i FTP klijenata poput Filezile ... i ne samo to, koristeći preglednike datoteka poput Nautilusa, Dolphina ili PCManFM-a možete i preuzimati i slati datoteke 😀
Testirajte korisnika koji se nalazi u bazi podataka
Korisnik: testuser
Password: testpassword
Kako upravljati FTP korisnicima?
Pa, uzimajući u obzir da je to MySQL baza podataka, kao što sam gore rekao ... upotreba PHPMyAdmin ili Adminer bit će dovoljna. Samo koristite svoju omiljenu aplikaciju za upravljanje bazom podataka koja sadrži jednu tablicu: korisnici ... i u njemu su korisnici, evo snimka zaslona:
Ako želite stvoriti novog korisnika, možete duplicirati ili klonirati postojeću liniju i promijeniti podatke koji bi se razlikovali između oba korisnika, ovdje ću vam pokazati snimak zaslona:
Pa ... ništa više za dodavanje 🙂
Nadam se da vam je ovo korisno i znate, bilo koja pitanja ili prijedlozi javite mi.
Saludos
P.S: U ovom uputstvu koristimo lozinke spremljene u bazi podataka u običnom tekstu, ako želite veću sigurnost, preporučujem da isprobate md5 😉
VEOMA DOBRO!!! Prije nekoliko tjedana instalirao sam ovo, ali sa vsftpd i nisam uvjeren, pa ću probati ovo da vidim kako je. Hvala ti
Hvala prijatelju.
vsftpd Ne sjećam se kada sam ga zadnji put koristio ... proći će nekoliko godina, ... ako sam ga ikad koristio HAHA. Trenutno sam sa PureFTPd više nego sretan 😀
Vrlo dobar doprinos!
Hvala kompa 😀
Uradi što možeš, hahaj….
Uuumm, zanimljivo ... proslijedite mi IP DB-a za koji želim imati tu zbirku korisnika i lozinki pri ruci 😉
Ne budi zao
Nisam razumio hehehe ... o kojem IP i DB govorite?
Ako mislite da bi ovi podaci koje sam stavio u tutorial mogli biti i na serveru, da, u pravu ste ... nalaze se u FTP usluzi na virtualnom računaru na mom laptopu, ima VRLO dobar vatrozid (iptables) pa ... HAHAHAHAHA naravno da nisu zli LOL !!!
Joroña kakav joroña…. Bit će složenije nego što se čini da iskoristimo neku ranjivost i uhvatimo te podatke 😉
Vrlo zanimljivo !! 🙂
Hvala
To je ono što pokušavam razlikovati od ostalih web lokacija ... da pokušavamo staviti ne toliko vijesti već tehničke članke 😀
Koliko je ovo brzo u odnosu na Sambu? (samo lokalna mreža)
da su samba i ftp dvije različite stvari, ftp je ozbiljan protokol i smb samo da bi olakšao dijeljenje između win-a i linux-a.
Ako tražite performanse na mreži, koristite FTP uslugu, inače koristite sambu bez problema
Tačno.
Recimo da je FTP malo ozbiljniji od Sambe, barem po mom mišljenju jeste.
Uopće nisam radio nijedan benchmark, ali možda je FTP nešto brži.
Hvala ti. Koristim Sambu kako bih sa svoje Wii konzole (koristeći wiimc) mogao gledati filmove i serije koje preuzimam na svoj računar. Ali wiimc se takođe može povezati sa ftp serverom. Koristio sam Sambu jer je to bilo najlakše, ali uvijek me zanimalo hoće li biti brži s ftp-om. Morat ću pokušati.
Pa, možete i jednostavno montirati Apache na svoj PC, a kako bi se Wii povezao, ovo mora biti brže od sambe ... i mnogo jednostavnije za konfiguriranje od FTP-a 😀
Wiimc (Wii Media Player) prihvaća samo Samba i FTP veze.
Odlicno. Trebate samo nešto o ovim vrstama članaka (i web lokaciji općenito) da sve bude savršeno; CSS predložak za štampanje članaka u PDF ili na papir.
Ne znam hoće li to biti moje, ali veliki problem kod ovoga je taj što korisnici mogu proći kroz sve direktorije čak i ako im dam određeni direktorij poput "/ var / www / user_site" ako se povežu putem ftp-a imati pristup bilo gdje s mog računala
to nije baš sigurno haha
EVO GA!!!
Da bismo spriječili korisnike koje kreiramo da se mogu kretati kroz cijeli naš sistem, moramo dodati parametar "-A" prilikom pokretanja čistog ...
Dakle, ono što dodamo u /etc/rc.local koje ste stavili u tutorial je ovo
pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
i morate ga zamijeniti sa ovim drugim:
pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Je li to cijenjeno? ... Ovaj novi redak ima parametar -A da ograniči samo direktorij kojem smo ga dodijelili i ništa drugo, on može stvoriti, ali ne može se povisiti.
D: ovaj slatki pure-fptd
Hvala na savjetu 😀
Pozdrav, moguće je implementirati kvote u ovu MySQL i FTP implementaciju, trenutno imam ftp server s vsftpd i nemam problema s kvotama, ali budući da sam virtualni korisnik (kreiran u mysql) da li će kvote biti važeće? a drugo je mjesto gdje se pohranjuju datoteke koje su korisnici prenijeli, odnosno koje su direktoriji svakog korisnika.
U teoriji možete implementirati kvote, zapravo baza podataka ima polja stvorena za nju, a konfiguraciona datoteka FTP usluge postavlja upite za ovo, što zapravo nisam testirao 😉
O tome gdje bi korisnici stavili datoteke, vi to definirate u 5. polju, pogledajte snimak zaslona: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Hvala vam puno na komentaru, testirat ću ovaj sistem na test serveru i komentirati rezultate, nadam se da mogu, jer je to sjajna metoda da sve bude u redu, a s RAID-om imate stabilan sigurnosni sistem : D.
Hvala vam na komentaru 🙂
Imam pitanje, već sam uspio instalirati pure-ftp s mysqlom i kvotama, sada je pitanje kako mogu suspendirati račun iz same mysql tablice, bez promjene korisničke lozinke ili učitanih datoteka.
Mogu se sjetiti dva načina, najjednostavniji je promijeniti vrijednost Status od 1 do 0, u teoriji ako je na 0 račun je deaktiviran, pokušajte ovo i recite mi 🙂
Roberto, kako si uspio odrediti naknade koristeći ovaj objekt? Molimo podijelite informacije.
Vrlo dobar ulaz !!
Birkhoff, upravo na svom ličnom blogu stvorio sam temu o tome, ostavljam vezu za pregled:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
Pozdrav:
Pokušavam sve pratiti, ali dobivam grešku 501, a najviše se pozivam na činjenicu da je lozinka netačna kada znam da je u redu