web-dev-qa-db-ja.com

私のWordpressサイトセットアップ用のbashインストールスクリプトを作成するにはどうすればいいですか(WP +プラグイン+テーマ)。

私はWordpressでたくさんのウェブサイトを構築しています、そして私の初期設定は基本的にいつも同じです:

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

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

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

今すぐ最新の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>
8
mike23

常に最新のプラグインを入手するには、例えば私のプラグインを取ります。

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スクリプトはインストール時に使用するためにたくさんのものをパッケージ化するだけです。

4
Brady

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
1
jgraup

私はwordpressをインストールするためのbashスクリプトを作成しました。

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

  • Wordpressを自動的にダウンロードしてインストールする
  • パスワードを使用してデフォルトユーザーを作成する
  • すべてのデフォルトプラグインをインストールする
  • あなたが主に使用したZip URLによるデフォルトまたはカスタムテーマをインストールしてください。

あなたはgithub.comでスクリプトを見つけることができます

https://github.com/jeoga/wordpress_install_bash_script

0
Aman Bansal

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/ .
0
icc97

私は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コマンドを使用して実行することは可能ですが、まだ作業が簡単ではないことがわかります。

0
Wyck