Wordpressサイトのセットアップ(WP + plugins + theme)用のbashインストールスクリプトを作成するにはどうすればよいですか?


9

Wordpressを使用して多くのWebサイトを構築していますが、私の初期設定は基本的に常に同じです。

  • WPの最新バージョン
  • 約5つのプラグインの最新バージョン
  • 私の裸の開発テーマ

これらを個別にダウンロード/アップロードして、新しいプロジェクトを開始するたびに手動で行うのではなく、これを実行するbashスクリプトを作成します。

  • Wordpressの最新バージョンをダウンロードする
  • 解凍
  • プラグインXの最新バージョンをダウンロード
  • WPプラグインフォルダーに解凍
  • 私の裸のテーマをダウンロード
  • テーマフォルダに解凍

今すぐ最新のWPをダウンロードすることはあまりにも私の裸のテーマをダウンロードして、(http://wordpress.org/latest.tar.gz)簡単ですが、私は彼らが呼ばれていないとして、プラグインの最新バージョンを取得し、トラブルを抱えているlatest.tar.gzが、specifictバージョンの名前(例:wptouch.1.9.26.zip)

編集:だから、私は私のbashスクリプトでcURLを使用してプラグインの現在のバージョンの正確なURLを見つけることが可能かどうか疑問に思っています。アイデアは、ページをフェッチし、のhref直後の段落にあるの値を見つけることです<h3>Current Version</h3>

例を示します。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>

回答:


4

常に最新のプラグインを取得するには、私のプラグインを例にとります:

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スクリプトは、インストールで使用されるすべてのパッケージを作成します。


1
くそったれ、それは簡単だった、ありがとう。今はbashスクリプトをやめています。何かをまとめることができるといいのですが。結果はこちらに投稿します。
mike23

ただし、あなたの例では、wordpress-file-monitor-plus.zipが「開発バージョン」の下にリストされていますが、これは最新の安定バージョンと同じではありませんか?
mike23

ああなるほど。これはおそらく最新バージョンではないかもしれません...トランクで現在最新のものである可能性があります。申し訳ありませんが、通知を逃してしまった可能性があります。
スコット

2
ここではSVNを使用します。そこで、最も大きい番号のタグ、またはすべてのプラグインのトランクのみをチェックアウト/エクスポートできます。WordPress Coreについても同様です。
rofflox

1
開いhttp://plugins.svn.wordpress.org/plugin-name/trunk/readme.txtて、Stable Tag: X行を解析してから、ダウンロードできhttp://downloads.wordpress.org/plugin/plugin-name.X.zipませんか?
Ian Dunn

1

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

私はこれが古いことを知っていますが、それは正しい答えに最も近いものです。それは単にそうであるはずですhttps://downloads.wordpress.org/plugin/plugin-name.latest-stable.zip
Sledge Hammer

0

私は彼らが推奨するように subversionを使用してWordpressを更新するbashスクリプトを作成しました

#!/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/ .

0

私はgit clone一種の貧しい男としてbash を使用しています。

WordPress gitは30分ごとに更新されるので、自分のプラグイン/テーマを使用して自分のリポジトリに複製するか、直接そこからプルします。

全体はかなり高速で、実際には約2行しかありません。手動で行う必要があるのは、ローカルDBを作成してconfig.phpを編集することだけです。30分ごとにWordPressを最新バージョンに更新することを確認するのは少し難しいかもしれませんが、私は通常、安定版のみを使用し、開発版を別の環境に保持します。

次のようになります。

mkdir wordpress-project
git clone ..url-to-my-wordpress-base 

もう1つの欠点は、実際のWordPressリポジトリからgitを介してプラグインを取得するのが少し難しいことです。git svnコマンドを使用してプラグインを取得することは可能ですが、まだ簡単に操作できません。


0

ワードプレスをインストールするbashスクリプトを作成しました。

このスクリプトは以下を自動化します。

  • Wordpressを自動的にダウンロードしてインストールする
  • パスワードでデフォルトユーザーを作成する
  • すべてのデフォルトプラグインをインストールする
  • ほとんど使用したzip urlでデフォルトまたはカスタムのテーマをインストールします。

スクリプトはgithub.comにあります

https://github.com/jeoga/wordpress_install_bash_script

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.