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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

워드프레스 사이트를 관리할 때, 리눅스 서버에 직접 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

  • 워드프레스 테마: 4가지 용도와 기능 & 속도로 보는 추천 테마 선택 기준

    워드프레스 테마는 사이트의 겉모습만 바꾸는 것이 아니라 레이아웃과 속도, 쓸 수 있는 기능까지 함께 정합니다. 같은 콘텐츠라도 어떤 테마 위에 올리느냐에 따라 사이트가 다른 템플릿이 됩니다. 그래서 좋은 테마를 찾는 것보다 내 사이트에 맞는 테마를 찾는 쪽이 먼저입니다. 아래에서는 용도와 속도 두 축으로 후보를 좁히고, 무료와 유료의 차이를 확인한 뒤 마지막에 결정 전…

  • 워드프레스 대시콘: dashicons.min.css 3.8 공식 아이콘 글꼴 | 2020년 SVG 아이콘으로 교체

    워드프레스 대시콘은 워드프레스 3.8 버전(2013년) 에서 도입된 공식 아이콘 글꼴입니다. 관리자 화면 전반에서 메뉴와 버튼 등에 아이콘을 표시하기 위해 사용되었지만, 폰트 기반 아이콘의 한계와 해상도 문제로 인해 2020년경부터 SVG 아이콘 체계로 전환되었습니다. 현재 대부분의 최신 테마와 플러그인은 SVG 아이콘이나 커스텀 아이콘 세트를 사용하는 추세입니다. Ⅰ. 워드프레스 대시콘의 역사 2013년도의 워드프레스 3.8 버전에서 공식으로…

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

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

  • [WP] 워드프레스 SSL 보안인증서 적용 방법

    워드프레스를 포함한 웹 사이트에서 SSL 보안인증서는 필수가 되었습니다. 워드프레스 SSL 보안인증서 적용 방법과 TLS/SSL 인증서가 필요한 이유에 대해 알아 보겠습니다. 1. 워드프레스 SSL 보안인증서 적용 방법 첫 번째 SSL 인증서가 서버에 설치되어야 합니다. 서버에 보안인증서가 설치되어야만 워드프레스 HTTPS 적용을 할 수 있습니다. 사용하는 웹 호스팅 업체에 문의하거나 이용하는 호스팅 사의 cPanel과 같은 경로에서…

  • 워드프레스 고유주소(Permalink)와 슬러그

    워드프레스 고유주소(Permalink, 영구링크, 고유링크 등)는 도메인 뒤에 붙는 게시물이나 페이지의 전체 URL 주소를 제공합니다. 특정 콘텐츠에 엑세스하는 데 사용되는 Permalink는 워드프레스 콘텐츠의 영구적인 주소로써 URL이 필요한 모든 워드프레스 콘텐츠에 사용됩니다. 워드프레스 고유주소 일반설정을 사용하면 안되는 이유 워드프레스를 처음 설치하고 고유주소 설정에 들어가게 되면 일반 설정으로 기본 세팅이 되어 있습니다. 워드프레스를 설치했다면 [일반] 설정…

  • [WP] 워드프레스 크론을 리눅스 크론으로 교체하기

    워드프레스 크론을 말하기 전에 먼저 크론(cron)에 대해 확인해 보겠습니다. 크론은 자동화 된 예약 시스템입니다. 정해진 시간에 작업을 수행하게끔 지정된 프로그램입니다. 리눅스에서 항상 실행중인 프로그램을 뜻 하는 데몬(daemon)은 백그라운드에서 여러가지 작업을 합니다. 데몬 중에 크론이 있다고 보면 됩니다. 1. 워드프레스 크론[wp-cron] 워드프레스 크론 즉, wp-cron은 워드프레스 코어 그리고 테마와 플러그인이 업데이트 되었는지 확인하는 작업에…

답글 남기기

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

Prove your humanity: 1   +   3   =