서버/AWS (Amazon Web Services)

워드프레스에서 SFTP를 사용하여 업데이트와 플러그인 테마등을 설치 가능 하도록 하기

날개 2017. 11. 7. 18:15

워드프레스에서 테마와 플러그인을 설치하거나 업데이트 설치를 시도하면, 워드프레스는 FTP 또는 FTP-S 계정을 요구합니다.


예를 들어 새로운 테마를 다운로드 받고 설치 하려고 하면...


이렇게 Connection Type 선택지가 FTP와 FTPS 밖에 없습니다.


그러나 AWS EC2나 아마존 라이트세일 아마존 리눅스 서버 인스턴스는 기본적으로 SSH만 지원되고 FTP와 SFTP는 따로 설치 및 설정하지 않으면 기본적으로 세팅되어 있지는 않습니다.


그러면 워드프레스에서 어떻게 SFTP를 사용할 수 있을까요?


이 글에서는 가장 간단한 방법인 SFTP 지원 플러그인을 설치해서 SFTP를 사용할 수 있도록 만들어 봅니다.





1. SSH SFTP Updater Support 다운로드



먼저 워드프레스 관리자 페이지 (/wp-admin)으로 들어갑니다.


[Plugins]-[Add New] 를 클릭합니다.




검색어로 'SSH SFTP'를 입력하고 검색하여, 'SSH SFTP Updater Support' 플러그인을 찾습니다. 위 화면에서 보라색 아이콘으로 되어 있는 플러그인입니다.


위 플러그인에서 [Install Now]를 눌러봤자, 아직 워드프레스가 SFTP를 지원하지 않기 때문에 설치가 안됩니다. 따라서 'SSH SFTP Updater Support'는 수동으로 설치해야 합니다.


[Install Now] 버튼 밑의 'More Details' 문구를 클릭합니다.



'WordPress.org Plugin Page >>' 를 클릭합니다.


워드프레스 공식 웹사이트의 플러그인 다운로드 페이지로 연결됩니다.


[Download] 버튼을 눌러 'SSH SFTP Updater Support' 플러그인을 다운로드 받습니다.


Installation 탭을 클릭하면 수동 설치 방법을 알 수 있습니다.


이 방법을 사용할 겁니다.





2. SSH SFTP Updater Support 설치



이제 다운로드 받은 플러그인을 서버의 홈 디렉토리에 업로드 합니다.


업로드한 파일을 워드프레스 설치 디렉토리로 복사합니다.


$ sudo cp ~/<다운로드 받은 ssh-sftp-updater-support ZIP 파일> /var/www/<워드프레스 설치 디렉토리>/wp-content/plugins/


터미널로 접속해서 업로드한 ssh-sftp-updater-support.zip 파일을 압축 해제 합니다.


$ cd <워드프레스 설치 디렉토리>/wp-content/plugins/

$ sudo unzip <다운로드 받은 ssh-sftp-updater-support ZIP 파일>


압축이 풀린 ssh-sftp-updater-support 플러그인을 하위 디렉토리 및 파일을 포함하여 소유자를 apache로 변경해 줍니다.


$ sudo chown apache:apache -R ssh-sftp-updater-support


(위에서 파란 부분은 실제로 압축이 풀린 플러그인의 디렉토리 이름을 사용합니다.)


복사한 압축 파일은 삭제합니다.


$ sudo rm <다운로드 받은 ssh-sftp-updater-support ZIP 파일>




이제 다시 웹브라우저로 돌아가서 워드프레스 관리자 화면으로 들어갑니다.


이번에는 [Plugins] - [Installed Plugins] 를 선택합니다. (수동으로 이미 설치한 상태이기 때문에 [Add New] 가 아닌 [Installed Plugins]를 클릭합니다.)


'SSH SFTP Updater Support'가 설치되어 있습니다. 이제 [Activate]를 클릭해서 플러그인을 활성화 합니다.


이제 테마 설치나 다른 설치 화면으로 들어가서 선택한 테마마 플러그인의 [Install] 버튼을 누르면 위 화면과 같이 SSH2 가 추가되어 있는 것을 알 수 있습니다. SSH2 를 선택하고 호스트이름(서버의 주소)과 사용자이름 (서버 인스턴스의 사용자 계정)등의 정보를 기입합니다.


암호 대신 키페어 파일을 이용하여 로그인 하는 경우 'Upload Private Key'의 [파일 선택] 버튼을 눌러 키 파일을 선택합니다.





추가로, "Amazon Lightsail 여러개의 워드프레스 사이트 설치" 연재글과 같이 작업하였다면, 워드프레스의 wp-content 디렉토리의 권한 조정을 해 주어야 합니다.


그 글들에서는 사용자 계정 (해당 글에서는 ec2-user)를 apache 그룹에 포함시켰는데요, wp-content 디렉토리가 소유자가 apache로 되어 있으면, 위 설정으로 SSH Username 이 사용자명이기 때문에 (해당 글에서는 ec2-user) 테마나 플러그인을 다운로드 받아 wp-content 디렉토리에 기록할 권한이 없기 때문입니다.


wp-content 가 apache 그룹에 속한 사용자들이 쓰기가 가능하도록 그룹 쓰기 권한을 줍니다. 워드프레스가 설치된 디렉토리에서...


$ sudo chmod -R 775 wp-content


이렇게 조정해 주면 됩니다. 그렇지 않으면 테마등을 설치할 때, "wordpress theme installation failed: Could not copy file" 와 같은 메시지를 만나게 될지도 모릅니다.




이 글에서는 워드프레스에서 SFTP (SSH 파일 전송) 사용할 수 있도록 설정하는 방법을 알아 보았습니다.


2의 과정 역시 워드프레스를 서버에 여러개 설치 했다면, 각각의 워드프레스 설치 디렉토리에서 동일하게 작업 해 주어야 합니다.








(C) 2017 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)