Wordpress 사이트 설정 (WP + plugins + theme)을위한 bash 설치 스크립트를 어떻게 만들 수 있습니까?


9

Wordpress를 사용하여 많은 웹 사이트를 구축하며 초기 설정은 기본적으로 항상 동일합니다.

  • 최신 버전의 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

아 알 겠어요 최신 버전이 아닐 수도 있습니다. 현재 트렁크에서 최신 버전 일 수 있습니다. 죄송합니다. 정보를 놓친 것 같습니다.
Scott

2
SVN과 함께 갈 것입니다. 여기 에서 가장 높은 번호의 태그를 사용하거나 모든 플러그인에서 트렁크 만 체크 아웃 / 내보낼 수 있습니다. 워드 프레스 코어도 마찬가지입니다 .
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/ .

설치를 위해 이것을 수정했습니다. 이 두 번째 스크립트는 테스트되지 않았지만 시작해야합니다. 당신은 당신 자신의 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일종의 가난한 사람 배쉬로 사용하고 있습니다.

WordPress git은 30 분마다 업데이트되므로 자체 플러그인 / 테마를 사용하여 자체 저장소에 복제하거나 직접 가져옵니다.

모든 것은 꽤 빠르며 실제로는 약 2 줄에 불과하며 수동으로해야 할 유일한 일은 로컬 DB를 만들고 config.php를 편집하는 것입니다. 30 분마다 수행하려면 WordPress를 최신 버전으로 업데이트하는 것이 약간 까다로울 수 있지만 일반적으로 안정적인 버전 만 사용하고 다른 버전의 dev 버전을 유지합니다.

다음과 같이 보입니다 :

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

다른 단점은 git을 통해 실제 WordPress 저장소에서 플러그인을 얻는 것이 조금 어렵다는 것입니다. git svn명령을 사용하여 플러그인을 사용할 수는 있지만 아직 작업하기가 쉽지 않다는 것을 알았습니다.


0

워드 프레스를 설치하기 위해 bash 스크립트를 만들었습니다.

이 스크립트는 다음을 자동화합니다 :

  • Downlaod 및 Wordpress 자동 설치
  • 비밀번호로 기본 사용자 생성
  • 모든 기본 플러그인 설치
  • 가장 많이 사용하는 zip url로 기본 또는 사용자 정의 테마를 설치하십시오.

github.com에서 스크립트를 찾을 수 있습니다

https://github.com/jeoga/wordpress_install_bash_script

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.