2026년 08월 04일

워드프레스에서 FTP 연결 정보를 요구하는 원인과 해결법

플러그인이나 테마를 설치·업데이트하려는데 갑자기 아래와 같은 화면이 뜬 적이 있으신가요?

“To perform the requested action, WordPress needs to access your web server.” (요청한 작업을 수행하려면 워드프레스가 웹 서버에 접근해야 합니다.) Hostname / FTP Username / FTP Password…

당황스럽지만 사실 이는 흔한 문제이며, 원인만 알면 대부분 간단히 해결됩니다. 이 글에서는 왜 이런 메시지가 나타나는지, 그리고 FTP 정보 없이도 해결할 수 있는 방법들을 정리했습니다.


1. 이 메시지가 뜨는 근본 원인

워드프레스는 플러그인·테마를 설치하거나 업데이트할 때 서버의 wp-content 폴더에 파일을 직접 쓰기(write) 작업을 합니다. 이때 **워드프레스를 구동하는 PHP 프로세스의 소유자(owner)**와 파일/폴더의 소유자가 다르면, 워드프레스는 “내가 이 폴더에 안전하게 쓸 권한이 있는지” 스스로 판단하지 못합니다.

권한이 불확실하다고 판단되면 워드프레스는 안전을 위해 직접 파일을 수정하는 대신, FTP·SSH·SSH2 같은 별도 인증 수단을 통해 파일을 쓰도록 요청합니다. 즉, 파일 시스템 소유권/권한 불일치가 근본 원인입니다.

주로 발생하는 상황

  • 웹 호스팅 이전 후 파일 소유자가 바뀐 경우
  • FTP나 SFTP로 수동 업로드한 파일과 PHP 실행 계정이 다른 경우
  • 서버를 직접 구축(VPS, AWS EC2 등)하면서 권한 설정을 하지 않은 경우
  • wp-content 폴더의 권한이 너무 제한적으로(예: 644, 755이 아닌 값) 설정된 경우
  • SELinux, open_basedir 등 서버 보안 설정이 접근을 막는 경우

2. 해결 방법 1: 폴더 소유권 및 권한 수정 (가장 근본적인 해결책)

서버에 SSH로 접속할 수 있다면, PHP(웹서버)를 실행하는 사용자에게 wp-content 폴더의 소유권을 넘겨주는 것이 가장 확실한 해결법입니다.

# 예: Apache/Nginx가 www-data 사용자로 실행되는 경우
sudo chown -R www-data:www-data /var/www/html/wp-content

# 폴더 권한 755, 파일 권한 644로 재설정
sudo find /var/www/html/wp-content -type d -exec chmod 755 {} \;
sudo find /var/www/html/wp-content -type f -exec chmod 644 {} \;

실행 사용자를 모른다면 ps aux | grep php나 ps aux | grep apache, ps aux | grep nginx 명령으로 확인할 수 있습니다. 공유 호스팅이라면 보통 계정 아이디와 동일한 경우가 많습니다.

이렇게 소유권을 맞춰주면 워드프레스가 직접 파일 쓰기 권한이 있다고 판단해 FTP 정보를 더 이상 요구하지 않습니다.


3. 해결 방법 2: wp-config.php에 파일시스템 방식 명시하기

SSH 접근이 어렵거나 공유 호스팅을 사용 중이라면, wp-config.php 파일에 아래 코드를 추가해 워드프레스가 직접 파일에 접근하도록 강제할 수 있습니다.

wp-config.php 파일을 열어 /* That's all, stop editing! */ 문구 바로 위에 다음 줄을 추가하세요.

define('FS_METHOD', 'direct');

이 설정은 워드프레스에게 “FTP를 거치지 말고 서버 파일시스템에 직접 접근하라”고 지시합니다. 단, 이 방법이 통하려면 앞서 설명한 폴더 소유권/권한이 이미 적절하게 설정되어 있어야 합니다. 그렇지 않으면 “Permission denied” 오류가 대신 발생할 수 있습니다.


4. 해결 방법 3: 정말 FTP 정보를 입력해야 하는 경우

권한 수정이 불가능한 공유 호스팅 환경이라면, 요구하는 대로 FTP 정보를 입력하는 것도 방법입니다.

입력 항목설명
Hostname보통 ftp.도메인이름.com 또는 서버 IP
FTP Username / Password호스팅 업체에서 발급한 FTP 계정 정보
Connection typeFTP, FTPS(SSL), 또는 SSH2 중 서버가 지원하는 방식

이 정보를 매번 입력하기 번거롭다면 wp-config.php에 아래처럼 저장해둘 수도 있습니다. (단, 보안상 신뢰할 수 있는 서버 환경에서만 권장합니다.)

define('FTP_HOST', 'ftp.yourdomain.com');
define('FTP_USER', 'your_ftp_username');
define('FTP_PASS', 'your_ftp_password');
define('FS_METHOD', 'ftpext');

비밀번호를 코드에 평문으로 저장하는 것은 보안 위험이 있으므로, 가능하다면 방법 1(권한 수정)을 우선 시도하는 것을 권장합니다.


5. 해결 방법 4: 호스팅 관리 패널(cPanel 등) 활용

Cafe24, 가비아, cPanel 기반 호스팅 등을 사용 중이라면 파일 관리자(File Manager)에서 wp-content 폴더를 직접 선택해 권한을 755(폴더)/644(파일)로 변경할 수 있습니다. 대부분의 관리 패널은 우클릭 → “권한 변경(Change Permissions)” 메뉴를 제공합니다.


6. Docker 환경에서 발생하는 경우

Docker Compose로 워드프레스를 운영 중이라면, 컨테이너 내부 www-data 사용자와 마운트된 볼륨의 소유권이 맞지 않아 같은 문제가 발생할 수 있습니다. 이 경우 컨테이너 내부에서 아래 명령으로 소유권을 맞춰주면 해결됩니다.

docker exec -it wordpress_app chown -R www-data:www-data /var/www/html/wp-content

7. 요약: 어떤 방법을 선택해야 할까?

상황권장 해결법
SSH 접속 가능 (VPS, 클라우드 서버)방법 1: 소유권/권한 직접 수정
권한 수정 후에도 계속 발생방법 2: FS_METHOD ‘direct’ 지정
공유 호스팅이라 권한 수정 불가방법 3: FTP 정보 입력
cPanel 등 관리 패널 사용방법 4: 파일 관리자에서 권한 변경
Docker 환경컨테이너 내부에서 소유권 재설정

가장 안전하고 근본적인 해결책은 파일 소유권과 권한을 올바르게 맞추는 것입니다. FTP 정보를 입력하는 것은 임시방편에 가까우며, 서버 설정 자체를 손보는 것이 장기적으로 훨씬 안정적입니다.