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.
Předpokládáme čerstvě nainstalovaný server z template Debian 6.
apt-get updateapt-get upgradeapt-get install aptitudeaptitude install mc (používáte-li)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.
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.
aptitude install php5 php-pear curlNainstalujeme databázi a pár knihoven které Drupal potřebuje.
aptitude install php5-mysql mysql-server php5-gd php5-curlProbě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:
aptitude install phpmyadminV 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:
vim /etc/php5/apache2/php.iniupload_max_filesize = 2Mpost_max_size = 8MVytvoříme uživatele v phpmyadmin pro databázi:
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.
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.
aptitude install proftpd-basic/etc/proftpd/proftpd.conf omezit uživatele ftp na jeho home adresář. My ale budeme mít data webu ve /var/www/nasweb a home pod /home/nasweb, tak ponecháme jak je, navíc se nechystáme poskytnout přístup dalším uživatlům.Alternativně můžeme zabalená data webu na server zkopírovat bezpečně přes scp, viz dále.
Vytvoříme uživatele, zvolíme heslo, ostatní nemusíme vyplňovat
adduser nasweb Vytvoříme adresář pro náš web, nastavíme vlastníka:
mkdir /var/www/naswebchown nasweb:www-data /var/www/naswebNastavíme primární skupinu uživatele na www-data. To nám zajistí, že nové soubory co vytvoříme, budou čitelné webserverem.
usermod -g www-data nasweb 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:
scp nasweb.tgz nasweb@ip.nasi.vps:/var/www/naswebPak data rozbalíme a archiv nezapomeneme smazat. Můžeme samozřejmě přenášet i nezabalené, ale trvá to zbytečně dlouho.
su nasweb cd /var/www/naswebtar -xvf nasweb.tgzrm nasweb.tgzchmod -R g+w /var/www/nasweb/sites/default/files/Pro správnou funkci Drupalu potřebujeme zapnout apache modul rewrite:
a2enmod rewrite/etc/init.d/apache2 reloadNež 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:
vim /etc/apache2/sites-available/default<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:
tail /var/log/apache2/error.logip.nasi.vps/nasweb/admin/config/media/file-system na/tmpip.nasi.vps/nasweb/admin/config/development/performancePokud nám vše funguje můžeme vytvořit apache site soubor pro náš web
vim /etc/apache2/sites-available/nasweb (případně použijte editor nano, pokud Vám vim není po chuti)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>
a2ensite nasweb/etc/init.d/apache2 reloadAby 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.
aptitude install exim4dpkg-reconfigure exim4-configFunkčnost odesílání mailů můžeme otestovat pomocí:
echo „Test mailu z VPS.“ | mail -s Test mail@mujmail.comPro 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.
Máme-li otestováno, že náš web funguje, můžeme přesměrovat DNS A záznam webu na náš vps server.
http://nasweb.cz/admin/config/development/performanceVyzkouš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.
pear channel-discover pear.drush.orgpear install drush/drushcp /usr/share/php/drush/drush.complete.sh /etc/profile.d/cp /usr/share/php/drush/examples/example.bashrc /etc/profile.d/drush.bashrc.shPro aktivaci drush aliasů a autocompletion se odhlašte a přihlašte, nebo aktuvujte příkazy:
source /etc/profile.d/drush.complete.shsource /etc/profile.d/drush.bashrc.shsource ~/.drush/drush.bashrc.shsource ~/.drush/drush.complete.shcd /var/www/naswebdr st (drush status)dr cc all (vyčistí všechny cache)dr dl security_review (stáhne modul security review)dr en security_review (zapne modul security review)dr up (zkontroluje dostupné aktualizace core i modulů s možností upgrade)Více o Drush třeba zde:
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:
chown -R nasweb:www-data /var/www/nasweb/sites/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!