tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

WordPress: Helppo lisäosien asennus massana

Kun asennan asiakkaille WordPress-sivuston, niin haluan automatisoida asioita mahdollisimman paljon. Webhotelleissa täytyy käyttää hieman eri metodeita, mutta virtuaaliservereillä, kuten DigitalOceanin dropleteissa, saa urakkaa helpotettua kohtuullisen paljon WP CLI:n avulla. Itse käytän hieman erilaista tapaa kuin tässä esitelty, mutta nämä neuvot saattavat helpottaa uuden WordPressin asentamista tarjoamalla eräällä tavalla semiautomaattisia työkaluja asennuksen pohjaksi.

WordPressin asennus perinteisellä tavalla ei ole haastavaa sekään. Se onnistuu käytännössä jokaiselta. Mutta se vie kaikkineen hieman aikaa ja iso osa siitä hukkaantuu lisäosien asentamiseen. Siitä selviää pienellä scriptillä.

WP-CLI:n asennus

Jotta lisäosien massa-asentaminen onnistuisi, niin tarvitset WP CLI:n. Se kannattaa asentaa pysyvästi, vaikka kyseessä olisikin asiakastyö. Joskus tuo ei ole vaihtoehto. Silloin asentaminen/poistaminen on yksi vaihtoehto, ei siihenkään mene kauan, mutta järkevämpää on käyttää WP CLI:tä väliaikaisesti. Täällä on ohjeet miten se asennetaan ilman root-tunnusta ja sudo-oikeuksia.

Pluginit asentava skripti

Tehdään skriptiwp-plugins. Kopio allaoleva siihen ja tallenna.

nano /usr/local/bin/wp-plugins

Jos olet asentanut WP CLI:n webhotelliin (ilman root-tunnuksia), niin tee tiedosto siihen hakemistoon, josta wp löytyy.

nano ~/wpcli/wp-plugins

 

#!/usr/bin/env bash
## WordPress Plugin Installer using BASH and WP-CLI
# Make executable: chmod u+x wp-plugins
# remember change WPPATH
# array of plugin slugs to install
WPPLUGINS=(
advanced-database-cleaner basepress categorytinymce classic-editor code-snippets change-last-modified-date disqus-comment-system
disqus-conditional-load easy-google-adsense easy-table-of-contents ewww-image-optimizer font-awesome header-footer host-analyticsjs-local
host-webfonts-local loco-translate mailster mailster-amazonses mailster-email-verify mailster-google-analytics mailster-recaptch
posts-in-sidebar relevanssi seo-by-rank-math tablepress tinymce-advanced updraftplus wp-crontrol advanced-database-cleaner
wp-ses wp-gdpr-compliance
)
# path to WordPress
WPPATH=/var/www/html
#loop through array, install and activate the plugins
for WPPLUGIN in "${WPPLUGINS[@]}"; do
#check if plugin is installed, sets exit status to 1 if not found
wp plugin is-installed $WPPLUGIN --path=$WPPATH --allow-root
#install plugin if not present based on exit code value
if [ $? -eq 1 ]; then
wp plugin install $WPPLUGIN --activate --path=$WPPATH --allow-root
fi
done
# Fix permissions
sudo chown -R www-data:www-data $WPPATH
sudo find $WPPATH -type f -exec chmod 644 {} +
sudo find $WPPATH -type d -exec chmod 755 {} +

WPPATH-muuttujaan täytyy laittaa asennetun WordPress-sivuston polku. Joudut siis muokkaamaan sitä joka kerta ennenkuin käytät skriptiä.

WPPLUGINS-muuttujassa on asennettavien  lisäosien slugit. Voit muokata listaa haluamaksesi. Slug on sama kuin lisäosan hakemiston nimi tai jos kurkkaat wordpress.org sivustolta lisäosaa, niin slug on urlissa. Esimerkiksi Akismetin url on https://fi.wordpress.org/plugins/akismet/ jolloin sen slug on akismet.

Lisäosien automaattinen asennus

Ensin täytyy asentaa WordPress, jos sitä ei vielä ole. Voit tehdä sen perinteisellä tavalla tai paljon nopeammin käyttämällä WP CLI:tä. Koska jouduit joka tapauksessa asentamaan WP CLI:n, niin asenna WordPress sen avulla.

Asennetaan lisäosat.

  • tehdään skriptistä ajettava (muuta polku oikeaksi, jos teit sen muualle):
chmod u+x /usr/local/bin/wp-plugins

.

  • Pluginit asennetaan ja aktivoidaan WPPATH-muuttujan määräämään hakemistoon.
wp-plugins