WordPress: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Instalace)
(Multisystém)
 
(Není zobrazeno 52 mezilehlých verzí od stejného uživatele.)
Řádka 2: Řádka 2:
 
Stručné základní poznámky ...
 
Stručné základní poznámky ...
 
== Předpolkady ==
 
== Předpolkady ==
Pro běh je nutné mít nainstalované potřebné balíčky:
+
Nainstalujte nejprve HTTP server Apache, PHP a databazi. Vše je součástí depozitářů Debianu.
 
+
  apt install -y apache2 php mariadb-server
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.
+
Dále doinstalujeme potřebné doplňky
  apt install apache2
+
  apt install -y php-mysql
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.
+
a2enmod ssl
  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
+
a2enmod rewrite
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.
+
V některých případech budou potřeba další doplňky (např. woocommerce)
  apt install php7.0-mysql mariadb-server mariadb-client
+
apt install -y php-mbstring php-dom php-curl php-imagick php-zip php-gd php-intl
  
 
== Instalace ==
 
== Instalace ==
Řádka 15: Řádka 15:
 
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.
 
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
 
  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.
+
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. Pokud chceme provozovat vice samostatných WordPresů, tak pro každý můžeme vytvořit samostatnou databázi z vlastním loginem. 
  
 
  CREATE DATABASE wordpress;
 
  CREATE DATABASE wordpress;
Řádka 30: Řádka 30:
 
Stáhneme nejnovější verzi WordPresu kterou následně rozbalíme.
 
Stáhneme nejnovější verzi WordPresu kterou následně rozbalíme.
 
  wget https://wordpress.org/latest.tar.gz
 
  wget https://wordpress.org/latest.tar.gz
  tar xpf latest.tar.gz
+
  tar -xvf latest.tar.gz
 +
Překopírujeme WordPres na požadované místo v systému a "přesuneme" se tam. Pokud vytváříme více samostatných instalací, tak pro každou kopírujeme samostatně.
 +
cp -r ./wordpress/ /var/www/
 
Poté, pokud jepotřeba změníme práva souborů
 
Poté, pokud jepotřeba změníme práva souborů
  # chown -R www-data:www-data /var/www/html
+
  cd /var/www/wordpress
  find /var/www/html -type d -exec chmod 755 {} \;
