HowTo: Perkhidmatan FTP menggunakan pangkalan data MySQL

Walaupun terdapat beberapa ketidakpastian yang mungkin mengelilingi MySQL, secara peribadi saya masih lebih suka bekerja dengan DB ini daripada menggunakan yang lain. Saya tidak mempunyai apa-apa terhadap Postgre, saya hanya menggunakan MySQL untuk seumur hidup, dan sehingga kini saya tidak mempunyai alasan untuk memikirkan semula penggunaannya.

Kali ini saya akan mengajar anda cara memasang pelayan FTP, tetapi bukan hanya itu, saya akan mengajar anda dengan cara yang tidak begitu rumit, bagaimana membuat pengguna, kata laluan dan data pengguna lain disimpan dalam pangkalan data MySQL, dan bukan dalam akaun tempatan.

Kenapa begini?

Sederhana, kerana ketika membuat cadangan, memasang kembali pelayan atau perubahan penting lainnya, memindahkan perkhidmatan akan semudah menyalin file konfigurasi, dan mengeksport pangkalan data MySQL ke FTP.

Untuk mencapai ini, kami akan menggunakan Tulen-FTPd, baiklah ... mari kita mulakan 🙂

Memasang perkhidmatan FTP dengan Pure-FTPd

1. Perkara pertama yang perlu dilakukan ialah memasang pakej: tulen-ftpd-mysql

Di distro seperti Debian atau derivatif: kemampuan memasang pure-ftpd-mysql

2. Setelah dipasang, kami memulakan perkhidmatan tetapi kami mesti menghentikannya, untuk menghentikannya pada sistem seperti Debian atau derivatif, cukup untuk:

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

Walau bagaimanapun, saya memberikan anda talian yang akan menghentikan perkhidmatan tanpa mengira distro yang anda gunakan:

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

Sekiranya anda ingin memahami baris ini secara terperinci, baca artikel ini

Menyiapkan syarat pada pelayan MySQL

Saya sudah lama menerangkan bagaimana membuat pangkalan data, pengguna dan memberikan kebenaran pengguna dalam pangkalan data: Pengguna dan kebenaran dalam MySQL

Mari beralih ke apa yang akan kita lakukan di sini? ...

1. Kami akan membuat pangkalan data ya, tetapi pertama kali kami mengakses MySQL:

mysql -u root -p

Di sini mereka meletakkan kata laluan root dan mereka akan mengakses terminal MySQL.

2. Setelah masuk ke dalam MySQL, kami terus membuat pangkalan data myftpdb:

CREATE DATABASE myftpdb;

Perhatikan titik koma «;»Di hujung talian.

3. Sekarang kita akan membuat pengguna myftpuser dan kami akan memberikan izin untuk menggunakan pengguna pada pangkalan data yang baru kami buat, pengguna ini akan mempunyai kata laluan kata kunci myftppass:

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

4. Sedia, kami telah membuat pangkalan data, pengguna dan menetapkan kebenaran. Sekarang kita mesti mengimport pangkalan data lalai (atau bersih) agar ini lengkap. Untuk melakukan ini, mari keluar dari MySQL:

exit;

Sekarang mari kita muat turun pangkalan data lalai yang saya tawarkan kepada anda:

Muat turun DB secara lalai

Atau pada pelayan gunakan baris berikut:

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

Sudah siap, kami sudah memilikinya di pelayan kami, sekarang hanya tinggal mengimport data anda:

mysql -u root -p myftpdb < myftpdb.sql

Dan bersedia!

Mereka juga boleh menggunakan beberapa aplikasi web seperti Pentadbir o phpMyAdmin untuk mengimport pangkalan data, saya membiarkannya secukupnya.

5. Ini semua untuk memastikan syarat MySQL kami siap.

Bergabung dengan FTP dengan MySQL

Baiklah, kita sudah memasang perkhidmatan FTP, perkhidmatan MySQL dipasang dan dengan pangkalan data kita ... sekarang kita hanya perlu, sertai perkhidmatan FTP dengan MySQL.

1. Mula-mula kita mesti memuat turun fail konfigurasi yang akan kita gunakan untuk yang disebutkan di atas. Di terminal pelayan mari letakkan baris berikut:

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

2. Sekarang kita memulakan perkhidmatan FTP yang memberitahunya untuk digunakan untuk mengesahkan pengguna MySQL, dan kita juga akan menunjukkan file konfigurasi mana yang akan digunakan untuk menyambung ke MySQL:

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

Dan voila 😀

Ini cukup untuk memasang pelayan FTP kita sendiri yang mengesahkan dengan pangkalan data MySQL.

