WP CLI: 설치 및 설정 | 워드프레스에서 WP CLI를 사용하는 이유

워드프레스 사이트를 관리할 때, 리눅스 서버에 직접 SSH로 접속할 수 있고 root 권한까지 보유하고 있다면, WP CLI의 필요성을 크게 체감하지 못 할 수 있습니다.

리눅스의 기본 Command Line Interface는 이미 모든 기능을 제공할 정도로 편리하지만, 워드프레스 사이트를 운영하면서 가끔 씩 WP CLI가 언급됩니다. 자주 언급되는 이유는 단순한 명령어의 대체가 아닌 워드프레스에 특화된 자동화와 효율성 측면을 생각할 수 있습니다.

1️⃣ WP CLI란 무엇인가?

  • WP CLI는 [워드프레스의 명령 줄 인터페이스]입니다.

워드프레스 대부분의 작업은 워드프레스 관리자 인터페이스를 통해서 진행됩니다. WP-CLI를 사용하면 여러가지 큰 이점을 가질 수 있습니다.

WP-CLI는 워드프레스 대시보드 없이 워드프레스 작업을 하는 것을 의미하며, WooCommerce 쇼핑몰이라면, 1천 개, 또는 1만 개의 페이지를 삭제해야 하는 등의 일괄 작업에 적절하게 활용할 수 있습니다.

일반 블로그라면 여러 개의 플러그인을 정해진 시간에 일괄 업데이트 할 수 있습니다. 실제 플러그인 업데이트를 하는 시간은 보통 1~2분 이내 짧은 시간이 소요되지만 그 이상 걸리는 경우도 있습니다.

플러그인이 업데이트 되는 동안 구글 검색 등을 통해 유입된 일반 방문자는 [사이트 점검 중]이라는 워드프레스의 기능 중 하나인 안내 문구를 확인할 수 있습니다. 플러그인 페이지에서 신뢰하는 플러그인을 자동 업데이트 설정을 했더라도 이는 불편함을 감수해야 합니다. 심지어 캐시 플러그인의 업데이트 시 캐시가 초기화 되어 방문자가 몰리는 시간에는 사이트의 속도 저하와 방문자 경험이 하락할 수 있습니다.

2️⃣ WP-CLI를 설치하는 방법

  • 리눅스 사용자를 위한 권장 설치 방법
WP-CLI 설치 (권장 방법)
  ├─ Phar 빌드 다운로드
└─ Java JAR 파일과 유사한 아카이브

  ├─ 실행 가능하게 설정
└─ chmod +x wp-cli.phar

  └─ PATH에 추가
      └─ mv wp-cli.phar /usr/local/bin/wp

🔲 다운로드

root 사용자 권한을 사용할 예정이기 때문에 외부 도구나 커스텀 앱 설치 용 디렉터리인 /opt에 설치를 진행하겠습니다.

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
# 또는
wegt https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
 opt]# curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6975k  100 6975k    0     0  17.2M      0 --:--:-- --:--:-- --:--:-- 17.2M
 opt]# ll -a
합계 6980
drwxr-xr-x.  4 root root      48  8월 14 07:40 .
dr-xr-xr-x. 19 root root    4096  6월  8 14:58 ..
drwxr-xr-x.  3 root root      17  3월  3  2024 aws
drwxr-xr-x.  3 root root      20  5월 31  2024 remi
-rw-r--r--   1 root root 7142777  8월 14 07:40 wp-cli.phar
 opt]# 

두 명령어 중 하나로 다운로드를 진행할 수 있습니다.

WP-CLI의 권장 설치 방법은 워드프레스 공식 웹 사이트의 WP-CLI 설치 방법 페이지에서 확인할 수 있습니다.

WP-CLI를 설치하는 데 권장되는 방법은 Phar 빌드(Java JAR 파일과 유사한 아카이브, 자세한 내용은 이 문서 참조 )를 다운로드하고, 실행 가능하게 표시한 다음 PATH에 추가하는 것입니다.

WP-CLI의 권장 설치 방법 공식 웹페이지

