Carpe Diem

  Top > スポンサー広告> Webサーバ > アップローダの設置  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

アップローダの設置

2011 - 08/07 [Sun] - 12:41

一般的なアップローダの設置方法です。
こういったものはすでにネットにCGIが転がっているので、それを利用します。
とりあえず下のサイトからダウンロード

ファイルアップロードCGI

あと上のサイトのライブラリにはjcode.plが足りないのでダウンロード
jcode.pl

基本的にダウンロードしたフォルダのreadme.htmを参考にします。

◆ファイル配置
/usr/lib/cgi-bin/



cgi-bin/(任意のディレクトリ)
|
|-- upload.cgi (705) ... 【必須】CGI プログラム (同梱)
|-- hcgilib.pl (604) ... 【必須】CGI ライブラリ
|-- jcode.pl (604) ... 【必須】日本語変換ライブラリ
|-- back.gif (604) ... 壁紙を設定する場合のみ必要
|-- tback.gif (604) ... タイトル部分に壁紙を設定する場合のみ必要
|-- .hosts_deny (604) ... UP不許可ホストを設定する場合のみ必要
|-- .hosts_allow (604) ... UP許可ホストを設定する場合のみ必要
|-- .uploadrc (604) ... リソースを設定する場合のみ必要
|
|-- gif/ (705) ... 【必須】gif データ用ディレクトリ
| |-- ***.gif (604) ... 【必須】gif データ (同梱)
|-- data/ (707) ... 【必須】データ用ディレクトリ (作る)
|-- upload/ (707) ... 【必須】ファイルアップロード用ディレクトリ (作る)


の形で入れます。()は許可設定です。
uploadフォルダは自由にアクセスできるフォルダをあらかじめ作っておいて、そのリンクを貼ると便利だと思います。

◆設定
perl のインストールされている場所に応じて upload.cgi の第1行目を変更します。
#!/usr/local/bin/perl → #!/usr/bin/perl

以下は修正しなくても大丈夫ですが、フォルダ場所など変更する場合は修正が必要です。
URLアドレスは自分のサイトのアドレスに変更しましょう。

修正個所102行目から

# 管理データ保存用ディレクトリ: 707 にしておく必要があります
# ブラウザからアクセス出来ない場所に設定することを推奨します
$datadir = 'data';

# アップロード先ディレクトリ: 707 にしておく必要があります
$uploaddir = 'upload';

# gif ファイル(同梱)を置いたディレクトリ:
$gifdir = 'gif';

# 管理者(この CGI を設置した人)のウェブページ
$admin_page_url = 'http://homepage1.nifty.com/~heppoko/';


以上です。

◆確認
この状況でapacheの設定でCGIが使用出来るようになっていれば

https://(サーバーのホスト名またはIPアドレス)/cgi-bin/upload.cgi

にアクセスすれば使用できます。
CGIが実行されずにテキストとして開かれる場合は、CGIがapacheでCGIが実行出来るように設定してください。
500エラーが出る場合はperl のインストールされている場所が違う可能性があります。その場合はupload.cgi の第1行目を修正してください。

以前紹介したアクセスログ解析で一度設定していれば、awstats.plを参考にすれば出きると思います。


◆出力したレポートをcgiフォルダを開かずに見えるようにする
cgi-binにはいろんなCGI系のファイルがあるので出来ればそこはアクセスされたくない…ということで別フォルダにリンクを用意してそこにアクセスさせます。

$ sudo mkdir /var/www/upload
$ sudo ln -s /usr/lib/cgi-bin/upload.cgi /var/www/upload/upload.cgi
$ sudo ln -s /usr/lib/cgi-bin/jcode.pl /var/www/upload/jcode.pl
$ sudo ln -s /usr/lib/cgi-bin/hcgilib.pl /var/www/upload/hcgilib.pl
$ sudo ln -s /usr/lib/cgi-bin/data /var/www/upload/data
$ sudo ln -s /usr/lib/cgi-bin/gif /var/www/upload/gif
$ sudo ln -s /usr/lib/cgi-bin/upload /var/www/upload/upload


もしかしたら上みたいに6つもファイルはいらないかもしれません。
ただupload.cgiのみでは動きません。

Apache2の設定
$ cd /etc/apache2/sites-available
$ sudo emacs -nw default-ssl


Alias /upload "/var/www/upload"
<Location /upload>
        SSLRequireSSL
        Options Indexes FollowSymLinks MultiViews +ExecCGI
        AddHandler cgi-script .cgi .pl .html
        Order deny,allow
        allow from all
</Location>


修正が完了したら
$ sudo /etc/init.d/apache2 restart

これでブラウザ上で
https://(サーバーのホスト名またはIPアドレス)/upload/upload.cgi

以上です。


ソース;
ファイルアップロードCGI設置


コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。