Sekiranya anda mahukan bahawa setiap kali pelayan bermula secara automatik, ia memulakan perkhidmatan FTP, anda mesti memasukkan fail tersebut /etc/rc.local garis yang kita gunakan untuk melaksanakan FTP, iaitu, kita masukkan /etc/rc.local ini:

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

Ngomong-ngomong, anda boleh mengakses FTP menggunakan penyemak imbas apa pun, serta klien FTP seperti Filezilla ... dan bukan hanya itu, dengan menggunakan penyemak imbas fail seperti Nautilus, Dolphin atau PCManFM anda juga dapat memuat turun dan memuat naik fail 😀

Uji pengguna yang berada di pangkalan data

Nama pengguna: testuser

kata laluan: kata laluan ujian

Bagaimana menguruskan pengguna FTP?

Nah, memandangkan itu adalah pangkalan data MySQL, seperti yang saya katakan di atas ... menggunakan PHPMyAdmin atau Adminer akan mencukupi. Cukup gunakan aplikasi kegemaran anda untuk menguruskan pangkalan data, yang mengandungi satu jadual: pengguna ... dan di dalamnya adalah pengguna, berikut adalah tangkapan skrin:

Sekiranya anda ingin membuat pengguna baru, anda boleh menggandakan atau mengklon baris yang ada dan mengubah data yang akan berbeza antara kedua-dua pengguna, di sini saya tunjukkan tangkapan skrin:

Baiklah ... tidak perlu ditambah lagi 🙂

Saya harap ini berguna untuk anda dan anda tahu, sebarang pertanyaan atau cadangan memberitahu saya.

salam

