„HowTo“: FTP paslauga naudojant „MySQL“ duomenų bazę

Nepaisant tam tikro neapibrėžtumo, kuris gali apimti „MySQL“, asmeniškai aš vis tiek norėčiau dirbti su šia DB, o ne naudoti kitą. Neturiu nieko prieš „Postgre“, tiesiog visą gyvenimą naudoju „MySQL“ ir iki šiol neturėjau priežasties permąstyti jos naudojimo.

Šį kartą mokysiu, kaip įdiegti FTP serverį, bet ne tik tai, išmokysiu ne taip kompleksiškai, kaip priversti vartotojus, slaptažodžius ir kitus vartotojo duomenis saugoti „MySQL“ duomenų bazėje, o ne paskyrose. vietinis.

Kodėl taip daroma?

Paprasta, nes atliekant atsarginę kopiją, iš naujo įdiegiant serverį ar atliekant bet kokius kitus reikšmingus pakeitimus, paslaugos perkėlimas būtų toks pat paprastas kaip ir konfigūracijos failo kopijavimas ir „MySQL“ duomenų bazės eksportavimas į FTP.

Norėdami tai pasiekti, mes naudosime Grynas-FTPd, na ... pradėkim 🙂

FTP paslaugos diegimas naudojant „Pure-FTPd“

1. Pirmas dalykas, kurį reikia padaryti, yra įdiegti paketą: grynas-ftpd-mysql

Panašiuose rajonuose debian arba dariniai: aptitude įdiegti pure-ftpd-mysql

2. Įdiegę, mes paleidome paslaugą, tačiau turime ją sustabdyti, kad sustabdytume ją tokiose sistemose kaip „Debian“ ar dariniuose, kurių pakanka:

/etc/init.d/pure-ftpd-mysql stop

Tačiau palieku jums eilutę, kuri sustabdys paslaugą, neatsižvelgiant į naudojamą distro:

ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill

Jei norite išsamiai suprasti šią eilutę, perskaitykite Šis straipsnis

Pasirengimas sąlygoms MySQL serveryje

Aš jau ne taip seniai paaiškinau, kaip sukurti duomenų bazę, vartotoją ir suteikti šiam vartotojui leidimus duomenų bazėje: Vartotojai ir „MySQL“ leidimai

Pereikime prie to, ką čia darysime? ...

1. Mes sukursime duomenų bazę taip, bet pirmiausia prieiname prie MySQL:

mysql -u root -p

Čia jie įdės šakninį slaptažodį ir jie pasieks MySQL terminalą.

2. Patekę į „MySQL“, mes kuriame duomenų bazę myftpdb:

CREATE DATABASE myftpdb;

Atkreipkite dėmesį į kabliataškį «;»Eilutės pabaigoje.

3. Dabar mes sukursime vartotoją myftpuseris ir suteiksime leidimus naudoti vartotoją duomenų bazėje, kurią ką tik sukūrėme, šis vartotojas turės slaptažodį myftppasword:

CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;

4. Pasirengę, mes sukūrėme duomenų bazę, vartotoją ir nustatėme leidimus. Dabar turime importuoti numatytąją (arba švarią) duomenų bazę, kad tai būtų baigta. Norėdami tai padaryti, pirmiausia išeikime iš „MySQL“:

exit;

Dabar atsisiųskime numatytąją duomenų bazę, kurią jums siūlau:

Pagal numatytuosius nustatymus atsisiųskite DB

Arba serveryje naudokite šią eilutę:

wget http://ftp.desdelinux.net/myftpdb.sql

Paruošta, mes jau turime tai savo serveryje, dabar belieka tik importuoti jūsų duomenis:

mysql -u root -p myftpdb < myftpdb.sql

Ir pasiruošę!

Jie taip pat gali naudoti tam tikras žiniatinklio programas, tokias kaip Administratorius o PhpMyAdmin importuoti duomenų bazę, palieku ją paragauti.

5. Viskas tam, kad būtų parengtos „MySQL“ sąlygos.

FTP susiejimas su MySQL

Na, mes jau turime įdiegę FTP paslaugą, įdiegę „MySQL“ paslaugą ir nustatę savo duomenų bazę ... dabar mums tiesiog reikia, prisijunkite prie FTP paslaugos naudodami „MySQL“.

1. Pirmiausia turime atsisiųsti konfigūracijos failą, kurį naudosime pirmiau minėtam tikslui. Į serverio terminalą įdėkime šią eilutę:

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf

2. Dabar pradedame FTP paslaugą, nurodydami ją naudoti „MySQL“ vartotojams autentifikuoti, taip pat nurodysime, kurį konfigūracijos failą naudoti prisijungiant prie „MySQL“:

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

Ir voila 😀

To pakanka įdiegti savo pačių FTP serverį, autentifikuojantį „MySQL“ duomenų baze.

