# WordPress (Developer) - Oscloud Docs
Oscloud je váš osobní cloud a hosting webových aplikací.

Skip to content

# 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í.

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.

- Pro nastavení vypršení záhlaví pro všechny stránky lze nainstalovat plugin WP Fastest Cache.

- Pro CDN cache doporučujeme použít WP Fastest Cache nebo W3 Total Cache pro cache na bázi CDN. Ryan Kite má dobrý návod 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 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

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 "That’s 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.