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

  • IMAGIFY 설정: 워드프레스 이미지 최적화 플러그인

    워드프레스 이미지 최적화 플러그인은 JPEG 또는 PNG 이미지를 WebP 이미지로 변화해 주며, 이미지를 무손실 또는 손실로 압축합니다. 이미지 최적화 플러그인은 워드프레스 웹 사이트의 로딩 속도를 대략 50% 정도 향상 시킵니다. 그 중 2년 정도 사용한 IMAGIFY 플러그인은 웹 사이트의 로딩 속도를 빠르게 변환해 주는 플러그인 중 하나입니다. 무료 버전에서 월 20M, 200개의 이미지를…

  • wp-config.php 기본 설정

    wp-config.php 파일은 워드프레스 웹 사이트의 가장 중요한 설정 파일입니다. 이 파일은 워드프레스가 데이터베이스에 접속하고 작동하는 데 필요한 핵심 정보를 담고 있기 때문에, 사이트의 심장부와 같습니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲 다운로드🔲 기본 권한 설정🔲 작동 확인🔲 전역 설정🔲 자동 완성 스크립트 적용3️⃣ WP CLI 업데이트4️⃣ WP CLI 명령어🔲 –path=경로 옵션 vs…

  • 워드프레스 호스팅 RocketNet 가격·스펙 & Starter 플랜 $1

    워드프레스 호스팅 중 RocketNet은 속도와 안정성을 중시하는 개발자형 관리형 호스팅 서비스로, 캐시·보안·CDN 기능을 기본 제공하며 별도의 설정 없이 빠른 환경을 구축할 수 있습니다. 엔터프라이즈 호스팅을 제외한 관리형 호스팅 및 에이전시 호스팅은 첫 달 $1로 할인과 1년 결제 시에도 30일 환불 정책이 있기 때문에 가입 후 충분히 검토 후에 연장 여부를 검토할 수 있습니다….

  • 워드프레스 캐시 플러그인 및 최적화 플러그인

    워드프레스로 만들어진 웹사이트는 플러그인을 설치할 수록 속도가 느려집니다. 이는 필연적인 현상으로 워드프레스 사이트 속도가 느린 경우 워드프레스 캐시 플러그인을 설치하여 사이트의 성능을 향상 시켜야 한다고 공식 문서에서도 언급하고 있습니다. 일반적으로 워드프레스 웹사이트는 HTML, CSS, JavaScript 등으로 직접 코딩 된 일반 웹사이트에 비해 느릴 수 있습니다. 그 이유는 워드프레스의 작동 방식 때문입니다. 목차1️⃣ WP…

  • [WP] 워드프레스 렌더링 차단 리소스 제거 방법 2가지

    워드프레스를 이용하다 보면 ‘렌더링 차단 리소스 제거‘ 설정이란 내용을 플러그인 사용 중 본 경우가 있을 수 있습니다. 워드프레스 렌더링이란 무엇이며, ‘렌더링‘과 ‘렌더링 차단 리소스 제거‘는 무엇을 뜻 하는지 풀어 보도록 하겠습니다. 먼저 렌더링은 HTML, CSS, 자바스크립트 등 웹 사이트의 문서가 웹 브라우저에서 출력 되는 과정입니다. 웹 페이지에 접속 했을 때 브라우저에 표시되는 것이…

  • [WP] 워드프레스 외모 | 테마 | 사용자 정의하기 | 위젯 | 메뉴 | 4가지 항목 이해 및 설정

    워드프레스 외모 메뉴에 대해 알아 보겠습니다. 관리자 페이지의 외모 메뉴 구성은 테마 | 사용자 정의하기 | 위젯 | 메뉴 | 테마파일 편집기 총 5가지 항목 메뉴로 나뉘어집니다. CSS 설정을 하는 테마파일 편집기를 제외한 나머지 4가지 항목에 대해 알아 보겠습니다. 목차1️⃣ WP CLI란 무엇인가?2️⃣ WP-CLI를 설치하는 방법🔲 다운로드🔲 기본 권한 설정🔲 작동 확인🔲 전역…

답글 남기기

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

Prove your humanity: 9   +   5   =