Jei norite, kad visada, kai serveris paleidžiamas automatiškai, jis paleidžia FTP paslaugą, turite įdėti failą /etc/rc.local eilutė, kurią naudojame FTP vykdymui, tai yra, mes įdėjome /etc/rc.local tai:

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

Beje, galite pasiekti FTP naudodami bet kurią naršyklę, taip pat FTP klientus, pvz., „Filezilla“ ... ir ne tik tai, kad naudodami failų naršykles, tokias kaip „Nautilus“, „Dolphin“ ar „PCManFM“, taip pat galite atsisiųsti ir įkelti failus 😀

Išbandykite vartotoją, esantį duomenų bazėje

Nick: testuser

Slaptažodis: bandomasis slaptažodis

Kaip valdyti FTP vartotojus?

Na, turint omenyje, kad tai yra „MySQL“ duomenų bazė, kaip sakiau aukščiau ... pakaks naudoti PHPMyAdmin arba Adminer. Tiesiog naudokite savo mėgstamą programą valdyti duomenų bazę, kurioje yra viena lentelė: Vartotojai ... Ir jame yra vartotojai, čia yra ekrano kopija:

Jei norite sukurti naują vartotoją, galite nukopijuoti arba klonuoti esamą eilutę ir pakeisti duomenis, kurie būtų skirtingi abiems vartotojams, čia aš jums rodau ekrano kopiją:

Na ... nieko daugiau nepridėti 🙂

Tikiuosi, kad tai naudinga jums ir žinote, kad apie bet kokius klausimus ar pasiūlymus praneškite man.

saludos

PD: Šioje pamokoje naudojame duomenų bazėje išsaugotus slaptažodžius paprastu tekstu, jei norite daugiau saugumo, rekomenduoju išbandyti md5 😉


