phpUploaderをインストール(大きいファイルの転送のために)

大きいファイルをネットでやり取りするのってPCの環境が合わなかったりして意外と大変だったりしますよね。

転送サービスは便利だけど遅いし・・・

今回はphpUploaderというPHPで書かれているファイルアップローダーがMOONGIFTさんに紹介されていたので、面白そうだったのでインストールさせてもらいました。

サーバの環境が整っていなかったり、
特定のフォルダにアクセス制限掛けたり、
ファイルのアップロードサイズを変更したり、
Basic認証を付けたり、

と数年前に1度やったかもな〜と思いながら、再度調べ直して設定してみました。

環境

  • Ubuntu14
  • Nginx
  • php5.5

自分のスキルでは少々敷居が高かったけど、なんとかインストール成功して、稼働するところまで出来るようになりました。

1. phpからsqliteが使えなかった

sqliteを使ってるようなんですが、まず、DB接続でエラーになってしまいました。
原因がなかなか分からなかったのですが、簡単な接続するためのテストプログラム動かしたら、ただ単にphp5-sqliteをインストールしてなかっただけでした・・・。

$ sudo aptitude install php5-sqlite

(参考)Debian(Ubuntu) で PHP をインストールしてもデフォルトでSQLiteは動作しない

2. 特定のフォルダにアクセス制限

phpUploaderではconfigフォルダとdataフォルダにアクセス制限をしなければいけないので、nginxのバーチャルホスト設定ファイルに記述します。

location / {
  location /(config|db)/ {
    allow 127.0.0.1;
    deny all;
  }
  (省略)
}

(参考)Nginxで特定のディレクトリにアクセス制限をかける

3. NginxのとPHPのアップロードファイルサイズの変更

NginxとPHPの2箇所に設定します。

nginxのバーチャルホスト設定ファイルに、再度記入

server {
  (省略)

  client_max_body_size 50M;

  (省略)
}

php.iniを修正

$ sudo emacs /etc/php5/cli/php.ini
upload_max_filesize = 50M

(参考)nginxのPHPのアップロードファイルサイズの変更方法。

4. アクセス制限

誰でもアクセスしてほしくないので、とりあえずBasic認証にしてみます。

apache2-utilsはインストールしていたので、以前の(もう使っていないIDとパスワード)を消して再設定しました。

$ sudo htpasswd -c /etc/nginx/.htpasswd [ID]

nginxのバーチャルホスト設定ファイルに、再度記入

location / {
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd;

  (省略)
}

(参考)Nginx で Basic 認証

色々勉強になり、ソフトも使えるようになり良かったです。

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください