アップローダ(mod_uploader)
ファイルをサーバにアップロードできる仕組みを実現するのが、アップローダ。
FTPでもできますが、Webブラウザから手軽にアップロードでき、ファイル毎にダウンロードや削除するためのパスワードを設定することもできるアップローダを設置してみました。(試験的に公開しています)
アップローダにも色々なものがありますが、動作が速くて設置が簡単な、mod_uploaderというApache用のモジュールを採用しました。
mod_uploaderのパッケージをダウンロードし、モジュールの作成とインストールを実行します。
当サイトではしばらくバージョン3.1.1を使用していましたが、最近(2018年7月)OSをクリーンインストールした際にApacheが2.4になるとコンパイルできないことが発覚し、Apache2.4に対応したバージョン3.2.0を新たにインストールしました。

[root@sv01 ~]# wget http://green-rabbit.sakura.ne.jp/mod_uploader/dist/mod_uploader-3.2.0.tgz
[root@sv01 ~]# tar xzvf mod_uploader-3.2.0.tgz
[root@sv01 ~]# cd mod_uploader-3.2.0

以下は、./configureを実行する際に足りないと言われたもので、yumでインストールしました。
環境によって異なると思いますので、足りないと言われたものについてはインストールしていきましょう。

[root@sv01 mod_uploader-3.2.0]# yum -y install gcc-c++.x86_64
[root@sv01 mod_uploader-3.2.0]# yum -y install httpd-devel.x86_64
[root@sv01 mod_uploader-3.2.0]# yum -y install libtool.x86_64
[root@sv01 mod_uploader-3.2.0]# yum -y install ImageMagick-c++-devel.x86_64

以下、モジュール作成とインストール。

[root@sv01 mod_uploader-3.2.0]# ./configure --enable-thumbnail
[root@sv01 mod_uploader-3.2.0]# make
[root@sv01 mod_uploader-3.2.0]# make -f GNUmakefile.apache install
上記を行うと、httpd.confにmod_uploaderの記述が追加されます。
これだけでは有効になりませんので、httpd.confのあるディレクトリから見て、../conf.dに、mod_uploader.conf(.confで終わっていればファイル名は何でもいい)を作成します
うちの場合は(DocumentRoot)/uploaderに設置するため、以下の内容にしました。
<Location /uploader>
    SetHandler              uploader

    UploaderBaseUrl                 "https://wk64.com/uploader"
    UploaderDataDirectory           "/var/www/Uploader/data"
    UploaderFileDirectory           "/var/www/Uploader/file"
    UploaderThumbDirectory          "/var/www/Uploader/thumb"
    UploaderTempDirectory           "/var/www/Uploader/temp"

    UploaderTotalFileSizeLimit      209715200
    UploaderTotalFileNumberLimit    1000
    UploaderFileSizeLimit           1048576
    UploaderPerPageItemNumber       50

    UploaderIndexViewTemplate      "/var/www/Uploader/tmpl/index.htm"
    UploaderInfoViewTemplate       "/var/www/Uploader/tmpl/info.htm"
    UploaderProgressViewTemplate   "/var/www/Uploader/tmpl/progress.htm"
    UploaderDownloadViewTemplate   "/var/www/Uploader/tmpl/download.htm"
    UploaderThumbnailViewTemplate  "/var/www/Uploader/tmpl/thumbnail.htm"
    UploaderAdminViewTemplate      "/var/www/Uploader/tmpl/admin.htm"
    UploaderErrorViewTemplate      "/var/www/Uploader/tmpl/error.htm"
</Location>

Alias /up_img                  "/var/www/Uploader/img"
Alias /up_css                  "/var/www/Uploader/css"
Alias /up_js                   "/var/www/Uploader/js"
基本的にはmod_uploaderのドキュメントにあるサンプルと同じで、URL・ディレクトリとファイルサイズのみ変えました。
また、実際のディレクトリを作成し、必要なファイルをmod_uploaderのパッケージを展開してできたディレクトリよりコピーします。
必要なディレクトリを作成する。

[root@sv01 ~]# mkdir -p /var/www/Uploader/data

ディレクトリ(ファイル含む)をコピーする。

[root@sv01 ~]# cd /root/mod_uploader-3.2.0(mod_uploader-3.2.0.tgzを/root直下に展開していた場合)
[root@sv01 ~]# cp -R file /var/www/Uploader/
[root@sv01 ~]# cp -R thumb /var/www/Uploader/
[root@sv01 ~]# cp -R temp /var/www/Uploader/
[root@sv01 ~]# cp -R img /var/www/Uploader/
[root@sv01 ~]# cp -R css /var/www/Uploader/
[root@sv01 ~]# cp -R js /var/www/Uploader/
[root@sv01 ~]# cp -R tmpl /var/www/Uploader/

各ディレクトリをApacheの実行ユーザで読み書き可能にする。

[root@sv01 ~]# chown -R apache:apache /var/www/Uploader/*
あとはhttpdを再起動すれば、mod_uploaderが有効になります。
[root@sv01 ~]# systemctl restart httpd
mod_uploader.confで指定したURL(https://wk64.com/uploader/)にアクセスすると、アップローダの画面が表示されます。
当サイトのアップローダも、試験的に公開しています。現在の設定は、1ファイルにつき最大1024MBで、1,000ファイルまたは合計200GBまでアップロードできるようにしています。
あくまでも動作確認用ですので、アップロードされたファイルを予告無しに削除したり、アップローダを公開停止にすることもありますので、大切な用途には使わないようにしてください。 ちなみに、https://wk64.com/uploader/adminにアクセスすると、管理画面が表示されます。削除パスワードがわからないファイルを強制削除することができます。私も監視しますが、偶然違法なファイルなど見つけたら、削除しておいていただけると助かります。