WordPress
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 libapache2-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ší. Zde nabízím jednu, kterou uložíme do souboru wordpress.conf:
sudo nano /etc/apache2/sites-available/wordpress.conf
<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>
Po vytvoření konfiguračního souboru vytvoříme symlink a následně restartujeme apache:
sudo service apache2 restart
Multisystém
Pokud chceme v rámci jedné instalace WordPresu více webů, musíme v apachi zapnou modul mod_rewrite
sudo a2enmod rewrite
a také funkci povolit v souboru wp-config.php přidáním
/* Multisite */ define( 'WP_ALLOW_MULTISITE', true );
Poté se opět přihlásit do administrace WordPresu a v Nastavení aktivovat Síť Webů. Doporučuji vybrat volbu ze subdoménami. Následně budeme vyzváni k editaci souborů. Přitom navíc přidáme do souboru wp-config.php následující řádky
define( 'WP_SITEURL', 'USELESS-JUNK' ); define( 'DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST'] );
a zakometujeme
#define('DOMAIN_CURRENT_SITE', 'webpress.slapnet.cz');
Aby jsme mohli použít jakýkoliv název, je dobré také nainstalovat plugin WP Multi-Network který vytvoří novou položku Netvorks. Nejnovější verze je na githubu. Další možností můžebý WordPress MU Domain Mapping.
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
- Limit Login Attempts - jednoduchý plugin omezující počet pokusů o přihlášení
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]