WordPress: Porovnání verzí
(→Zabezpečení) |
(→Zabezpečení) |
||
Řádka 101: | Řádka 101: | ||
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*) | RewriteCond %{QUERY_STRING} ^/?author=([0-9]*) | ||
RewriteRule ^(.*)$ http://www.DOMENA.cz/? [L,R=301] | RewriteRule ^(.*)$ http://www.DOMENA.cz/? [L,R=301] | ||
+ | |||
+ | Zablokujeme soubory php ve složce /wp-content/uploads . Přidáme do ní opět soubor .htaccess z obsahem: | ||
+ | [php] <FilesMatch \.php$> | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | </FilesMatch> | ||
+ | [/php] | ||
== Odkazy == | == Odkazy == | ||
* [https://www.wpmax.cz/bezpecnost/ Zabezpečení WordPresu] | * [https://www.wpmax.cz/bezpecnost/ Zabezpečení WordPresu] |
Verze z 24. 9. 2017, 19:55
Obsah
Úvod
Stručné základní poznámky ...
Předpolkady
Pro běh je nutné mít nainstalované potřebné balíčky:
Nainstalujte HTTP server Apache, který je ve výchozím nastavení předem kompilován do binárního balíku a dodává se repozitáři Debianu 9.
apt install apache2
Dále nainstalujte nejnovější verzi interpreta jazyka PHP a všechny potřebné moduly potřebné pro webový server Apache, abyste nasadili Wordpress CMS vydáním následujícího příkazu.
apt install libapache-mod-php7.0 php7.0 php7.0-gd php7.0-xml php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xmlrpc
Poslední komponent, který nyní chybí, aby byl zásobník LAMP dokončen, je databázový server MariaDB. Proveďte následující příkaz pro instalaci serveru MariaDB spolu s modulem PHP požadovaným pro přístup k databázi z HTTP serveru Apache.
apt install php7.0-mysql mariadb-server mariadb-client
Instalace
Vytvoření databáze
Vlastní WorPres pro svoji činnost potřebuje databázi. Proto před prvním spuštěním se musíme připojit k databázovému serveru.
mysql -u root -p
Poté vytvoříme vlastní databázi a uživatele pro WordPres. Následně nastavíme uživateli práva a změny aplikujeme. Pozor, uvedené údaje jsou jen příklad. Jednoznačně vytvořte jiného uživatele z jiným heslem. Tyto údaje budou potřeba pro první spuštění WordPresu.
CREATE DATABASE wordpress; CREATE USER wordpressuser@localhost IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost; FLUSH PRIVILEGES; exit
Wordpres
Stáhneme nejnovější verzi WordPresu kterou následně rozbalíme.
wget https://wordpress.org/latest.tar.gz tar -xvf latest.tar.gz
Poté, pokud jepotřeba změníme práva souborů
# chown -R www-data:www-data /var/www/html find /var/www/html -type d -exec chmod 750 {} \; find /var/www/html -type f -exec chmod 640 {} \;
Apache
Zatím nevím jaká konfigurace apache je nejvhodnější. Tudíž různé varianty:
<VirtualHost *:80> # ServerName wparchserver.tld ServerAdmin admin@wparchserver.tld DocumentRoot /var/www/html/wordpress # ErrorLog /var/log/httpd/wparchserver-error_log # TransferLog /var/log/httpd/wparchserver-access_log <Directory /var/www/html/wordpress> Options FollowSymLinks AllowOverride Limit Options FileInfo DirectoryIndex index.php Require all granted </Directory> <Directory /var/www/html/wordpress/wp-content> Options FollowSymLinks Require all granted </Directory> </VirtualHost>
Multisystém
Pokud chceme v rámci jedné instalace WordPresu více webů, musíme tuto funkci povolit v souboru wp-config.php přidáním
/* Multisite */ define( 'WP_ALLOW_MULTISITE', true ); define( 'WP_SITEURL', 'USELESS-JUNK' ); define( 'DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST'] );
Následně poté provedeme aktivaci: "Nastavení - Síť webů"
Aby jsme mohli použít jakýkoliv název, je dobré také nainstalovat plugin WP Multi-Network který vytvoří novou položku Netvorks. Nejnov2j39 verze je na githubu.
Jinou variantou je pligin Multiple Domain Mapping on Single Site který umí doménu přesměrovat.
Widgety
Rozložení stránky:
- Sidebar Left - Levá postranní lišta
- Sidebar Right - Pravá postranní lišta
- Content Before - Horní lišta, mezi horním nabídkou a vlastní stránkou
- Content After - Spodní lišta, mezi vlastni stránkou a poslední nabídkou
- Footer - Zápatí, Součást poslední nabídky
- Header - Hlavička,
Pluginy
Zajímavé pluginy:
- Redirect 404 To Homepage - Přesměruje všechny chyby 404 (nebyly nalezeny) na domovskou stránku pro lepší uživatelský zážitek ...
- Flowplayer HTML5 for WordPress - Poskytuje video management systém pro vlastní hostované vide ...
- Pricing Tables WordPress Plugin – Easy Pricing Tables - Tabulka cen z porovnáním produktu
Zabezpečení
Po nainstalování a základního nastavení se doporučuje omezit práva souborů:
- wp-config.php by měl mít práva 600
- .htaccess nastavte 440 nebo 444 – Pozor nikdo pak nebude mít možnost upravovat soubor dokud přes ftp zvýšit práva na 644.
Také je vhodné zablokovat editaci šablon a pluginů přímo z WordPresu. To nastavíme přidáním následujícího řádku do souboru wp-config.php.
define('DISALLOW_FILE_EDIT', true);
Omezíme možnost zjištění jednotlivých uživatelů dotazem domena.cz/?author=1 . Do .htaccess v hlavním adresáři přidáme na začátek:
# zamezi zjisteni username pomocí ?author=1 RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{QUERY_STRING} ^/?author=([0-9]*) RewriteRule ^(.*)$ http://www.DOMENA.cz/? [L,R=301]
Zablokujeme soubory php ve složce /wp-content/uploads . Přidáme do ní opět soubor .htaccess z obsahem:
[php] <FilesMatch \.php$> Order allow,deny Deny from all </FilesMatch> [/php]