尽量简便地使用Kusanagi和WP-CLI进行WordPress安装

首先

你好。圣诞节日历已经进入了尾声。
因此,今天我想与大家一起考虑使用Kusanagi和WP-CLI尽可能轻松地部署服务器的方法。
安装WordPress通常会涉及到许多图形化界面的操作,但这次我们将尽可能地在CLI上完成!

想做的事情 zuò de

在进行基础设施工作时,我们经常需要大量设置相同的WordPress环境。
这样做的话,每次都要安装和设置插件非常麻烦。(既然是相同的,我希望能自动化)
WordPress的优点之一是可以通过图形用户界面完成大部分工作,
但对于安装者来说,这也导致了一些无法自动化插件设置等的问题。
在这次讨论中,我们考虑了以Kusanagi环境为基础,在命令行界面上完全自动化安装的方法。

總結

我想做的是只通过命令行完成WordPress的安装,但通过从已安装的WordPress数据库转储创建WordPress的克隆来实现目标。
通过以下步骤安装,可以自动化一些难以自动化的插件和主题设置。

1. 1台目のWordPressの設置&設定を行う
2. 設定完了後のDBのダンプを保存しておく
3. 2台目以降は、保存しておいたDBのダンプを使用してWordPressの設置する → 1台目の設定が引き継がれる
4. 変更が必要なもののみ設定を上書きする

前提条件

    • CentOS7.x or AmazonLinux

 

    • Kusanagi

 

    • WP-CLI

 

    Mysql

我们打算在一个EC2实例上安装多个WordPress来继续进行谈话。

EC2的启动

スクリーンショット 2018-12-23 16.23.47.png

草薙的初始设定

当完成创建后,会通过ssh登录到设置的服务器。

[user@~/]$ ssh centos@13.230.xxx.xxx -i

Last login: Sun Dec 23 16:30:11 2018 from 555-21-test-vv.aa.xxx.ap.plala.or.jp

     __ ____  _______ ___    _   _____   __________
    / //_/ / / / ___//   |  / | / /   | / ____/  _/
   / ,< / / / /\__ \/ /| | /  |/ / /| |/ / __ / /
  / /| / /_/ /___/ / ___ |/ /|  / ___ / /_/ // /
 /_/ |_\____//____/_/  |_/_/ |_/_/  |_\____/___/

    Version 8.4.2-1, Powered by Prime Strategy.

[centos@kusanagi80 ~]$ 

当您成功登录后,我们将进行Kusanagi的初始设置。

[centos@kusanagi80 ~]$ kusanagi init

KUSANAGIのバージョンをチェックしています。
KUSANAGIの最新バージョンをご使用いただき、ありがとうございます。
certbot-auto のアップデートを確認します。
certbot 0.29.1

Search or select timezone:  Asia/Tokyo   #リストの中からAsia/Tokyoを入力                                                                                                                                                                                                                                IgnoreCase [1/1]
Asia/Tokyo                             


Select your using language.
1 : English
2 : 日本語
q : quit
Which are you using?: 2 #日本語を選択

ご使用中のキーボードレイアウトを選択してください。
1: 英語
2: 日本語
q : 終了
Which are you using?: 2 #こちらも日本語を選択

ユーザー kusanagi のパスワードを変更。
新しいパスワード: #Passrowdを入力

KUSANAGIはミドルウェアを選択することができます。
Webサーバーを選択してください
1) NGINX(デフォルト)
2) Apache

どれを使用しますか?(1): 1 #今回はNginxを選択。

アプリケーションサーバを選択してください。
1) PHP7(デフォルト)
2) HHVM
3) PHP5

どれを使用しますか?(1): #今回はPHP7を選択

Rubyのバージョンを選択して下さい。
1) Ruby2.4

どれを使用しますか?(1): 1 #今回はRuby2.4を選択

データベースシステムを選択してください。
1) MariaDB(デフォルト)
2) PostgreSQL

どれを使用しますか?(1): 1 #今回はMariaDBを選択