+
chown -R www-data:www-data ./*
  find /var/www/html -type f -exec chmod 644 {} \;
+
find ./ -type d -exec chmod 755 {} \;
 +
find ./ -type f -exec chmod 640 {} \;
 +
Na závěr, aby se při aktualizaci, nebo instalaci doplňků ve WordPressu nemusely vyplňovat přihlašovací udaje, doplníme na konec souboru "wp-config.php":
 +
define('FS_METHOD', 'direct');
 +
 
 +
=== 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
  
=== Apace ===
 
Zatím nevím jaká konfigurace apache je nejvhodnější. Tudíž různé varianty:
 
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
      ServerName wparchserver.tld
+
#      ServerName wparchserver.tld
      ServerAdmin admin@wparchserver.tld
+
        ServerAdmin admin@wparchserver.tld
      DocumentRoot /srv/http/wordpress
+
 
   
+
        DocumentRoot /var/www/html/wordpress
      ErrorLog /var/log/httpd/wparchserver-error_log
+
 
      TransferLog /var/log/httpd/wparchserver-access_log
+
  #      ErrorLog   /var/log/httpd/wparchserver-error_log
 +
#      TransferLog /var/log/httpd/wparchserver-access_log
 
   
 
   
      <Directory />
+
        <Directory /var/www/html/wordpress>
          Options +Indexes +FollowSymLinks +ExecCGI
+
            Options FollowSymLinks
          AllowOverride All
+
            AllowOverride Limit Options FileInfo
          Order deny,allow
+
            DirectoryIndex index.php
          Allow from all
+
            Require all granted
          Require all granted
+
        </Directory>
      </Directory>
+
        <Directory /var/www/html/wordpress/wp-content>
 +
            Options FollowSymLinks
 +
            Require all granted
 +
        </Directory>
 
  </VirtualHost>
 
  </VirtualHost>
 
+
Po vytvoření konfiguračního souboru vytvoříme symlink a následně restartujeme apache:
        Alias /wp/wp-content /var/lib/wordpress/wp-content
+
sudo service apache2 restart
        Alias /wp /usr/share/wordpress
 
        <Directory /usr/share/wordpress>
 
            Options FollowSymLinks
 
            AllowOverride Limit Options FileInfo
 
            DirectoryIndex index.php
 
            Require all granted
 
        </Directory>
 
        <Directory /var/lib/wordpress/wp-content>
 
            Options FollowSymLinks
 
            Require all granted
 
        </Directory>
 
  
 
== Multisystém ==
 
== 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
+
Pokud chceme v rámci jedné instalace WordPresu více webů, musíme do souboru wp-config.php přidat:
 
  /* Multisite */
 
  /* Multisite */
 
  define( 'WP_ALLOW_MULTISITE', true );
 
  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 [https://github.com/stuttter/wp-multi-network githubu].
+
Poté se opět přihlásit do administrace WordPresu a v ''Nástroje'' -> ''Síť Webů'' tuto funkci ''Instalovat''. Doporučuji vybrat volbu ze subdoménami. Následně budeme vyzváni k editaci souborů wp-config.php a .htaccess. Pro správnou funkci je potřeba být přihlášen přes dns název, nikoliv přes IP adresu.
 +
 
 +
Na závěr 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 [https://github.com/stuttter/wp-multi-network 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.
 
Jinou variantou je pligin ''Multiple Domain Mapping on Single Site'' který umí doménu přesměrovat.
Řádka 95: Řádka 96:
 
* Flowplayer HTML5 for WordPress - Poskytuje video management systém pro vlastní hostované vide ...
 
* 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
 
* 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''.
 +
/** Zablokovat editaci šablon. */
 +
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]
 +
 +
Všechny soubory mohou být chráněny proti zápisu uživatelem www-data, kromě podadresáře /wp-content/uploads.
  
 
== Odkazy ==
 
== Odkazy ==
 
* [https://www.wpmax.cz/bezpecnost/ Zabezpečení WordPresu]
 
* [https://www.wpmax.cz/bezpecnost/ Zabezpečení WordPresu]
 +
* [http://www.wpbeginner.com/wp-tutorials/9-most-useful-htaccess-tricks-for-wordpress/ Stránka z rady na zabezpečení - english]
 +
----
 +
* [[Linux & Aplikace| < Poznámky k Linuxu a k SW]]
 +
* [[Hlavní_strana | << Zpět na úvodní stránku ]]

Aktuální verze z 13. 9. 2024, 10:56

Úvod

Stručné základní poznámky ...

Předpolkady

Nainstalujte nejprve HTTP server Apache, PHP a databazi. Vše je součástí depozitářů Debianu.

apt install -y apache2 php mariadb-server

Dále doinstalujeme potřebné doplňky

apt install -y php-mysql
a2enmod ssl
a2enmod rewrite

V některých případech budou potřeba další doplňky (např. woocommerce)

apt install -y php-mbstring php-dom php-curl  php-imagick php-zip php-gd php-intl

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. Pokud chceme provozovat vice samostatných WordPresů, tak pro každý můžeme vytvořit samostatnou databázi z vlastním loginem.

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

Překopírujeme WordPres na požadované místo v systému a "přesuneme" se tam. Pokud vytváříme více samostatných instalací, tak pro každou kopírujeme samostatně.

cp -r ./wordpress/ /var/www/

Poté, pokud jepotřeba změníme práva souborů

cd /var/www/wordpress
chown -R www-data:www-data ./*
find ./ -type d -exec chmod 755 {} \;
find ./ -type f -exec chmod 640 {} \;

Na závěr, aby se při aktualizaci, nebo instalaci doplňků ve WordPressu nemusely vyplňovat přihlašovací udaje, doplníme na konec souboru "wp-config.php":

define('FS_METHOD', 'direct');

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 do souboru wp-config.php přidat:

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

Poté se opět přihlásit do administrace WordPresu a v Nástroje -> Síť Webů tuto funkci Instalovat. Doporučuji vybrat volbu ze subdoménami. Následně budeme vyzváni k editaci souborů wp-config.php a .htaccess. Pro správnou funkci je potřeba být přihlášen přes dns název, nikoliv přes IP adresu.

Na závěr 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.

/** Zablokovat editaci šablon. */
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]

Všechny soubory mohou být chráněny proti zápisu uživatelem www-data, kromě podadresáře /wp-content/uploads.

Odkazy