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 update
apt-get upgrade
apt-get install aptitude
aptitude 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 curl
Nainstalujeme databázi a pár knihoven které Drupal potřebuje.
aptitude install php5-mysql mysql-server php5-gd php5-curl
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:
aptitude install phpmyadmin
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:
vim /etc/php5/apache2/php.ini
upload_max_filesize = 2M
post_max_size = 8M
Vytvoří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/nasweb
chown nasweb:www-data /var/www/nasweb
Nastaví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/nasweb
Pak 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/nasweb
tar -xvf nasweb.tgz
rm nasweb.tgz
chmod -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 reload
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:
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.log
ip.nasi.vps/nasweb/admin/config/media/file-system
na/tmp
ip.nasi.vps/nasweb/admin/config/development/performance
Pokud 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 reload
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.
aptitude install exim4
dpkg-reconfigure exim4-config
Funkčnost odesílání mailů můžeme otestovat pomocí:
echo „Test mailu z VPS.“ | mail -s Test mail@mujmail.com
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.
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/performance
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.
pear channel-discover pear.drush.org
pear install drush/drush
cp /usr/share/php/drush/drush.complete.sh /etc/profile.d/
cp /usr/share/php/drush/examples/example.bashrc /etc/profile.d/drush.bashrc.sh
Pro aktivaci drush aliasů a autocompletion se odhlašte a přihlašte, nebo aktuvujte příkazy:
source /etc/profile.d/drush.complete.sh
source /etc/profile.d/drush.bashrc.sh
source ~/.drush/drush.bashrc.sh
source ~/.drush/drush.complete.sh
cd /var/www/nasweb
dr 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!