oscloud-docs/docs/apps/wordpress-developer.md
2024-11-01 07:43:11 +01:00

12 KiB
Raw Permalink Blame History

WordPress (Vývojářská verze)

O aplikaci

Tato aplikace je určena pro uživatele, kteří chtějí mít plnou kontrolu nad svou instalací WordPressu.

Funkce:

  • Kód WordPressu lze upravovat. To znamená, že aktualizace WordPressu musíte spravovat sami pomocí vestavěného aktualizačního nástroje.
  • Vlastní konfigurace Apache pomocí .htaccess
  • Podpora multisite

Pokud raději přenecháte odpovědnost za aplikaci aktualizací týmu Oscloud, použijte Spravovanou aplikaci WordPress.

Admin stránka

Admin stránka WordPressu se nachází na adrese https://<moje.example.com>/wp-login.php.

Použití SFTP

Aplikaci lze nahrát pomocí SFTP klienta, jako je FileZilla.

Přihlašovací údaje pro SFTP najdete po kliknutí na ikonu i v mřížce aplikací.

!!! poznámka "Přístup přes SFTP" Přístup přes SFTP pro uživatele bez administrátorských práv lze nastavit pomocí rozhraní pro správu přístupu.

Limity paměti

Pro úpravu paměti přidělené WordPressu upravte soubor /app/data/wp-config.php pomocí správce souborů a na konec souboru přidejte následující řádek:

define('WP_MEMORY_LIMIT', '128M'); define('WP_MAX_MEMORY_LIMIT', '256M');

Všimněte si, že aplikace má také samostatný paměťový limit, který lze nastavit prostřednictvím limitu paměti aplikace. Pokud zvýšíte WP_MEMORY_LIMIT, nezapomeňte také zvýšit limit paměti aplikace. Dobrou praxí je nastavit aplikaci minimálně 6násobek hodnoty WP_MEMORY_LIMIT.

WP_MAX_MEMORY_LIMIT je limit pro administrativní úlohy, které často vyžadují více paměti.

Podrobné vysvětlení najdete v dokumentaci WordPressu.

Konfigurace Apache

Konfigurace Apache může být upravena pomocí mechanismu htaccess. Ve výchozím nastavení aplikace nemá soubor .htaccess. Tento soubor lze přidat pomocí SFTP nebo správce souborů v umístění /app/data/public/.htaccess. Stejně jako u jakékoli jiné standardní instalace Apache lze .htaccess přidat i do dalších podadresářů WordPressu v /app/data/public/, pokud je to potřeba.

Cron úlohy

Aplikace je nastavena tak, aby spouštěla cron úlohy WordPressu každou minutu.

Pro ruční spuštění cron úloh použijte následující příkaz v webovém terminálu:

wp cron event run --due-now

Vestavěný plánovač úloh wp-cron je zakázán, protože je neefektivní pro weby s nízkou návštěvností.

Pro přidání vlastních cron událostí použijte vestavěný cron Oscloud nebo plugin, jako je WP Crontrol.

Pluginy

Na rozdíl od spravované aplikace WordPress můžete instalovat pluginy, které upravují kód.

Deaktivace pluginu

Pokud některý plugin brání spuštění WordPressu, otevřete správce souborů. Přejděte na /app/data/public/wp-content/plugins a přejmenujte adresář s problémovým pluginem z plugin-name na například plugin-name-broken.

Pro opětovnou aktivaci pluginu je nutné nejen přejmenovat složku zpět, ale také plugin znovu aktivovat v administračním rozhraní WordPressu.

Deaktivace všech pluginů

Pro deaktivaci všech pluginů přejmenujte /app/data/public/wp-content/plugins na /app/data/public/wp-content/plugins-broken pomocí správce souborů.

Pro opětovné povolení všech pluginů je nutné nejen přejmenovat složku zpět, ale také pluginy znovu aktivovat v administračním rozhraní WordPressu.

Výkon

GTmetrix je skvělý nástroj pro získání metrik výkonu instalace WordPressu.

Přístup k databázi

Oscloud nepodporuje PHPMyAdmin. Přístup k databázi je však možný následujícími způsoby:

  • Otevřete webový terminál a stiskněte tlačítko 'MySQL' pro přístup do konzole. Můžete přímo zadávat SQL příkazy.

  • Použijte plugin jako WP phpMyAdmin.

WP CLI

WP CLI je příkazová řádka pro WordPress. Pro spuštění příkazů pomocí CLI nástroje otevřete webový terminál a provádějte příkazy WP CLI jednoduše pomocí wp. Je již přednastaven tak, aby běžel jako správný uživatel. Například:

wp user list

Pokud jeden nebo více pluginů/témat způsobuje chyby, můžete při spuštění WP CLI přeskočit načítání pluginů/témat pomocí:

wp --skip-plugins --skip-themes

Další nastavení PHP lze konfigurovat při ručním spuštění s php -d key=value:

sudo -E -u www-data php -d max_execution_time=100 /app/pkg/wp --path=/app/data/public/

