ゼロからの便利なファイルホスティング

こんにちは、Habr!



今日、私は便利なhttp / ftpファイルウォッシュを作成する方法を教えたいです。 私はすぐに言わなければならない-これは非常に簡単です。 読者に何が必要ですか? 基本的なLinuxコンソールスキル、nanoエディターの使用能力、そしてもちろん、ネットワーク上に独自の小さなファイルコーナーを作成したいという要望。

白いIPアドレスと高速インターネット接続を持っている人にとって、次のことは理にかなっていると思います。 私のバージョンのシステムには、ftp / http認証と隠しパーティションを作成する機能が含まれていますが、ファイルへの直接リンクを提供することは可能です。 また、モバイルデバイスからのhttp銃口の使用を提供したので、スクリプトインターフェイスはこれ以上のものではありません。 ファンシーな外観のファンや、機能性ではなく美しさを求める人にとっては、このオプションはおそらく適切ではありません。 しかし、これは、私のお気に入りのテクノテクノロジーであるファイルクリーナーがいように見えるという意味ではありません。 このリンクから何が起こるかを見ることができます。

最初に、初期設定を定義しましょう:debian 6、apache2、php5、proftpd、そして良い気分。 みんなのお気に入りのウブンタも適しています。



注意! rootとして次の手順を実行する必要があります。 su(またはsudo su)を入力し、次にルートパスワード(またはsudoの場合は現在のユーザー)を入力します。 また、構成ファイルを変更した後は、変更を有効にするためにサーバーを再起動する必要があります。 これはチームによって行われます

invoke-rc.d apache2 restart





そして

invoke-rc.d proftpd restart





それに応じて。



だから、順番にすべて:

まず、必要なソフトウェアをインストールします。 ターミナルを開き、次を入力します。

apt-get install apache2 php5 proftpd





すべてをインストールしてから、次を入力します。

nano /etc/apache2/sites-enabled/000-default





ここでは、ディレクトリインデックスを無効にし、標準エンコーディングを設定するディレクティブを追加します。

ファイルの先頭には、内容を含むディレクトリの説明があります。 必要な行を探しています:

  DocumentRoot / var / www
         <ディレクトリ/>
                オプションFollowSymLinks
                 AllowOverrideなし
         </ Directory> 


インデックスを無効にし、デフォルトのエンコーディングを設定する必要があります。 以下を取得する必要があります。

  DocumentRoot / var / www
         <ディレクトリ/>
                オプションFollowSymLinks –インデックス
                 AddDefaultCharset utf-8
                 AllowOverrideなし
         </ Directory> 


これでApacheの設定は完了です。 設定を保存します。 nanoでは、これはCtrl + Oで実行され、Enterを押します。



次のステップは、ftpログイン用のユーザーを作成し、Apacheと同じグループに定義することです。 たとえば、 sosnickiy

注意! このユーザー名とパスワードは、ftpにログインするときに入力する必要があります。

コンソールに書き込みます:

adduser sosnickiy --ingroup www-data --shell /bin/false





パスワードを入力します。残りは空白のままにして、Enterキーを押します。 スクリプトはユーザーを作成し、グループで定義し、標準ファイルをコピーします。 ホームディレクトリにftpディレクトリを作成します。

mkdir -m 775 /home/sosnickiy/ftp





これは、おそらく、ユーザーが整理したものです。



次のステップは、ftpサーバーを構成することです。 そこで、以下を紹介します。

nano /etc/proftpd/proftpd.conf





パラメータを探しています:

# DefaultRoot ~





