Vlastní knihovnička na internetu nebo vlastním serveru – nová verze COPS.
COPS je volně šiřitelný projekt pro přístup ke knihovně vytvořené v programu Calibre. Vyžaduje (v základě) jen server s podporou PHP a sqlite. Vyniká rychlostí a nenáročností, hodí se jak na web, tak třeba do domácí sítě.
Takže jak na zprovoznění?
- Stažení a nápověda:
Původní verze, nyní neudržovaná je na adrese https://github.com/seblucas/cops. Jen pro PHP 5x, a nepodporuje nejnovější verze databází programu Calibre (jde napravit -stačí v souborech metadata.db vymazat virtuální tabulky (2 ks), což je samozřejmě velice nepohodlné. Zde je hlavně rozsáhlá nápověda a diskuse, takže dobrý zdroj nápovědy.
Nová verze pro PHP 8x, která řeší výše uvedené problémy je na https://github.com/mikespub-org/seblucas-cops. Stáhněte si verzi podle typu PHP, který používá váš server.
Verze |
PHP |
3xx |
>=8.2 |
2xx |
>=8.1 |
1xx |
>=7.4 |
Diskuse a další informace najdete na fóru Mobileread.
- Instalace
Instalační balíček rozbalte na vhodné místo na serveru. A zkopírujte na něj i knihovnu Calibre. Knihovnu je vhodné umístit do jiné složky než COPS, pro případnou synchronizaci. Osobně vytvářím podsložku v adresáři COPS, ale umístění je na vašich preferencích.
Adresa knihovny bude podle umístění instalačního balíčku, pokud vytvoříte v kořenové složce například složku calibre, výsledek bude www.vas_server/calibre. Samozřejmě „vas_server“ je www adresa vašeho serveru.
Přejděte na tuto adresu, spustí se diagnostický skript. Pokud ne, nejspíše jde o konflikt verzí PHP.
V přehledu zjistíte případné chyby v konfiguraci PHP. Doma lze napravit úpravou souboru php.ini na serveru, u webhostingů to bude složitější. Ale požadované funkce by většinou měly v základu běžet na všech webhosingcích.
Přejděte do složky config, a přejmenujte soubor „local.php.example“ na „local.php“.
V něm je třeba upravit řádek:
$config['calibre_directory'] = './';
Text v apostrofech nahradíme přímou cestou k databázi Calibre uložené na serveru. Ale jak ji zjistit?
Vytvořte prázdný soubor, pojmenujte např. a.php a upravte, a potom zkopírujte do adresáře databáze k souboru metadata.db:
<?php
$path = getcwd();
echo "Absolutni cesta je:<br> ";
echo $path;
?>
A přejděte na adresu www.vas_server/cesta_k_databázi/a.php.
Vypíše se požadovaná přímá cesta, doplňte do souboru local.php. Na její konec připište „/metadata.db/“. Nezapomeňte, na konci MUSÍ BÝT LOMÍTKO „/“. - Zabezpečení:
Jsou dvě možnosti: php nebo pomocí souboru“.htaccess“. První možnost je zbytečně složitá a méně bezpečná, tou se nebudu ani zabývat.
Takže jak na to?
Vytvoříme prázdný soubor, pojmenujeme „.htpasswd“ a zkopírujeme k souboru „.htaccess“
Přejdeme na adresu https://hostingcanada.org/htpasswd-generator/, nic neměníme, jen zadáme jméno / heslo a dáme vytvořit. Výsledný text zadáme do souboru „.htpasswd“
Hesel může být více, každé na nový řádek.
Upravíme soubor „.htaccess“ ve složce, kde máme zkopírované soubory COPS.
Na konci souboru odkomentujeme posledních sedm řádků (smažeme znak #.)
#<FilesMatch "\.php$">
#AuthUserFile /path/to/file
#AuthGroupFile /dev/null
#AuthName "Acces securise"
#AuthType Basic
#Require valid-user
#</FilesMatch>
A v druhém řádku nahradíme „/path/to/file“ absolutní cestou k souboru „.htpasswd“ . Tentokrát BEZ LOMÍTKA. - Synchronizace s lokální databází:
Jednoznačně synchronizační program, už jen proto, že se kopírují jen změněné soubory.
Můj tip – SyncBack. Ve verzi free podporuje síť, ftp i lokální zálohování. Například pro synchronizaci s webhostingem stačí vytvořit FTP profil, zadat jméno / heslo FTP, zdrojový adresář. Program má velice jednoduchý průvodce vytvořením profilu, takže pak stačí jen drobné úpravy dle vašich požadavků. - Ukázka na závěr:
Knihovnička:
Jméno: „milan“
Heslo: „heslo“
- Zobrazení: 61