[WP] 워드프레스 미디어 파일 업로드 오류: 업로드한 파일을 wp-content/uploads/20xx
호스팅 업체가 아닌 워드프레스 웹사이트를 직접 운영하는 경우 “업로드한 파일을 wp-content/uploads/20xx/07(으)로 이동할 수 없습니다.“와 같은 워드프레스 미디어 파일 업로드 오류 메시지를 확인하는 경우가 있습니다.
호스팅 업체에서 서비스를 받고 있다면 별도의 문의를 통해 문제를 해결할 수 있으며, 직접 관리하는 서버의 경우 직접 문제 해결을 해야 합니다.
✅ 워드프레스 미디어 파일 업로드 오류 원인
워드프레스 미디어 파일을 서버에 업로드 할 때 발생하는 오류는 사이트의 저장 폴더에 데이터를 쓸 수 없게 되는 오류이며, 이 오류는 권한 수정으로 설정을 변경해 줘야 합니다.
업로드한 파일을 wp-content/uploads/20xx/07(으)로 이동할 수 없습니다.
The uploaded file could not be moved to wp-content/uploads/20xx/01
✅ 문제 해결 방법
🔲 소유권 설정 확인
SSH에 접속했다면 소유권을 워드프레스를 사용하는 호스팅 계정으로 정상적으로 되어 있는지 확인해야 합니다. 설정이 되어 있지 않을 경우 아래와 같은 소유권 설정 명령어로 변경해 줍니다.
chown -R userID.GroupID /home/호스팅계정/www
🔲 개인 서버 php-fpm 설정(apache 기준)
apache 사용자의 권한 설정을 하는 모듈 설정이 서버에 설정되어 있어야 하는데 mod_ruid2를 설치하거나 mod_suexec 모듈을 사용해서 설정할 수 있습니다. SuexecUserGroup 설정을 통해 CGI 스크립트가 특정 사용자 및 그룹의 권한으로 실행되도록 강제할 수 있습니다. 이는 주로 CGI 스크립트와 같은 PHP-FPM을 사용하지 않는 경우에 유용합니다.
suEXEC 기능은 아파치가 CGI와 SSI 프로그램을 웹서버를 실행한 사용자 ID가 아닌 다른 사용자 ID로 실행하도록 한다.
pwd
/etc/httpd/modules
ll mod_suexec.so
-rwxr-xr-x. 1 root root 15560 Apr 3 09:50 mod_suexec.so
# 모듈 인식이 되지 않을 때만 httpd.conf 설정 #
vi /etc/http/conf/httpd.conf
LoadModule suexec_module modules/mod_suexec.so
:wq
vi /etc/httpd/conf.d/virtual.conf
# SuexecUserGroup 설정 #
<VirtualHost *:443>
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /home/myHostID/www
SuexecUserGroup myHostID nobody
:wq
php-fpm 설정 순서는 다음과 같습니다.
~]# vi /etc/php-fpm.d/myHostID.conf
[myHostID]
user = myHostID
group = nobody
listen = /run/php-fpm/myHostID.sock
listen.owner = myHostID
listen.group = nobody
listen.mode = 0666
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
chdir = /home/myHostID/www
:wq
~]# chown 호스트ID.nobody /run/php-fpm/myHostID.sock
~]# chmod 660 /run/php-fpm/myHostID.sock
~]# vi ssl.conf
<VirtualHost *:443>
ServerName mydomain.com
ServerAlias *.mydomain.com
DocumentRoot /home/myHostID/www
# SuexecUserGroup ukcresearch nobody
<Directory /home/myHostID/www>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/myHostID.sock|fcgi://localhost"
</FilesMatch>
:wq
~]# systemctl restart php-fpm
~]# systemctl restart httpd
워드프레스 미디어 파일 업로드 오류는 보통은 초반의 설정이 되어 있지 않아 생기는 경우가 대부분이라고 할 수 있습니다. 나머지는 서버 운영이나 워드프레스 사이트 관리 중에 발생한 오류라고 볼 수 있겠습니다.
콘텐츠 내 광고 및 제휴 링크가 포함될 수 있으며, 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.