ConoHa VPSのKUSANAGI環境でファイルのアップロードサイズを変更する方法

ConoHa VPSでWordPressが高速で動作するというKUSANAGI環境が簡単にインストールできるようになりましたね。

ですが他サーバーからのサイト移行などで、大容量のデータをアップロードするとき、他のサイトで紹介されている方法だけでは対処できません。

そこで今回は、ConoHa VPSで作成したKUSANAGIサーバーで、ファイルアップロード制限を変更する方法をお伝えします。

アップロードサイズ制限の変更

ConoHa VPSのKUSANAGI環境のファイルアップロード制限を変更するには、サーバーにログインして設定を書き換える必要があります。

今回はサーバーへのログイン方法として、ConoHaの管理画面から面倒な設定なしで起動できるコンソールを利用します。
SSH接続等が使用できる方は、そちらを使ってください。

コンソールへのログイン

1) ConoHaの管理画面からコンソールを起動します。

ConoHa VPS コンソール起動

2) rootでログインします。

コンソール

CentOS Linux 7 (Core)
Kernel 3.10.0-1062.9.1.el7.x86_64 on an x86_64

100-00-0-100 login:root[エンター]

3) コンソール画面には直接ペーストできません。
パスワードは手入力するか、テキスト送信します。

テキスト送信欄を開いて、ペーストしたい文字を入力します。
(この欄にはペーストできます)
入力したら、送信ボタンを押します。

コンソール
Password:←手入力するか、テキスト送信[エンター]
Last login: mon jan 27 10:10:10 on tty1
     __ ____  _______ ___    _   _____   __________
    / //_/ / / / ___//   |  / | / /   | / ____/  _/
   / ,< / / / /\__ \/ /| | /  |/ / /| |/ / __ / /
  / /| / /_/ /___/ / ___ |/ /|  / ___ / /_/ // /
 /_/ |_\____//____/_/  |_/_/ |_/_/  |_\____/___/

    Version 8.4.5-3, Powered by Prime Strategy.
================================================ Welcome KUSANAGI Manager application!
URL                     : http://123.45.6.789:60000/
kusanagi user password  : Pn72vUuclo kusanagi user passphrase: 2WVnZqz1xf MySQL root password     : 4xZ7xblpzA
To delete this message: rm -f /etc/motd ================================================

ドメインディレクトリの確認

ドメインのディレクトリ名を確認します。

1) 下のコマンドを入力して、ディレクトリの変更

コンソール

[root@100-00-00-100 ~]# cd /home/kusanagi/[エンター]

2) ディレクトリの確認

コンソール

[root@100-00-00-100 kusanagi]# ls -l[エンター]

次のように結果が表示されます。

コンソール(実行結果)

drwxr-xr-x 6 kusanagi kusanagi 4096 jan 27 10:10 abcd1234efgh5678ijklmn
lrwxrwxrwx 1 root     root       39 jan 27 10:10 affi-sapo.xyz -> abcd1234efgh5678ijklmn

ドメイン名の後ろに -> という記号があって、さらに数字とアルファベットの文字が続いています。
この文字を後でコピペできるように、メモ帳などで控えておきます。

PHPのアップロード制限変更

次にPHPのアップロード制限を変更します。

1) メモ帳などに次の設定をコピペして、希望するサイズに変更してください。

メモ帳などで変更

memory_limit = 400M
post_max_size = 200M
upload_max_filesize = 200M

upload_max_filesizeが一ファイルの最大アップロードサイズになります。
memory_limit < post_max_size < upload_max_filesize になるように指定します。

ただし、サーバーで使用できるメモリ(プラン)以上にはしない方が無難です。

例:最高600Mバイトのデータを送りたいとき

memory_limit = 800M
post_max_size = 650M
upload_max_filesize = 600M

2) 下のコマンドを入力して、ディレクトリの変更

コンソール

[root@100-00-00-100 ~]# cd /home/kusanagi/[エンター]