V tomto případě se maximální doba vykonávání nastaví na 100 sekund.

Nastavení PHP

Vlastní nastavení PHP můžete přidat do souboru /app/data/php.ini

Velikost nahrávaných souborů

Upravte následující hodnoty v souboru /app/data/php.ini:

post_max_size = 256M 
upload_max_filesize = 256M 
memory_limit = 256M

Migrace existujícího webu

Podívejte se na náš blog ohledně migrace existujícího WordPress webu na Oscloud.

Úprava souborů

Vestavěná funkce pro úpravu souborů WordPressu je ve výchozím nastavení povolena. Z bezpečnostních důvodů doporučujeme tuto možnost vypnout, a to úpravou souboru /app/data/wp-config.php a nastavením DISALLOW_FILE_EDIT na hodnotu true.

define('DISALLOW_FILE_EDIT', true);

Email

Ve výchozím nastavení je aplikace nakonfigurována tak, aby používala plugin smtp-mailer.

Vlastní plugin pro odesílání emailů lze použít následovně:

  • Zakázat konfiguraci emailu v App -> Email -> Nepoužívat nastavení emailu aplikace. Pokud je zakázáno, Oscloud nebude při každém restartu konfigurovat smtp-mailer.
  • Nainstalujte preferovaný plugin pro odesílání emailů ve WordPressu.

  • Přihlašovací údaje k emailu závisí na vaší konfiguraci. Pokud používáte externí poštovní službu, jako je Mailgun/SES/Postmark, můžete tyto údaje použít přímo ve WordPressu. Alternativně si můžete vytvořit přihlašovací údaje pro relay nebo poštovní schránku u vašeho poskytovatele emailu.

  • Pokud používáte Oscloud jako svůj emailový server, jednoduše vytvořte poštovní schránku a použijte heslo k aplikaci. Jako odesílací server použijte konfiguraci SMTP serveru. Pro větší bezpečnost můžete zvážit vytvoření samostatného uživatele Oscloud, který bude vlastnit vytvořenou poštovní schránku (tím se zabrání tomu, aby mohl špatný plugin přistupovat k vašim osobním schránkám). Upozorňujeme, že uživatelské jméno SMTP je stejné jako adresa poštovní schránky (nikoli uživatelské jméno Oscloud).

Konfigurace pluginu Fluent SMTP:

Neomezený HTML

Ne-admin uživatelům je povoleno vkládat neomezený HTML obsah. Tuto možnost lze zakázat úpravou souboru /app/data/wp-config.php a nastavením DISALLOW_UNFILTERED_HTML na hodnotu true.

define('DISALLOW_UNFILTERED_HTML', true);

Multisite

!!! poznámka "Použít nebo nepoužít multisite" WordPress multisite je složitý systém s mnoha problémy kompatibility. Pokud nemáte zásadní důvod, doporučujeme instalovat samostatnou aplikaci WordPress pro každou stránku.

Pro aktivaci WordPress multisite začněte s novou instalací a použijte nástroj pro nastavení sítě (Network Setup Tool).

  • Aktivujte multisite v souboru /app/data/public/wp-config.php přidáním následujícího řádku pomocí správce souborů. Tento řádek vložte nad text "Thats all, stop editing! Happy blogging.":
/* Multisite */ define( 'WP_ALLOW_MULTISITE', true );
  • V administračním rozhraní WordPressu přejděte do Nástroje -> Nastavení sítě. Podle pokynů na této stránce deaktivujte všechny pluginy před pokračováním. Oscloud podporuje instalaci jak na subdoménách, tak v podadresářích.
  • Po kliknutí na instalaci se zobrazí zpráva Upozornění! Wildcard DNS možná není správně nakonfigurováno!. Pro opravu přejděte do zobrazení Umístění na Oscloud dashboardu a nastavte alias s hvězdičkou (Wildcard alias). Jakmile je alias přidán, upozornění zmizí (obnovte administrační rozhraní WordPressu).
  • Pro dokončení instalace sítě přidejte do /app/data/public/wp-config.php následující řádky podle pokynů.
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'msite.cloudron.club');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Dále kompletně nahraďte obsah souboru /app/data/public/.htaccess podle pokynů. Upozorňujeme, že pravidla přepisování (Rewrite rules) se mírně liší pro instalaci na subdoménách a v podadresářích. Následující konfigurace je pro nastavení na subdoménách:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
  • Nové stránky můžete přidávat z nabídky Správce sítě. Stránku můžete přidat jako subdoménu nebo podadresář. Adresu stránky lze po přidání upravit v nastavení stránky.

  • Pokud nastavíte adresu stránky na jinou doménu, stačí ji přidat do aliasů domény v sekci Umístění na Oscloud Dashboardu.

Nastavení emailu (Multisite)

V režimu multisite lze plugin pro SMTP odesílání nastavit pro každou stránku zvlášť. Po přidání nové stránky restartujte aplikaci, aby se plugin automaticky nakonfiguroval v kódu balíčku.