Možnost automatické instalace pluginů a šablon v WordPressu závisí na nastavení tvého hostingu. Zatímco většina hostingů umožňuje automatické aktualizace tak někde může být nutné využít FTP nebo SSH.
Konstanta FS_METHOD určuje metodu souborového systému, kterou by měl WordPress použít pro čtení, zápis, úpravu nebo mazání souborů.
FS_METHOD je tedy konstanta v WordPressu, která určuje, jakým způsobem bude WordPress zapisovat soubory na server. Jinými slovy, řídí, zda WordPress bude používat přímý zápis souborů nebo zda bude vyžadovat tvé FTP přihlašovací údaje pro provádění změn.
Kdy je třeba měnit FS_METHOD?
- Pokud WordPress vyžaduje FTP přihlašovací údaje: To znamená, že hosting nepodporuje přímý zápis souborů a musíš nastavit FS_METHOD na jinou hodnotu, například ftpext nebo ssh2.
- Pokud chceš zvýšit bezpečnost: Někteří uživatelé preferují použití SSH nebo FTP pro zápis souborů, aby zvýšili bezpečnost webu.
Pro nastavení jiné metody stačí upravit soubor wp-config.php a přidat řádek:
define( 'FS_METHOD', 'HODNOTA-DLE-POTŘEBY' );
PHPFS_METHOD vynucuje metodu souborového systému a může používat následující hodnoty:
Metoda | Popis |
direct | WordPress se pokusí zapisovat soubory přímo na server. Toto je nejefektivnější způsob, ale nemusí být vždy podporován vaším hostingem.. |
ssh2 | WordPress použije protokol SSH pro připojení k serveru a zápis souborů. |
ftpext | WordPress použije PHP rozšíření FTP pro připojení k serveru a zápis souborů. |
ftpsockets | Používá PHP Sockets třídu pro přístup k FTP s poskytnutými přihlašovacími údaji. |
FS_METHOD direct
Obecně bys měl(a) změnit hodnotu FS_METHOD pouze v případě, že máš problémy s aktualizací. Pokud změna nepomůže, vrať ji zpět nebo ji odstraň. Ve většině případů bude fungovat nastavení na ftpsockets, pokud automaticky zvolená metoda nefunguje.
FS_METHOD ftpext
Pro použití FTP pro aktualizace definuj v souboru wp-config.php konstantu takto:
define( 'FS_METHOD', 'ftpext' );
Pokud nastavíš FS_METHOD na ftpext nebo ftpsockets, musíš také přidat přihlašovací údaje k tvému FTP účtu.
Můžeš buď přidat přihlašovací údaje k FTP přímo do souboru wp-config.php, nebo použít plugin, jako je FTP Access (lepší je toto nadefinovat v wp-config.php).
define( 'FTP_BASE', '/cesta-k-wordpress/' );
define( 'FTP_USER', 'uživatelské_jméno' );
define( 'FTP_PASS', 'heslo' );
define( 'FTP_HOST', 'ftp.domena.cz' );
define( 'FTP_SSL', false );
Vysvětlení (popis) konstant FS_METHOD
Konstanta | Popis |
FTP_CONTENT_DIR | Plná cesta k složce wp-content WordPressu. |
FTP_PLUGIN_DIR | Plná cesta k složce pluginů WordPressu. |
FTP_BASE | Plná cesta k (ABSPATH) složce instalace WordPressu. |
FTP_USER | Tvé uživatelské jméno pro FTP nebo SSH. |
FTP_PASS | Heslo pro FTP_USER. Pokud používáš SSH autentizaci pomocí veřejného klíče, toto není vyžadováno. |
FTP_HOST | Kombinace hostname:port pro SSH/FTP server. Pokud je použit výchozí FTP port 21 nebo SSH port 22, toto nastavení není vyžadováno. |
FTP_SSL | Používá se pro „secure FTP“, ne pro SSH SFTP, nastav na true pro použití SSL připojení nebo false pro použiti bez SSL. |
FTP_PUBKEY | Plná cesta k SSH veřejnému klíči. |
FTP_PRIKEY | Plná cesta k SSH soukromému klíči. |
Použití autentizace pomocí klíčů místo hesel, příklad
define( 'FS_METHOD', 'ftpext' );
define( 'FTP_BASE', '/cesta-k-wordpress/' );
define( 'FTP_USER', 'uživatelské_jméno' );
define( 'FTP_PUBKEY', '/home/uživatelské_jméno/.ssh/id_rsa.pub' );
define( 'FTP_PRIKEY', '/home/uživatelské_jméno/.ssh/id_rsa' );
define( 'FTP_HOST', 'ftp.domena.cz' );
define( 'FTP_SSL', false );
Pokud jsi přesunul složky /wp-content nebo /plugins na jiné místo, můžeš také nastavit cesty k těmto složkám:
define( 'FTP_CONTENT_DIR', '/cesta-k-wordpress/wp-content/' );
define( 'FTP_PLUGIN_DIR', '/cesta-k-wordpress/wp-content/plugins/' );
FS_METHOD ssh2
Pro použití FS_METHOD ssh2 pro aktualizace musíš přidat následující zápis do souboru wp-config.php:
define( 'FS_METHOD', 'ssh2' );
Existují dva způsoby použití ssh2 pro aktualizace.
1. Použití bezplatného WordPress pluginu: SSH SFTP Updater Support.
2. Použití vestavěného SSH2 upgradéru, který vyžaduje rozšíření pecl SSH2. Pokud rozšíření není povoleno pro tvou verzi PHP, požádej svého poskytovatele hostingu, aby jej povolil (ve většině případů neprojde na sdíleném hostingu).
A teď bodově
Výhody FS_METHOD
- Direct: Je to nejrychlejší a nejpohodlnější způsob, jak dostat soubory na web.
- SSH2: Všechno, co pošleš, je zašifrované, takže se k tomu nikdo nedostane.
- FTPext a ftpsockets: Tímhle způsobem posílá data většina lidí, takže to zná každý hosting.
Nevýhody FS_METHOD
- Direct: Někdy to prostě nejde. Některé weby tohle neumožňují. A když není tvůj web dobře zabezpečený, může se stát, že se k tvým souborům někdo dostane.
- SSH2: Je to trochu složitější na nastavení. A není to tak rozšířené jako ten klasický FTP.
- FTPext a ftpsockets: Není to úplně bezpečné. A může to být pomalejší než ostatní způsoby.
Kdy a co použít?
- Direct: Když to tvůj web podporuje a chceš, aby vše šlo co nejrychleji.
- SSH2: Když ti záleží na bezpečnosti a chceš si ušetřit práci s opakovanými úkony.
- FTPext nebo ftpsockets: Když to jinak nejde, nebo když jsi zvyklý na tenhle způsob.
Co bych poradil?
Nejlepší bude, když se zeptáš někoho, kdo ti tvůj web spravuje. Ten ti určitě poradí, co je pro tebe nejlepší.
Důležité upozornění
Nesprávné nastavení FS_METHOD může způsobit problémy s WordPressem. Pokud si nejsi jist, jakou hodnotu zvolit, poraď se s svým poskytovatelem hostingu.
Dokumentace WordPressu: https://developer.wordpress.org/