行の先頭のポンド記号(#)は、サーバーによってパラメーターがコメント化されて無視されることを意味します。 この格子を削除します。

パラメータを探しています:

RequireValidShell on





次のように変更します。

RequireValidShell off





構成ファイルの最後に次を追加します。

  <ディレクトリ/ホーム/ sosnickiy / ftp>
        	 Umask 002 002
               <すべてを制限>
        		 AllowUser sosnickiy
        		デニオール
               </ Limit>
 </ Directory>

 <ディレクトリ/ホーム/ sosnickiy / ftp / *>
	 Umask 002 002
               <すべてを制限>
              	 AllowUser sosnickiy
      	 	デニオール
               </ Limit>
 </ Directory> 


これで、ftpサーバーの構成が完了しました。 保存して再起動すると、すでに使用できます。 ただし、急いでファイルをアップロードしないでください。 それだけではありません。

ここで、サーバーのhttpディレクトリにftpディレクトリを作成し、sosnickiyユーザーのホームフォルダーにあるftpディレクトリと同じディレクトリにします。 これは、ファイルがftpサーバー経由でアップロードされる場所です。

ディレクトリを作成します。

mkdir -m 775 /var/www/ftp





コマンドを実行します:

mount --bind /home/sosnickiy/ftp /var/www/ftp





現在、ディレクトリは1つです。

変更を永続化します。

echo "/home/sosnickiy/ftp /var/www/ftp none bind 0 0" >> /etc/fstab





これで、システムを再起動してもディレクトリは1つになります。



この時点で、停止して重要な注意を1つ付けておきます。httpを介して、AutoIndex 2.2.4スクリプト( 公式サイト )を使用してファイルをリストし、サーバーにアップロードし、ディレクトリ、ファイル、ユーザーを管理します。 しかし、その標準構成では、ロシア語の言語ファイルにバグがあり、ユーザー/パスワードストレージファイルにバグがあり、スクリプトファイルとディレクトリによって作成された権限に微妙な違いがあるため、すぐに起動して作業することはできません。 私は小さな変更を加えました。それらを以下に説明します。 手動で彼のドットに煩わされたくない場合は、完全に作業の準備ができているスクリプトをダウンロードすることをお勧めします:( ここをクリック ) あなたが私を信じていないなら、あなたは私が世界政府または単なる悪人との陰謀にいて、コードにトロイの木馬/バックドア/他の悪い変更を加えたと思います-自分でそれをしてください。 少なくとも、アーカイブから少なくともru.txtファイルを取得することをお勧めします。 既製のスクリプトをダウンロードする場合、サーバーにアップロードし、/ var / wwwで解凍し、友人に作業ファイルホスティングサービス(hehe、irony)を表示するだけでよいことに注意してください。 スクリプトの設定については説明しません。すべてが非常に明白だからです。

だから、あなたが信じられないほどの人なら、次のことをしなければなりません:

公式サイトからアーカイブをダウンロードし、動作中のコンピューターで解凍し、classes ディレクトリAdmin.phpファイルを見つけて開き、68行目を探します。

 return @mkdir($path, 0755);
      
      





番号755を775に変更します。

同じディレクトリでUpload.phpファイルを開き、73行目を探します。

 @chmod($fullpathname, 0644);
      
      





数字644を664に変更します。

78行目のTar.phpファイルで:

 . str_pad('755', 7, '0', STR_PAD_LEFT) . "\0" //permissions
      
      





755の代わりに775を置きます。

これにより、データアクセスの競合が修正されます。

次に、languagesディレクトリのru.txtファイルを開いて、その内容を削除し、修正したデータを貼り付ける必要があります。

ru.txt
インデックスのインデックス
親ディレクトリ親ディレ​​クトリ
アイコンのサムネイル
続ける続ける

ファイルfile
ファイルファイル
フォルダーフォルダー
フォルダーフォルダー
サイズサイズ
合計サイズ合計サイズ
合計ダウンロード合計ダウンロード
総計
日付が変更されました
説明説明
ダウンロードダウンロード
タイプタイプ
並べ替え並べ替え

検索検索
両方両方
の検索結果の検索結果
およびそのサブディレクトリとサブディレクトリ

アカウントアカウント
ログインログイン
ログアウトログアウト
ユーザー名ユーザー名
パスワードパスワード
削除するユーザーの選択削除するユーザーの選択
ユーザーを削除してもよろしいですか?このユーザーを削除してもよろしいですか?
このユーザーを削除このユーザーを削除
ユーザーを追加ユーザーを追加

ゲストゲスト
ユーザーuser
モデレーター
管理者管理者
レベルレベル

名前の変更名前の変更
名前の変更
新しいファイル名新しいファイル名
パスを指定してファイルを移動することもできますパスを指定してファイルを移動することもできます
削除する
ファイルを削除してもよろしいですか?このファイルを削除してもよろしいですか
説明の編集説明の編集
はい、削除はい、削除

アップロードアップロード
このフォルダーへのファイルこのフォルダーへのファイル
アップロードされたファイルアップロードされたファイル
失敗したファイルダウンロードされていないファイル
なし
ファイルはすでに存在していますファイルはすでに存在しています
ファイル名は隠しファイルとしてリストされている
スクリプトの再構成スクリプトの再構成
このフォルダに新しいディレクトリを作成しますこれに新しいディレクトリを作成します
隠しファイルのリストを編集隠しファイルのリストを編集
新しいユーザーを追加新しいユーザーを追加
ユーザーの削除ユーザーの削除
 copy url(このフォルダに)リモートファイルをコピーします
 ftpへのアップロードFTPサーバーへのファイルのアップロード

ファイルの新しい説明を入力新しいファイルの説明を入力
変更変更
新しい名前を入力新しい名前を入力
作成する作成する

追加する
削除する
隠しファイルを削除する隠しファイルを削除する
新しい隠しファイルを追加する新しい隠しファイルを追加する

禁止リストの編集禁止リストの編集
禁止を解除禁止を解除
新しい禁止を追加する禁止リストに追加する
管理者がIPアドレスまたはホスト名をブロックしました申し訳ありませんが、管理者がIPアドレスまたはホスト名をブロックしました

ログファイルからのエントリの表示ログファイルの表示
ログファイルから統計を表示ログファイルから統計を表示
表示するエントリの数表示するエントリの数
表示する
ページページ
の

 md5sumの計算md5sumの計算
 tar.gzアーカイブとしてディレクトリをダウンロードtar.gzアーカイブとしてディレクトリをダウンロード 


形式:値[タブ]希望する言語への翻訳[改行]

元のファイルでは、形式が多少壊れています。 したがって、ファイル共有は機能しません。

次に、ルートディレクトリ( index.phpファイルの隣)に.htpasswd.autoindexファイルを作成します。 先頭にドットが必要です。 開いて、以下を挿入します:

 管理者7c4a8d09ca3762af61e59520943dc26494f8941b 3
ユーザー12dea96fec20593566ab75692c9949596833adc9 1 


この場合、管理者パスワード: 123456

ユーザーパスワード: user



すべてを保存し、修正されたスクリプトを含むディレクトリをzipアーカイブにパックし、ftpサーバーを再起動し、入って、修正されたスクリプトを含むアーカイブをftpディレクトリにアップロードします。

Windowsの場合、Filezillaクライアントをお勧めします。 または、「Explorer」のアドレスバーに入力するだけです:
  ftp:// server_ip_address / ftp / 
Enterを押します。 また、パスワードを保存して「お気に入り」に追加することもできます。 便利に。



そのため、スクリプトはアーカイブされ、ftpフォルダーにあります。 コンソールを展開し、書き込みます(コピーして貼り付ける方が良いです):

cd /home/sosnickiy/ftp/ && unzip AutoIndex-2.2.4.zip && cp ./AutoIndex-2.2.4/* /var/www && rm -rf AutoIndex-2.2.4.zip AutoIndex-2.2.4





次に、簡単なコマンドを実行します。

chown -R www-data:www-data /var/www && chmod -R 775 /var/www





これですべて準備完了です! 健康のために使用します。

ご清聴ありがとうございました。



All Articles