HowTo: Serbisyo ng FTP gamit ang MySQL database

Sa kabila ng ilang kawalang katiyakan na maaaring pumapalibot sa MySQL, personal na mas gusto ko pa rin ang pagtatrabaho sa DB na ito kaysa sa paggamit ng iba pa. Wala akong laban sa Postgre, simpleng ginamit ko ang MySQL sa isang buhay, at hanggang ngayon wala akong dahilan upang pag-isipang muli ang paggamit nito.

Sa oras na ito ay tuturuan kita kung paano mag-install ng isang FTP server, ngunit hindi lamang iyon, tuturuan kita sa isang hindi gaanong kumplikadong paraan, kung paano gawin ang mga gumagamit, password at iba pang data ng gumagamit na nakaimbak sa isang MySQL database, at hindi sa mga account lokal

Bakit ganito ganito?

Simple, dahil kapag gumagawa ng isang backup, muling pag-install ng isang server o anumang iba pang makabuluhang pagbabago, ang paglilipat ng serbisyo ay magiging kasing simple ng pagkopya ng isang file ng pagsasaayos, at pag-export ng MySQL database sa FTP.

Upang makamit ito gagamitin namin Puro-FTPd, well ... magsimula na tayo 🙂

Pag-install ng serbisyo ng FTP gamit ang Pure-FTPd

1. Ang unang bagay na dapat gawin ay i-install ang package: puro-ftpd-mysql

Sa mga distro tulad Debian o derivatives: kakayahan i-install ang purong-ftpd-MySQL

2. Kapag na-install, sinimulan namin ang serbisyo ngunit dapat namin itong ihinto, upang ihinto ito sa mga system tulad ng Debian o derivatives, sapat na upang:

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

Gayunpaman, iniiwan ko sa iyo ang isang linya na titigil sa serbisyo anuman ang distro na iyong ginagamit:

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

Kung nais mong maunawaan ang linyang ito nang detalyado, basahin Ang artikulong ito

Paghahanda ng mga kundisyon sa MySQL server

Naipaliwanag ko na hindi pa nakakalipas kung paano lumikha ng isang database, isang gumagamit at bigyan ang mga pahintulot ng gumagamit sa database: Mga gumagamit at pahintulot sa MySQL

Tumuloy na tayo sa ano ang gagawin natin dito? ...

1. Lilikha kami ng isang database oo, ngunit unang na-access namin ang MySQL:

mysql -u root -p

Dito inilagay nila ang root password at mai-access nila ang MySQL terminal.

2. Kapag nasa loob ng MySQL nagpapatuloy kami upang likhain ang database myftpdb:

CREATE DATABASE myftpdb;

Pansinin ang semicolon «;»Sa pagtatapos ng linya.

3. Ngayon ay lilikha kami ng gumagamit Myftpuser at bibigyan namin ng mga pahintulot na gamitin ang gumagamit sa database na nilikha namin, ang gumagamit na ito ay magkakaroon ng password myftppassword:

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

4. Handa na, nilikha namin ang database, ang gumagamit at itinakda ang mga pahintulot. Ngayon ay dapat nating i-import ang default (o malinis) na database upang maging kumpleto ito. Upang magawa ito, lumabas muna tayo sa MySQL:

exit;

Ngayon i-download natin ang default na database na inaalok ko sa iyo:

I-download ang DB bilang default

O sa server gamitin ang sumusunod na linya:

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

Handa na, mayroon na kami sa aming server, nananatili lamang itong i-import ang iyong data:

mysql -u root -p myftpdb < myftpdb.sql

At handa na!

Maaari din silang gumamit ng ilang web application tulad ng Admin o Phpmyadmin upang mai-import ang database, iniiwan ko ito upang tikman.

5. At ito ang lahat upang magkaroon ng mga kundisyon ng aming MySQL na handa na.

Sumali sa FTP sa MySQL

Sa gayon, mayroon na kaming naka-install na serbisyo ng FTP, naka-install ang serbisyo ng MySQL at sa aming set ng database ... kailangan lang namin, sumali sa serbisyo ng FTP sa MySQL.

1. Una dapat naming i-download ang file ng pagsasaayos na gagamitin namin para sa nabanggit. Sa terminal ng server ilagay natin ang sumusunod na linya:

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

2. Sinimulan namin ang serbisyo ng FTP na nagsasabi dito na gagamitin upang patunayan ang mga gumagamit ng MySQL, at isasaad din namin kung aling file ng pagsasaayos ang gagamitin upang kumonekta sa MySQL:

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

At voila 😀

Sapat na ito upang mai-install ang aming sariling server ng FTP na nagpapatotoo sa isang MySQL database.

Kung nais mo na tuwing magsisimula ang server nang awtomatiko sinisimulan nito ang serbisyo ng FTP, dapat mong ilagay sa file /etc/rc.local ang linya na ginagamit namin upang maipatupad ang FTP, iyon ay, inilalagay namin /etc/rc.local ito:

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

