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

  • [WP] 가성비 해외 호스팅: 네임칩 VS 호스팅어 비교

    해외에서 매니지드 워드프레스 호스팅을 사용하는 분들이 늘어나고 있습니다. 이번에는 가성비 해외 호스팅 업체 중 호스팅어Hostinger와 네임칩NameCheap 2군데를 비교해 보겠습니다. 호스팅과 도메인 가격, 서비스 등의 전반적인 내용을 위주로 비교해 보겠습니다. 어느 정도 웹 사이트의 트래픽이 발생해서 국내에서 대역폭으로 고민하는 경우 클라우드플레어 무료CDN과 함께 사용한다면 사용 중인 국내 호스팅 업체의 서버 업데이트를 통한 비용과 비슷한…

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

    워드프레스 대시콘은 워드프레스 3.8 버전(2013년) 에서 도입된 공식 아이콘 글꼴입니다. 관리자 화면 전반에서 메뉴와 버튼 등에 아이콘을 표시하기 위해 사용되었지만, 폰트 기반 아이콘의 한계와 해상도 문제로 인해 2020년경부터 SVG 아이콘 체계로 전환되었습니다. 현재 대부분의 최신 테마와 플러그인은 SVG 아이콘이나 커스텀 아이콘 세트를 사용하는 추세입니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲 다운로드🔲 기본…

  • WordPress: 개념과 기능 | 왜 워드프레스를 사용하는가?

    WordPress는 무료 오픈 소스 콘텐츠 관리 시스템(CMS)입니다. 원래는 블로그 게재 목적으로 개발되었지만, 시간이 지나면서 인터넷 포럼, 웹사이트, 다양한 콘텐츠 유형을 지원하는 플랫폼으로 발전했습니다. 테마와 플러그인 시스템을 기반으로 하며, 미디어 갤러리, 회원제 사이트, 학습 관리 시스템(LMS), 우커머스를 활용한 쇼핑몰 등 거의 모든 형태의; 웹사이트 구축이 가능합니다. 콘텐츠 관리 시스템(CMS)을 사용하는 이유는 비 개발자도 손쉽게…

  • 워드프레스 RDS 링크 목적과 제거하는 방법

    워드프레스 설치 시 RSD 링크는 기본으로 생성되어 활성화되어 있습니다. 워드프레스 RSD 링크는 외부 애플리케이션이 워드프레스 사이트와 보다 쉽게 통신할 수 있도록 하는 목적을 가지고 있습니다. 이를테면 Windows Live Writer(PC 블로그 작성기), MarsEdit(Mac용 블로그 작성기)에서 작성한 글을 워드프레스에 업로드할 때 활용됩니다. 워드프레스 모바일 앱은 처음에 접속 설정 시 RDS 링크를 사용합니다. RSD 링크는 XML-RPC…

  • [WP]워드프레스 댓글 비활성화 방법 3가지

    워프프레스 블로그를 운영하다 보면 해외에서 많은 스팸 댓글이 달릴 때가 많습니다. 댓글을 스팸 및 삭제하기 전에 달린 댓글들은 DB 용량을 차지해서 서버의 리소스를 잡아 먹습니다. 커뮤니티 or 전자상거래 목적의사이트가 아니라면 ‘워드프레스 댓글 비활성화’를 설정을 해 놓는 것이 옳은 결정입니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲 다운로드🔲 기본 권한 설정🔲 작동 확인🔲 전역…

  • 워드프레스 점유율 43%: 전 세계 웹사이트에서 가장 많이 쓰이는 CMS

    W3Techs의 월드 와이드 웹 기술 설문조사에 따르면 워드프레스 점유율은 2025년 3월 43.4%입니다. 전 세계의 웹 사이트 43.4%가 워드프레스 CMS로 만들어 졌다는 걸 의미입니다. 시장 점유율은 61.1%로 확인되며, 2위가 쇼피파이, 3위가 윅스, 4위가 스퀘어스페이스, 5위 줌라로 확인되고 있습니다. 1~5위 순위는 오랜 시간 변동 없이 이어질 것으로 보입니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲…

답글 남기기

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

Prove your humanity: 2   +   10   =