やりたいこと
Drupalで(テーマ)ファイルのアップロードをしたい。のですが、ファイルを指定してインストールを押すとエラーとなります。
ファイルサイズが大きいと怒られました。
そんな事言われずにもっと大きいファイルのアップロードをしたいです。
環境
- Ubuntu 17.04
- Drupal 8.4.0
解決方法
- php.iniの設定を変更した
- .htaccessの設定を変更した
- ftpサーバをインストールした
手順
php.iniの設定を変更
php.iniの場所を確認します。
msrx9@ubuntu:~$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini
私の環境だと /etc/php/7.0/cli/php.ini
のようです。
ではファイルのアップロード許容サイズを50Mまで増やします。
修正箇所は upload_max_filesize
と post_max_size
の二つです。
--- php.ini.org 2017-08-09 07:03:30.000000000 +0900
+++ php.ini 2017-11-03 10:29:22.939856273 +0900
@@ -653,7 +653,7 @@
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
-post_max_size = 8M
+post_max_size = 50M
; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
@@ -806,7 +806,7 @@
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
-upload_max_filesize = 2M
+upload_max_filesize = 50M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
apache2を再起動します。
sudo /etc/init.d/apache2 restart
さぁ、リトライ。
あれー。 php -i
でphpの設定を見るとちゃんとファイルサイズ制限が50Mになっているのに問題が解消しない。全く同じエラーメッセージが表示されます。
.htaccessを変更する
こっちも修正が必要なのかな。。
設定を二行追加します。
msrx9@ubuntu:/var/www/html/d8$ diff .htaccess.org .htaccess
189a190,192
>
> php_value upload_max_filesize 50M
> php_value post_max_filesize 50M
設定反映のためapache2を再起動します。
sudo /etc/init.d/apache2 restart
あ、無事に「アップロードの最大許容サイズ2MBを越えるため... 」のエラーは解消できました。
が、FTP関連でエラーが出ています。
FTPサーバインストール
FTP接続を試してみます。
mba-no-MacBook-Air:~ mba$ ftp ubuntu.local
Trying 192.168.56.101...
ftp: Can't connect to `192.168.56.101': Connection refused
あぁ、そういえばFTPサーバを立ててないです。ので、vsftpdをインストールします。
sudo apt-get install vsftpd
インストールが終わったら/etc/vsftpd.conf
を編集します。
write_enables=YES
のコメントアウトを外しておかないと、FTPでログインできてもputの時にpermission deniedと怒れられます。
msrx9@ubuntu:/etc$ diff -u vsftpd.conf.org vsftpd.conf
--- vsftpd.conf.org 2017-11-03 11:19:32.544017000 +0900
+++ vsftpd.conf 2017-11-03 11:20:05.964017000 +0900
@@ -28,7 +28,7 @@
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
-#write_enable=YES
+write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
設定反映のため、vsftpdを再起動させます。
sudo /etc/init.d/vsftpd restart
無事、これでファイルのアップロードができました。