私はWordpressでたくさんのウェブサイトを構築しています、そして私の初期設定は基本的にいつも同じです:
これらを個別にダウンロード/アップロードして、新しいプロジェクトを始めるたびに手作業で行うのではなく、これを行うbashスクリプトを作成したいと思います。
今すぐ最新のWPをダウンロードするのは簡単です(http://wordpress.org/latest.tar.gz)、私の裸のテーマもダウンロードできますが、最新バージョンのプラグインを入手するのに問題があります。それらはlatest.tar.gz
と呼ばれるのではなく、バージョンで名前を指定します(例:wptouch.1.9.26.Zip)
編集:だから今私はそれがプラグインの現在のバージョンの正確なURLを見つけるために私のbashスクリプトで cURL を使用することが可能かどうか疑問に思います。考えは、ページを取得してから、<h3>Current Version</h3>
の直後の段落にあるhref
の値を見つけることです。
例を示しましょう。WPのすべてのプラグインダウンロードページは次のようになります。
<h3>Current Version</h3>
<p class="unmarked-list">
<a href="http://downloads.wordpress.org/plugin/jetpack.1.1.2.Zip">1.1.2</a>
</p>
常に最新のプラグインを入手するには、例えば私のプラグインを取ります。
http://wordpress.org/extend/plugins/wordpress-file-monitor-plus/ /
最新のダウンロードリンクは次のとおりです。
http://downloads.wordpress.org/plugin/wordpress-file-monitor-plus.1.1.Zip
ただし、ダウンロードリンクからバージョンを削除すると、常に最新バージョンが表示されます。
http://downloads.wordpress.org/plugin/wordpress-file-monitor-plus.Zip
編集:あなたは最新のワードプレスとプラグインのフォルダを解凍しておくことを考えましたか?それから新しいプラグインかワードプレスが出たらすぐにあなたは単にあなたが持っているものの上にそれを解凍します。そうすると、あなたのbashスクリプトはインストール時に使用するためにたくさんのものをパッケージ化するだけです。
Bashスクリプトを作成してください。
touch wp_plugins_theme.sh
実行可能にする
chmod +x ./wp_plugins_theme.sh
これをコピーしてください。
#!/bin/bash
#
# This script is to automate a common WP setup.
#
# - Download the latest version of Wordpress
# - Unzip
# - Download the latest version of plugin X
# - Unzip to WP plugins folder
# - Download theme
# - Unzip to themes folder
: ' Define Directory
'
# Change to your directory name
# Final site will be $PWD/$dirname/www/
dirname=ExampleWPPluginsTheme
# WordPress Directories used later
plugins=$PWD/$dirname/www/wp-content/plugins
themes=$PWD/$dirname/www/wp-content/themes
: ' Clear Example Dir
'
rm -rf $PWD/$dirname
mkdir -p $PWD/$dirname/www
cd $PWD/$dirname;
: ' Download the latest version of Wordpress
'
curl -OL "https://wordpress.org/latest.tar.gz"
: ' Unzip
'
tar -zxvf "./latest.tar.gz" -C 'www' --strip-components=1
: ' Download the latest version of plugin X
'
curl -OL "https://downloads.wordpress.org/plugin/query-monitor.latest-stable.Zip"
curl -OL "https://downloads.wordpress.org/plugin/wp-optimize.latest-stable.Zip"
: ' Unzip to WP plugins folder
'
tar -zxvf "./query-monitor.latest-stable.Zip" -C $plugins
tar -zxvf "./wp-optimize.latest-stable.Zip" -C $plugins
: ' Download theme
'
curl -OL "https://github.com/Automattic/_s/archive/master.Zip"
: ' Unzip to themes folder
'
tar -zxvf "./master.Zip" -C $themes
: ' Done
'
# List the folder contents
ls -la $PWD
コマンドを実行する
./wp_plugins_theme.sh
私はwordpressをインストールするためのbashスクリプトを作成しました。
このスクリプトは以下を自動化します。
あなたはgithub.comでスクリプトを見つけることができます
Subversionを使ってWordpressをアップデートするためのbashスクリプトを recommend として作成しました。
#!/bin/bash
# usage: upgrade_wordpress.sh X.X.X
# http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion
# http://stackoverflow.com/a/699613/327074
die () {
echo >&2 "$@"
exit 1
}
# check that there is one argument
[ "$#" -eq 1 ] || die "usage: upgrade_wordpress.sh X.X.X"
# http://stackoverflow.com/a/2220646/327074
response=$(curl --write-out %{http_code} --silent --output /dev/null http://core.svn.wordpress.org/tags/$1/)
# check that the tag repository exists, i.e. returns a HTTP 200 status code
[ "$response" -eq 200 ] || die "Couldn't find Wordpress version, http error: $response"
# Take a backup
mysqldump -u root -p wordpress > wordpress_upgrade_to_$1_bak.sql
# Updating to a New Stable Version
cd /path/to/wordpress/dir/
svn sw http://core.svn.wordpress.org/tags/$1/ .
インストールをするためにこれを修正しました。この2番目のスクリプトはテストされていませんが、始めることができます。あなたはあなた自身のcreate_wordpress_database_and_user.sqlを書く必要があるでしょう - しかしあなたはとにかく質問でそれを求めなかった、それであなたはそれを無視することができます。
#!/bin/bash
# usage: install_wordpress.sh X.X.X /path/to/wordpress/dir
# http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion
# http://stackoverflow.com/a/699613/327074
die () {
echo >&2 "$@"
exit 1
}
# check that there are two arguments
[ "$#" -eq 2 ] || die "usage: install_wordpress.sh X.X.X /path/to/wordpress/dir"
# http://stackoverflow.com/a/2220646/327074
response=$(curl --write-out %{http_code} --silent --output /dev/null http://core.svn.wordpress.org/tags/$1/)
# check that the tag repository exists, i.e. returns a HTTP 200 status code
[ "$response" -eq 200 ] || die "Could not find Wordpress version, http error: $response"
# create directory if needed
if [ ! -d $2 ]; then
mkdir $2
fi
# Install the database
mysql -u root -p < create_wordpress_database_and_user.sql
# Checking out stable version
cd $2
svn co http://core.svn.wordpress.org/tags/$1/ .
私はgit clone
を一種の貧弱な人向けのものとして使ってきました。
WordPressのgitは30分ごとに更新されるので、自分のプラグイン/テーマを使って自分のレポにクローンを作成するか、直接そこから取得します。
全体的なことはかなり速く、実際にはたった2行です、そして私が手動でしなければならない唯一のことはローカルDBを作成してconfig.phpを編集することです。 30分ごとに更新したい場合は、WordPressを確実に最新バージョンに更新するのがやや面倒ですが、私は通常安定版のみを使用し、開発版を別の環境に保存します。
それはこのように見えます:
mkdir wordpress-project
git clone ..url-to-my-wordpress-base
もう1つの欠点は、実際のWordPressレポジトリからgitを使ってプラグインを入手するのが少し難しいことです。git svn
コマンドを使用して実行することは可能ですが、まだ作業が簡単ではないことがわかります。