# 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](#multisite) Pokud raději přenecháte odpovědnost za aplikaci aktualizací týmu Oscloud, použijte [Spravovanou aplikaci WordPress](/apps/wordpress-managed). ## Admin stránka Admin stránka WordPressu se nachází na adrese `https:///wp-login.php`. ## Použití SFTP Aplikaci lze nahrát pomocí SFTP klienta, jako je [FileZilla](https://filezilla-project.org/). 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](/apps/#restricting-app-access-to-specific-users). ## Limity paměti Pro úpravu paměti přidělené WordPressu upravte soubor `/app/data/wp-config.php` pomocí [správce souborů](/apps#file-manager) a na konec souboru přidejte následující řádek: ```bash 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](/apps/#increasing-the-memory-limit-of-an-app). 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](https://wordpress.org/support/article/editing-wp-config-php/#increasing-memory-allocated-to-php). ## 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](/apps/wordpress-developer/#using-sftp) nebo [správce souborů](/apps#file-manager) 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](/apps#web-terminal): ```bash wp cron event run --due-now ``` Vestavěný plánovač úloh `wp-cron` je zakázán, protože je [neefektivní](https://www.lucasrolff.com/wordpress/why-wp-cron-sucks/) pro weby s nízkou návštěvností. Pro přidání vlastních cron událostí použijte vestavěný [cron Oscloud](https://docs.cloudron.io/apps/#cron) nebo plugin, jako je [WP Crontrol](https://wordpress.org/plugins/wp-crontrol/). ## Pluginy Na rozdíl od [spravované aplikace WordPress](/apps/wordpress-managed) 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ů](/apps/#file-manager). 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ů](/apps/#file-manager). 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](https://gtmetrix.com) je skvělý nástroj pro získání metrik výkonu instalace WordPressu. * Pro nastavení vypršení záhlaví pro všechny stránky lze nainstalovat plugin [WP Fastest Cache](https://wordpress.org/plugins/wp-fastest-cache/). * Pro CDN cache doporučujeme použít [WP Fastest Cache](https://wordpress.org/plugins/wp-fastest-cache/) nebo [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/) pro cache na bázi CDN. Ryan Kite má [dobrý návod](https://ryan-kite.com/how-to-create-a-cdn-for-wp-fastest-cache-with-aws-cloudfront/) na nastavení AWS Cloudfront s WP Fastest Cache. ## 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](/apps#web-terminal) 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](https://wordpress.org/plugins/wp-phpmyadmin-extension/). ## WP CLI [WP CLI](http://wp-cli.org/) je příkazová řádka pro WordPress. Pro spuštění příkazů pomocí CLI nástroje otevřete [webový terminál](/apps#web-terminal) 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: ```bash 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`: ```bash 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](http://php.net/manual/en/ini.core.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`: ```php post_max_size = 256M upload_max_filesize = 256M memory_limit = 256M ``` ## Migrace existujícího webu Podívejte se na náš [blog](https://blog.cloudron.io/migrating-a-wordpress-site-to-cloudron/) 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. ```bash define('DISALLOW_FILE_EDIT', true); ``` ## Email Ve výchozím nastavení je aplikace nakonfigurována tak, aby používala plugin [smtp-mailer](https://wordpress.org/plugins/smtp-mailer/). Vlastní plugin pro odesílání emailů lze použít následovně: * [Zakázat konfiguraci emailu](/apps/#disable-email-configuration) 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](/profile/#app-passwords). Jako odesílací server použijte konfiguraci [SMTP](/email/#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ů](/apps/#file-manager). Tento řádek vložte nad text "That’s all, stop editing! Happy blogging.": ```bash /* 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: ```bash 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.