웹사이트 검색

WP-CLI - Linux 터미널에서 WordPress 관리


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. WP-CLI 설치
  4. WP-CLI로 플러그인 관리\n
  5. WP-CLI로 테마 관리
  6. WP-CLI로 게시물 및 페이지 생성 및 관리
  7. WP-CLI로 데이터베이스 관리
  8. WP-CLI로 WordPress 업데이트
  9. 결론

시스템 관리자이고 수백 또는 수천 개의 WordPress 웹 사이트 관리를 담당하는 경우 시간이 많이 걸리는 프로세스입니다. 각 WordPress 제어판에 로그인하고 플러그인 및 테마를 설치 또는 업데이트해야 합니다. 이것은 WP-CLI가 등장하는 곳입니다. 그만큼

WP-CLI는 명령줄에서 WordPress를 관리하도록 특별히 설계된 강력한 명령줄 도구입니다. WordPress 관리자 패널에 로그인하지 않고도 여러 WordPress 사이트를 관리할 수 있습니다. WP-CLI를 사용하면 플러그인, 테마 설치 및 업데이트, 콘텐츠 생성, 데이터베이스 작업 등을 포함한 여러 작업을 수행할 수 있습니다.

이번 포스팅에서는 WP-CLI를 설치하고 사용하여 워드프레스 사이트를 관리하는 방법을 보여드리겠습니다.

전제 조건

  • WordPress가 설치된 Ubuntu 20.04를 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

시작하기

먼저 APT 패키지 캐시를 시스템에 업데이트해야 합니다. 다음 명령으로 업데이트할 수 있습니다.

apt-get update -y

시스템이 업데이트되면 다음 단계를 진행할 수 있습니다.

WP-CLI 설치

먼저 다음 명령을 사용하여 WP-CLI 바이너리를 다운로드합니다.

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

다운로드가 완료되면 다운로드한 파일에 대한 적절한 권한을 설정합니다.

chmod +x wp-cli.phar

다음으로, 다음 명령을 사용하여 다운로드한 바이너리를 시스템 경로에 복사합니다.

cp wp-cli.phar /usr/bin/wp

이제 다음 명령을 사용하여 WP-CLI 버전을 확인합니다.

wp cli version --allow-root

다음 출력이 표시되어야 합니다.

WP-CLI 2.5.0

WP-CLI로 플러그인 관리

이 섹션에서는 명령줄에서 WordPress 사이트의 플러그인을 검색, 설치, 업데이트 및 삭제하는 방법을 배웁니다.

먼저 다음 명령을 사용하여 디렉터리를 WordPress 웹사이트로 변경합니다.

cd /var/www/html/wordpress

WordPress 사이트에 설치된 모든 플러그인을 나열하려면 다음 명령을 실행합니다.

wp plugin list --allow-root

다음 출력이 표시되어야 합니다.

+---------+----------+--------+---------+
| name    | status   | update | version |
+---------+----------+--------+---------+
| akismet | inactive | none   | 4.1.9   |
| hello   | inactive | none   | 1.7.2   |
+---------+----------+--------+---------+

특정 플러그인을 검색하려면 다음 명령을 실행합니다.

wp plugin search cache --allow-root

다음 출력에 모든 캐싱 관련 플러그인이 표시되어야 합니다.

Success: Showing 10 of 3688 plugins.
+--------------------------------------------------------------------------------+--------------------------+--------+
| name                                                                           | slug                     | rating |
+--------------------------------------------------------------------------------+--------------------------+--------+
| LiteSpeed Cache                                                                | litespeed-cache          | 98     |
| W3 Total Cache                                                                 | w3-total-cache           | 88     |
| WP-Optimize – Cache, Clean, Compress.                                    | wp-optimize              | 96     |
| WP Fastest Cache                                                               | wp-fastest-cache         | 98     |
| WP Cloudflare Super Page Cache                                                 | wp-cloudflare-page-cache | 98     |
| Redis Object Cache                                                             | redis-cache              | 92     |
| WP Super Cache                                                                 | wp-super-cache           | 86     |
| Autoptimize                                                                    | autoptimize              | 94     |
| Hummingbird – Optimize Speed, Enable Cache, Minify CSS & Defer Critical JS | hummingbird-performance  | 96     |
| Cache Enabler                                                                  | cache-enabler            | 88     |
+--------------------------------------------------------------------------------+--------------------------+--------+

이제 다음 명령을 사용하여 위 목록에서 특정 플러그인을 설치합니다.

wp plugin install wp-super-cache --allow-root

다음 출력이 표시되어야 합니다.

Installing WP Super Cache (1.7.3)
Downloading installation package from https://downloads.wordpress.org/plugin/wp-super-cache.1.7.3.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Success: Installed 1 of 1 plugins.

이제 다음 명령을 사용하여 플러그인 설치 여부를 확인하십시오.

wp plugin list --allow-root

다음 출력이 표시되어야 합니다.

