안녕하세요, 워드프레스 사용자 여러분! 워드프레스는 강력한 콘텐츠 관리 시스템(CMS)으로, 다양한 플러그인과 테마를 통해 개인 또는 기업 웹사이트를 쉽게 구축하고 관리할 수 있습니다. 하지만 때로는 플러그인 설치 및 업데이트 과정에서 예상치 못한 문제에 직면할 수 있습니다. 오늘은 워드프레스에서 플러그인을 원활하게 설치하고 업데이트하는 방법에 대해 알아보겠습니다. 특히, SFTP를 사용하여 플러그인을 설치하는 방법에 중점을 두고 설명드리겠습니다.
워드프레스 설치
워드프레스를 세팅하기 위해 플러그인을 설치하거나 업데이트하려고 버튼을 클릭하면 호스트 정보를 물어보는 화면이 나타난다. ( 역시 세상에 한방에 되는 법이 없다. )
이렇게 나오는 이유는 연결 유형이 맞지 않아서 그렇다. 위 화면 하단에 연결 유형이 FTP, FTPS로 되어 있다. SFTP로만 접속 가능하도록 설정되어 있다면 별도 플러그인을 설치해야 설치, 업데이트, 삭제가 가능해 진다.
SSH SFTP 플러그인 설치
플러그인 > Add New Plugin
키워드에 SFTP 검색 > SSH SFTP 업데이트 지원 클릭
지금 설치를 클릭하면 또 호스트 정보를 묻는 화면으로 간다.( 안된다는 말이다.)
홈페이지에 직접 방문하여 다운 받아 설치한다.
다운로드
다운 받은 파일(ssh-sftp-updater-support.0.8.5.zip) 압축 풀기
서버 업로드 : /var/www/html/wp-content/plugins 위치에 업로드
다시 워드프레스 관리자 화면 > 플러그인을 클릭하면 아래와 같이 SSH SFTP 업데이터 지원 플러그인이 설치된 것을 확인할 수 있다.
워드프레스 플러그인 설치를 위한 권한 부여
1) 아파치서버가 /var/www/ 이하 폴더에 대한 권한 부여
sudo chown -R apache:apache /var/www/
sudo chown -R apache:apache /var/www/
명령어는 /var/www/
디렉토리와 그 안에 있는 모든 파일 및 하위 디렉토리들의 소유권을 'apache' 사용자와 'apache' 그룹으로 변경합니다.
명령어에 대해 간단히 설명하면:
sudo
: 시스템 관리자(superuser) 권한으로 명령을 실행하도록 함.chown
: 'change owner'의 약어로, 파일이나 디렉토리의 소유자를 변경하는 명령어.-R
: 'recursive'의 약어로, 지정된 디렉토리와 그 안의 모든 파일 및 하위 디렉토리에 대해 명령을 적용함.apache:apache
: 첫 번째 'apache'는 사용자(user)를 나타내고, 두 번째 'apache'는 그룹(group)을 나타냄. 이는 'apache' 사용자와 'apache' 그룹으로 소유권을 변경하라는 의미./var/www/
: 변경하고자 하는 대상 디렉토리의 경로.
apache 웹 서버가 /var/www/ 디렉토리와 그 안의 모든 파일 및 하위 디렉토리에 대해 접근하고 관리할 수 있도록 하는 데 사용됨.
2) apache와 ec2-user 그룹 설정
sudo usermod -a -G apache ec2-user
sudo usermod -a -G apache ec2-user
명령어는 리눅스 시스템에서 사용자 계정에 그룹을 추가하는 데 사용된다. 이 명령어는 특히 AWS(Amazon Web Services)의 EC2(Elastic Compute Cloud) 인스턴스에서 사용되며, 사용자 'ec2-user'를 'apache' 그룹에 추가하는 데 사용된다.
명령어를 분석해보면:
sudo
: 시스템 관리자(superuser) 권한으로 명령을 실행.usermod
: 'user modify'의 약어로, 시스템에서 사용자 계정을 수정하는 명령어.-a
: 'append'의 약어로, 기존 그룹에 추가하는 옵션.-G
: 사용자를 추가할 그룹을 지정.apache
: 추가할 그룹의 이름.ec2-user
: 수정할 사용자 계정의 이름.
이 명령어의 주요 목적은 'ec2-user' 계정을 'apache' 그룹에 추가하여, 해당 사용자가 'apache' 그룹의 권한을 가질 수 있도록 하는 것이다. 예를 들어, 웹 서버 관리나 웹 콘텐츠의 관리 작업을 'ec2-user' 계정으로 수행할 수 있게 하기 위해 이러한 설정이 필요하다.
3) /var/www 권한 변경
sudo chmod 2775 /var/www
sudo chmod 2775 /var/www
명령어는 /var/www
디렉토리에 대한 권한을 변경하는 데 사용되며, 웹 서버의 콘텐츠 관리에 자주 사용된다.
명령어를 분석해보면:
sudo
: 시스템 관리자(superuser) 권한으로 명령을 실행.chmod
: 'change mode'의 약어로, 파일이나 디렉토리의 접근 권한을 변경하는 명령어.2775
: 설정하고자 하는 권한을 나타내는 숫자. 이 숫자는 특별한 의미를 가집니다:2
: 이것은 "Set Group ID" (SGID) 비트를 설정합니다. SGID가 설정된 디렉토리에서 생성된 새 파일 및 하위 디렉토리는 부모 디렉토리의 그룹 소유권을 상속받습니다.7
: 파일 소유자에게 읽기(read), 쓰기(write), 실행(execute) 권한을 모두 부여합니다 (rwx).7
: 그룹에게도 읽기, 쓰기, 실행 권한을 모두 부여합니다.5
: 기타 사용자(others)에게는 읽기와 실행 권한은 부여하지만, 쓰기 권한은 부여하지 않습니다 (rx).
따라서, sudo chmod 2775 /var/www
명령어는 /var/www
디렉토리에 대해 소유자와 그룹에게 모든 권한을 부여하고, 기타 사용자들에게는 읽기와 실행 권한만 부여합니다. 또한, SGID 비트 설정으로 인해 이 디렉토리 내에서 생성되는 모든 새 파일과 디렉토리는 /var/www
의 그룹 소유권을 자동으로 상속받게 됩니다. 이는 웹 서버 환경에서 여러 사용자가 동일한 그룹에 속해 있을 때 유용하며, 파일 공유와 관리를 용이하게 합니다.
아파치에서 /var/www 이하의 폴더에 대해 읽고, 쓸 수 있도록 권한 부여(필수 실행)
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
명령어는 리눅스 시스템에서 권한 설정을 위해 사용되며, 두 개의 주요 작업을 수행합니다.
sudo chmod 2775 /var/www
: 이 부분은/var/www
디렉토리에 대한 권한을 설정합니다.2775
는 특정한 권한을 나타내며, 여기서 '2'는 SGID(Set Group ID)를 활성화하여, 이 디렉토리 내에서 생성된 모든 새 파일과 디렉토리가 동일한 그룹 소유권을 상속받도록 합니다. '775'는 소유자와 그룹에게 읽기, 쓰기, 실행 권한을 모두 부여하고, 다른 사용자들에게는 읽기와 실행 권한만 부여합니다.find /var/www -type d -exec sudo chmod 2775 {} \;
: 이 부분은/var/www
디렉토리 내의 모든 디렉토리에 대해 동일한 권한을 재귀적으로 설정합니다.find /var/www -type d
는/var/www
내의 모든 디렉토리를 찾습니다.-exec sudo chmod 2775 {} \;
는 찾은 각 디렉토리에 대해sudo chmod 2775
명령을 실행하여 권한을 설정합니다.
find /var/www -type f -exec sudo chmod 0664 {} \;
※ 명령이 실행되는데 시간이 많이 걸린다.find /var/www -type f -exec sudo chmod 0664 {} \;
명령어는 리눅스 시스템에서 파일의 권한을 변경하는 데 사용되며, /var/www
디렉토리 내의 모든 파일에 대해 특정 권한을 설정합니다. 이 명령어는 다음과 같이 작동합니다:
find /var/www -type f
: 이 부분은/var/www
디렉토리 내에서 파일(-type f
)을 찾습니다. 이 명령어는 해당 디렉토리 및 모든 하위 디렉토리에서 파일만을 대상으로 합니다.-exec sudo chmod 0664 {} \;
: 찾은 각 파일({}
)에 대해sudo chmod 0664
명령을 실행합니다.0664
는 파일에 대한 권한을 설정하는 숫자로, 다음과 같은 의미를 가집니다:6
(첫 번째와 두 번째 위치): 파일 소유자(owner)와 그룹(group)에게 읽기(read) 및 쓰기(write) 권한을 부여합니다. 여기서6
은 이진수로110
에 해당하며, 읽기(4
)+쓰기(2
) 권한을 의미합니다.4
(세 번째 위치): 그 외의 사용자(others)에게는 읽기 권한만 부여합니다.
이 명령어는 웹 서버의 환경에서 /var/www
디렉토리 내의 모든 파일에 적절한 권한을 부여하는 데 사용됩니다. 이렇게 설정하면 파일 소유자와 그룹 구성원은 파일을 읽고 수정할 수 있지만, 다른 사용자들은 파일을 읽기만 할 수 있습니다. 이는 웹 콘텐츠를 관리하고 보안을 유지하는 데 중요한 역할을 합니다.
4) .htaccess 권한부여
워드프레스가 설치된 폴더 마다 실행하면 되는데, 필수 사항은 아님
만약에 플러그인 설치 시 오류가 발생하면 설치
- /var/www/html 부분은 본인 서버 폴더 명에 맞게 변경해야 됨.
sudo chown ec2-user:apache /var/www/html/.htaccess
sudo chown ec2-user:apache /var/www/html/.htaccess
명령어는 리눅스 또는 유닉스 기반 시스템에서 사용되며, 특정 파일의 소유권을 변경하는 데 사용됩니다. 이 경우,/var/www/html/.htaccess
파일의 소유권을 변경합니다.
명령어를 분석해보면:
sudo
: 시스템 관리자(superuser) 권한으로 명령을 실행합니다. 이는 보통 높은 권한을 요구하는 작업에 필요합니다.chown
: 'change owner'의 약어로, 파일이나 디렉토리의 소유자와 그룹을 변경하는 명령어입니다.ec2-user
: 새로운 소유자의 사용자 이름입니다. 이 예제에서는 'ec2-user'라는 사용자 계정에 소유권을 부여합니다.apache
: 새로운 소유 그룹의 이름입니다. 여기서 'apache' 그룹에 소유권을 부여합니다./var/www/html/.htaccess
: 소유권을 변경할 파일의 경로입니다..htaccess
파일은 웹 서버의 디렉토리별 구성 설정을 담고 있으며, 주로 Apache 웹 서버에서 사용됩니다.
이 명령어의 주된 목적은 .htaccess
파일의 소유권을 'ec2-user' 사용자와 'apache' 그룹으로 변경하는 것입니다. 이렇게 하면 'ec2-user' 계정이 해당 파일을 관리할 수 있게 되며, 'apache' 그룹에 속한 프로세스(예: 웹 서버)도 이 파일에 접근할 수 있게 됩니다. 이는 웹 서버 환경에서 중요한 보안 및 관리 측면을 다루는 데 사용됩니다.
- /var/www/html 부분은 본인 서버 폴더 명에 맞게 변경해야 됨.
이 명령어는 리눅스 또는 유닉스 기반 시스템에서 파일의 접근 권한을 변경하는 데 사용됩니다. 여기서sudo chmod 644 /var/www/html/.htaccess
/var/www/html/.htaccess
파일의 권한을 설정합니다.
명령어를 분석해보면:
sudo
: 시스템 관리자(superuser) 권한으로 명령을 실행합니다. 이는 보통 높은 권한을 요구하는 작업에 필요합니다.chmod
: 'change mode'의 약어로, 파일이나 디렉토리의 접근 권한을 변경하는 명령어입니다.644
: 설정하고자 하는 권한을 나타내는 숫자입니다. 이 숫자는 다음과 같은 의미를 가집니다:6
(첫 번째 숫자): 파일 소유자(owner)에게 읽기(read, 4) 및 쓰기(write, 2) 권한을 부여합니다.4
(두 번째와 세 번째 숫자): 그룹(group)과 기타 사용자(others)에게는 읽기 권한만 부여합니다.
이 명령어는 .htaccess
파일에 대해 소유자는 읽기와 쓰기 권한을, 그룹과 기타 사용자는 읽기 권한만 가지도록 설정합니다. 이는 웹 서버 환경에서 .htaccess
파일의 보안과 관리에 중요한 역할을 합니다. .htaccess
파일은 웹 서버 설정에 영향을 미치므로, 적절한 권한 설정은 매우 중요합니다.
여기까지 작업을 했다면 이제부터 플러그인 설치, 업데이트, 삭제 등 잘 동작하게 된다.
지금까지 워드프레스의 플러그인 설치 및 업데이트를 위한 SSH SFTP 설정 과정을 살펴보았습니다. 이 과정을 통해 워드프레스 사이트의 플러그인 관리가 한층 더 수월해질 것입니다. 주요한 명령어들을 통해 서버의 권한 설정을 조정하고, 이로 인해 워드프레스의 플러그인 설치, 업데이트, 삭제가 원활하게 이루어질 수 있도록 했습니다. 이러한 설정은 웹 사이트의 보안과 관리에 중요한 역할을 하므로, 이 과정을 통해 더 안전하고 효율적인 웹사이트 관리가 가능해질 것입니다. 워드프레스 사용에 있어 이 정보가 도움이 되길 바랍니다.
'aws' 카테고리의 다른 글
10.탄 워드프레스 고유주소 설정 변경 후 404 오류 해결 방법 (1) | 2024.01.26 |
---|---|
8탄. AWS에 서브 도메인 DB 구성하고 WordPress 설치하는 방법 (0) | 2024.01.20 |
7탄. 1개의 서버(aws)에 여러 개 사이트 운영하기(virtual host) (0) | 2024.01.16 |
6탄.AWS 아마존리눅스(amazon linux) 워드프레스(wordpress) 설치 (8) | 2024.01.14 |
5탄. 아마존리눅스2023: SSL 인증서와 HTTPS 리디렉션 설정 (0) | 2024.01.14 |