MySQLのrootパスワードを入力してください。[a-zA-Z0-9.!#%+_-]の文字列が使用できます。最小は8文字以上です。 # 新規Passwordを入力
再度MySQLのrootパスワードを入力してください。 # 再度Passwordを入力
パスワードは変更されました。
MySQLのrootパスワードを変更しました。

〜〜〜〜途中省略〜〜〜〜〜

KUSANAGIの初期設定を完了しました。
完了しました。

安装第一个WordPress

我们将设置用于克隆的WordPress。除了插件和主题设置,其他设置将通过CLI进行。

草薙提供

在KUSANAGI上安装新的WordPress时,执行kusanagi provison命令。
在这种情况下,如果没有指定任何选项,则会进入交互式输入。
由于本次是基于自动化的前提,因此将设置所有必需的选项。

kusanagi provision --WordPress \
                                       --wplang ja \
                                       --dbname <DB名> \
                                       --dbuser <DBユーザー名> \
                                       --dbpass <DBパスワード> \
                                       --email <メールアドレス> \
                                       --fqdn <サイトのURL> \
                                       <プロファイル名> ;

例: 
[centos@kusanagi80 ~]$ sudo kusanagi provision --WordPress --wplang ja --dbname db_test --dbuser user_test --dbpass db_password123 --email test@example.com --fqdn test.example.com wp_test;

wp_test のプロビジョニングは完了しました。test.example.com にアクセスし、WordPressをインストールしてください!
完了しました。

在这种状态下,将创建目录/home/kusanagi//,并且将WordPress文件保存在/home/kusanagi//DocumentRoot/内。 MariaDB和Nginx的配置已经完成,但是接下来我们将进行WordPress配置(通常通过Web进行配置)。

创建wp-config.php

首先是创建wp-config.php文件。
我们将输入与执行Kusanagi provision时相同的配置值。

[centos@kusanagi80 ~]$ sudo -u kusanagi -- /usr/local/bin/wp config create --dbname=<DB名> --dbuser=<DBユーザー名> --dbpass=<DBパスワード> --path=/home/kusanagi/<プロファイル名>/DocumentRoot/`
Success: Generated 'wp-config.php' file.

执行WordPress的安装

既然 wp-config.php 文件已经创建成功,接下来我们要进行 WordPress 的安装。

[centos@kusanagi80 ~]$ sudo -u kusanagi -- /usr/local/bin/wp core install --url='<サイトのURL>' --title='<サイトのタイトル>' --admin_name='<WordPress管理画面のログインユーザー名>' --admin_password='<WordPress管理画面のログインパスワード>' --admin_email='<メールアドレス>'
Success: WordPress installed successfully.

当您访问该URL时,我认为WordPress已经启动。至此,基本的初始设置已完成。

安装插件和主题。

### プラグイン ###
[centos@kusanagi80 ~]$ sudo -u kusanagi -- /usr/local/bin/wp plugin install <プラグインのディレクトリ名> # iThemeSecurityの場合はbetter-wp-security
Installing iThemes Security (formerly Better WordPress Security) (7.2.0)
Downloading installation package from https://downloads.wordpress.org/plugin/better-wp-security.7.2.0.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Success: Installed 1 of 1 plugins.

[centos@kusanagi80 ~]$ sudo -u kusanagi -- /usr/local/bin/wp plugin activate <プラグインのディレクトリ名> # これで有効化される 
Success: Activated 1 of 1 plugins.


### テーマ ###
[centos@kusanagi80 ~]$ sudo -u kusanagi -- /usr/local/bin/wp theme install <テーマのディレクトリ名> # twentysixteen など
Installing Certify (1.2.4.1)
Downloading installation package from https://downloads.wordpress.org/theme/certify.1.2.4.1.zip...
Unpacking the package...
Installing the theme...
This theme requires a parent theme. Checking if it is installed...
Preparing to install SpicePress 1.5.4...
Downloading installation package from https://downloads.wordpress.org/theme/spicepress.1.5.4.zip...
Unpacking the package...
Installing the theme...
Theme installed successfully.
Theme installed successfully.
Success: Installed 1 of 1 themes.

[centos@kusanagi80 ~]$ sudo -u kusanagi -- /usr/local/bin/wp theme activate <プラグインのディレクトリ名> # これで有効化される 
Success: Switched to 'Twenty Sixteen' theme.

插件和主题设置

由於第一次需要手動操作,因此請從管理介面進行所需的設定。

第二台及后续的安装

将使用与第一台相同的设置创建另一个WordPress作为其他网站。
WordPress基本上将所有设置保存在数据库中。
因此,在大多数情况下,只需复制数据库数据,即可创建与第一台相同的WordPress,而无需重新设置。

保存 Database 的备份

保存已完成設置的WordPress數據庫備份。

[centos@kusanagi80 ~]$ mysqldump -u <DBユーザー名> -p<DBパスワード> -h localhost > wp_test_db.dump

草薙供应

(Kusanagi Gongying)

请将第一台设备的设置与之前相同(仅需更改ID和密码等设置值)。

创建wp-config.php

这里与第一台设备的安装一样。(请仅更改ID&PASS等设置值)

执行WordPress安装 还原数据库转储

在这里,我们将恢复之前保存的第一台WordPress的数据库转储,而不进行WordPress的安装过程。

# 既存のテーブルがあったらすべて削除
[centos@kusanagi80 ~]$ mysql -N -e "SHOW TABLES FROM <DB名>" | xargs -I "@@" mysql -e "DROP TABLE <DB名>.\`@@\`"
# DBダンプの復元
[centos@kusanagi80 ~]$ mysql <DB名> < "<ダンプファイル名>"

修改WordPress设置(覆盖第一个设置)

#WordPress管理画面パスワードの変更(ユーザー名は同じものを使い回す想定)
[centos@kusanagi80 ~]$ sudo -u kusanagi -- /usr/local/bin/wp user update <WordPressログインユーザー名> --user_pass=<新WordPressログインパスワード>

#ホスト名の変更
[centos@kusanagi80 ~]$ kusanagi setting --fqdn <新サイトURL> <新プロファイル名>

#サイト名の変更
[centos@kusanagi80 ~]$ mysql -uroot -e "use <新DB名> ; update wp_options set option_value='<新サイト名>' where option_name='blogname';"

#SSL証明書の再取得
[centos@kusanagi80 ~]$ kusanagi ssl --email <新メールアドレス> <新プロファイル名>

安装插件和主题

需要再次进行安装,与第一次安装相同。
在这里,由于需要下载每个文件,因此需要重新进行安装。

插件和主题设置 hé

由于使用了第一个WordPress的DB转储,因此可以跳过。

总结起来

通过将这些处理操作转化为一个有效的Shell脚本,可以在第二次以及以后的操作中,在仅需1~2分钟内创建出与之前相同环境的WordPress。特别是由于GUI设置容易忽略一些步骤,所以能够继承之前的设置是非常令人高兴的。
#值得注意的是,如果插件有重大更新,可能会导致意外故障,因此在那种情况下需要进行充分的测试。

我們將採取各種不同的方法來提高業務效率。未來我們還將進一步努力,將繁瑣的任務委託給Shell腳本,並採取各種創新。

广告
将在 10 秒后关闭
bannerAds