Jak zálohovat web Drupal na Linuxu

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.