🔲 기본 권한 설정

744+x
 opt]# chmod 744 /opt/wp-cli.phar
 opt]# chmod +x /opt/wp-cli.phar
 opt]# ll
합계 6976
drwxr-xr-x. 3 root root      17  3월  3  2024 aws
drwxr-xr-x. 3 root root      20  5월 31  2024 remi
-rwxr--r--  1 root root 7142777  8월 14 07:40 wp-cli.phar

🔲 작동 확인

 opt]# php wp-cli.phar --info
OS:	Linux 5.14.0-427.16.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 9 18:15:59 EDT 2024 x86_64
Shell:	/bin/bash
PHP binary:	/usr/bin/php
PHP version:	8.3.22
php.ini used:	/etc/php.ini
MySQL binary:	/usr/bin/mariadb
MySQL version:	mariadb from 11.3.2-MariaDB, client 15.2 for Linux (x86_64) using  EditLine wrapper
SQL modes:	STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	phar:///opt/wp-cli.phar
WP-CLI packages dir:	
WP-CLI cache dir:	/root/.wp-cli/cache
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.12.0
 opt]# 

🔲 전역 설정

  • WP 명령어로 실행되는 전역 명령어 등록

파일을 이동 시키면서 파일 명을 동시에 변경해 줍니다.

opt]# mv wp-cli.phar /usr/local/bin/wp
 opt]# wp --info
OS:	Linux 5.14.0-427.16.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 9 18:15:59 EDT 2024 x86_64
Shell:	/bin/bash
PHP binary:	/usr/bin/php
PHP version:	8.3.22
php.ini used:	/etc/php.ini
MySQL binary:	/usr/bin/mariadb
MySQL version:	mariadb from 11.3.2-MariaDB, client 15.2 for Linux (x86_64) using  EditLine wrapper
SQL modes:	STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	phar:///usr/local/bin/wp
WP-CLI packages dir:	
WP-CLI cache dir:	/root/.wp-cli/cache
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.12.0
 opt]#

전역 설정 테스트까지 정상적으로 마무리 되었습니다.

🔲 자동 완성 스크립트 적용

개별 사용자가 명령어를 실행하기 위해 Bash나 Zsh 셸에서 wp 명령어를 입력할 때 자동 완성 기능을 제공하는 스크립트를 적용합니다.

📌 적용 대상

항목

설명

셸 종류

Bash, Zsh 등

사용자

루트 또는 일반 사용자 모두 가능

적용 방식

.bashrc, .zshrc에 source /경로/wp-completion.bash 등록

작동 조건

WP-CLI가 전역 명령어로 등록되어 있어야 함 (/usr/local/bin/wp)

먼저 공식 스크립트를 다운로드 받습니다.

 opt]# curl -O https://raw.githubusercontent.com/wp-cli/wp-cli/main/utils/wp-completion.bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   495  100   495    0     0   1860      0 --:--:-- --:--:-- --:--:--  1853
echo "source /opt/wp-completion.bash" >> ~/.bashrc
source ~/.bashrc

여기까지 진행 후 root 사용자도 명령어를 사용할 수 있지만 경고 메시지를 받게 됩니다. WP-CLI의 철학이

“워드프레스는 웹 서버 사용자 권한으로 실행되어야 한다. 루트는 마지막 수단이다.”

WP-CLI는 루트 실행을 막지는 않지만, 강력하게 경고하고 –allow-root 옵션을 요구합니다.

root 사용자 적용을 위해 추가로 다음 명령을 실행합니다.

echo "alias wp='wp --allow-root'" >> ~/.bashrc
source ~/.bashrc

3️⃣ WP CLI 업데이트

지금과 같은 Phar 방식을 사용하여 WP-CLI를 설치한 경우, 언제든지 다음 명령어를 실행해서 업데이트 할 수 있습니다.

 opt]# wp cli update
Success: WP-CLI is at the latest version.
 opt]# wp --info
OS:	Linux 5.14.0-427.16.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 9 18:15:59 EDT 2024 x86_64
Shell:	/bin/bash
......생략	
WP-CLI version:	2.12.0