3) ドメインのディレクトリへ移動

コンソール

[root@100-00-00-100 kusanagi]# cd affi-sapo.xyz[エンター]

affi-sapo.xyzの部分は、ご自分のドメイン名を入力してください。

4) DocumentRootディレクトリへ移動

コンソール

[root@100-00-00-100 affi-sapo.xyz]# cd DocumentRoot[エンター]

5) .user.iniファイルを作成

次のコマンドを入力して、設定ファイルを作成します。

コンソール

[root@100-00-00-100 DocumentRoot]# vi .user.ini[エンター]

すると、次の画面に切り替わります。

コンソール

  1 
~
~
~

6) 起動直後はコマンドモードです。文字の削除や保存がおこなえますが、文字の入力ができません。
キーボードの「i」を押して、挿入モードに切り替えます。

7) テキスト送信欄を開いて、メモ帳などで変更した設定値をペーストし、送信します。

コンソール

  1 memory_limit = 400M
  2 post_max_size = 200M
  3 upload_max_filesize = 200M
~

8) キーボードの「Esc」を押して、コマンドモードに戻ります。

9) 「:wq[エンター]」を押して、保存終了します。

※「:q!」とすることで、保存せずに終了します。間違えたときは、保存しないで終了して、もう一度チャレンジしてください。

ファイルを削除してやりなおしたい

次のコマンドで.user.iniファイルを削除できます。

コンソール

[root@100-00-00-100 DocumentRoot]# rm .user.ini[エンター]

入力を最初からやりなおしたいときなどに、このコマンドを実行してみてください。

Nginxのアップロード制限変更

次にNginx(Webサーバー)側のアップロード制限を変更します。

1) 下のコマンドを入力して、ディレクトリの変更

コンソール

[root@100-00-00-100 DocumentRoot]# cd /etc/nginx/conf.d[エンター]

2) lsコマンドを実行すると、いくつかのファイルが表示されます。

コンソール(実行結果)

[root@100-00-00-100 conf.d]# ls
abcd1234efgh5678ijklmn_http.conf   abcd1234efgh5678ijklmn_ssl.conf   _http.conf   ・・・

3) メモした文字列_http.confメモした文字列_ssl.conf(SSl時)を、viコマンドで変更します。

コンソール

[root@100-00-00-100 conf.d]# vi メモした文字列_http.conf[エンター]

※SSlを使用している場合は、メモした文字列_ssl.conf

4) 「/client_max_body_size」をテキスト送信して、client_max_body_sizeを検索します。

コンソール

  12 charset UTF-8;
  13 client_max_body_size 16M
  14 root /home/kusanagi/abcd1234efgh5678ijklmn/DocumentRoot;

5) 「16M」の上で「x」キーを数回押し削除します。(x:カーソル下の文字を一文字削除)

コンソール

  12 charset UTF-8;
  13 client_max_body_size <=「x」キーを数回押す
  14 root /home/kusanagi/abcd1234efgh5678ijklmn/DocumentRoot;

6) 「x」キーを押し挿入モードに変更後、希望するアップロードサイズを入力します。

コンソール

  12 charset UTF-8;
  13 client_max_body_size 200M<=「i」キーを押し、サイズを入力
  14 root /home/kusanagi/abcd1234efgh5678ijklmn/DocumentRoot;

7) 「Esc」キーを押しコマンドモードに変更後、「:wq[エンター]」を押して、保存終了します。

8) 設定の確認

設定ファイルにエラーがないか確認します。

コンソール

[root@100-00-00-100 conf.d]# nginx -t[エンター]

次のように表示されればOkです。

コンソール(実行結果)

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

9) 再起動

サーバー全体を再起動

コンソール

[root@100-00-00-100 conf.d]# reboot

または、

Webサーバーを再起動

コンソール

[root@100-00-00-100 conf.d]# php-fpm restart
[root@100-00-00-100 conf.d]# nginx -s stop
[root@100-00-00-100 conf.d]# nginx