This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| navody:server:drupal [2014/11/05 10:24] – Page moved from server:drupal to navody:server:drupal admin | navody:server:drupal [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======Převod Drupalu ze sdíleného hostingu na vpsFree====== | ||
| - | Distribuce Debian 6, Drupal 7 | ||
| - | V rámci zachování konzistence návodu prosíme případné komentáře a větší změny navrhnout na konci dokumentu v sekci Návrhy na zlepšení a zpětná vazba. | ||
| - | |||
| - | =====Tento návod je===== | ||
| - | * zápisem postupu použitém při převodu osobního blogu na drupalu ze sdíleného hostingu na vpsFree | ||
| - | * kompletním fukčním step-by-step návodem, který byl ověřen v playgroundu | ||
| - | * vhodný pro drupalisty, kterým nestačí sdílený hosting a chtějí zkusit třeba Drush (Drupal shell), ale zatím se to neodvážili zkusit na vlastní VPS.. | ||
| - | * poslouží k jednoduchému a funkčnímu nastavení prostředí pro běh Drupalu | ||
| - | |||
| - | =====Tento návod není===== | ||
| - | * optimalizován pro weby s velkou návštěvností, | ||
| - | * nijak zvlášť promyšlen s ohledem na bezpečnost, | ||
| - | * používejte tento návod na vlastní riziko | ||
| - | |||
| - | =====Příprava===== | ||
| - | Předpokládáme čerstvě nainstalovaný server z template Debian 6. | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | Používáme aptitude, protože si pamatuje, které balíky byly instalovány jako závislosti a pak je umí i automaticky odstranit, když již nejsou potřebné. Snad to prý už umí i apt-get, ale nezkoušeli jsme. Použítí apt-get místo aptitude by mělo také fungovat. | ||
| - | |||
| - | ===== Instalace Apache, PHP, MySQL, phpMyAdmin ===== | ||
| - | Vhodnou verzi Apache nainstalujeme jako závislost php5. Php-pear a curl (nebo wget) se nám bude hodit pro instalaci a používání Drupal shellu Drush. | ||
| - | * '' | ||
| - | |||
| - | Nainstalujeme databázi a pár knihoven které Drupal potřebuje. | ||
| - | * '' | ||
| - | Proběhne konfigurace MySQL, zvolíme heslo root pro správu databáze (není vidět že heslo píšeme). | ||
| - | |||
| - | Pro převod naší stávající drupal databáze budeme potřebovat phpMyAdmin: | ||
| - | * '' | ||
| - | * zaškrtneme apache2 | ||
| - | * configure database yes | ||
| - | * zadáme heslo roota databáze zvolené při instalaci mysql | ||
| - | * zvolíme heslo pro uživatele phpmyadmin | ||
| - | | ||
| - | =====Převod databáze===== | ||
| - | * databázi z našeho hostingu zaarchivujeme pomocí modulu [[http:// | ||
| - | * do phpmyadmin se přihlásíme přes naše.ip/ | ||
| - | * hned na první stránce po přihlášení je políčko pro vytvoření nové databáze. Zvolíme stejné jméno, jako jsme měli dříve (a se stejným collation, v našem případě utf8_czech_ci ) | ||
| - | * název původní databáze najdeme nejspíše v naší původní instalaci v sites/ | ||
| - | * nahoře klikneme na import / vybereme soubor se staženou databází z Backup and Migrate / Go | ||
| - | V případě, že je databáze větší než 2MB, import ohlási chybu a je třeba pomocí editoru vim nebo nano patřičně navýšit limity pro upload v php.ini: | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | Vytvoříme uživatele v phpmyadmin pro databázi: | ||
| - | * jdeme na Priviledes | ||
| - | * username: stejné jako náš původní uživatel | ||
| - | * host: localhost | ||
| - | * password: jako naše původní v settings.php | ||
| - | * nic dalšího neměníme a jdeme rovnou dole na Go | ||
| - | |||
| - | ===== Převod souborů webu===== | ||
| - | ==== Příprava ==== | ||
| - | Nejprve soubory našeho webu stáhneme přes FTP na lokální počítač (vč. skrytých) a zabalíme. Tečka na konci místo * zajistí, že se nám zabalí i skryté soubory jako .htaccess. V root adresáři našeho www staženého na lokále: | ||
| - | '' | ||
| - | |||
| - | V případě že na našem lokálním PC používáme Windows, můžeme samozřejmě zazipovat a pak pro rozbalení doinstalovat do vps unzip pomocí '' | ||
| - | |||
| - | ====Instalace FTP serveru (volitelně)==== | ||
| - | Pro nahrání a správu souborů webu na serveru se nám může hodit zprovoznit ftp server na naší vps. Zvolili jsme ProFTPD. | ||
| - | * '' | ||
| - | * vybereme standalone, hotovo.. | ||
| - | * pro větší zabezpečení by jistě stálo za to zprovoznit SFTP server, my však pro další správu webu chceme používat hlavně Drush přes ssh, tak nás to zatím netrápí. | ||
| - | * také se doporučuje editací ''/ | ||
| - | |||
| - | Alternativně můžeme zabalená data webu na server zkopírovat bezpečně přes scp, viz dále. | ||
| - | |||
| - | ====Vytvoření uživatele pro web a nastavení práv==== | ||
| - | Vytvoříme uživatele, zvolíme heslo, ostatní nemusíme vyplňovat | ||
| - | * '' | ||
| - | Vytvoříme adresář pro náš web, nastavíme vlastníka: | ||
| - | * '' | ||
| - | * '' | ||
| - | Nastavíme primární skupinu uživatele na www-data. To nám zajistí, že nové soubory co vytvoříme, | ||
| - | * '' | ||
| - | |||
| - | ====Nahrání souborů webu na vps==== | ||
| - | Nyní nahrajeme zabalená data webu z lokálního počátače na vps pomocí našeho oblíbeného ftp klienta do / | ||
| - | |||
| - | Nebo můžeme použít pro zkopírování souboru zabezpečené scp: | ||
| - | * '' | ||
| - | |||
| - | |||
| - | Pak data rozbalíme a archiv nezapomeneme smazat. Můžeme samozřejmě přenášet i nezabalené, | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * poslední řádek nastaví práva zápisu pro skupinu www-data do adresáře files (což je v Drupalu důležité pro upload souborů a různé moduly tam občas potřebují zapisovat) | ||
| - | |||
| - | |||
| - | ====Úprava konfiguračních souborů Drupalu pro lokální prostředí==== | ||
| - | * .htaccess - s námi použitou konfigurací serveru by měl fungovat standardní .htaccess dodávaný s drupalem. Pokud jsme v něm měli na původním hostingu nějaké speciality, musíme je ošetřit ručně. Pokud jsme museli .htaccess dříve upravpvat z důvodů omezení na sdíleném hostingu, můžeme jej přepsat originálním .htaccess z drupal instalace. Ponechání standardního .htacess oceníme při aktualizacích Drupal core. | ||
| - | * v sites/ | ||
| - | |||
| - | =====Nastavení Apache, otestování===== | ||
| - | ====Povolení rewrite== | ||
| - | Pro správnou funkci Drupalu potřebujeme zapnout apache modul rewrite: | ||
| - | * '' | ||
| - | * ''/ | ||
| - | |||
| - | ====Test přes ip adresu a default site==== | ||
| - | Než přesměrujeme DNS záznamy na náš nový server, můžeme náš web nyní zkusit přes ip adresu vps. K tomu potřebujeme upravit konfiguraci default site Apache, aby fungovalo url rewriting v .htaccess drupalu: | ||
| - | * '' | ||
| - | * a povolíme přepisování options v adresáři /var/www/ z None na All | ||
| - | < | ||
| - | Options Indexes FollowSymLinks MultiViews | ||
| - | AllowOverride All | ||
| - | Order allow,deny | ||
| - | allow from all | ||
| - | </ | ||
| - | |||
| - | Vyzkoušíme náš web přes: ip.nasi.vps/ | ||
| - | |||
| - | Případné potíže nám může pomoci vyřešit nahlédnutí do error logu apache: | ||
| - | * '' | ||
| - | |||
| - | ====Nastavení adresáře pro dočasné soubory drupalu==== | ||
| - | * cesta byla u našeho webhostingu pravděpodobně jiná | ||
| - | * natavíme v '' | ||
| - | * ''/ | ||
| - | * vyčistíme drupal cache '' | ||
| - | |||
| - | ====Nastavení virtualhost==== | ||
| - | Pokud nám vše funguje můžeme vytvořit apache site soubor pro náš web | ||
| - | |||
| - | * '' | ||
| - | |||
| - | s obsahem: | ||
| - | < | ||
| - | < | ||
| - | ServerName www.nasweb.cz | ||
| - | |||
| - | DocumentRoot / | ||
| - | < | ||
| - | Options Indexes FollowSymLinks MultiViews | ||
| - | AllowOverride All | ||
| - | Order allow,deny | ||
| - | allow from all | ||
| - | </ | ||
| - | |||
| - | ErrorLog ${APACHE_LOG_DIR}/ | ||
| - | |||
| - | # Possible values include: debug, info, notice, warn, error, crit, | ||
| - | # alert, emerg. | ||
| - | LogLevel warn | ||
| - | |||
| - | CustomLog ${APACHE_LOG_DIR}/ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | ====Aktivace nové apache site==== | ||
| - | * '' | ||
| - | * ''/ | ||
| - | |||
| - | =====Nastavení mailserveru===== | ||
| - | Aby náš web mohl odesílat e-mailová upozornění, | ||
| - | * '' | ||
| - | * '' | ||
| - | * vybereme internet site | ||
| - | * zadáme doménu našeho webu: nasweb.cz | ||
| - | * ip-adresses to listen to - necháme na: 127.0.0.1; ::1 | ||
| - | * destinations - necháme na nasweb.cz | ||
| - | * domains to relay: prázdné | ||
| - | * machines to relay: prázdné | ||
| - | * DNS quwries minimal queries: no | ||
| - | * delivery method: maildir | ||
| - | * split configuration: | ||
| - | * redirect root and postmastermail to: nasweb | ||
| - | * zdroj: [[http:// | ||
| - | |||
| - | Funkčnost odesílání mailů můžeme otestovat pomocí: | ||
| - | * '' | ||
| - | |||
| - | Pro lepší průchodnost spam filtry a vůbec větší věrohodnost našeho serveru by mohlo pomoci požádat podporu vpsFree o nastavení reverzního záznamu pro IP adresu naší vps na naši doménu. | ||
| - | |||
| - | =====Přesměrování DNS záznamů===== | ||
| - | Máme-li otestováno, | ||
| - | |||
| - | * To již samozřejmě musíme provést v administračním rozhraní pro správu domény našeho registrátora / poskytovatele původního webhostingu. | ||
| - | |||
| - | * po úspěšném přesměrování vyčistíme drupal cache '' | ||
| - | | ||
| - | =====Drush v Debian Squeeze===== | ||
| - | Vyzkoušet Drush bylo naším hlavním motivem přechodu na vps. Namísto zdlouahvého mazání a znovunahrávání souborů přes FTP vyřešíme aktualizaci core a modulů jednou příkazovou řádkou a ušetříme spoustu času. Drush je napsán v PHP a funguje tak, že se připojí lokálně k našemu Drupal webu a databázi a nad tim funguje, ale s rozhraním příkazové řádky. | ||
| - | |||
| - | ====Instalace==== | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | ====Povolení drush autocompletion a aliasů==== | ||
| - | ===Pro všechny uživatele=== | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | Pro aktivaci drush aliasů a autocompletion se odhlašte a přihlašte, | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | ===Jen pro jednoho uživatele=== | ||
| - | * namísto do /etc... zkopírujeme výše uvedené soubory do ~/.drush/ a do ~/.bashrc přidáme nakonec | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | ===Otestování (používá Drush aliasy)=== | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | |||
| - | Více o Drush třeba zde: | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | |||
| - | =====Obecněji o nastavení práv pro běh Drupalu===== | ||
| - | Následujících pár řádků Vám může pomoci porozumnět, | ||
| - | |||
| - | * proces web serveru mohl číst vše v document root (v našem případě / | ||
| - | * proces web serveru memohl měnit nic kromě files adresáře (to by mohlo v případě chyby v Apachi umožnit | ||
| - | * v případě, že ale chceme aktualizovat moduly z www rozhraní Druaplu, web server musím mít možnost zapisovat alespoň do sites/ | ||
| - | * nové soubory vytvořené uživatelem (ať už přes drush, nebo nahrané přes ftp) byly čitelné web serverem. Za tímto účelem nastavujeme primarní skupinu uživatele nasweb na www-data a nové soubory se tak vytvoří s touto skupinou. | ||
| - | * abychom drush spouštěli vždy pod uživatelem nasweb (soubory jím vytvořené tak budou čitelné web serverem i uživatelem nasweb) | ||
| - | * nové soubory vytvořené web serverem v adresáři files či jinde (např soubory nahrané z webu) budou mít vlastníka i skupinu www-data: | ||
| - | * '' | ||
| - | |||
| - | =====Návrhy na zlepšení návodu a zpětná vazba===== | ||
| - | Sem prosím piště případné komentáře, | ||
| - | |||
| - | **Hodně zdaru s Vaší svobodnější instalací Drupalu!** | ||