Sa pamamagitan ng paraan, maaari mong ma-access ang FTP gamit ang anumang browser, pati na rin ang mga FTP client tulad ng Filezilla ... at hindi lamang iyon, gamit ang mga file browser tulad ng Nautilus, Dolphin o PCManFM maaari mo ring i-download at i-upload ang mga file 😀

Subukan ang gumagamit na nasa database

Username: testuser

password: TestPassword

Paano pamahalaan ang mga gumagamit ng FTP?

Kaya, isinasaalang-alang na ito ay isang database ng MySQL, tulad ng sinabi ko sa itaas ... ang paggamit ng PHPMyAdmin o Adminer ay sapat na. Gamitin lamang ang iyong paboritong application upang pamahalaan ang database, na naglalaman ng isang solong talahanayan: gumagamit ... at dito ay ang mga gumagamit, narito ang isang screenshot:

Kung nais mong lumikha ng isang bagong gumagamit, maaari mong madoble o i-clone ang mayroon nang linya at baguhin ang data na magiging magkakaiba sa pagitan ng parehong mga gumagamit, narito ipakita ko sa iyo ang isang screenshot:

Well ... wala nang maidaragdag 🙂

Inaasahan kong kapaki-pakinabang ito sa iyo at alam mo, anumang mga katanungan o mungkahi ipaalam sa akin.

Regards

