Como posso criar um script de instalação bash para minha configuração de sites do Wordpress (plugins WP + + tema)?

8

Eu construo muitos sites com o Wordpress, e minha configuração inicial é basicamente a mesma:

  • Versão mais recente do WP
  • Versões mais recentes de cerca de 5 plugins
  • Meu tema de desenvolvimento nua

Em vez de fazer o download / upload dessas coisas separadamente e fazer isso manualmente toda vez que eu iniciar um novo projeto, gostaria de criar um script bash que faria isso:

  • Faça o download da versão mais recente do Wordpress
  • Descompacte
  • Faça o download da versão mais recente do plug-in X
  • Descompacte para a pasta de plug-ins do WP
  • Baixe meu tema nu
  • Descompacte a pasta de temas

Agora é fácil fazer o download do WP mais recente (http://wordpress.org/latest.tar.gz), baixando meu tema nu também, mas estou tendo problemas para obter a versão mais recente de um plugin, pois eles não são chamado latest.tar.gz mas nomes específicos com a versão (ex: wptouch.1.9.26.zip)

EDIT: Então, eu estou pensando agora, se é possível usar cURL no meu script bash para encontrar a URL exata do atual versão de um plugin. A ideia seria buscar a página e, em seguida, encontrar o valor do href que está no parágrafo logo após o <h3>Current Version</h3> .

Aqui está um exemplo, todas as páginas de download de plugins no WP são assim:

<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>
    
por mike23 13.05.2011 / 09:52

5 respostas

4

Para obter sempre o plug-in mais recente, por exemplo, meu plug-in:

enlace

o link de download para o mais recente é:

enlace

mas se você remover a versão do link de download, sempre obterá a versão mais recente:

enlace

EDIT: Você já pensou em manter uma pasta com o último wordpress e plugins descompactados? Então, assim que um novo plugin ou wordpress for lançado, você simplesmente descompactará o que você tem. Então o seu script bash apenas empacota todo o lote para ser usado em uma instalação.

    
por Brady 13.05.2011 / 10:13
1

Crie o script bash:

touch wp_plugins_theme.sh

Tornar Executável:

chmod +x ./wp_plugins_theme.sh

Copie isso para ele:

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

Execute o comando

./wp_plugins_theme.sh
    
por jgraup 01.03.2016 / 20:04
0

Eu criei um script bash para atualizar o Wordpress usando o subversion, pois eles recomendam .

#!/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 "[email protected]"
    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/ .

Eu modifiquei isso para fazer a instalação. Este segundo script não foi testado, mas deve começar. Você precisará escrever seu próprio create_wordpress_database_and_user.sql - mas você não pediu isso na pergunta, então talvez você possa ignorá-lo.

#!/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 "[email protected]"
    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/ .
    
por icc97 04.02.2012 / 17:57
0

Eu tenho usado o git clone como uma espécie de bash do pobre homem.

O git do WordPress é atualizado a cada 30 minutos, então eu o clonei no meu próprio repositório com meus próprios plugins / temas ou simplesmente pego diretamente dele.

A coisa toda é muito rápida, na verdade, é apenas cerca de 2 linhas, e a única coisa que tenho que fazer manualmente é criar o banco de dados local e editar o arquivo config.php. Pode ser um pouco complicado garantir que você atualize o WordPress para a versão mais recente, se você quiser fazê-lo a cada 30 minutos, mas eu normalmente só uso a versão estável e manter a versão dev em outro ambiente.

Parece assim:

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

A outra desvantagem é que é um pouco difícil conseguir plugins do repositório real do WordPress através do git, é possível fazê-lo, usando o comando git svn , mas eu acho que não é fácil trabalhar com ele ainda. / p>     

por Wyck 04.02.2012 / 20:05
0

Eu criei um script bash para instalar o wordpress.

Este script irá automatizar o seguinte:

  • Downlaod e instalar o Wordpress automaticamente
  • Criar usuários padrão com senhas
  • Instalar todos os plug-ins padrão
  • Instale o tema padrão ou personalizado por URL de zip que você mais usou.

Você pode encontrar scripts no github.com

enlace

    
por Aman Bansal 29.03.2017 / 02:29