+----------------+----------+--------+---------+
| name           | status   | update | version |
+----------------+----------+--------+---------+
| akismet        | inactive | none   | 4.1.9   |
| hello          | inactive | none   | 1.7.2   |
| wp-super-cache | inactive | none   | 1.7.3   |
+----------------+----------+--------+---------+

다음 명령을 사용하여 특정 소스에서 플러그인을 설치하려면:

wp plugin install https://downloads.wordpress.org/plugin/caldera-forms.1.9.4.zip --allow-root

다음 출력이 표시되어야 합니다.

Downloading installation package from https://downloads.wordpress.org/plugin/caldera-forms.1.9.4.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Success: Installed 1 of 1 plugins.

설치된 플러그인을 활성화하려면 다음 명령을 실행합니다.

wp plugin activate wp-super-cache --allow-root

다음 출력이 표시되어야 합니다.

Plugin 'wp-super-cache' activated.
Success: Activated 1 of 1 plugins.

설치된 플러그인을 비활성화하려면 다음 명령을 실행합니다.

wp plugin deactivate wp-super-cache --allow-root

다음 출력이 표시되어야 합니다.

Plugin 'wp-super-cache' deactivated.
Success: Deactivated 1 of 1 plugins.

모든 플러그인을 활성화하려면 다음 명령을 실행합니다.

wp plugin activate --all --allow-root

특정 플러그인을 업데이트하려면 다음 명령을 실행하십시오.

wp plugin update akismet --allow-root

특정 플러그인을 삭제하려면 다음 명령을 실행합니다.

wp plugin delete wp-super-cache --allow-root

모든 플러그인을 삭제하려면 다음 명령을 실행합니다.

wp plugin delete --all --allow-root

WP-CLI로 테마 관리

이 섹션에서는 WP-CLI로 테마를 설치, 업데이트, 검색 및 관리하는 방법을 보여줍니다.

WordPress 사이트에 설치된 모든 테마를 나열하려면 다음 명령을 실행합니다.

wp theme list --allow-root

다음 출력이 표시되어야 합니다.

+-----------------+----------+--------+---------+
| name            | status   | update | version |
+-----------------+----------+--------+---------+
| twentynineteen  | inactive | none   | 2.0     |
| twentytwenty    | inactive | none   | 1.7     |
| twentytwentyone | active   | none   | 1.3     |
+-----------------+----------+--------+---------+

특정 테마를 검색하려면 다음 명령을 실행합니다.

wp theme search metro --allow-root

Metro라는 단어와 일치하는 모든 테마가 표시됩니다.

Success: Showing 4 of 4 themes.
+----------------+----------------+--------+
| name           | slug           | rating |
+----------------+----------------+--------+
| Metrolo        | metrolo        | 100    |
| MetroStore     | metrostore     | 100    |
| Metro Magazine | metro-magazine | 98     |
| Rara Magazine  | rara-magazine  | 0      |
+----------------+----------------+--------+

메트로 테마를 설치하고 활성화하려면 다음 명령을 실행합니다.

wp theme install metro-magazine --activate --allow-root

다음 출력이 표시되어야 합니다.

Installing Metro Magazine (1.3.5)
Downloading installation package from https://downloads.wordpress.org/theme/metro-magazine.1.3.5.zip...
Unpacking the package...
Installing the theme...
Theme installed successfully.
Activating 'metro-magazine'...
Success: Switched to 'Metro Magazine' theme.
Success: Installed 1 of 1 themes.

모든 테마를 업데이트하려면 다음 명령을 실행합니다.

wp theme update --all --allow-root

특정 테마를 삭제하려면 다음 명령을 실행합니다.

wp theme delete metro-magazine --allow-root

WP-CLI로 게시물 및 페이지 생성 및 관리

이 섹션에서는 WP-CLI를 사용하여 게시물과 페이지를 나열, 생성 및 관리하는 방법을 보여줍니다.

WordPress 사이트의 모든 게시물을 나열하려면 다음 명령을 실행합니다.

wp post list --allow-root

다음 출력이 표시되어야 합니다.

+----+--------------+-------------+---------------------+-------------+
| ID | post_title   | post_name   | post_date           | post_status |
+----+--------------+-------------+---------------------+-------------+
| 1  | Hello world! | hello-world | 2021-06-09 14:51:29 | publish     |
+----+--------------+-------------+---------------------+-------------+

특정 번호 게시물을 삭제하려면 다음 명령을 실행합니다.

wp post delete 1 --allow-root

새 게시물을 만들려면 다음 명령을 실행합니다.

wp post create --post_status=publish --post_title="How to Manage WordPress with WP-CLI" --edit --allow-root

게시물 대신 페이지를 만들려면 다음 명령을 실행합니다.

wp post create --post_title="My new page" --post_status=draft --post_type=page --allow-root

더미 데이터로 30개의 게시물을 생성하려면 다음 명령을 실행합니다.

