Požadavky
Linux
Pokud je Carmen instalována na OS typu Linux (Ubuntu Server, Debian ...) je třeba neomezovat velikost virtuální paměti:
ulimit -v # očekávaný výsledek: unlimited ulimit -m # očekávaný výsledek: unlimited
Databáze
Carmen podporuje databáze MySQL, Microsoft SQL a Oracle. Minimální požadované verze shrnuje následující tabulka.
Databáze | Požadované minimální verze | Driver | Dialect |
---|---|---|---|
MySQL | 5.1 | com.mysql.jdbc.Driver | org.hibernate.dialect.MySQL5InnoDBDialect |
MSSQL | 2005 | com.microsoft.sqlserver.jdbc.SQLServerDriver | org.hibernate.dialect.SQLServerDialect |
Oracle | 10g | oracle.jdbc.driver.OracleDriver | org.hibernate.dialect.Oracle10gDialect |
Nastavení MySQL
- Carmen si toto nastavení v rámci spojení nastavuje sama (nemělo by být třeba již nastavovat přímo v databázi)
- zkontrolovat nastavení databáze pro max_allowed_packet
show variables like 'max_allowed_packet%'
- musí být minimálně 16MB
- v my.ini nastavit:
[mysqld] ... max_allowed_packet = 16M
Nastavení MSSQL
- Nastavení indexů
- linear[tcislo] a alinear[tcislo] - použít neclustrovaný index
- kpujcky[scislo,co] - použít složený index
- car_popularity_evaluations[isbn] a car_popularity_evaluations[taykey] - přidat neclustrovaný index pokud neexistuje
Nová instalace
Předpoklady
Instalována aktuální verze Clavius SQL z Disket a provedena oprava struktury dat
Podmínky definičních tabulek DEFWEB, DEFKVYPU a DEFDRUHD z výpůjčního protokolu přepsány do SQL syntaxe ( pokud jsou zde použité speciální funkce jak např. RokVydAV a pod. konzultujte s LANius s.r.o. ). Povoleno je např:
<, <=, =, !=, <>, >=, >; like, not like (levý, pravý i oboustraný) ; in, not in DekodVek(rcislo) < | <= | == | > | >= | != VEK(nejake cislo) --- (je zde důležité dodržet velikost písmen)
Server s Windows 2003/2008 a práva lokálního administrátora pro instalaci software
Instalace Java JDK
Pro běh Carmen je u nových instalací vyžadována verze Java 8 - Sun JDK 1.8.0_66 DISKETY/CARMEN
- podle OS na serveru je verze pro 32bit/64bit
- vyzkoušet v konzoli Windows (Start>Spustit>CMD) příkaz "java -version", musí psát 1.8.xyz
- ověřit, že se skutečně jedná o Sun Java (nikoliv Open JVM nebo IBM JVM)
POZOR: Je důležité neinstalovat update Javy, měla by být nainstalovaná verze, na které byla Carmen vyvíjena, nebo alespoň otestována
Instalace Apache Tomcat 8.x na Windows
POZOR: Instalujte Tomcat pouze z disket, jedná se o otestované verze DISKETY/CARMEN
- Instalace Tomcat 8.x na WINDOWS - Apache Tomcat 8.0.28 pro WINDOWS instalace balíčku Apache Tomcat 8.0.28
- získání instalátoru ze stránky http://tomcat.apache.org/ nebo z disket.
- spuštění instalace
- doporučená složka pro Tomcat na Windows: C:\tomcat
- vytvoření dočasného adresáře: C:\tomcat\temp
- Komunikační port Tomcat je: 8080 Pokud na serveru kde instalujete není jiný WWW server (IIS) doporučujeme nastavit port 80 !!!
- nastavení windows služby Apache Tomcat přes Spravovat tento počítač a pak sekce Služby najít Apache Tomcat a dát vlastnosti
- Na záložce Obecné nastavit Typ spouštění na Automaticky
- Na záložce Zotavení nastavit u všech tří selhání volbu Restartovat službu jako prevenci problémů
- propuštění portu, na kterém je Tomcat nainstalován směrem do internetu (8080 pro případ napojení přes Apache nebo IIS, 80 pro standalone bez Apache)
- ověření na localhostu (v prohlížeči zadejte do adresy: http://localhost:8080/) - musí se objevit kocour a indiánské péro
Společná závěrečná konfigurace Tomcat 8
- Na Windows2008 nejprve nastavte práva zápisu svému uživateli na celou složku c:\tomcat přes místní nabídku nad složkou tomcat volba vlastnosti>Zabezpečení
- Otevřete soubor TOMCAT_HOME/conf/server.xml v programu Wordpad - je třeba přidat text URIEncoding="UTF-8" do těchto částí:
- pro HTTP connector Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"
- pro AJP connector Connector URIEncoding="UTF-8" port="8009" protocol="AJP/1.3" redirectPort="8443"
Příklad:
Příklad nastavení kódování<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
nastavení přístupů a hesel (soubor TOMCAT_HOME/conf/tomcat-users.xml) toto je dobré pro vzdálené zjišťování stavu Tomcatu
<tomcat-users> <role rolename="admin"/> <role rolename="manager"/> <user username="effcarmen" password="<Prefix knihovny>" roles="admin,manager"/> <user username="lancarmen" password="<Prefix knihovny>" roles="admin,manager"/> </tomcat-users>
Nastavení adresáře pro servisní operace
- Vytvoření adresáře v "tomcat/webapps/download"
- přidat do "tomcat/conf/context.xml
<Context path="/download" docBase="webapps/download"/>
restart Tomcat přes služby ve Spravovat tohoto počítače nebo pomocí programu TOMCAT_HOME\bin\tomcatw.exe.
Nastavení Apache Tomcat 6.x na Windows (pro starší instalace)
- přidělení paměti a "Java Virtual Machine" - spustit C:\tomcat\bin\tomcat6w, na záložce Java (POZOR, pokud Tomcat nenabíhá, zkuste dát paměti méně)
- Heap Size - do položky Maximum memory pool - doporučeno: "1024", minimum: "512"
- Max Perm Size (ukousne tuto část z Heap Size) - do položky Java options přidat na konec - doporučeno: "-XX:MaxPermSize=192m", minimum: "-XX:MaxPermSize=128m"
- Pomocí tlačítka ... vybrat v sekci "Java Virtual Machine" cestu k správnému (JDK) jvm.dll - viz obr.
Nastavení logování Tomcatu
FreeSans?, sans-serif; font-size: 13px; line-height: 17.328125px;">Nastavení se provádí v domovském adresáři Carmen v souboru FreeSans?, sans-serif; font-size: 13px; line-height: 17.328125px;">log4j.properties
Defaultně je logování na standardní výstup vypnuté.
- lze jej zapnout - log4j.rootLogger=WARN, stdout
Logování probíhá pouze do domovského adresáře Carmen do složky log.
V logu Tomcatu pak lze nalézt pouze informace související se startem a ukončení Tomcatu (například že port 8080 je již použitý apod).
log4j.rootLogger=INFO ######################################## # CARMEN LOGGING CONFIG ######################################## log4j.logger.cz.effectiva.carmen=INFO log4j.logger.cz.effectiva.carmen.web.CarmenWebApplicationContext=ERROR log4j.logger.cz.effectiva.carmen.service.IndicesServiceImpl=DEBUG #log4j.logger.cz.effectiva.carmen.web.MessageBeanAll=DEBUG log4j.logger.cz.effectiva.carmen.utils.WorkHelper=DEBUG
Instalace vlastní Carmen
zastavit přes služby Tomcat pokud běží
vytvořit složku C:\Carmen pokud je tato složka na jiném disku než C: je potřeba založit systémovou proměnnou SET CARMEN_HOME=D:\Carmen
- Windows - Vlastnosti systému>záložka upřesnit>Proměnné prostředí>Systémová proměnné>Nová
- Linux - do /etc/init.d/tomcat přidat řádku: export CARMEN_HOME="/data/carmen"
Carmen.war - stáhnout z DISKETY\CARMEN a uložit do TOMCAT_HOME\webapps\ .
pustit Tomcat - on rozbalí Carmen.war do \CARMEN_HOME\NAZEV_KNIHOVNY (nejčastěji C:\Carmen\Carmen) a pak tam:
Na Windows2008 nejprve nastavte práva zápisu svému uživateli na celou složku c:\carmen přes místní nabídku nad složkou carmen volba Vlastnosti>Zabezpečení
Upravit soubor CARMEN_HOME\user.properties přes menu otevřít v programu Wordpad (pomocí Alt+ENTER lze Wordpad asociovat k otevírání)
- Společné nastavení
- db.logging=true
- db.username= ***jméno uživatele pro přístup do SQL ( zadáte-li před uživatele *** dojde k jeho zakódování ) Pozor NT autentikace MS SQL ze nefunguje !
- db.password= ***heslo pro přístup do SQL ( zadáte-li před heslo *** dojde k jeho zakódování a přidání odkódovací funkce ENC() )
- jessica.url=http\://carmen.skat.cz\:8080/jessica2/service/jessica - v této řádce je po instalaci standardně "jessica2test" tj. pokusná jessica.
- hibernate.updatedb=update
- MySQL
- db.driver=com.mysql.jdbc.Driver
- db.type=MYSQL
- db.url=jdbc:mysql://[server]:[port]/[database] - doplnit správný server port a databázi (pokud je SQL na tom samém serveru dejte místo názvu serveru localhost katalog bude rychlejší)
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
db.connectionproperties
Nastavení db.connectionproperties musí končit středníkem ";" (pokud je vyplněno), protože se za něj automaticky přidává jdbcCompliantTruncation=false. Předpis vypadá takto:${db.connectionproperties}jdbcCompliantTruncation=false
- MSSQL
- db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
- db.type=MSSQL
- db.url=jdbc:sqlserver://[server]:[port];databaseName\=[database];SendStringParametersAsUnicode\=False; - opsat z sqlconnectu, velmi důležitý parametr "SendStringParametersAsUnicode"
- příklad s instanci : db.url=jdbc\:sqlserver\://127.0.0.1;instanceName\=CARMEN;databaseName\=carmen_test;SendStringParametersAsUnicode\=False;
- hibernate.dialect=org.hibernate.dialect.SQLServerDialect (pozor pokud je NT autentikace, je potřeba vytvořit na MS SQL uživatele v Securities>Logins nastavit SQL přihlačování místo NT autentikace nastavit default databázi Clavius a dát mu na ni práva Clavrole a dbOwner !!!)
- MSSQL EXPRESS navíc
- Musíme přidat do složky sdílené CLAVIUS soubor EXID.IND který indikuje tvorbu ID položek (obsah souboru je nevýznamný)
- Pak se musí provést Oprava struktury dat aby naplnil jednoznačné ID položky
- Pozor pokud je to MSSQL2008 Express musí se náhodně zvolené číslo portu převzít z management studia už to není 1433 !!!
restartovat Tomcat a počkat cca 60 s. pak zadat localhost:8080/Carmen (pozor na velké první písmeno) (nebo NAZEV_KNIHOVNY)
přihlásit se do administrační části http://localhost:8080/Carmen/admin a spustit v naplánovaných úlohách reindexaci (běží cca desítky minut)
Pokud neběží, může být problém například v DEFKVYPU (chybějící řádka s 999 pro VYPUJCKY nebo PREZENCNE)
Pokud se zasekne může být problém v moc velkém počtu BATCH_SIZE_SOLR_INDEX dejte místo 500 jen 300 a opakujte indexaci
Nastavení Carmen
Po instalaci je nutné nastavit několik základních voleb v administrační sekci Carmen (http://localhost:8080/Carmen/admin):
Systém -> Obecné:
- Webová adresa Carmen - Celá webová adresa směřující na úvodní stránku Carmen (např.: http://www.knihovna.cz:8080/Carmen)
Systém -> Komunikační kanály
- Sekce email - Zde je třeba projít veškerá nastavení sekce "E-mail" a nastavit správně SMTP server pro odesílání pošty a také změnit emailové adresy ze prvotního nastavení "report_carmen@effectiva.cz" na nějaké adresy knihovny.
Obálky knih z pole X00 se do Carmen dostávají přes SQL databázi takto:
Nakopírujte jednorázově do carmen\book_covers všechen obsah složky CLAVIUS\NAWEB ručně a do Clavius.ini přidejte řádku FILE2CAR?=NEW.
Pokud to nejde nakopírovat nebo je obálek málo, zapnete volbu FILE2CAR?=ON. Úvodní naplnění a přenos všech obálek ze složky NAWEB, provedete spuštěním opravy struktury v CLAVIU.
Nové naplnění všech obálek : pohled([delete from file2car]) a následně výše zmíněnou opravou struktury v Claviu.
Zamezení přístupu vyhledávačům
Vyhledávače používají specializované roboty, které procházejí web a ukládají si informace o stránkách. Procházení Carmen je ovšem nežádoucí (snižují výkon serverů, znehodnocují statistiky). Carmen implementuje několik úrovní ochran proti nežádoucím robotům. První vrstvou je soubor robots.txt, který je ve většině případů nutné ručně nastavit.
Carmen běží na portu 80 v kořenu domény (http://katalog.vkta.cz)
V tomto případě není třeba soubor robots.txt instalovat, bude použit standardní obsažený v Carmen.
Carmen běží na portu 8080 (nebo jiném) v kořenu domény (http://katalog.vkta.cz:8080)
V tomto případě není třeba soubor robots.txt instalovat, bude použit standardní obsažený v Carmen.
Carmen běží na libovolním portu a na cestě mimo kořen domény (http://katalog.vkta.cz:8080/Carmen)
V tomto případě je potřeba ručně nainstalovat soubor robots.txt tak, aby byl dosažitelný na adrese http://katalog.vkta.cz:8080/robots.txt. Na Apache Tomcat je postup následující:
- Vytvořte soubor robots.txt v cestě: <Instalační cesta Tomcat>\webapps\ROOT\robots.txt, např.: C:\tomcat\webapps\ROOT\robots.txt.
Do souboru vepište:
Nastavení robots.txtUser-agent: * Disallow: /Carmen
Instalace pluginu Lemmatizatoru
Pro windows: do C:\Windows\System32 je třeba nahrát soubor javalemma.dll pozor a to i u 64 bit. dll knihovny
Pro linux: do /usr/lib/ je třeba nahrát soubor libjavalemma.so
Dále je třeba do adresáře s Carmen nahrát do správného umístění (plugins\lemma) soubor slovníku - C:\carmen\plugins\lemma\czech.lex
Nastavení proxy serveru
pokud je Carmen nainstalovaná za proxy serverem, musí context name být stejný na obou serverech
LDAP autentizace
V domovském adresáři vytvořit soubor ldap.properties
pokud se používá SSL s certifikáty, je nutné certifikáty naimportovat do keystore (slouží nástroj keytool)
Keystore s použitím KeyStore Explorer
- Create a new KeyStore
- Typ: JKS
- Tools -> Import Trusted Certificate
- Naimportovat celou cestu certifikátů - od rootu
- Uložit jako např. keystore.jks
- Nastavit správně cestu do ldap.properties
Parametr | Povinný | Popis |
---|---|---|
ccislo | Ne (pokud je zadán ckod nebo usernamecolumn) | Atribut z LDAP, který se má použít získání čísla čtenáře |
ckod | Ne (pokud je zadáno ccislo nebo usernamecolumn) | Atribut z LDAP, který se má použít získání čárového kódu |
usernamecolumn | Ne (pokud je zadáno ccislo nebo ckod) | Sloupec tabulky ctenari, ve kterém je uloženo LDAP přihlašovací jméno čtenáře |
ldapUrl | Ano | Url adresa LDAP serveru, ke které se budeme připojovat |
keystore | Ne | Cesta ke keystore v případě, že používáme certifikáty |
logException | Ano | true/false - slouží pro ladění, po správném nastavení se může nastavit na false (nelogují se výjimky o neúspěšném přihlášení) |
protocol | Ne | způsob zabezpečení (ssl) |
base | Ano | ve které bázi se má provést vyhledávání |
username | Ano | uživatelské jméno pro uživatele, který má možnost získat ccislo přihlašovaného uživatele |
password | Ano | heslo pro uživatele, který má možnost získat ccislo přihlašovaného uživatele |
principal | Ano | přihlašovací query pro získání ccisla |
filter | Ano | filtr pro získání ccisla |
checkByClaviusWhenLdapFailed | Ano | pokud je nastaveno true, pak při neúspěšné autentizace v LDAP se pokusí Carmen uživatele autentizovat pomocí uživatelského jména a hesla v Claviu |
Příklad:
Speciální požadavky
Zkontrolovat, zda je v systému instalovaný font Verdana, pokud font není instalovaný, je třeba jej doinstalovat
Nasazení pod IIS
( ) Konfigurace Tomcat - je třeba nastvit UTF-8 pro AJP connector (TOMCAT_HOME/conf/server.xml: URIEncoding="UTF-8") + restart Tomcatu
Propojení IIS a Tomcat přes ISAPI plugin
- POZOR IIS si občas nesmyslně cachuje téměř vše a často pomůže až RESTART OS !!! Proto je při nefunkční konfiguraci dobré ověřit/vyzkoušet, že se projeví i jiná změna.
- základní dokument, na základě kterého vznikla tento zjednodušený český návod, je zde: http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html
- postup instalace a konfigurace propojení:
- stáhnout a nainstalovat isapi_redirect.msi plugin pro IIS (do defaultních adresářů) - je přílohou tohoto dokumentu, případě google:isapi_redirect.msi
- není třeba provádět konfiguraci registrů tak, jak je v dokumentu popisováno - ale je třeba nakonfigurovat službu IIS, viz. dále
- konfigurace IIS - pomocí "Internet Information Services (IIS) Manager" aplikace ve Windows
- je třeba zkontrolovat: pro uzel "Default Web Pages" ve vlastnostech na záložece "Home Directory" musí být oprávnění "Execute permission = Script Only"
- je třeba zkontrolovat: pro uzel "Default Web Pages" musí existovat virtuální adresář "jakarta" s mapováním na "...\ISAPI Redirect\bin"
- je třeba přidat: nad uzlem "Web Service Extension" pravým tlačítkem vyvolat volbu "Add new web service extension"
- přidat s názvem "Tomcat"
- povoleným souborem s plnou cestou k "isapi_redirect.dll" (Browse to: ... C:\Program Files\Apache Software Foundation\ISAPI plugin.... \bin\isapi_redirect.dll)
- zaškrknout volbu "Set extension status to Allowed" !
- dále je třeba povolit délku segmentu v URI pro IIS na rozumnou (větší než default) - spustit regedit, přidat DWORD hodnotu podle těchto parametrů:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters: key=UrlSegmentMaxLength, value= hexa:1000 nebo decimálně:4096
- konfiguraci vlastního přesměrování na Carmen je pak možno provést v adresáři C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\conf, soubory
doplnit obsah souboru - uriworkermap.properties:
- na závěr restartovat IIS a zkusit přístup přes port 80 - http://localhost/
- pokud byla změněna hodnota UrlSegmentMaxLength, je třeba zrestartovat celý operační systém!
Nasazení pod Apache Web Server
( ) Konfigurace Tomcat - je třeba nastvit UTF-8 pro AJP connector (TOMCAT_HOME/conf/server.xml: URIEncoding="UTF-8")
( ) Instalace Apache - volitelně při proxy způsobu Apache-Tomcat přes protokol AJP1.3
- ( ) instalace mod_jk (#aptitude install libapache2-mod-jk)
- ( ) konfigurace mod_jk
- #vim /etc/apache2/conf.d/tomcat:
JkWorkersFile /etc/apache2/workers.properties JkLogFile /var/log/apache2/mod_jk.log JkLogLevel error
- #vim /etc/apache2/workers.properties
ps=/ worker.list=carmen2worker worker.carmen2worker.port=8009 worker.carmen2worker.host=localhost worker.carmen2worker.type=ajp13 worker.carmen2worker.lbfactor=1
( ) Konfigurace Apache (napojení na AJP; chybová stránka, která se zobrazí pokud Tomcat nejede (údržba webu))
( ) nastavení napojení (#vim /etc/apache2/sites.enabled/000-default):
- ( ) httpd.conf - 503 nastaveno na "/error/503.html"
- ( ) /var/www/error/503.html
Instalace Tomcat na LINUX
( ) Instalace Tomcat 6 na LINUX - Apache Tomcat 7.X pro LINUX
- ( ) instalace Apache Tomcat 7 - z balíčku, z binárek
- ( ) instalace spouštěcího skriptu (/etc/init.d/tomcat)
- ( ) přidělení paměti ve skripu JAVA_OPTS (VM Options): (doporučeno: "-Xmx1024m -XX:MaxPermSize=196m", minimum: "-Xmx512m -XX:MaxPermSize=128m")
- ( ) instalace ovladače JDBC (mysql-connector.jar, sqlserver.jar, ...) do adresáře TOMCAT_HOME/lib
- ( ) nastavení app.armor, pokud je na operačním systému používáno
- ( ) vytvoření dočasného adresáře /var/lib/tomcat7/temp (nastavit práva chmod 777)
- ( ) otevření portu, na kterém bude Tomcat nainstalován (8080 pro případ napojení přes Apache nebo IIS, 80 pro standalone bez Apache)
- ( ) ověření naslouchání na správném portu (příkazem netstat -apn | grep :8080)
- ( ) ověření na localhostu (wget http://localhost:8080)
Kontrola fungování nové Carmen:
( ) Zobrazené obálky knih v pásu novinek.
( ) Funguje vyhledávání dokumentů a zobrazování jejich detailů (pokud nic nehledá, vytvořte indexy v Administraci sekce Naplánované úlohy).
( ) Logování ve správné úrovni do adresáře Carmen.
( ) Vyzkoušení vybraných položek a vytvoření výstupu např. do PDF - musí být instalovaný font Verdana
Nejčastější chyby proč Katalog Carmen nenaběhne nebo tuhne
nedostatečná velikost permgenu pro tomcat - pokud máte více war na jednom tomcatu dejte 256MB
paměť můžete monitorovat pomocí tabulky v Mozilla Farefoxu na adrese např. http://localhost:8080/Carmen/memory.jsp
Nevhodné SQL podmínky v DEFKVYPU nebo DEFWEB
přenasazení přes webové rozhraní - nerestartování tomcatu
zastavení Tomcatu a nakopírování bez smazání stávající struktury
nakopírování za běhu do webapps
přepsání stávajících souborů rozbalením
nenaběhne Tomcat (Windows)
[error] Failed creating java C:\Program Files\Java\jre6\bin\client\jvm.dll [2010-05-25 09:29:17] [1269 prunsrv.c] [error] ServiceStart returned 1
- postupovat podle návodu na http://www.mkyong.com/tomcat/tomcat-error-prunsrvc-failed-creating-java-jvmdll/
- je třeba nakopírovat soubor C:\Program Files\Java\jre6\bin\msvcr71.dll (podle toho kde je nainstalované JRE) do Tomcatu adresář bin a do C:\system32
Další důvody pak najdete zde Servisní dokumentace#V%C3%BDpadkydatab%C3%A1zov%C3%A9hospojen%C3%AD
Solr nevyhledává: Map failed
Na Suse Linuxu se někdy stává, že při vyhledávání Carmen padá na výjimku:
Caused by: java.lang.OutOfMemoryError: Map failed
Je třeba spustit příkaz (jako root):
ulimit -v unlimited
Update - Nasazení nové verze Carmen
Ruční aktualizace
Provedeme update systému Clavius SQL na aktuální verzi a provedeme Opravu struktury dat v menu Pomůcky.
Stáhneme nový Carmen.war z DISKETY/CARMEN, ( pozor při ukládání souboru je nutné, aby soubor měl jméno původního souboru war! nejčastěji Carmen.war )
Zastavíme Tomcat přes služby ve Spravovat tohoto počítače nebo pomocí programu TOMCAT_HOME\bin\tomcatw.exe.
Ve složce TOMCAT_HOME\webapps/ smažeme složku Carmen se vším co obsahuje (nebo i jiný - podle názvu katalogu). Pozor ostatní složky nemazat !
Ve složce TOMCAT_HOME\work/Catalina/localhost smažeme adresář Carmen (nebo i jiný - podle názvu katalogu). Pozor ostatní složky nemazat !
Ve složce TOMCAT_HOME\conf/Catalina/localhost smažeme soubor Carmen.xml (nebo i jiný - podle názvu katalogu). Pozor ostatní soubory nemazat !
Do složky TOMCAT_HOME\webapps/ nahrajeme nový Carmen.war (starý nejdříve zazálohuj mimo tuto složku, nikdy jej jen nepřejmenuj !!!)
Spustit Tomcat přes služby ve Spravovat tohoto počítače nebo pomocí programu TOMCAT_HOME\bin\tomcatw.exe.
Jakmile Tomcat správně nastartuje cca (1 minuta) a rozbalí Carmen do složky tomcat\webapps\Carmen a do CARMEN_HOME máme vyhráno
přechod z 2.0.6 na 2.0.7 navíc je potřeba překopírovat původní carmen\libraries\carmen\user.properties do carmen\user.properties
a pak restartovat Tomcat přes služby ve Spravovat tohoto počítače nebo pomocí programu TOMCAT_HOME\bin\tomcatw.exe - pak teprve Carmen naběhne
rozkopírovat logo z c:\carmen\libraries\Carmen\local do c:\carmen\libraries\main\local (nahrát jej i do všech dalších složek = REKS knihoven pokud nemají vlastní
nakopírovat statistiku hlavní knihovny z c:\carmen\libraries\Carmen\statistics\ do c:\carmen\libraries\main\statistics\
pokud je lemmatizátor tak nakopírovat z c:\carmen\libraries\Carmen\plugins\ do c:\carmen\plugins\ (složka lemma a vše co je v ní)
pokud je schema knihovny tak nakopírovat z c:\carmen\libraries\Carmen\library_schema\ do c:\carmen\libraries\main\library_schema
pak spustit v Admin > Naplánované úlohy > Reindexace protože původní Index nelze použít v nové Carmen. (trvá několik desítek min.)
Automatická aktualizace - Tomcat auto deploy
- Stáhnout a rozbalit TomcatAutoDeploy - v svn Tritia ve složce /trunk/support/TomcatAutoDeploy
- Nakopírovat na požadované místo (C:\tomcat\)
- Nastavit proměnné prostředí (Windows - proměnné prostředí, Linux - soubor, který se kopíruje do /etc/init.d/tomcatAutoDeploy)
- CARMEN_WAR_NAME - jméno WAR souboru, pod kterém bude nasazeno do Tomcatu, bez koncovky .war (např. "Carmen")
- CARMEN_GLOBAL_ID - prefix knihovny
- CARMEN_TOMCAT_PATH - cesta k instalačnímu adresáři Tomcatu (např. "C:\tomcat")
- TOMCAT_PATH - cesta k instalačnímu adresáři Tomcatu (např. "C:\tomcat") - pokud není nastaven CARMEN_TOMCAT_PATH, tato varianta byla zachována kvůli zpětné kompatibilitě
- CARMEN_WARS_DIRECTORY - adresář, pro zálohu jednotlivých WAR souborů (např. "C:\tomcat\WARs")
- CARMEN_TOMCAT_NAME - nepovinný údaj, název služby Tomcatu (výchozí nastavení pro Windows - Tomcat7, pro Linux - tomcat)
- Logování probíhá do adresáře Tomcatu "tomcat/logs/tomcatautodeploy.log"
- Instalace služby
- Windows
- musí být instalované 32-bitové JRE
- upravit soubor service-install.bat podle aktuální adresářové struktury (většinou potřeba jen u 32 bit OS)
- spustit service-install.bat z příkazové řádky, příkazovou řádku je nutné spustit s administrátorským oprávněním
- po instalaci je třeba poprvé službu ručně spustit (následně se již bude spouštět automaticky)
- Linux
- nakopírovat do /var/TomcatAutoDeploy
- zkopírovat soubor tomcatAutoDeploy do /etc/init.d/
přidat /etc/cron.d/tomcatAutoDeploy
#
# cron-jobs
for
TomcatAutoDeploy
#
MAILTO=root
@reboot
root /etc/init.d/tomcatAutoDeploy start
- Windows
Nastavení loga knihovny
Carmen zobrazuje v hlavičce stránky a na dalších místech (exprorty vybraných položek apod.) logo knihovny. Carmen hledá logo následujícím způsobem:
Pokusí se najít soubor ve složce knihovny {domovská složka Carmen}/libraries/{název_knihovny}/logo.png. Např.: C:\carmen\libraries\tabor\logo.png.
Pokud nebylo nalezeno logo ve složce knihovny, vezme se ze složky knivoven: {domovská složka Carmen}/libraries/logo.png.
Přepsáním loga ve složce knihoven lze změnit logo pro všechny knihovny obsluhované instancí Carmen. Přidáním loga do složky dané knihovny lze změnit logo pro tuto konkrétní knihovnu.
NCIP
NCIP webová služba je dostupná na adrese /ncip. Např.: http://www.vkta.cz:8080/Carmen/ncip.
Užitečná SQL
Odstranění tabulek Carmen na MSSQL
IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_translations]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_translations] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_statistics_score]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_statistics_score] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_statistics_login]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_statistics_login] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_statistics_access]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_statistics_access] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_speech]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_speech] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_sort_field]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_sort_field] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_sort_options]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_sort_options] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_show_item]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_show_item] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_settings_user]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_settings_user] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_settings]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_settings] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_search_statistics]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_search_statistics] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_search_field]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_search_field] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_search_combine_form_row]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_search_combine_form_row] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_reindexs]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_reindexs] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_reader_informations]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_reader_informations] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_popularity_evaluations]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_popularity_evaluations] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_logstack]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_logstack] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_log]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_log] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_local_settings]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_local_settings] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_library_schema]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_library_schema] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_ip_address]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_ip_address] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_indices]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_indices] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_expression_not_found]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_expression_not_found] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_def_links]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_def_links] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_cloud]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_cloud] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_ticket_detail]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_ticket_detail] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[car_admin_user]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[car_admin_user] IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[ujorm_pk_support]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE ujorm_pk_support IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[DATABASECHANGELOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE DATABASECHANGELOG IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[DATABASECHANGELOGLOCK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE DATABASECHANGELOGLOCK