budoucnost / web

https://volim-budoucnost.cz
0 stars 0 forks source link

Vytvoř sdílené testovací prostředí pro WordPress #14

Open f4z4on opened 4 years ago

f4z4on commented 4 years ago

V zásadě existují dvě možnosti:

Třetí strana

Kdyby se za to platilo, možná by stálo za zvážení i použití pro produkci. Nicméně nejspíš budou k dispozici i řešení zdarma vhodná pro testování, tak se tou produkcí možná není potřeba tolik trápit.

Naše servery

Momentálně jediný, kdo něco hostuje je @frzng, tzn. že to je na něm. Teoreticky je možné zřídit přístup přes roota, nebo povolit sudo.

f4z4on commented 4 years ago

Čau, tak hotovo. Běží to na nově.volim-budoucnost.cz.

@vojtechjelinek a @jusephe jsem založil účet jak na serveru, tak ve WordPressu (instrukce dostanete na Slacku). Teď je na stroji výchozí instalace posledního WordPressu, která byla inicializována v angličtině a kam byla později dohraná čeština.

Na serveru je WP-CLI. Dobré je být v adresáři, kde je WordPress, a pouštět po uživatelem, pod kterým běží web server a PHP-FPM. Takže něco takového:

cd /var/www/html # Změna pracovního adresáře na instalaci WordPressu
sudo -u apache wp --info # Ověření, že WP-CLI běží

Ve WordPressu je Developer plugin a několik doporučovaných pluginů z něj. Šablony jsou výchozí.

WordPress je v debug režimu, ale se nezobrazují na výstupu a putují do logfilu /var/log/php-fpm/www-error.log.

Databáze je na jiném stroji a WordPress se k ní připojuje přes SSL. Jeden z neuvěřitelných bizárů WordPressu je, že se neumí k MySQL připojit přes SSL, takže ve /var/www/html/wp-content/db.php je drobný „drop-in“ wpdb, který tuhle neduhu napravuje. Pokud by bylo něco potřeba s tou databází, tak to vyřešme ad-hoc. Nicméně Debug Bar má konzoli a tam se dá spouštět jako PHP tak přímo MySQL kód…

Dotazy jdou následující cestou:

  1. load balancer (lb-1), kde běží
  2. HAProxy, která aktuálně všechno hodí na
  3. aplikační server (php-1), kde to zpracuje
  4. Apache HTTP Server (systemd service httpd), který dotazy, které zpracovává PHP, pošle přes
  5. UNIX socket /var/run/php-fpm/www.sock protokolem FastCGI do
  6. PHP-FPM (systemd service php-fpm), kde to chytne
  7. www process pool (nastavený podle /etc/php-fpm.d/www.conf), který už spustí samotné skript.

Píšu to hlavně proto, že v cestě stojí minimálně 3 aktivní „HTTP enginy“ (HAProxy, Apache HTTP Server, PHP-FPM). Například jsem nekontroloval nastavení pro velikost requestu, takže upload velkých souborů možná bude blbnout. Pokud jo, stačí se ozvat a vyřešíme.

Je možný pracovat přímo na tom stroji – nemám s tím nejmenší problém.

Issue nachávám otevřené, dokud nebude jasné, že to funguje vývojáři, který bude na WordPressu dál pracovat.