Kako: FTP usluga koja koristi MySQL bazu podataka

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

Ako želite detaljno razumjeti ovaj redak, pročitajte Ovaj članak

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

Ovdje stavljaju root lozinku i pristupit će MySQL terminalu.

2. Kad uđemo u MySQL, krećemo u kreiranje baze podataka myftpdb:

CREATE DATABASE myftpdb;

Primijetite tačku i zarez «;»Na kraju reda.

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:

Preuzmite DB prema zadanim postavkama

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!

Oni takođe mogu koristiti neke web aplikacije poput Administrator o PHPMyAdmin za uvoz baze podataka ostavljam je da proba.

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 😉


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

28 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   LiGNUxero rekao je

    VEOMA DOBRO!!! Prije nekoliko tjedana instalirao sam ovo, ali sa vsftpd i nisam uvjeren, pa ću probati ovo da vidim kako je. Hvala ti

    1.    KZKG ^ Gaara rekao je

      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 😀

  2.   pravi rekao je

    Vrlo dobar doprinos!

    1.    KZKG ^ Gaara rekao je

      Hvala kompa 😀
      Uradi što možeš, hahaj….

  3.   Computer Guardian rekao je

    Uuumm, zanimljivo ... proslijedite mi IP DB-a za koji želim imati tu zbirku korisnika i lozinki pri ruci 😉

    Ne budi zao

    1.    KZKG ^ Gaara rekao je

      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 !!!

  4.   Computer Guardian rekao je

    Joroña kakav joroña…. Bit će složenije nego što se čini da iskoristimo neku ranjivost i uhvatimo te podatke 😉

  5.   Algabe rekao je

    Vrlo zanimljivo !! 🙂

    1.    KZKG ^ Gaara rekao je

      Hvala
      To je ono što pokušavam razlikovati od ostalih web lokacija ... da pokušavamo staviti ne toliko vijesti već tehničke članke 😀

  6.   Giskard rekao je

    Koliko je ovo brzo u odnosu na Sambu? (samo lokalna mreža)

    1.    LiGNUxero rekao je

      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

      1.    KZKG ^ Gaara rekao je

        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.

        1.    Giskard rekao je

          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.

          1.    KZKG ^ Gaara rekao je

            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 😀

          2.    Giskard rekao je

            Wiimc (Wii Media Player) prihvaća samo Samba i FTP veze.

  7.   Max Steel rekao je

    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.

  8.   LiGNUxero rekao je

    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

  9.   LiGNUxero rekao je

    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

    1.    KZKG ^ Gaara rekao je

      Hvala na savjetu 😀

  10.   Roberto rekao je

    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.

    1.    KZKG ^ Gaara rekao je

      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

  11.   Roberto rekao je

    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.

    1.    KZKG ^ Gaara rekao je

      Hvala vam na komentaru 🙂

  12.   Roberto rekao je

    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.

    1.    KZKG ^ Gaara rekao je

      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 🙂

  13.   Birkhoff rekao je

    Roberto, kako si uspio odrediti naknade koristeći ovaj objekt? Molimo podijelite informacije.
    Vrlo dobar ulaz !!

    1.    RobertoSotelo rekao je

      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/

  14.   Klaus rekao je

    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