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
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;
それでは、私が提供するデフォルトのデータベースをダウンロードしましょう。
または、サーバーで次の行を使用します。
wget http://ftp.desdelinux.net/myftpdb.sql
準備ができました。すでにサーバーにあります。データをインポートするだけです。
mysql -u root -p myftpdb < myftpdb.sql
そして準備ができました!
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を試すことをお勧めします😉
とても良い!!! 数週間前にこれをインストールしていましたが、vsftpdを使用していて、確信が持てないので、これを試してみて、どのようになるかを確認します。 ありがとうございました
あなたの友人に感謝。
vsftpd最後に使ったのはいつだったか覚えていません...もう数年になるでしょう...もし私がそれを使ったことがあればHAHA。 PureFTPdを使用している現在、私はとても幸せです😀
非常に良い貢献!
ありがとうコンパ😀
あなたはあなたが笑うことができることをします…。
うーん、おもしろい...ユーザーとパスワードのコレクションを手元に置いておきたいDBのIPを渡してください😉
邪悪になるな、男
heheheを理解していませんでした…どのIPとDBについて話しているのですか?
チュートリアルで入力したこのデータもサーバー上にある可能性があることを意味する場合は、そうです...それらは私のラップトップ上の仮想PC上のFTPサービスにあり、非常に優れたファイアウォール(iptables)を備えていますだから…ハハハハハはもちろん邪悪な笑ではありません!!!
Joroñaなんてjoroña…。 いくつかの脆弱性を利用してそのデータをキャプチャするように見えるよりも複雑になります😉
とても興味深い!! 🙂
ありがとう
これは私が他のサイトから私たちを区別しようとしていることです...私たちはそれほど多くのニュースではなく技術的な記事として掲載しようとしています😀
これはSambaと比較してどれくらい速いですか? (ローカルネットワークのみ)
sambaとftpは2つの異なるものであり、ftpは深刻なプロトコルであり、winとlinux間の共有を容易にするためのsmbです。
ネットワークでのパフォーマンスを求めている場合は、FTPサービスを使用してください。それ以外の場合は、問題なくsambaを使用してください。
正確です。
FTPはSambaよりも少し深刻だとしましょう。少なくとも私の意見ではそうです。
ベンチマークはまったく行っていませんが、FTPの方が少し速いかもしれません。
ありがとうございました。 私はSambaを使用して、Wiiコンソールから(wiimcを使用して)コンピューターにダウンロードした映画やシリーズを見ることができます。 ただし、wiimcはftpサーバーに接続することもできます。 最も簡単だったのでSambaを使用しましたが、ftpを使用した方が速いかどうか常に興味をそそられました。 私は試してみる必要があります。
ええと、あなたは単にあなたのPCにApacheをマウントすることもできます、そしてそれでWiiは接続するでしょう、それはsambaより速くなければなりません...そしてFTPより設定するのがはるかに簡単です😀
wiimc(Wii Media Player)は、SambaおよびFTP接続のみを受け入れます。
優秀な。 このタイプの記事(および一般的なサイト)は、すべてを完璧にするために何かを必要とするだけです。 記事をPDFまたは紙に印刷できるCSSテンプレート。
自分のものかどうかはわかりませんが、ftpで接続すれば「/ var / www / user_site」のような特定のディレクトリを与えても、ユーザーがすべてのディレクトリを経由できるという大きな問題があります。私のPCからどこにでもアクセスできます¬¬
それはあまり安全ではありません笑
ここにあります!!!
作成したユーザーがシステム全体をナビゲートできないようにするには、純粋な...を起動するときにパラメーター「-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
ヒントをありがとう😀
こんにちは、このMySQLとFTPの実装でクォータを実装することは可能です。現在、vsftpdを使用するftpサーバーがあり、クォータに問題はありませんが、仮想ユーザー(mysqlで作成)であるとクォータは有効になりますか? XNUMXつ目は、ユーザーがアップロードしたファイルが保存される場所、つまり各ユーザーのディレクトリです。
理論的には、クォータを実装できます。実際、データベースにはそのために作成されたフィールドがあり、FTPサービスの構成ファイルにはこれに設定されたクエリがありますが、実際にはこれをテストしていません😉
ユーザーがファイルを配置する場所については、5番目のフィールドで定義します。スクリーンショットを参照してください。 https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
コメントありがとうございます。このシステムをテストサーバーでテストし、結果についてコメントします。すべてを整理するのに最適な方法であり、RAIDを使用すると安定したバックアップが得られるので、できるといいのですが。システム:D。
コメントありがとうございます🙂
質問があります。mysqlとクォータを使用してpure-ftpをインストールできました。問題は、ユーザーパスワードやアップロードされたファイルを変更せずに、mysqlテーブル自体からアカウントを一時停止する方法です。
私はXNUMXつの方法を考えることができます、最も簡単なのは値を変更することです Status: 1から0まで、理論的には0の場合、アカウントは非アクティブ化されます。これを試して、教えてください🙂
ロベルト、どうやってこの施設を使って料金を設定したのですか? 情報を共有してください。
とても良いエントリー!!
ビルコフ、私の個人的なブログでそれについてのトピックを作成しました、私はあなたがレビューするためにリンクを残します:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
ご挨拶:
私はすべてをフォローしようとしていますが、エラー501が発生し、何よりも、パスワードが問題ないことがわかっているときにパスワードが正しくないという事実を参照しています。