4️⃣ WP CLI 명령어

🔲 –path=경로 옵션 vs 디렉터리 이동 후 명령어 실행

명령어는 어느 경로에서 사용하든 문제 없지만, 해당 사이트에 속하는 워드프레스에 WP-CLI를 사용하기 위해서는 –path= 입력 또는 해당 디렉터리로 이동해야 합니다.

구분

–path=경로 옵션 사용

디렉터리 이동 후 실행

사용 방식

명령어에 –path=/경로를 직접 입력

cd /경로로 이동 후 명령어 실행

장점

한 줄로 실행 가능<br>스크립트 자동화에 유리

직관적이고 경로 기억 안 해도 됨

단점

매번 경로 입력 필요<br>타이핑 실수 가능

여러 사이트 관리 시 이동 번거로움

추천 상황

자동화, 배치 작업, 다중 사이트 관리

단일 사이트 수동 관리, 테스트용

예시

wp plugin list –path=/home/user1/www/ –allow-root

cd /home/user1/www/

–path= 경로는 뒤에 일일이 입력하기가 번거롭기 때문에 워드프레스가 설치된 루트 폴더로 이동해서 사용할 수 있습니다.

루트 폴더에는 다음과 같은 파일이 위치해 있어야 각각의 명령어가 정상 실행됩니다.

워드프레스가 제대로 설치된 루트 디렉터리에는 다음과 같은 핵심 요소들이 있어야 합니다:

항목

설명

wp-config.php

데이터베이스 연결 및 사이트 설정 파일

wp-content/

테마, 플러그인, 업로드 파일 등이 저장되는 폴더

wp-includes/

워드프레스 핵심 기능을 구성하는 내부 코드

wp-admin/

관리자 대시보드 관련 파일들

index.php

사이트의 기본 진입점

.htaccess (선택적)

아파치 웹 서버 설정 파일

license.txt, readme.html

워드프레스 기본 문서들

🔲 기본 명령어

명령어

설명

wp core version

워드프레스 버전 확인

wp core update

워드프레스 업데이트

wp plugin list

설치된 플러그인 목록 확인

wp plugin install 플러그인명

플러그인 설치

wp plugin activate 플러그인명

플러그인 활성화

wp plugin update –all

모든 플러그인 업데이트

wp theme list

설치된 테마 목록 확인

wp theme install 테마명

테마 설치

wp theme activate 테마명

테마 활성화

wp post list

게시글 목록 출력

wp post create –post_title=”제목”

새 게시글 생성

wp user list

사용자 목록 확인

wp user create 아이디 이메일

새 사용자 생성

wp db export

데이터베이스 백업

wp db import

데이터베이스 복원

wp db optimize

데이터베이스 최적화

wp search-replace 찾을값 바꿀값

DB 내 문자열 일괄 변경

wp option get 옵션명

특정 옵션 값 확인

wp cron event list

예약된 크론 이벤트 목록

wp cache flush

캐시 초기화

워드프레스 루트 폴더로 이동 후 명령어 중에 예약된 크론 이벤트 목록을 보면 밴엔드 작업 스케줄을 한 눈에 볼 수 있습니다.

WP CLI-wp cron event list 명령어로 예약된 크론 이벤트 목록 확인_

5️⃣ 결론

WP CLI는 워드프레스 운영을 위한 강력한 명령 줄 도구로, 관리자 대시보드로는 접근하기 어려운 기능들을 빠르고 효율적으로 수행할 수 있습니다.

특히 다음과 같은 상황에서 효율적인 운영을 할 수 있습니다.

  • 여러 사이트를 직접 운영하며 반복 작업이 많을 때
  • 루트 사용자로 서버를 직접 관리하는 환경에서
  • 자동화, 백업, 대량 콘텐츠 처리가 필요한 경우
  • 예약 작업(Cron), 캐시, DB 최적화 등 백엔드 관리가 필요한 경우

WP CLI는 단순한 대시보드 대체가 아니라, 워드프레스에 특화된 서버 운영 도구로서의 역할을 수행한다고 볼 수 있습니다.

