मैं अपने Wordpress साइट्स सेटअप (WP + प्लगइन्स + थीम) के लिए एक bash इंस्टॉल स्क्रिप्ट कैसे बना सकता हूं?


9

मैं वर्डप्रेस के साथ बहुत सारी वेबसाइट बनाता हूं, और मेरा शुरुआती सेटअप मूल रूप से हमेशा एक जैसा होता है:

  • WP का नवीनतम संस्करण
  • लगभग 5 प्लगइन्स के नवीनतम संस्करण
  • मेरा नग्न विकास विषय

इन चीज़ों को अलग से डाउनलोड / अपलोड करने के बजाय और हर बार जब मैं एक नया प्रोजेक्ट शुरू करता हूँ, तो मैं एक बश स्क्रिप्ट बनाना चाहूँगा जो यह करेगी:

  • Wordpress का नवीनतम संस्करण डाउनलोड करें
  • खोलना
  • प्लगइन एक्स का नवीनतम संस्करण डाउनलोड करें
  • WP प्लग इन फ़ोल्डर में अनज़िप करें
  • मेरा नग्न विषय डाउनलोड करें
  • थीम फ़ोल्डर में अनज़िप करें

अब नवीनतम WP डाउनलोड करना आसान है (http://wordpress.org/latest.tar.gz), मेरे नग्न विषय को भी डाउनलोड करना, लेकिन मुझे प्लगइन के नवीनतम संस्करण को प्राप्त करने में परेशानी हो रही है, क्योंकि उन्हें बुलाया नहीं जाता है, latest.tar.gzलेकिन निर्दिष्ट करें संस्करण के साथ नाम (उदा: wptouch.1.9.26.zip)

संपादित करें: तो अब मुझे आश्चर्य हो रहा है कि क्या प्लगइन के वर्तमान संस्करण का सटीक URL खोजने के लिए मेरी बैश स्क्रिप्ट में cURL का उपयोग करना संभव है । यह विचार पृष्ठ को लाने के लिए होगा, और उसके 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

संपादित करें: क्या आपने नवीनतम वर्डप्रेस और प्लगइन्स के एक फ़ोल्डर को अनपैकड रखने पर विचार किया है? फिर जैसे ही एक नया प्लगइन या वर्डप्रेस बाहर आता है, आप बस उस चीज़ को अनपैक कर देते हैं जो आपके पास है। तब आपकी बैश स्क्रिप्ट बस एक इंस्टॉलेशन पर उपयोग किए जाने वाले पूरे लॉट को पैकेज करती है।


1
दमित, यह आसान था, धन्यवाद। अब मैं बैश स्क्रिप्टिंग बंद कर रहा हूं, मुझे उम्मीद है कि मैं एक साथ कुछ रख सकता हूं। मैं यहाँ परिणाम पोस्ट करूँगा।
माइक २३

एक प्रश्न हालांकि, आपके उदाहरण में wordpress-file-monitor-plus.zip "विकास संस्करण" के तहत सूचीबद्ध है, यह नवीनतम स्थिर संस्करण के समान नहीं है, है?
माइक 23

ओह मैं समझा। यह शायद नवीनतम संस्करण नहीं है ... यह वही हो सकता है जो वर्तमान में ट्रंक में नवीनतम है। क्षमा करें, हो सकता है कि मैंने आपको सूचित किया हो।
स्कॉट

2
मैं एसवीएन के साथ यहां जाऊंगा। वहां आप हर प्लगइन से सबसे अधिक संख्या में या केवल ट्रंक के साथ टैग को चेकआउट / निर्यात कर सकते हैं। वर्डप्रेस कोर के लिए एक ही जाता है ।
रॉफ्लोक्स

1
क्या आप अभी नहीं खोल सकते हैं http://plugins.svn.wordpress.org/plugin-name/trunk/readme.txt, Stable Tag: Xलाइन को पार्स करें , फिर डाउनलोड करें http://downloads.wordpress.org/plugin/plugin-name.X.zip?
इयान डन

1

बैश स्क्रिप्ट बनाएं:

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
स्लेज हैमर

0

जैसा कि वे सुझाते हैं, मैंने तोड़फोड़ का उपयोग करके Wordpress को अपडेट करने के लिए एक बैश स्क्रिप्ट बनाई ।

#!/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एक तरह से गरीब आदमी की मार के रूप में उपयोग कर रहा हूं ।

वर्डप्रेस git को हर 30 मिनट में अपडेट किया जाता है, इसलिए मैं इसे अपने खुद के प्लगइन्स / थीम के साथ अपने रेपो में क्लोन करता हूं या सीधे इसे से खींचता हूं।

पूरी बात बहुत तेज है, वास्तव में यह केवल 2 लाइनों के बारे में है, और केवल एक चीज जो मुझे मैन्युअल रूप से करनी है वह है स्थानीय डीबी बनाना और config.php को संपादित करना। यह थोड़ा मुश्किल हो सकता है कि आप वर्डप्रेस को नवीनतम संस्करण में अपडेट करें यदि आप इसे हर 30 मिनट में करना चाहते हैं, लेकिन मैं आमतौर पर केवल स्थिर संस्करण का उपयोग करता हूं, और देव संस्करण को किसी अन्य वातावरण में रखता हूं।

यह इस तरह दिख रहा है:

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

अन्य नकारात्मक पक्ष यह है कि वास्तविक वर्डप्रेस रेपो से प्लग इन को गेट के माध्यम से प्राप्त करना थोड़ा मुश्किल है, यह करना संभव है, git svnकमांड का उपयोग करना, लेकिन मुझे लगता है कि इसके साथ काम करना आसान नहीं है, फिर भी।


0

मैंने wordpress install करने के लिए bash script बनाई है।

यह स्क्रिप्ट निम्नलिखित को स्वचालित करेगी:

  • Downlaod और Wordpress को स्वचालित रूप से स्थापित करें
  • पासवर्ड के साथ डिफ़ॉल्ट उपयोगकर्ता बनाएँ
  • सभी डिफ़ॉल्ट प्लगइन्स स्थापित करें
  • आपके द्वारा अधिकतर उपयोग किए जाने वाले ज़िप यूआरएल द्वारा डिफ़ॉल्ट या कस्टम थीम स्थापित करें।

आप स्क्रिप्ट को github.com पर पा सकते हैं

https://github.com/jeoga/wordpress_install_bash_script

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.