ハウツー:MySQLデータベースを使用したFTPサービス

MySQLを取り巻くいくつかの不確実性にもかかわらず、個人的には、他のDBを使用するよりもこのDBを使用する方が好きです。 私はPostgreに反対することは何もありません。私は、MySQLを一生使用しただけで、今までその使用を再考する理由はありませんでした。

今回はFTPサーバーのインストール方法を説明しますが、それだけでなく、ユーザー、パスワード、その他のユーザーデータをアカウントではなくMySQLデータベースに保存する方法をそれほど複雑ではない方法で説明します。地元。

なぜこれがこのようになるのですか?

シンプルです。バックアップを作成したり、サーバーを再インストールしたり、その他の重要な変更を加えたりする場合、サービスの移動は、構成ファイルをコピーしてMySQLデータベースをFTPにエクスポートするのと同じくらい簡単です。

これを達成するために、 純粋なFTPd、まあ...始めましょう🙂

Pure-FTPdを使用したFTPサービスのインストール

1. 最初に行うことは、パッケージをインストールすることです。 純粋なftpd-mysql

のようなディストロで Debianの または派生物: aptitude インストール pure-ftpd-mysql

2. インストールすると、サービスが開始されましたが、Debianや派生物などのシステムで停止するには、サービスを停止する必要があります。

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

ただし、使用するディストリビューションに関係なく、サービスを停止する回線を残しておきます。

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

この行を詳しく理解したい場合は、 この記事

MySQLサーバーでの条件の準備

データベースとユーザーを作成し、データベース内でそのユーザーに権限を付与する方法については、少し前に説明しました。 MySQLのユーザーと権限

ここで何をするかに移りましょう。 ..。

1. はい、データベースを作成しますが、最初にMySQLにアクセスします。

mysql -u root -p

ここにrootパスワードを入力すると、MySQLターミナルにアクセスします。

2. MySQLに入ったら、データベースの作成に進みます myftpdb:

CREATE DATABASE myftpdb;

セミコロンに注意してください«;»行の終わり。

3. 次に、ユーザーを作成します myftpuser 作成したデータベースでユーザーを使用するためのアクセス許可を付与します。このユーザーはパスワードとして使用できます myftppassword:

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

4. これで、データベースとユーザーを作成し、権限を設定しました。 これを完了するには、デフォルトの(またはクリーンな)データベースをインポートする必要があります。 これを行うには、最初にMySQLを終了しましょう。

exit;

それでは、私が提供するデフォルトのデータベースをダウンロードしましょう。

デフォルトでDBをダウンロード

または、サーバーで次の行を使用します。

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

準備ができました。すでにサーバーにあります。データをインポートするだけです。

mysql -u root -p myftpdb < myftpdb.sql

そして準備ができました!

彼らはまたのようないくつかのウェブアプリケーションを使用することができます 管理者 o PHPMyAdminの データベースをインポートするために、私はそれを好みに任せます。

5. そして、これでMySQLの条件を整えることができます。

MySQLでFTPに参加する

さて、私たちはすでにFTPサービスをインストールし、MySQLサービスをインストールし、データベースを設定しました...今必要なのは MySQLでFTPサービスに参加する.

1. まず、前述の目的で使用する構成ファイルをダウンロードする必要があります。 サーバー端末に次の行を入力しましょう。

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

2. 次に、MySQLユーザーの認証に使用するように指示するFTPサービスを開始し、MySQLへの接続に使用する構成ファイルも指定します。

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

そして出来上がり😀

これは、MySQLデータベースで認証する独自のFTPサーバーをインストールするのに十分です。

サーバーが自動的に起動するたびにFTPサービスを開始する場合は、ファイルに入力する必要があります。 /etc/rc.local FTPを実行するために使用する行、つまり、 /etc/rc.local この:

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

ちなみに、FTPには、FilezillaなどのFTPクライアントだけでなく、任意のブラウザを使用してアクセスできます。それだけでなく、Nautilus、Dolphin、PCManFMなどのファイルブラウザを使用して、ファイルをダウンロードおよびアップロードすることもできます😀

データベースにいるユーザーをテストします

ユーザー名: テストユーザー

パスワード: テストパスワード

FTPユーザーを管理する方法は?

さて、私が上で言ったように、それがMySQLデータベースであることを考えると... PHPMyAdminまたはAdminerを使用することで十分です。 お気に入りのアプリケーションを使用して、単一のテーブルを含むデータベースを管理するだけです。 users ...そしてその中にユーザーがいます、ここにスクリーンショットがあります:

新しいユーザーを作成する場合は、既存の行を複製または複製して、両方のユーザー間で異なるデータを変更できます。ここにスクリーンショットを示します。

ええと...追加するものは何もありません🙂

これがお役に立てば幸いです。ご不明な点やご提案がございましたら、お気軽にお問い合わせください。

よろしく

