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!** |