28 komentarai, palikite savo

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   „LiGNUxero“ sakė

    LABAI GERAI!!! Prieš porą savaičių aš įdiegiau tai, bet naudodamasis „vsftpd“ ir nesu įsitikinęs, todėl bandysiu tai pamatyti, kaip yra. Ačiū

    1.    KZKG ^ Gaara sakė

      Aciu, drauge.
      vsftpd nepamenu, kada paskutinį kartą jį naudojau ... dabar bus keleri metai ... jei kada nors naudosiu HAHA. Šiuo metu su „PureFTPd“ esu daugiau nei laiminga 😀

  2.   tinkamas sakė

    Labai geras indėlis!

    1.    KZKG ^ Gaara sakė

      Ačiū bendrai 😀
      Jūs darote tai, ką galite ...

  3.   Kompiuterių globėjas sakė

    Uuumm, įdomu ... perduok man DB IP, kad norėčiau turėti tą vartotojų ir slaptažodžių kolekciją po ranka 😉

    Nebūk piktas, žmogau

    1.    KZKG ^ Gaara sakė

      Aš nesupratau hehehe ... apie kokį IP ir DB tu kalbi?
      Jei norite pasakyti, kad šie duomenys, kuriuos įdėjau į mokymo programą, taip pat gali būti serveryje, taip, jūs esate teisūs ... jie yra FTP tarnyboje, esančioje mano nešiojamojo kompiuterio virtualiame kompiuteryje, ji turi LABAI gerą užkardą („iptables“) taigi ... HAHAHAHAHA, žinoma, jie nėra pikti LOL !!!

  4.   Kompiuterių globėjas sakė

    Joroña kokia joroña…. tai bus sudėtingiau, nei atrodo pasinaudojus tam tikru pažeidžiamumu ir užfiksavus tuos duomenis 😉

  5.   Algabė sakė

    Labai įdomu!! 🙂

    1.    KZKG ^ Gaara sakė

      Ačiū
      Tai bandau mus atskirti nuo kitų svetainių ... kad stengiamės pateikti ne tiek naujienų, kiek techninių straipsnių 😀

  6.   Giskardas sakė

    Ar tai greita, palyginti su Samba? (tik vietinis tinklas)

    1.    „LiGNUxero“ sakė

      kad samba ir ftp yra 2 skirtingi dalykai, ftp yra rimtas protokolas ir smb tik tam, kad palengvintų dalijimąsi tarp win ir Linux.
      Jei ieškote našumo tinkle, naudokite FTP paslaugą, kitaip naudokite „Samba“ tik be problemų

      1.    KZKG ^ Gaara sakė

        Tiksliai.
        Tarkime, kad FTP yra šiek tiek rimčiau nei Samba, bent jau mano nuomone.

        Aš visiškai neatlikau jokių etalonų, bet galbūt FTP yra šiek tiek greitesnis.

        1.    Giskardas sakė

          Ačiū. Aš naudoju „Samba“, kad iš „Wii“ konsolės (naudodamas „wiimc“) galėčiau žiūrėti filmus ir serialus, kuriuos atsisiunčiau į savo kompiuterį. Bet wiimc taip pat gali prisijungti prie ftp serverio. Aš naudojau „Samba“, nes tai buvo lengviausia, bet visada domėjausi, ar su ftp bus greičiau. Turėsiu pabandyti.

          1.    KZKG ^ Gaara sakė

            Na, jūs taip pat galite paprasčiausiai prijungti „Apache“ savo kompiuteryje, taigi „Wii“ prisijungs, jis turi būti greitesnis nei samba ... ir daug paprasčiau sukonfigūruoti nei FTP 😀

          2.    Giskardas sakė

            „Wiimc“ („Wii Media Player“) priima tik „Samba“ ir FTP ryšius.

  7.   Maxas Steelas sakė

    Puiku. Jums tiesiog reikia kažko tokio tipo straipsniams (ir apskritai svetainei), kad viskas būtų tobula; CSS šabloną, kad būtų galima spausdinti straipsnius PDF formatu arba popieriuje.

  8.   „LiGNUxero“ sakė

    Nežinau, ar tai bus mano paties, bet didelė problema yra ta, kad vartotojai gali pereiti visus katalogus, net jei aš suteikiu jiems konkretų katalogą, pvz., "/ Var / www / user_site", jei jie prisijungia per ftp turėti prieigą bet kur iš mano kompiuterio ¬¬
    tai nėra labai saugu haha

  9.   „LiGNUxero“ sakė

    ŠTAI JIS!!!
    Norėdami, kad mūsų sukurti vartotojai negalėtų naršyti per visą mūsų sistemą, paleisdami grynąjį turėtume pridėti parametrą ...

    Taigi tai, ką mes įtraukiame į /etc/rc.local, kurį įdėjote į mokymo programą, yra tai
    pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    ir jūs turite jį pakeisti šiuo kitu:
    grynas-ftpd-mysql -A-mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    Ar tai vertinama? ... Ši nauja eilutė turi parametrą -A, kuris apriboja katalogą, kuriam mes jį priskyrėme, ir nieko kito, jis gali sukurti, bet negali išsilyginti.

    D: šis mielas grynas-fptd

    1.    KZKG ^ Gaara sakė

      Ačiū už patarimą 😀

  10.   roberto sakė

    Sveiki, šiame MySQL ir FTP diegime įmanoma įdiegti kvotas, šiuo metu turiu ftp serverį su vsftpd ir neturiu problemų dėl kvotų, tačiau būdamas virtualus vartotojas (sukurtas mysql) ar kvotos galios? ir antrasis - kur saugomi vartotojų įkelti failai, tai yra, kurie yra kiekvieno vartotojo katalogai.

    1.    KZKG ^ Gaara sakė

      Teoriškai galite įgyvendinti kvotas, iš tikrųjų duomenų bazėje yra jai sukurti laukai, o FTP paslaugos konfigūracijos faile tam yra nustatytos užklausos, kurių iš tikrųjų aš dar neišbandžiau

      Apie tai, kur vartotojai įdės failus, apibrėžkite jį 5-ame lauke, žr. Ekrano kopiją: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   roberto sakė

    Labai ačiū už jūsų komentarą. Aš išbandysiu šią sistemą bandymų serveryje ir pakomentuosiu rezultatus, tikiuosi, kad galiu, nes tai puikus metodas, kai viskas tvarkinga, o su RAID turite stabilią atsarginės sistemos sistemą : D.

    1.    KZKG ^ Gaara sakė

      Ačiū jums už komentarą 🙂

  12.   roberto sakė

    Turiu klausimą, aš jau spėjau įdiegti „pure-ftp“ su „mysql“ ir kvotomis. Dabar kyla klausimas, kaip aš galiu sustabdyti sąskaitą iš pačios „mysql“ lentelės, nekeisdamas jos vartotojo slaptažodžio ar įkeltų failų.

    1.    KZKG ^ Gaara sakė

      Galiu sugalvoti du būdus, paprasčiausias yra pakeisti vertę statusas nuo 1 iki 0, teoriškai, jei ji yra 0, paskyra išaktyvinta, pabandykite tai ir pasakykite man 🙂

  13.   Birkhoffas sakė

    Roberto, kaip pavyko nustatyti mokesčius naudojantis šia galimybe? Prašau pasidalinti informacija.
    Labai geras patekimas !!

    1.    Roberto Sotelo sakė

      Birkhoffai, tik asmeniniame tinklaraštyje sukūriau temą apie tai, palieku nuorodą peržiūrėti:

      http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/

  14.   Klaus sakė

    sveikinimai:

    Bandau laikytis visko, bet gaunu klaidą 501 ir visų pirma noriu nurodyti faktą, kad slaptažodis neteisingas, kai žinau, kad jis gerai