PD: このチュートリアルでは、データベースにプレーンテキストで保存されているパスワードを使用します。セキュリティを強化したい場合は、md5を試すことをお勧めします😉


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   リグヌクセロ

    とても良い!!! 数週間前にこれをインストールしていましたが、vsftpdを使用していて、確信が持てないので、これを試してみて、どのようになるかを確認します。 ありがとうございました

    1.    KZKG ^我愛羅

      あなたの友人に感謝。
      vsftpd最後に使ったのはいつだったか覚えていません...もう数年になるでしょう...もし私がそれを使ったことがあればHAHA。 PureFTPdを使用している現在、私はとても幸せです😀

  2.   適切な

    非常に良い貢献!

    1.    KZKG ^我愛羅

      ありがとうコンパ😀
      あなたはあなたが笑うことができることをします…。

  3.   コンピューターガーディアン

    うーん、おもしろい...ユーザーとパスワードのコレクションを手元に置いておきたいDBのIPを渡してください😉

    邪悪になるな、男

    1.    KZKG ^我愛羅

      heheheを理解していませんでした…どのIPとDBについて話しているのですか?
      チュートリアルで入力したこのデータもサーバー上にある可能性があることを意味する場合は、そうです...それらは私のラップトップ上の仮想PC上のFTPサービスにあり、非常に優れたファイアウォール(iptables)を備えていますだから…ハハハハハはもちろん邪悪な笑ではありません!!!

  4.   コンピューターガーディアン

    Joroñaなんてjoroña…。 いくつかの脆弱性を利用してそのデータをキャプチャするように見えるよりも複雑になります😉

  5.   アルガベ

    とても興味深い!! 🙂

    1.    KZKG ^我愛羅

      ありがとう
      これは私が他のサイトから私たちを区別しようとしていることです...私たちはそれほど多くのニュースではなく技術的な記事として掲載しようとしています😀

  6.   ギスカード

    これはSambaと比較してどれくらい速いですか? (ローカルネットワークのみ)

    1.    リグヌクセロ

      sambaとftpは2つの異なるものであり、ftpは深刻なプロトコルであり、winとlinux間の共有を容易にするためのsmbです。
      ネットワークでのパフォーマンスを求めている場合は、FTPサービスを使用してください。それ以外の場合は、問題なくsambaを使用してください。

      1.    KZKG ^我愛羅

        正確です。
        FTPはSambaよりも少し深刻だとしましょう。少なくとも私の意見ではそうです。

        ベンチマークはまったく行っていませんが、FTPの方が少し速いかもしれません。

        1.    ギスカード

          ありがとうございました。 私はSambaを使用して、Wiiコンソールから(wiimcを使用して)コンピューターにダウンロードした映画やシリーズを見ることができます。 ただし、wiimcはftpサーバーに接続することもできます。 最も簡単だったのでSambaを使用しましたが、ftpを使用した方が速いかどうか常に興味をそそられました。 私は試してみる必要があります。

          1.    KZKG ^我愛羅

            ええと、あなたは単にあなたのPCにApacheをマウントすることもできます、そしてそれでWiiは接続するでしょう、それはsambaより速くなければなりません...そしてFTPより設定するのがはるかに簡単です😀

          2.    ギスカード

            wiimc(Wii Media Player)は、SambaおよびFTP接続のみを受け入れます。

  7.   マックススチール

    優秀な。 このタイプの記事(および一般的なサイト)は、すべてを完璧にするために何かを必要とするだけです。 記事をPDFまたは紙に印刷できるCSSテンプレート。

  8.   リグヌクセロ

    自分のものかどうかはわかりませんが、ftpで接続すれば「/ var / www / user_site」のような特定のディレクトリを与えても、ユーザーがすべてのディレクトリを経由できるという大きな問題があります。私のPCからどこにでもアクセスできます¬¬
    それはあまり安全ではありません笑

  9.   リグヌクセロ

    ここにあります!!!
    作成したユーザーがシステム全体をナビゲートできないようにするには、純粋な...を起動するときにパラメーター「-A」を追加する必要があります。

    したがって、チュートリアルに配置した/etc/rc.localに追加するのはこれです
    pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

    そして、あなたはそれをこの他のものと交換しなければなりません:
    pure-ftpd-mysql -A -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

    感謝しますか?...この新しい行には、割り当て先のディレクトリのみを制限する-Aパラメータがあり、他には何も作成できませんが、レベルアップすることはできません。

    D:このかわいい純粋なfptd

    1.    KZKG ^我愛羅

      ヒントをありがとう😀

  10.   ロベルト

    こんにちは、このMySQLとFTPの実装でクォータを実装することは可能です。現在、vsftpdを使用するftpサーバーがあり、クォータに問題はありませんが、仮想ユーザー(mysqlで作成)であるとクォータは有効になりますか? XNUMXつ目は、ユーザーがアップロードしたファイルが保存される場所、つまり各ユーザーのディレクトリです。

    1.    KZKG ^我愛羅

      理論的には、クォータを実装できます。実際、データベースにはそのために作成されたフィールドがあり、FTPサービスの構成ファイルにはこれに設定されたクエリがありますが、実際にはこれをテストしていません😉

      ユーザーがファイルを配置する場所については、5番目のフィールドで定義します。スクリーンショットを参照してください。 https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   ロベルト

    コメントありがとうございます。このシステムをテストサーバーでテストし、結果についてコメントします。すべてを整理するのに最適な方法であり、RAIDを使用すると安定したバックアップが得られるので、できるといいのですが。システム:D。

    1.    KZKG ^我愛羅

      コメントありがとうございます🙂

  12.   ロベルト

    質問があります。mysqlとクォータを使用してpure-ftpをインストールできました。問題は、ユーザーパスワードやアップロードされたファイルを変更せずに、mysqlテーブル自体からアカウントを一時停止する方法です。

    1.    KZKG ^我愛羅

      私はXNUMXつの方法を考えることができます、最も簡単なのは値を変更することです Status: 1から0まで、理論的には0の場合、アカウントは非アクティブ化されます。これを試して、教えてください🙂

  13.   ビルコフ

    ロベルト、どうやってこの施設を使って料金を設定したのですか? 情報を共有してください。
    とても良いエントリー!!

    1.    ロベルトソテロ

      ビルコフ、私の個人的なブログでそれについてのトピックを作成しました、私はあなたがレビューするためにリンクを残します:

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

  14.   クラウス

    ご挨拶:

    私はすべてをフォローしようとしていますが、エラー501が発生し、何よりも、パスワードが問題ないことがわかっているときにパスワードが正しくないという事実を参照しています。