尽量简便地使用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的启动
草薙的初始设定
当完成创建后,会通过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腳本,並採取各種創新。