Similar Posts

  • 워드프레스 관리자 비밀번호 분실 시: 변경&분실 재설정

    워드프레스를 기반으로 웹 사이트를 구축 후 얼마 되지 않았고 한동안 접속을 하지 않다가 임의로 설정한 비밀번호가 생각나지 않을 때 워드프레스 관리자 비밀번호 분실 시 난감할 수 있습니다. 로그인 후 관리자 페이지에서 비밀번호를 변경하는 방법과 분실 시 변경하는 방법에 대한 몇 가지 방법을 제시합니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲 다운로드🔲 기본 권한…

  • 워드프레스 백업 및 복원 3가지 방법

    워드프레스 웹사이트를 운영하다 보면, 예상치 못한 오류나 변경 사항으로 인해 사이트를 이전 버전으로 복원해야 하는 상황이 발생할 수 있습니다. 이러한 경우를 대비해 정기적인 백업은 매우 중요합니다. 백업을 수행하는 방법은 크게 세 가지로 나눌 수 있습니다. 첫째, 웹 호스팅 서비스에서 제공하는 자동 백업 기능을 활용하는 방법입니다. 대부분의 호스팅 업체는 일정 주기로 사이트 데이터를 백업하며,…

  • 워드프레스 어필리에이트 플러그인 TOP 7: 가격·평점·UI·기능

    워드프레스 블로그·뉴스·매거진 사이트는 다양한 콘텐츠를 효율적으로 관리하고 빠르게 방문자에게 전달하는 데 최적화되어 있습니다. 광고 및 어필리에이트 프로그램을 활용해 추가 수익 창출도 가능합니다. 워드프레스 어필리에이트 플러그인은 제휴사를 직접 관리하는 유형과 링크 관리 및 클릭 추적 중심 유형으로 나눌 수 있으며, 이 페이지에서는 링크 관리 및 클릭 추적 중심의 플러그인을 다룹니다. 워드프레스 어필리에이트 플러그인은 제휴사를…

  • 워드프레스 테마: 용도와 기능으로 보는 테마 선택 기준

    웹사이트를 구축하기 위해 원하는 서비스에 맞는 호스팅 서버까지 구매한 후에 워드프레스를 설치했습니다. 기본 테마로 내 웹사이트를 꾸미는 경우는 거의 없습니다. 워드프레스 테마는 웹사이트의 외형과 기능을 결정하는 핵심 요소입니다. 사이트 운영 목적에 따라 테마 선택 기준도 달라집니다. 예를 들어, 블로그, 포트폴리오, 쇼핑몰 등 목적에 맞는 적절한 레이아웃과 기능이 필요합니다. 테마는 단순한 디자인뿐만 아니라 페이지…

  • UpdraftPlus 플러그인 설정: 간편하고 안정적인 백업 작업

    UpdraftPlus 플러그인은 워드프레스 백업과 마이그레이션 작업을 할 수 있는 플러그인입니다. 프리 버전에서 3백만 명 이상의 활성 설치와 4.8점의 높은 평점을 받았으며, 간편하고 직관적인 인터페이스로 백업과 복원을 빠르고 간편하게 진행할 수 있습니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲 다운로드🔲 기본 권한 설정🔲 작동 확인🔲 전역 설정🔲 자동 완성 스크립트 적용3️⃣ WP CLI 업데이트4️⃣…

  • [WP]워드프레스 내부 링크 추가 방법(7초 안에 이전글 찾기)

    워드프레스로 운영되는 CMS는 SEO에서 다른 CMS에 비해 유리한 측면과 플러그인으로 편리한 기능들을 제공하기 때문에 높은 점유율을 자랑하고 있습니다. SEO에 많은 이점을 주는 워드프레스 내부 링크 추가하는 방법에 대해 알아 보겠습니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲 다운로드🔲 기본 권한 설정🔲 작동 확인🔲 전역 설정🔲 자동 완성 스크립트 적용3️⃣ WP CLI 업데이트4️⃣ WP…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 0   +   3   =