PD: Sa tutorial na ito gumagamit kami ng mga password na naka-save sa database sa simpleng teksto, kung nais mo ng karagdagang seguridad inirerekumenda kong subukan mo ang md5 😉


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   LiGNUxer dijo

    NAPAKA MAGANDA !!! Ilang linggo na ang nakalilipas na ini-install ko ito ngunit sa vsftpd at hindi ako kumbinsido kaya susubukan ko ito upang makita kung paano ito. Salamat

    1.    KZKG ^ Gaara dijo

      Salamat kaibigan.
      vsftpd Hindi ko maalala kung kailan ako huling nagamit ... ilang taon na ang nakakalipas, ... kung nagamit ko man HAHA. Sa sandaling ito sa PureFTPd mas masaya ako 😀

  2.   angkop dijo

    Napakagandang kontribusyon!

    1.    KZKG ^ Gaara dijo

      Salamat compa 😀
      Ginagawa mo ang kaya mo lol….

  3.   Tagapangalaga ng Computer dijo

    Uuumm, kagiliw-giliw ... ipasa sa akin ang IP ng DB na nais kong magkaroon ng koleksyon ng mga gumagamit at password sa kamay 😉

    Huwag kang maging masama, tao

    1.    KZKG ^ Gaara dijo

      Hindi ko naintindihan hehehe ... ano ang IP at DB na iyong pinag-uusapan?
      Kung nais mong sabihin na ang data na ito na inilagay ko sa tutorial ay maaari ding nasa isang server, oo naroroon ka ... ang mga ito ay nasa isang serbisyo ng FTP sa isang virtual PC sa aking laptop, mayroon itong isang napakahusay na firewall (iptables) so… HAHAHAHAHA syempre wag kang masama LOL !!!

  4.   Tagapangalaga ng Computer dijo

    Joroña what a joroña…. Mas magiging kumplikado ito kaysa sa tila sinasamantala ang ilang kahinaan at makuha ang data na iyon 😉

  5.   Algave dijo

    Napakainteres !! 🙂

    1.    KZKG ^ Gaara dijo

      Salamat sa iyo
      Ito ang sinusubukan kong makilala kami mula sa iba pang mga site ... na sinusubukan naming maglagay ng hindi gaanong maraming balita ngunit bilang mga teknikal na artikulo 😀

  6.   giskard dijo

    Gaano kabilis ito kumpara sa Samba? (lokal na network lamang)

    1.    LiGNUxer dijo

      na ang samba at ftp ay 2 magkakaibang bagay, ang ftp ay isang seryosong protocol at smb upang mapadali ang pagbabahagi sa pagitan ng manalo at linux.
      Kung naghahanap ka para sa pagganap sa network, gumamit ng isang serbisyo ng FTP, kung hindi man ay gumamit ng samba nang walang mga problema

      1.    KZKG ^ Gaara dijo

        Sakto
        Sabihin nating ang FTP ay medyo seryoso kaysa sa Samba, hindi bababa sa palagay ko ito.

        Hindi ko pa nai-benchmark ang mas kaunti, ngunit marahil ang FTP ay medyo mas mabilis.

        1.    giskard dijo

          Salamat. Gumagamit ako ng Samba upang mula sa aking Wii console (gamit ang wiimc) maaari akong manuod ng mga pelikula at serye na nai-download ko sa aking computer. Ngunit ang wiimc ay maaari ring kumonekta sa isang ftp server. Ginamit ko ang Samba dahil ito ang pinakamadali, ngunit palagi akong naintriga kung magiging mas mabilis ito sa ftp. Kailangan kong subukan.

          1.    KZKG ^ Gaara dijo

            Sa gayon, maaari mo ring mai-mount ang Apache sa iyong PC, at sa gayon ang Wii ay kumonekta, dapat itong mas mabilis kaysa sa samba ... at mas simple na i-configure kaysa sa FTP 😀

          2.    giskard dijo

            Ang wiimc (isang Wii Media Player) ay tumatanggap lamang ng mga koneksyon ng Samba at FTP.

  7.   MaxSteel dijo

    Napakahusay Kailangan mo lamang ng isang bagay sa mga ganitong uri ng mga artikulo (at ang site sa pangkalahatan) upang gawing perpekto ang lahat; isang template ng CSS upang mai-print ang mga artikulo sa PDF o sa papel.

  8.   LiGNUxer dijo

    Hindi ko alam kung magiging sarili ko ito, ngunit ang malaking problema dito ay ang mga gumagamit ay maaaring dumaan sa lahat ng mga direktoryo kahit na bibigyan ko sila ng isang tukoy na direktoryo tulad ng "/ var / www / user_site" kung kumonekta sila sa pamamagitan ng ftp sila may access sa kahit saan mula sa aking pc ¬¬
    hindi yan masyadong ligtas haha

  9.   LiGNUxer dijo

    HETO NA!!!
    Upang mapigilan ang mga gumagamit na nilikha namin na mai-navigate sa aming buong system, dapat naming idagdag ang parameter na "-A" kapag inilulunsad ang purong ...

    Kaya kung ano ang idaragdag namin sa /etc/rc.local na inilagay mo sa tutorial ay ito
    puro-ftpd-MySQL -l MySQL: /etc/pure-ftpd/pure-ftpd-mysql.conf

    at kailangan mong palitan ito ng iba pa:
    puro-ftpd-MySQL -A -l MySQL: /etc/pure-ftpd/pure-ftpd-mysql.conf

    Pinahahalagahan ba ito? ... Ang bagong linya na ito ay may -A parameter upang paghigpitan ang direktoryo lamang kung saan namin ito itatalaga at wala nang iba pa, maaari itong likhain ngunit hindi ito maaaring mag-level up.

    D: ang cute na purong-fptd na ito

    1.    KZKG ^ Gaara dijo

      Salamat sa tip 😀

  10.   Roberto dijo

    Kumusta, posible na ipatupad ang mga quota sa pagpapatupad ng MySQL at FTP na ito, kasalukuyang mayroon akong isang ftp server na may vsftpd at wala akong problema sa mga quota, ngunit ang pagiging isang virtual na gumagamit (nilikha sa MySQL) ay magiging wasto ang mga quota? at ang pangalawa ay kung saan nakaimbak ang mga file na nai-upload ng mga gumagamit, iyon ay, alin ang mga direktoryo ng bawat gumagamit.

    1.    KZKG ^ Gaara dijo

      Sa teorya, maaari kang magpatupad ng mga quota, sa katunayan ang database ay may mga patlang na nilikha para dito, at ang file ng pagsasaayos ng serbisyo ng FTP ay may mga itinakdang mga query para dito, na sa katunayan hindi ko ito nasubukan

      Tungkol sa kung saan ilalagay ng mga gumagamit ang mga file, tinukoy mo ito sa ika-5 na patlang, tingnan ang screenshot: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   Roberto dijo

    Maraming salamat sa iyong komento, susubukan ko ang sistemang ito sa isang server ng pagsubok at magkomento sa mga resulta, inaasahan kong makakaya dahil ito ay isang mahusay na pamamaraan upang maayos ang lahat, at sa isang RAID mayroon kang isang matatag na backup sistema: D.

    1.    KZKG ^ Gaara dijo

      Salamat sa iyo para sa komento 🙂

  12.   Roberto dijo

    Mayroon akong isang katanungan, nakapag-install na ako ng pure-ftp gamit ang MySQL at mga quota, ang isyu ngayon ay paano ko masuspinde ang isang account mula sa mismong talahanayan ng MySQL, nang hindi binabago ang password ng gumagamit nito o na-upload na mga file.

    1.    KZKG ^ Gaara dijo

      Maaari akong mag-isip ng dalawang paraan, ang pinakasimpleng baguhin ang halaga ng katayuan mula 1 hanggang 0, sa teorya kung nasa 0 ang account ay na-deactivate, subukan ito at sabihin sa akin 🙂

  13.   birkhoff dijo

    Roberto, paano mo nagawang itakda ang mga bayarin gamit ang pasilidad na ito? Mangyaring ibahagi ang impormasyon.
    Napakagandang entry !!

    1.    Roberto Sotelo dijo

      Birkhoff, sa aking personal na blog lumikha ako ng isang paksa tungkol doon, iniiwan ko ang link para suriin mo:

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

  14.   Klaus dijo

    Salamat!

    Sinusubukan kong sundin ang lahat ngunit nakakuha ako ng error 501 at higit sa lahat upang mag-refer sa katotohanan na ang password ay hindi tama kapag alam kong maayos ito