P.S: Dalam tutorial ini kami menggunakan kata laluan yang disimpan dalam pangkalan data dalam teks biasa, jika anda mahukan lebih banyak keselamatan, saya cadangkan anda mencuba md5 😉


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   LiGNUxer kata

    SANGAT BAGUS!!! Beberapa minggu yang lalu saya memasang ini tetapi dengan vsftpd dan saya tidak yakin jadi saya akan mencuba ini untuk melihat bagaimana keadaannya. Terima kasih

    1.    KZKG ^ Gaara kata

      Terima kasih kawan.
      vsftpd Saya tidak ingat kapan terakhir kali saya menggunakannya ... akan beberapa tahun sekarang, ... jika saya pernah menggunakannya HAHA. Pada masa ini dengan PureFTPd saya lebih gembira 😀

  2.   betul kata

    Sumbangan yang sangat baik!

    1.    KZKG ^ Gaara kata

      Terima kasih kompa 😀
      Anda melakukan apa yang anda boleh lol….

  3.   Penjaga Komputer kata

    Uuumm, menarik ... lulus saya IP DB yang saya ingin mempunyai koleksi pengguna dan kata laluan di tangan 😉

    Jangan jahat, kawan

    1.    KZKG ^ Gaara kata

      Saya tidak faham hehehe ... IP dan DB apa yang anda bicarakan?
      Sekiranya anda bermaksud bahawa data-data yang saya masukkan dalam tutorial ini mungkin juga ada di pelayan, ya di sana anda benar ... mereka berada dalam perkhidmatan FTP pada PC maya di komputer riba saya, ia mempunyai firewall yang sangat bagus (iptables) jadi ... HAHAHAHAHA tentu mereka tidak jahat LOL !!!

  4.   Penjaga Komputer kata

    Joroña apa joroña…. Ia akan menjadi lebih rumit daripada nampaknya memanfaatkan beberapa kelemahan dan menangkap data itu 😉

  5.   Algave kata

    Sungguh menarik!! 🙂

    1.    KZKG ^ Gaara kata

      Terima kasih
      Inilah yang saya cuba membezakan kami dari laman web yang lain ... yang kami cuba masukkan bukan begitu banyak berita tetapi sebagai artikel teknikal 😀

  6.   giskard kata

    Seberapa pantas ini dibandingkan dengan Samba? (rangkaian tempatan sahaja)

    1.    LiGNUxer kata

      bahawa samba dan ftp adalah 2 perkara yang berbeza, ftp adalah protokol serius dan smb hanya untuk memudahkan perkongsian antara win dan linux.
      Sekiranya anda mencari prestasi di rangkaian, gunakan perkhidmatan FTP, jika tidak, gunakan samba tanpa masalah

      1.    KZKG ^ Gaara kata

        Tepat.
        Katakan bahawa FTP sedikit lebih serius daripada Samba, sekurang-kurangnya pada pendapat saya.

        Saya sama sekali tidak melakukan penanda aras, tetapi mungkin FTP sedikit lebih pantas.

        1.    giskard kata

          Terima kasih. Saya menggunakan Samba sehingga dari konsol Wii saya (menggunakan wiimc) saya dapat menonton filem dan siri yang saya muat turun ke komputer saya. Tetapi wiimc juga dapat menyambung ke pelayan ftp. Saya menggunakan Samba kerana itu adalah yang paling mudah, tetapi saya selalu tertarik jika ia lebih pantas dengan ftp. Saya mesti mencuba.

          1.    KZKG ^ Gaara kata

            Anda juga boleh memasang Apache pada PC anda, dan supaya Wii menyambung, ini mesti lebih cepat daripada samba ... dan lebih mudah dikonfigurasikan daripada FTP 😀

          2.    giskard kata

            Wiimc (Pemain Media Wii) hanya menerima sambungan Samba dan FTP.

  7.   Keluli Maksimum kata

    Cemerlang. Jenis artikel ini (dan laman web secara umum) hanya memerlukan sesuatu untuk menjadikan semuanya sempurna; templat CSS untuk dapat mencetak artikel ke PDF atau di atas kertas.

  8.   LiGNUxer kata

    Saya tidak tahu apakah itu akan menjadi milik saya, tetapi masalah besar dengan ini ialah pengguna dapat melalui semua direktori walaupun saya memberikan mereka direktori tertentu seperti "/ var / www / user_site" jika mereka berhubung dengan ftp mereka mempunyai akses ke mana saja dari komputer saya ¬
    itu tidak selamat haha

  9.   LiGNUxer kata

    INI DIA!!!
    Untuk mengelakkan pengguna yang kita buat tidak dapat menavigasi seluruh sistem kita, kita mesti menambahkan parameter "-A" ketika melancarkan ...

    Oleh itu, apa yang kami tambahkan pada /etc/rc.local yang anda masukkan dalam tutorial adalah ini
    tulen-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    dan anda harus menggantinya dengan yang lain:
    tulen-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    Adakah dihargai? ... Baris baru ini mempunyai parameter -A untuk membatasi direktori hanya yang kami tetapkan dan tidak ada yang lain, ia boleh dibuat tetapi tidak dapat naik level.

    D: fptd tulen yang comel ini

    1.    KZKG ^ Gaara kata

      Terima kasih atas petua 😀

  10.   Roberto kata

    Halo, mungkin untuk melaksanakan kuota dalam pelaksanaan MySQL dan FTP ini, saya sekarang mempunyai pelayan ftp dengan vsftpd dan saya tidak mempunyai masalah dengan kuota, tetapi menjadi pengguna maya (dibuat di mysql) adakah kuota akan sah? dan yang kedua adalah di mana fail yang diunggah oleh pengguna disimpan, iaitu direktori setiap pengguna.

    1.    KZKG ^ Gaara kata

      Secara teori anda boleh melaksanakan kuota, sebenarnya pangkalan data mempunyai bidang yang dibuat untuknya, dan fail konfigurasi perkhidmatan FTP mempunyai pertanyaan yang ditetapkan untuk ini, yang sebenarnya saya belum menguji ini 😉

      Mengenai tempat pengguna meletakkan fail, anda menentukannya di medan ke-5, lihat tangkapan skrin: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   Roberto kata

    Terima kasih banyak atas komen anda, saya akan menguji sistem ini pada pelayan ujian dan memberi komen mengenai hasilnya, mudah-mudahan saya dapat kerana ini adalah kaedah yang bagus untuk mengatur semuanya, dan dengan RAID, anda mempunyai sistem sandaran yang stabil : D.

    1.    KZKG ^ Gaara kata

      Terima kasih atas komen anda 🙂

  12.   Roberto kata

    Saya mempunyai soalan, saya sudah berjaya memasang ftp-murni dengan mysql dan kuota, masalahnya sekarang ialah bagaimana saya boleh menangguhkan akaun dari jadual mysql itu sendiri, tanpa mengubah kata laluan penggunanya atau fail yang dimuat naik.

    1.    KZKG ^ Gaara kata

      Saya boleh memikirkan dua cara, yang paling mudah adalah menukar nilai status dari 1 hingga 0, secara teori jika pada 0 akaun dinyahaktifkan, cuba ini dan beritahu saya 🙂

  13.   birkhoff kata

    Roberto, bagaimana anda berjaya menetapkan bayaran menggunakan kemudahan ini? Sila kongsi maklumat.
    Kemasukan yang sangat baik !!

    1.    Roberto Sotelo kata

      Birkhoff, di blog peribadi saya, saya membuat topik mengenai perkara itu, saya meninggalkan pautan untuk anda ulas:

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

  14.   Klaus kata

    Terima kasih!

    Saya cuba mengikuti semuanya tetapi saya mendapat ralat 501 dan yang paling penting untuk merujuk kepada fakta bahawa kata laluan tidak betul apabila saya tahu bahawa itu baik-baik saja