Obsah

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

Tento návod není

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:

Převod databáze

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:

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: tar -zcvf nasweb.tgz .

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í aptitude install unzip. Další možností je stáhnout soubory našeho původního webu třeba pomocí ftp klienta Midnight commenderu (mc) rovnou do vps. My jsme již měli soubory na na lokálním PC stažené, takže dál budeme vycházet z této varianty.

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.

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, budou čitelné webserverem.

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 /var/www/nasweb. Použijeme uživatele nasweb a zvolené heslo. Ftp je pro vytvořené uživatele hned aktivní.

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é, ale trvá to zbytečně dlouho.

Úprava konfiguračních souborů Drupalu pro lokální prostředí

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:

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

Vyzkoušíme náš web přes: ip.nasi.vps/nasweb. Hlavní stránka webu by měla fungovat a pokud máme standardní .htaccess drupalu 7, mělo by fungovat i url rewriting a tím i podstránky našeho webu. V případě že to nefunguje, chyba je pravděpodobně v .htaccess nebo v konfiguraci apache default site.

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

Nastavení virtualhost

Pokud nám vše funguje můžeme vytvořit apache site soubor pro náš web

s obsahem:

<VirtualHost *:80>
       ServerName www.nasweb.cz

       DocumentRoot /var/www/nasweb/
       <Directory /var/www/nasweb/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       </Directory>

       ErrorLog ${APACHE_LOG_DIR}/error.log

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Aktivace nové apache site

Nastavení mailserveru

Aby náš web mohl odesílat e-mailová upozornění, nakonfigurujeme na naší vps mailserver. Použijeme výchozí Debian mailserver Exim. Konfigurujeme pouze odesílání, nikoliv příjem pošty.

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, že náš web funguje, můžeme přesměrovat DNS A záznam webu na náš vps server.

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, nebo aktuvujte příkazy:

Jen pro jednoho uživatele

Otestování (používá Drush aliasy)

Více o Drush třeba zde:

Obecněji o nastavení práv pro běh Drupalu

Následujících pár řádků Vám může pomoci porozumnět, jak je třeba nastavit práva pro správné fungování Drupalu. Jde o to, aby:

Sem prosím piště případné komentáře, větší aktualizace / návrhy na změny v tomto návodu, které se čas od času pokusíme zapracovat. Samozřejmě nás také potěší jakákoliv zpětná vazba, obzvláště byl-li Vám tento návod k něčemu užitečný.

Hodně zdaru s Vaší svobodnější instalací Drupalu!