Wprawdzie to nie jest tak, że nie ma dnia, bym nie stawiał jakiegoś WordPressa, ale na pewno robię to dość często. A z racji tego, że tak jak dodanie domeny do serwera (Nginx), ewentualne ustawienie PHP Pools, oraz aktywacja certyfikatu SSL od Let’s Encrypt, tak też wgranie samego WordPressa jest czynnością w większości przypadków – przynajmnie jeśli chodzi o wstępny zakres prac – dość mocno powtarzalną, to mam to wszystko zautomatyzowane i/lub oskryptowane. Kilka dni temu postanowiłem przejść z wgrywania WordPressa z niezbędnymi wtyczkami „na start” z repozytoriów WordPress.org za pomocą WP-CLI, na gita, a konkretnie GitHuba.

Bazowy WordPress z własnego repozytorium w serwisie GitHub

Dziś pewnie większość serwisów w kontekście serwisu GitHub pisze o tym, że wczoraj ogłoszono, że w darmowych planach pojawiła się możliwość nielimitowanej współpracy (choć widziałem też informacje, że chodzi o nielimitowane prywatne repozytoria, choć akurat te są dostępne od ponad roku). Nie wiem, czy ten krok to „kolejny koniec GitHuba po tym jak sprzedał się Microsoftowy”,  ale nie da się ukryć, że jako użytkownik zdecydowanie na tym korzystam.

Gdy podejmowałem decyzję o migracji na GitHuba jeśli chodzi o wdrażanie nowego WordPressa, jeszcze o tej zmianie nie wiedziałem. Zresztą w tym przypadku nie ma ona większego znaczenia. Startowy (bazowy) WordPress, to nie jest projekt, nad którym planuje z kimś współpracować. To jest jeden z elementów, które mają mi ułatwiać wdrażanie nowej strony na WordPressie.

W przypadku WP-CLI, instalację WordPressa można łatwo zautomatyzować, np. by pobrać na serwer najnowszą wersję, wystarczy skorzystać z polecenia:

sudo wp core download --locale=pl_PL --path=/var/www/webinsider --allow-root

Instalacja wtyczek, motywu, wykonuje się podobnie. Łatwo, szybko i przyjemnie.

Ale dotyczy to tylko elementów – wtyczke, motywów, i oczywiście samego WordPressa – które znajdują się w repozytorium w oficjalnym repozytorium WordPressa (WordPress.org). I choć niewiele więcej trzeba by dodać pobranie motywów i wtyczek zewnętrznych (np. motyw Divi od Elegant Themes, czy kilka moich podstawowych wtyczek, w tym takich, które lądują w katalogu mu-plugins), to jednak są to dodatkowe operacje, które można wyeliminować, korzystając właśnie z „wzorcowego WordPressa”, którego można – dla wygody – umieścić np. w serwisie GitHub. Oczywiście najlepiej, jako repozytorium prywatne:

W moim przypadku taki wzorcowy/bazowy WordPress jest stroną faktycznie działającą, do której w każdej chwili mogę się normalnie zalogować, stąd bardzo ważnym, a wręcz niezbędnym plikiem jest plik „.gitignore”, w którym znajduje się wszystko to, co nie powinno trafić do repozytorium na GitHubie:

wp-config.php *.log *.sql *.sqlite .git .gitignore .git-credentials wp-content var click_object = {"ajax_url":"https:\/\/webinsider.pl\/wp-admin\/admin-ajax.php"};