Ako nainštalovať WordPress na Ubuntu server pomocou EasyEngine
V prechádzajúcom článku, sme si ukázali, ako spustiť VPS server na DigitalOcean a jeho základné nastavenia. V tomto článku si ukážeme, ako nainštalovať WordPress na server DigitalOcean, tento návod môžete použiť v podstate, na akýkoľvek server na ktorom beží Ubuntu 12.04, 14.04 a 16.04, Debian 7 a 8.
Aby nám WordPress správne fungoval, potrebujeme mať spustené na serveri tieto služby.
- HTTP server: napríklad Apache, alebo Nginx
- databázu: MySQL, Percona MySQL, alebo MariaDB
- skriptovací jazyk servera: PHP5
Je dobré nainštalovať aj:
- mail server: Postfix
- spracovanie databáz cez web: phpMyAdmin, Adminer
Najprv som chcel ukázať, ako všetky tieto balíčky nainštalovať postupne. No, takýchto návodov je na internete a aj na samotnom DigitalOcean dosť. Tak prečo to trocha nezjednodušiť. Ako?
Tak, že použijeme EasyEngine (ee). Jedná sa o Python nástroj pre inštaláciu a správu webových stránok WordPress. Pomocou EasyEngine, nainštalujeme jedným príkazom, Nginx, PHP, MariaDB, Postfix a phpMyAdmin, Adminer a ich závislosti, jednoducho a naraz. Skript EasyEngine funguje na systémoch, Ubuntu LTS 12.04 / 14.04 a Debian 7.
Skript automaticky nastaví server na základe dostupných hardvérových prostriedkov. Aby všetko bežalo tak ako má, skript používa w3-total-cache, wp-super-cache a nginx fastcgi-cache, ďalej podporuje Zend Opcache a Memcache. EasyEngine podporuje inštaláciu klasických a aj Multisite WordPress stránok, ktoré nainštalujete jednoduchým príkazom a umožňuje spravovať ľubovolný počet stránok. Skript nám dáva možnosť jednoducho spustiť nie len WordPress web, ale aj klasický html, PHP web, či už s databázou, alebo bez nej. Musím ešte spomenúť že skript používa, ako web server Nginx. Tento je omnoho rýchlejší než Apache, je menej náročný na procesor a nepotrebuje pre svoju prácu toľko RAM, ako Apache.
Apache je ako Microsoft Word, má milión možností, ale Vám stačí len šesť. Nginx robí tých šesť vecí a päť z nich urobí 50 krát rýchlejší ako Apache.
Teraz Vám ukážem ako EasyEngine, nainštalovať a pozrieme sa aj na nastavenia, preto bude článok trocha dlhší, no nie je to nič zložité a inštalácia zaberie len pár minút.
Keby sme chceli naozaj rýchlo nainštalovať WordPress stránku, pomocou ee, tak by nám stačili tieto dva príkazy:
Tento nám nainštaluje EasyEngine na server:wget -qO ee rt.cx/ee4 && sudo bash ee
Druhý príkaz nainštaluje potrebné balíčky a vytvorí WordPress stránku s doménou example.com:ee site create example.com –wp
Potom stačí nasmerovať v nastaveniach DNS doménu example.com na IP servera a je hotovo. Naša inštalácia bude trochu zložitejšia, ale budeme mať prehľad čo inštalujeme.
Aktualizované – jún 2019: Text tohto článku je písaný v roku 2015 a vtedy som testoval dnes už zastaralú verziu, ktorá nie je podporovaná. Príkaz vyššie nainštaluje najnovšiu (4) verziu EasyEngine. Viac informácií o nastaveniach nájdete na webe EasyEngine.
Inštalácia EasyEngine (ee) na Ubuntu 14.04 LTS server
Dosť bolo blabotania, poďme sa pustiť do práce. Budeme pracovať s užívateľom root, ktorý má plné práva. Pokiaľ je Vaša RAM menšia ako 4GB, tak je potrebné nastaviť na serveri swap, v predchádzajúcom článku sme si ukázali ako. Pokiaľ je swap nastavená, môžeme pokračovať ďalej.
Zadáme príkaz pre aktualizáciu balíčkov na serveri.
apt-get update && apt-get upgrade
Stiahneme a nainštalujeme EasyEngine týmto príkazom:
wget -qO ee rt.cx/ee && sudo bash ee
Budete požiadaný o meno, napíšete ho a potvrdíte Entrom. Potom bude treba zadať Váš e-mail a odentrujete ho. Zadané meno a e-mailová adresa bude použitá aj pri neskoršej inštalácii WordPress stránok.
Enter your name [root]: VašeMeno Enter your email address [root@server]: váš@mail.niečo
Povolíme automatické dokončovanie pre EasyEngine nasledujúcim príkazom:
source /etc/bash_completion.d/ee_auto.rc
Nastavenie ee.conf
Ak chcete mať väčšiu kontrolu nad vytváraním WordPress stránok pomocou ee, tak je potrebné nastaviť ee konfiguračný súbor. Konfiguračný súbor ee.conf otvoríme príkazom:
nano /etc/ee/ee.conf
Nájdeme tu niekoľko nastavení. Nás bude zaujímať len časť [mysql] a [wordpress].
... [mysql] ### MySQL database grant host name grant-host = localhost ### Ask for MySQL db name while site creation db-name = False ### Ask for MySQL user name while site creation db-user = False [wordpress] ### Ask for WordPress prefix while site creation prefix = False ### User name for WordPress sites user = ### Password for WordPress sites password = ### EMail for WordPress sites email = ...
[mysql] sekcia
db-name: EasyEngine automaticky vytvára databázu pre WordPress, kde je meno databázy založené na doménovom mene. Pokiaľ chcete nastaviť svoje meno pre databázu, prepíšte hodnotu z false na true. Pokiaľ nastavíte true, tak pri vytváraní stránky budete toto meno môcť zadať. Príklad: prefix = true
db-user: Takisto je to aj pri užívateľskom mene pre prístup do databázy. Meno je automaticky vytvorené a bude založené na doménovom mene pokiaľ necháte nastavenú hodnotu false. Ak chcete zadávať toto meno pri vytváraní stránky, nastavte túto hodnotu na true.
[wordpress] sekcia
prefix: V predvolenom nastavení EasyEngine používa wp_ , ako predvolený prefix pre vytvorenie databázových tabuliek WordPressu. Ak chcete zadať vlastný prefix databázových tabuliek pre WordPress, nastavte túto hodnotu na true. Odporúčam v rámci bezpečnosti zadávať vlastný prefix tabuliek, takže nastavte na: true. Pri vytváraní stránky budete požiadaný o zadanie prefixu databázy.
user: V predvolenom nastavení EasyEngine používa pri vytváraní WordPress stránok meno pre administrátora to, ktoré ste zadali na začiatku pri inštalácii ee. Ak chcete toto meno zmeniť na meno napríklad Jano, tak meno dopíšte. Príklad: user = Jano.
password: V predvolenom nastavení ee vygeneruje náhodné heslo pre WordPress admin užívateľa. Ak chcete zadať svoje heslo, napríklad v tvare vAsE_hEsLo, tak ho sem napíšte. Príklad: password = vAsE_hEsLo.
email: V predvolenom nastavení ee používa e-mailovú adresu pre WordPress admin užívateľa, tú ktorú ste zadali pri inštalácii ee. Pokiaľ chcete e-mailovú adresu zmeniť, tak ju sem napíšte.
Príklad: e-mail = meno@vasadomena.nieco.
Viac info o nastavení ee.conf nájdete na tejto stránke.
Inštalácia balíčkov Nginx, PHP, MariaDB a Postfix
Teraz nainštalujeme na server Nginx, PHP, MariaDB, Postfix príkazom :
ee stack install --web
V terminály sa zobrazia následovné oznámenia o inštalácii balíčkov a Meno a Heslo pre HTTP autentifikáciu ktoré si uložíme. Meno a heslo budeme potrebovať pre prihlásenie do Administrátorského rozhrania ktoré vytvorí ee.
root@server:~# ee stack install --web Adding repository for MySQL, please wait ... Adding repository for NGINX, please wait ... Adding repository for PHP, please wait ... Updating apt-cache, please wait ... Installing packages, please wait ... Downloading WP-CLI [Done] Reload : postfix [OK] Reload : nginx [OK] Reload : php5-fpm [OK] Reload : mysql [OK] HTTP Auth User Name: easyengine HTTP Auth Password : sCT894 Successfully installed packages root@server:~#
Teraz nám na serveri beží: Nginx, Postfix, PHP a databáza MariaDB. Môžeme sa pozrieť na základné informácie o balíčkoch týmto príkazom:
ee info
Pokiaľ zadáte do prehliadača IP adresu Vášho servera, tak sa zobrazí úvodná stránka web servera Nginx. Pokiaľ sa stránka nezobrazí, tak skontrolujte či je povolený port 80 vo firewalle. Ako povoliť port som ukázal v tomto článku.
Administratívne nástroje
Teraz nainštalujeme admin nástroje – Adminer, phpMyAdmin, phpMemcachedAdmin, FastCGI cleanup script, OPcache, Webgrind, Anemometer príkazom:
ee stack install --admin
V tejto chvíli sa môžeme prihlásiť, už do spomínanej Admin časti, kde budeme mať prístup k rôznym užitočným nástrojom. Do prehliadača napíšeme IP adresu servera + port na ktorom beží táto služba. Tento port je defaultne nastavený na 22222. Bude to vyzerať nejak takto: https://123.456.789.789:22222.
Samozrejme táto IP adresa je vymyslená a Vy ju nahradíte tou svojou. Spojenie je zabezpečené cez protokol HTTPS a kedže certifikát nie je overený, tak nás prehliadač bude upozorňovať na nezabezpečené spojenie. V tomto prípade to však nevadí, spojenie k serveru bude aj naďalej šifrované, ignorujeme upozornenie a prejdeme na stránku. Zadáme Meno a Heslo, ktoré sme si pri inštalácii balíčkov uložili. Ak sa stránka nezobrazuje, tak je pravdepodobné, že ste zabudli povoliť port 22222 vo firewalle!
Po prihlásení sa dostaneme cez prehliadač do štruktúry adresárov, tu máme prístup do rôznych štatistík a nastavení.
cache/ V tomto adresári nájdeme Cachovacie nástroje Memcache, Zend Opcache and Nginx-FastCGI cache viewer/cleaner.
db/ Tu sa nachádza prístup k databázam Adminer, phpMyAdmin a Anemometer.
fpm/ PHP-FPM štatistiky.
php/ Adresár obsahuje phpinfo a Webgrind.
Pre nás na začiatku bude najdôležitejší prístup k databázam. Máme na výber z dvoch nástrojov, prvý je Adminer a ďalší je phpMyAdmin. Tak si poďme zistiť aké máme heslo roota k databáze. Zistíme ho týmto príkazom:
cat ~/.my.cnf
Prístupové údaje do databázy k jednotlivým stránkam nájdete v súbore wp-config.php, ale to už určite poznáte. Ešte spomeniem že stránky sú umiestnené v adresári: var/www/.
Vytvorenenie WordPress stránky + FastCGI Cache
Konečne sa dostávame k tomu najdôležitejšiemu a to k inštalácii WP stránky, ktorá bude podporovať FastCGI Cache. Nahraďte examle.com názvom Vašej domény.
ee site create example.com --wpfc
Vo výpise máme prístupové údaje k Admin rozhraniu stránky, ktoré je potrebné si uložiť. Pod nimi sa nachádza doporučenie, ako nastaviť W3TC a Nginx Helper. Tieto dva pluginy sú už automaticky nainštalované.
root@vasserver:~# ee site create example.com --wpfc Setting up NGINX configuration [Done] Setting up webroot [Done] Downloading WordPress [Done] Setting up database [Done] Enter the WordPress table prefix [wp_]: mojprefix_ Installing plugin nginx-helper Installing plugin w3-total-cache Reload : nginx [OK] WordPress admin user : Jano WordPress admin user password : A9WU0T86APiHQdv Configure nginx-helper: http://example.com/wp-admin/options-general.php?page=nginx Configure W3TC: http://example.com/wp-admin/admin.php?page=w3tc_general Page Cache: Disable Database Cache: Memcached Object Cache: Memcached Browser Cache: Disable Successfully created site http://example.com
Hotovo, stránka je vytvorená. Stačí nasmerovať A záznam v DNS nastaveniach domény na IP Vášho servera.
TIP: Na prístup k súborom stránok môžete použiť v systéme Windows program WinSCP. Len si treba uvedomiť, že všetky adresáre a súbory sú vo vlastníctve www-data a nie root, tak pozor na to pri úpravách súborov a adresárov.
Cache nastavenia WP + FastCGI Cache
Ako prvé si ukážeme nastavenie W3TC. V nastaveniach budeme mať zaškrtnuté len Database Cache a Object Cache a ako Cache Method zvolíme u oboch Memcached:
Nastavenia Nginx Helper:
Na začiatku som spomínal, že EasyEngine dokáže inštaláciu a správu rôznych stránok či už WordPress, alebo klasických. Tu sú niektoré príkazy k inštalácii stránok:
Štandardná WordPress stránka:
ee site create example.com --wp # nainštalovať WordPress bez akejkoľvek medzipamäte ee site create example.com --w3tc # nainštalovať WordPress s W3-Total-cache pluginom ee site create example.com --wpsc # nainštalovať WordPress s wp-super-cache pluginom ee site create example.com --wpfc # nainštalovať WordPress + nginx fastcgi_cache
Inštalácia klasických stránok:
ee site create example.com --html # nainštalovať example.com statickú/html stránku ee site create example.com --php # nainštalovať example.com stránku s php podporou ee site create example.com --mysql # nainštalovať example.com stránku s php a mysql podporou
Všetky príkazy nájdete na stránkach EasyEngine.
Užitočné príkazy pre EasyEngine
Zmena mena a hesla k prístupu do Admin nástrojov ktorý sa nachádza na porte 22222:
ee secure --auth
Zmena portu Admin nástrojov z 22222 na vlastný. Nezabudnite po zmene portu vo firewalle nový port povoliť a starý zakázať:
ee secure --port
Reštart NGINX, PHP, MySQL a Postfix:
ee stack restart
Ak chcete odstrániť stránku vytvorenú pomocou EasyEngine:
ee site delete example.com
Zobraziť informácie o webe:
ee site info example.com
Kompletný zoznam príkazov nájdete TU.
Zhrnutie
EasyEngine je šikovný skript, ktorý dokáže ušetriť množstvo času a za pár minút nám naservíruje funkčný web. Skúšal som ho na najlacnejšej konfigurácii DigitalOcean servera a všetko bežalo fantasticky. Za mňa palec hore. Tento skript dokáže toho oveľa viac, ako je spomenuté v článku, napríklad zálohovať stránky, alebo nainštaluje jedným príkazom e-mailový server s ViMbAdmin a Roundcube + Amavis, SpamAssassin a ClamAV, ale to je na ďalší článok a nechcem nikoho stresovať dlhými litániami, už aj tak je tento návod dlhý. Doporučujem preštudovať domovskú stránku.
Dúfam že sa návod dá pochopiť a niekomu pomôže, ak sa Vám článok páčil, tak ho zdieľajte.
Odkazy
Domovská stranka ee: https://rtcamp.com/easyengine/
Github: https://github.com/rtCamp/easyengine
Fórum: http://community.rtcamp.com/c/easyengine