최근에 새로 가입한 무료호스팅 서버에서 격은 일이다.
플러그인 업데이트 버튼을 눌렀더니 그림 같은 창이 뜬다. FTP 사이트 로긴 정보(ftp credentials)를 알려 달라는 것이다. 아마 최근에 보안을 위해 새로 도입된 방법인 것 같은데 특정한 호스팅 서버에서 만 발생하는 것으로 보인다. 매번 입력하는 것은 번거로운 일이므로 검색을 통해 해결책을 찾아보았다.
wp-config.php파일에 아래의 내용이 필요하다고 한다.
- WordPress Upgrade Constants
define( 'FS_METHOD', 'ftpext' ); define( 'FTP_BASE', '/path/to/wordpress/' ); define( 'FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/' ); define( 'FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/' ); define( 'FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub' ); define( 'FTP_PRIKEY', '/home/username/.ssh/id_rsa' ); define( 'FTP_USER', 'username' ); define( 'FTP_PASS', 'password' ); define( 'FTP_HOST', 'ftp.example.org' ); define( 'FTP_SSL', false );
하나씩 살펴보자.
- ‘FS_METHOD’ : 파일 시스템에 접근하는 방법을 말하는데 “direct”, “ssh”, “ftpext”, or “ftpsockets” 이렇게 제가지의 방법이있다고 한다. 일반적으로는 ‘ftpext’ 를 사용하면 문제 없다.
- ‘FTP_BASE’ : 파일시스템에서 워드프레스가 설치된 디렉토리를 말한다. 즉 ‘ABSPATH’ 를 의미한다.
만일 ‘ABSPATH’ = ‘/path/to/wordpress/’ 라면
define( ‘FTP_BASE’, ‘/path/to/wordpress/’ );
라고 써넣어야하지만 root에 설치된다면 별도의 정의를 하지 않아도 된다
- ‘FTP_CONTENT_DIR’: wp-content 폴더의 위치를 의미한다 . 표준위치 라면 별도의 정의가 필요치 않다.
- ‘FTP_PLUGIN_DIR ‘: wp-plugin 폴더의 위치를 의미한다. 표준위치 라면 별도의 정의가 필요치 않다.
- ‘FTP_PUBKEY’ &’FTP_PRIKEY’: SSH public key와 primary key를 저장하고 있는 폴더의 full pass 를 의미한다. FTP 방식에서는 일반적으로 별도 정의하지 않아도된다.
- ‘FTP_USER’ & ‘FTP_PASS’ : FTP 사이트 로긴 이름과 비번이다.
- ‘FTP_HOST’ : FTP 사이트 주소 로서 ip 번호 또는’ xxx.ftp.host.site’ 가 주어질 것이다.
- ‘FTP_SSL’ : FTP file 서버가 SSL 방식인지 여부를 묻는 것이다. 반드시 선언해주어야한다.
결국 최소한 아래 5 라인을 써넣어야한다.
define( 'FS_METHOD', 'ftpext' ); define( 'FTP_USER', 'USERNAME' ); define( 'FTP_PASS', 'PASSWORD' ); define( 'FTP_HOST', 'ftp.example.org' ); define( 'FTP_SSL', false );
소셜댓글