wp post generate --count=30 --allow-root

생성된 모든 게시물을 나열하려면 다음 명령을 실행합니다.

wp post list --allow-root

다음 출력이 표시되어야 합니다.

+----+-------------------------------------+-------------------------------------+---------------------+-------------+
| ID | post_title                          | post_name                           | post_date           | post_status |
+----+-------------------------------------+-------------------------------------+---------------------+-------------+
| 7  | Post 2                              | post-2                              | 2021-06-09 15:00:57 | publish     |
| 8  | Post 3                              | post-3                              | 2021-06-09 15:00:57 | publish     |
| 9  | Post 4                              | post-4                              | 2021-06-09 15:00:57 | publish     |
| 10 | Post 5                              | post-5                              | 2021-06-09 15:00:57 | publish     |
| 11 | Post 6                              | post-6                              | 2021-06-09 15:00:57 | publish     |
| 12 | Post 7                              | post-7                              | 2021-06-09 15:00:57 | publish     |
| 13 | Post 8                              | post-8                              | 2021-06-09 15:00:57 | publish     |
| 14 | Post 9                              | post-9                              | 2021-06-09 15:00:57 | publish     |
| 15 | Post 10                             | post-10                             | 2021-06-09 15:00:57 | publish     |
| 16 | Post 11                             | post-11                             | 2021-06-09 15:00:57 | publish     |
| 17 | Post 12                             | post-12                             | 2021-06-09 15:00:57 | publish     |
| 18 | Post 13                             | post-13                             | 2021-06-09 15:00:57 | publish     |
| 19 | Post 14                             | post-14                             | 2021-06-09 15:00:57 | publish     |
| 20 | Post 15                             | post-15                             | 2021-06-09 15:00:57 | publish     |
| 21 | Post 16                             | post-16                             | 2021-06-09 15:00:57 | publish     |
| 22 | Post 17                             | post-17                             | 2021-06-09 15:00:57 | publish     |
| 23 | Post 18                             | post-18                             | 2021-06-09 15:00:57 | publish     |
| 24 | Post 19                             | post-19                             | 2021-06-09 15:00:57 | publish     |
| 25 | Post 20                             | post-20                             | 2021-06-09 15:00:57 | publish     |
| 26 | Post 21                             | post-21                             | 2021-06-09 15:00:57 | publish     |
| 27 | Post 22                             | post-22                             | 2021-06-09 15:00:57 | publish     |
| 28 | Post 23                             | post-23                             | 2021-06-09 15:00:57 | publish     |
| 29 | Post 24                             | post-24                             | 2021-06-09 15:00:57 | publish     |
| 30 | Post 25                             | post-25                             | 2021-06-09 15:00:57 | publish     |
| 31 | Post 26                             | post-26                             | 2021-06-09 15:00:57 | publish     |
| 32 | Post 27                             | post-27                             | 2021-06-09 15:00:57 | publish     |
| 33 | Post 28                             | post-28                             | 2021-06-09 15:00:57 | publish     |
| 34 | Post 29                             | post-29                             | 2021-06-09 15:00:57 | publish     |
| 35 | Post 30                             | post-30                             | 2021-06-09 15:00:57 | publish     |
| 36 | Post 31                             | post-31                             | 2021-06-09 15:00:57 | publish     |
| 5  | How to Manage WordPress with WP-CLI | how-to-manage-wordpress-with-wp-cli | 2021-06-09 15:00:39 | publish     |
+----+-------------------------------------+-------------------------------------+---------------------+-------------+

더미 데이터가 있는 페이지를 생성하려면 다음 명령을 실행합니다.

wp post generate --count=30 --post_type=page --allow-root

WP-CLI로 데이터베이스 관리

WP-CLI로 데이터베이스를 관리할 수도 있습니다.

전체 WordPress 데이터베이스를 백업하려면 다음 명령을 실행합니다.

wp db export --allow-root

다음 출력이 표시되어야 합니다.

Success: Exported to 'mysite-2021-06-09-14d4641.sql'.

다음 명령을 사용하여 WordPress 데이터베이스를 가져올 수도 있습니다.

wp db import backup.sql --allow-root

WP-CLI로 WordPress 업데이트

WordPress의 현재 버전을 인쇄하려면 다음 명령을 실행하십시오.

wp core version --allow-root

다음 출력이 표시되어야 합니다.

5.7.2

WordPress 업데이트를 확인하려면 다음 명령을 실행합니다.

wp core check-update --allow-root

다음 출력이 표시되어야 합니다.

Success: WordPress is at the latest version.

이제 다음 명령을 사용하여 WordPress를 사용 가능한 최신 버전으로 업데이트할 수 있습니다.

wp core update --allow-root

결론

위의 가이드에서는 WP-CLI를 설치하고 사용하여 WordPress 사이트를 관리하는 방법을 배웠습니다. 이렇게 하면 작업이 훨씬 쉬워지기를 바랍니다.