Správa obsahu pomocí systému Drupal představuje efektivní metodu, jak z webových stránek získat maximum. Je to dáno především rozsáhlou nabídkou nástrojů, modulů a funkcí. Nicméně, přes všechny jeho klady, zálohování nepatří mezi silné stránky Drupalu. To je značná nevýhoda pro jinak špičkový redakční systém. Vzhledem k absenci integrovaného nástroje pro zálohování webů běžících na Drupalu v prostředí Linux, je nutné provádět zálohy manuálně.
Vytvoření složky pro zálohy
Pro zálohování webu Drupal na Linuxu je nezbytné vytvořit vyhrazenou složku pro uložení exportovaných dat. K vytvoření této složky použijte v terminálu příkaz `mkdir`.
Nejprve se přihlaste jako uživatel s oprávněními root, například pomocí příkazu `su`:
su -
Alternativně, pokud nemáte heslo pro root, můžete použít příkaz `sudo -s` k získání root práv.
sudo -s
Následně vytvořte záložní složku v kořenovém adresáři systému (/).
mkdir -p drupal-backups
Export SQL databáze
Dalším krokem je export databáze SQL. Tento úkon by měl být prováděn s oprávněními root. Nezkoušejte zálohu provádět s běžným uživatelským účtem.
Uvnitř složky `drupal-backups` vytvořte podsložky `sql`, `installation-files` a `apache2-conf`.
mkdir -p /drupal-backups/sql mkdir -p /drupal-backups/installation-files mkdir -p /drupal-backups/apache2-conf
Pomocí nástroje `mysqldump` exportujte databázi Drupalu do záložní složky.
Důležité: Před spuštěním níže uvedeného příkazu nahraďte `username` a `databasename` vaším skutečným uživatelským jménem a názvem databáze, kterou Drupal používá. Ve většině případů je výchozí název databáze „drupal“.
cd drupal-backups/sql mysqldump -u username -p databasename > db.drupal_backup-1.sql
Zálohování instalačních souborů
Po zálohování databáze je dalším krokem zálohování samotné instalace Drupalu. K tomu je nutné vytvořit kompletní kopii obsahu z adresáře `/var/www/html/`. Za předpokladu, že jste se při instalaci Drupalu řídili naším návodem, jádro webu by mělo být umístěno přímo v `/var/www/html/`, bez dalších podsložek. Použijte příkaz `cp` pro vytvoření úplné kopie složky `html` a její uložení do `/drupal-backups/files`.
Poznámka: Pokud máte instalaci umístěnou v `/var/www/html/drupal` nebo podobně, upravte příkaz `cp` tak, aby odpovídal vaší struktuře adresářů.
cp -rp /var/www/html/* /drupal-backups/installation-files/
Zálohování instalačních souborů je klíčové, protože obsahují důležité konfigurace webu, šablony atd. Nicméně, není to jediný soubor, který potřebujete zálohovat. Dalším zásadním elementem je konfigurace webového serveru Apache2. Tento konfigurační soubor určuje, kde se nachází instalace Drupalu a jak ji webový server načítá. Bez něj by záloha postrádala smysl.
Pro zálohování konfiguračního souboru Apache2 spusťte následující příkaz:
cp /etc/apache2/sites-available/drupal.conf /drupal-backups/apache2-conf/
Komprese zálohy
Po zkopírování všech potřebných souborů je čas vytvořit archiv TAR. Komprese značně usnadní přesun záložních souborů. K vytvoření archivu spusťte následující příkaz:
tar -zcvpf drupal-website-backup.tar.gz /drupal-backups
Komprese záloh je užitečná, ale sama o sobě neposkytuje dostatečnou ochranu. V případě, že plánujete uložit zálohu na veřejné cloudové úložiště, upload nešifrovaného archivu znamená, že kdokoliv by mohl manipulovat s obsahem databáze, soubory webu atd.
Proto je vhodné archiv před uploadem zašifrovat. K tomu použijte nástroj GnuPG (gpg). Pokud jej nemáte nainstalovaný, vyhledejte `gpg` v balíčkovacím systému vašeho linuxového serveru a nainstalujte jej. Po instalaci spusťte následující příkaz pro zašifrování archivu.
gpg -c drupal-website-backup.tar.gz
Příkaz `gpg -c` zašifruje váš archiv a vyzve vás k zadání hesla pro nový zašifrovaný soubor GPG. Zadejte bezpečné heslo a počkejte, až šifrování dokončí. Po dokončení můžete soubor `drupal-website-backup.tar.gz.gpg` bezpečně nahrát na vybrané místo pro uložení.
Obnova ze zálohy
Stáhněte si záložní soubor GPG na server, kam chcete zálohu obnovit. Poté postupujte následovně:
su -
nebo
sudo -s
Vytvořte složku pro uložení obnovované zálohy:
mkdir -p /drupal-restore/
Přesuňte GPG soubor do nově vytvořené složky:
mv /cesta/k/drupal-website-backup/drupal-website-backup.tar.gz.gpg /drupal-restore/
Dešifrujte zálohu pomocí GPG:
gpg drupal-website-backup.tar.gz.gpg
Rozbalte archiv:
tar -xvpf drupal-website-backup.tar.gz
Přejděte do rozbalené složky:
cd drupal-restore/drupal-backups
Nyní můžete začít s obnovou. Nejprve importujte SQL databázi do MySQL:
cd sql
mysqldump -u username -p drupal < db.drupal_backup-1.sql
Po importu databáze obnovte zbývající soubory:
cp /drupal-restore/drupal-backups/apache2-conf/drupal.conf /etc/apache2/sites-available/
sudo ln -s /etc/apache2/sites-available/drupal.conf /etc/apache2/sites-enabled/drupal.conf cp -rp /drupal-restore/drupal-backups/installation-files/* /var/www/html/
Přesunutí souborů na správné místo je posledním kritickým krokem obnovy.
Po dokončení restartujte linuxový server. Ačkoli to může být nepříjemné, je to vhodné pro zajištění, aby všechny potřebné služby pro správný chod Drupalu byly znovu spuštěny. Po restartu by vše mělo fungovat, jak před zálohováním.