<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
		<id>https://wiki.freenetis.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dzolo</id>
		<title>Freenetis Wiki - Příspěvky uživatele [cs]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.freenetis.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dzolo"/>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php/Speci%C3%A1ln%C3%AD:P%C5%99%C3%ADsp%C4%9Bvky/Dzolo"/>
		<updated>2026-04-20T15:06:38Z</updated>
		<subtitle>Příspěvky uživatele</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_MySQL_datab%C3%A1ze&amp;diff=2303</id>
		<title>Instalace MySQL databáze</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_MySQL_datab%C3%A1ze&amp;diff=2303"/>
				<updated>2018-12-27T15:22:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje instalaci databázového serveru MySQL a vytvoření databáze pro FreenetIS.&lt;br /&gt;
&lt;br /&gt;
1) Nainstalujte MySQL server:&lt;br /&gt;
&lt;br /&gt;
 apt-get install mysql-server&lt;br /&gt;
&lt;br /&gt;
2) Připojte se k nainstalovanému serveru pomocí MySQL CLI klienta.&lt;br /&gt;
&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
3) Vytvořte databázi pro FreenetIS pojmenovanou '''freenetis'''. Do MySQL CLI klienta zadejte:&lt;br /&gt;
&lt;br /&gt;
 CREATE DATABASE freenetis CHARACTER SET utf8 COLLATE utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
4) Vytvořte databázového uživatele '''freenetis''', který bude použit pro přístup k databázi '''freenetis'''. Hodnotu '''&amp;lt;password&amp;gt;''' nahraďte za heslo, které budete vyplňovat při konfiguraci FreenetIS. Do MySQL CLI klienta zadejte:&lt;br /&gt;
&lt;br /&gt;
 GRANT ALL PRIVILEGES ON freenetis.* TO 'freenetis'@'localhost' IDENTIFIED BY '&amp;lt;password&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Pokud budete instalovat na MySQL 5.7 nebo vyšší pak prosím přečtěte návod na [[instalace na MySQL 5.7 a vyšší]].&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_MySQL_datab%C3%A1ze&amp;diff=2302</id>
		<title>Instalace MySQL databáze</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_MySQL_datab%C3%A1ze&amp;diff=2302"/>
				<updated>2018-12-27T15:21:24Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje instalaci databázového serveru MySQL a vytvoření databáze pro FreenetIS.&lt;br /&gt;
&lt;br /&gt;
1) Nainstalujte MySQL server:&lt;br /&gt;
&lt;br /&gt;
 apt-get install mysql-server&lt;br /&gt;
&lt;br /&gt;
2) Připojte se k nainstalovanému serveru pomocí MySQL CLI klienta.&lt;br /&gt;
&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
3) Vytvořte databázi pro FreenetIS pojmenovanou '''freenetis'''. Do MySQL CLI klienta zadejte:&lt;br /&gt;
&lt;br /&gt;
 CREATE DATABASE freenetis CHARACTER SET utf8 COLLATE utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
4) Vytvořte databázového uživatele '''freenetis''', který bude použit pro přístup k databázi '''freenetis'''. '''&amp;lt;password&amp;gt;''' nahraďte za heslo. Do MySQL CLI klienta zadejte:&lt;br /&gt;
&lt;br /&gt;
 GRANT ALL PRIVILEGES ON freenetis.* TO 'freenetis'@'localhost' IDENTIFIED BY '&amp;lt;password&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Pokud budete instalovat na MySQL 5.7 nebo vyšší pak prosím přečtěte návod na [[instalace na MySQL 5.7 a vyšší]].&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_MySQL_datab%C3%A1ze&amp;diff=2301</id>
		<title>Instalace MySQL databáze</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_MySQL_datab%C3%A1ze&amp;diff=2301"/>
				<updated>2018-12-27T15:20:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Založena nová stránka s textem „Tento návod popisuje instalaci databázového serveru MySQL a vytvoření databáze pro FreenetIS.  1) Nainstalujte MySQL server:   apt-get install mysql-…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje instalaci databázového serveru MySQL a vytvoření databáze pro FreenetIS.&lt;br /&gt;
&lt;br /&gt;
1) Nainstalujte MySQL server:&lt;br /&gt;
&lt;br /&gt;
 apt-get install mysql-server&lt;br /&gt;
&lt;br /&gt;
2) Připojte se k nainstalovanému serveru pomocí MySQL CLI klienta.&lt;br /&gt;
&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
3) Vytvořte databázi pro FreenetIS pojmenovanou '''freenetis'''. Do MySQL CLI klienta zadejte:&lt;br /&gt;
&lt;br /&gt;
 CREATE DATABASE freenetis CHARACTER SET utf8 COLLATE utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
4) Vytvořte databázového uživatele '''freenetis''', který bude použit pro přístup k databázi. '''&amp;lt;password&amp;gt;''' nahraďte za heslo. Do MySQL CLI klienta zadejte:&lt;br /&gt;
&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO 'freenetis'@'localhost' IDENTIFIED BY '&amp;lt;password&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Pokud budete instalovat na MySQL 5.7 nebo vyšší pak prosím přečtěte návod na [[instalace na MySQL 5.7 a vyšší]].&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2300</id>
		<title>Instalace</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2300"/>
				<updated>2018-12-27T15:12:24Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Balík freenetis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Installation]]&lt;br /&gt;
[[ru:Установка]]&lt;br /&gt;
FreenetIS aktuálně podporuje instalaci skrze balíčkovací systém pro DEBIAN a jeho deriváty ''(instalace na jiné platformy je možná pomocí [[instalace ze zdrojových kódů]])''. FreenetIS rozdělen do několika samostatných balíků, kde každý je na sebe nezávislý.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Instalace probíha v několika krocích:&lt;br /&gt;
&lt;br /&gt;
1) Přidáme repozitář (následující řádky) do souboru ''/etc/apt/sources.list''.&lt;br /&gt;
&lt;br /&gt;
 ## FreenetIS stable repository&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;codename&amp;gt;'' nahraďte kódovým označením nainstalované verze debianu (např. wheezy).&lt;br /&gt;
&lt;br /&gt;
2) Stáhneme si klíč pro ověření balíků.&lt;br /&gt;
&lt;br /&gt;
 wget -O - &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/freenetis_repo.gpg.key&amp;lt;/nowiki&amp;gt; | apt-key add -&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujeme některý z balíků (např. freenetis)&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis''' obsahuje samotnou webovou aplikaci. Při instalaci tohoto balíku budete vyzváni, aby jste vybrali typ serveru.&lt;br /&gt;
&lt;br /&gt;
Po konfiguraci a nainstalování balíku spusťte v prohlížeči adresu, kterou jste vyplnily při instalaci a postupujte dle instrukcí ''(budete zadávat údaje k připojení k MySQL databázi a základní informace o Vašem sdružení)''. Instalace MySQL databáze a vytvoření uživatele a databáze pro FreenetIS je popsáno v návodu [[instalace MySQL databáze]]. &lt;br /&gt;
&lt;br /&gt;
Balík jen konfigurovatelný v souboru ''/etc/freenetis/freenetis.conf''. Změny v konfiguračním tomto souboru musí být potvrzeny pomocí příkazu ''dpkg-reconfigure freenetis'', jinak se konfigurace nezmění.&lt;br /&gt;
&lt;br /&gt;
Pokud chcete povýšit FreenetIS 1.0 na 1.1, přejděte prosím na článek o [[povýšení systému]].&lt;br /&gt;
&lt;br /&gt;
=== Typ serveru ===&lt;br /&gt;
&lt;br /&gt;
Jsou zde dvě možnosti:&lt;br /&gt;
&lt;br /&gt;
* '''localhost''' - obvykle pokud chcete instalovat pro testovací účely&lt;br /&gt;
* '''ostatní (other)''' - nasazení na ostrý server s veřejným doménovým jménem (např. is.sdruzeni.cz)&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu localhost, nastavení pro vás končí a po samotné instalaci je FreenetIS dostupný na: '''http://localhost/freenetis'''.&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu ostatní, budete vyzváni k zadání '''jména serveru''' a '''protokolu'''.&lt;br /&gt;
&lt;br /&gt;
==== Jméno serveru ====&lt;br /&gt;
&lt;br /&gt;
Jméno serveru je URL cesta k instanci FreenetISu bez úvodní informace o protokolu. (t.j. pokud chcete FreenetIS umístit na ''http://is.sdruzeni.cz/'' vyplníme tuto položku na hodnotu ''is.sdruzeni.cz'').&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Aktuálně není podporována (a není ani plánována) instalace na podsložku (t.j. ''http://is.sdruzeni.cz/dir/'').&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Protokol ====&lt;br /&gt;
&lt;br /&gt;
Protokol je možné vyplnit buď na HTTP nebo na HTTPS. Pokud nechcete mít zabezpečenou verzi zvolte HTTP.&lt;br /&gt;
&lt;br /&gt;
V opačném případě je nutné ještě po samotné instalaci vygenerovat pro FreenetIS bezpečnostní klíče (pokud již nějaký samozřejmě nemáte). Postup pro vytvoření klíčů je například [http://www.akadia.com/services/ssh_test_certificate.html zde]. Vytvořené klíče (*.crt a *.key) po instalaci balíku zkopírujte do složky ''/etc/freenetis/https/'' (existuje až po instalaci) a přejmenujte je na ''ssl.crt'' a ''ssl.key''. Pokud máte klíče v podepsány certifikační autoritou (CA) dolňte do stejné složky ještě soubory ''sub.class1.server.ca.pem'' a ''ca.pem''. Po vložení všech potřebných souborů proveďte rekonfiguraci balíku (''dpkg-reconfigure freenetis'').&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-monitoring ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-monitoring''' obsahuje nástroje pro [http://wiki.freenetis.org/index.php/Monitoring monitoring zařízení].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Monitoring''' povolte monitoring a vyplňte IP adresu serveru, na který hodláte nainstalovat monitoring.&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-monitoring'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-monitoring&lt;br /&gt;
&lt;br /&gt;
Pro verzi debianu squeeze a niží ještě zpusťte:&lt;br /&gt;
&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS monitor daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor monitoringu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-monitoring.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-monitoring.conf)'' lze nastavit chování priorit ''(proměnná MAX_PRIORITY)''. Pokud nastavíte proměnnou na hodnotu 0, monitoring všech zařízení se bude spouštět ve stejném procesu. Pokud nastavíte hodnotu větší než 0, budou monitorována všechna zařízení s prioritou menší nebo rovnou této hodnotě v samostatném procesu pro každou z těchto priorit. Defaultně je tato hodnota nastavena na nulu.&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit monitoring a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění monitoringu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
* Zastavení monitoringu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-redirection ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-redirection''' obsahuje nástroje pro přesměrování, které je součástí systému [[upozorňování]].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Upozorňování''' vyplňte údaje v sekci přesměrování:&lt;br /&gt;
&lt;br /&gt;
* '''IP adresa brány''' - adresa počítače, na který budeme instalovat přesměrování&lt;br /&gt;
* '''Port pro samozrušení''' - doporučeno nastavit na 36001 (musí být shodné s nastavením v konfiguračním souboru přesměrování)&lt;br /&gt;
* '''Logo''' - logo zobrazované v hlavičce přesměrování&lt;br /&gt;
* '''Text pro odkaz na samozrušení přesměrování''' - pokud je přesměrování samozrušitelné, tento text je určen pro odkaz zobrazený v patičce stránky s přesměrování a po kliknutí na něj je přesměrování zrušeno.&lt;br /&gt;
&lt;br /&gt;
2) Předvyplňte jednotlivé zprávy pro přesměrování (sekce upozornění -&amp;gt; zprávy).&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujte balík '''freenetis-redirection'''. Během instalace budete vyzváni, aby jste zadali URL k Vašemu FreenetISu a vstupní rozhraní, na které budou aplikována přesměrovací pravidla. Dále potom IP adresu pro samozrušení přesměrování (libovolná, klidně neexistující IP adresa v síti, na kterou bude aplikováno pravidlo samozrušení přesměrování).&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-redirection&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
4) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS redirection sync daemon: OK&lt;br /&gt;
 Starting FreenetIS redirection HTTP deamon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor přsměrování aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-redirection.log&lt;br /&gt;
 less /var/log/freenetis-http-redirection.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-redirection.conf)'' lze nastavit chování přesměrování, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''PORT_WEB''' - číslo portu, který je presměrován&lt;br /&gt;
* '''PORT_REDIRECT''' - port, na který se přesměrovává provoz z PORT_WEB&lt;br /&gt;
* '''PORT_SELF_CANCEL''' - port pro samozrušení přesměrování (musí být shidný s hodnotou nastavenou ve FreenetISu)&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit přesměrování a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění přesměrování (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
* Zastavení přesměrování (okamžité)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-qos ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-qos''' obsahuje nástroje pro [[zajištění kvality služeb (QoS)]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''!!! Teto balík je podporován aktuálně pouze na Debian 6 (Squeeze) !!!'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Systém''' povolte QoS a poté v záložce '''QoS''' vyplňte údaje o vaší síti a zadejte globální omezení. (QoS lze nastavovat i u jednotlivých členů)&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-qos'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu a vstupní a výstupní rozhraní, na které budou aplikována QoS pravidla pro download a upload.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-qos&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS QoS daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor QoSu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-qos.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-qos.conf)'' lze nastavit chování QoSu, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit QoS a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění QoSu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
* Zastavení QoSu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-ssh-keys ==&lt;br /&gt;
&lt;br /&gt;
Tento balík umožňuje přistupovat k zařízení na němž je nainstalován skrze SSH. Správci jednotlivých zařízení představují uživatele, kteří na toto zařízení mají přístup. Skript obsažený v tomto balíku si z FreenetISu stahuje jejich veřejné klíče uložené ve FreenetISu a vkládá je do povolených klíčů v nastavení ssh.&lt;br /&gt;
&lt;br /&gt;
Instalace sestává pouze z nainstalování balíku '''freenetis-ssh-keys''' a s konfigurace dvou hodnot:&lt;br /&gt;
&lt;br /&gt;
* '''Cesta k FreenetISu''', ze kterého se stahují klíče&lt;br /&gt;
* '''ID zařízení z FreenetISu''' na něž se balík instaluje&lt;br /&gt;
&lt;br /&gt;
Stav lze pozorovat v logu: ''/var/log/freenetis-ssh-keys.log''&lt;br /&gt;
&lt;br /&gt;
=== Návod pro ostatní platformy nebo distribuce ===&lt;br /&gt;
&lt;br /&gt;
Ve složce ''/application/vendors/ssh-keys'' obsažené ve zdrojových kódech FreenetISu se nachází soubory: '''freenetis-ssh-keys-sync.sh''' a '''freenetis-ssh-keys.conf'''. Proveďte následující úkony:&lt;br /&gt;
&lt;br /&gt;
1) Připravte soubory&lt;br /&gt;
&lt;br /&gt;
 cd &amp;lt;složka se sdrojáky&amp;gt;&lt;br /&gt;
 mkdir -p /etc/freenetis/&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys-sync.sh /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 chmod u+x /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys.conf /etc/freenetis/freenetis-ssh-keys.conf&lt;br /&gt;
&lt;br /&gt;
2) Nastavte konfigurační soubor (''/etc/freenetis/freenetis-ssh-keys.conf'')&lt;br /&gt;
&lt;br /&gt;
3) Nastavte CRON (skript se bude spouštět každou minutu)&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;# /etc/cron.d/freenetis-ssh-keys: Regular CRON file for freenetis-ssh-keys package (triggered each minute)&amp;quot; &amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;SHELL=/bin/sh&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;* *     * * *   root    /usr/sbin/freenetis-ssh-keys-sync 1&amp;gt;&amp;gt;\&amp;quot;$LOG_FILE\&amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
&lt;br /&gt;
4) Restartujte CRON&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/cron restart&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_na_MySQL_5.7_a_vy%C5%A1%C5%A1%C3%AD&amp;diff=2299</id>
		<title>Instalace na MySQL 5.7 a vyšší</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_na_MySQL_5.7_a_vy%C5%A1%C5%A1%C3%AD&amp;diff=2299"/>
				<updated>2018-12-27T15:08:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UPOZORNĚNÍ: Toto nastavení není nutné pro MariaDB! Pokud instalujete na Debian nemělo by být nutné provádět níže popsanou změnu konfigurace.'''&lt;br /&gt;
&lt;br /&gt;
Pro instalaci na MySQL 5.7 a vyšší je nutné v konfiguraci MySQL nastavit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
sql_mode=&amp;quot;STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrace databáze ==&lt;br /&gt;
&lt;br /&gt;
Pokud migrujete databázi na MySQL 5.7 a vyšší z nižší verze a používali jste v minulosti FreeenetIS ve verzi 1.1.19 a nižší, pak je nutné provést před migrací následující SQL dotaz nad databází:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update address_points set gps=NULL where gps = '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_na_MySQL_5.7_a_vy%C5%A1%C5%A1%C3%AD&amp;diff=2298</id>
		<title>Instalace na MySQL 5.7 a vyšší</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_na_MySQL_5.7_a_vy%C5%A1%C5%A1%C3%AD&amp;diff=2298"/>
				<updated>2018-05-24T20:16:37Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pro instalaci na MySQL 5.7 a vyšší je nutné v konfiguraci MySQL nastavit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
sql_mode=&amp;quot;STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrace databáze ==&lt;br /&gt;
&lt;br /&gt;
Pokud migrujete databázi na MySQL 5.7 a vyšší z nižší verze a používali jste v minulosti FreeenetIS ve verzi 1.1.19 a nižší, pak je nutné provést před migrací následující SQL dotaz nad databází:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update address_points set gps=NULL where gps = '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_na_MySQL_5.7_a_vy%C5%A1%C5%A1%C3%AD&amp;diff=2203</id>
		<title>Instalace na MySQL 5.7 a vyšší</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_na_MySQL_5.7_a_vy%C5%A1%C5%A1%C3%AD&amp;diff=2203"/>
				<updated>2017-01-04T15:46:14Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Založena nová stránka: Pro instalaci na MySQL 5.7 a vyšší je nutné v konfiguraci MySQL nastavit:  &amp;lt;pre&amp;gt; [mysqld] sql_mode=&amp;quot;STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pro instalaci na MySQL 5.7 a vyšší je nutné v konfiguraci MySQL nastavit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
sql_mode=&amp;quot;STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrace databáze ==&lt;br /&gt;
&lt;br /&gt;
Pokud migrujete databázi na MySQL 5.7 a vyšší z nižší verze a používali jste v minulosti FreeenetIS ve verzi 1.1.19 a nižší, pak je nutné provést před migrací následující SQL dotaz nad databází:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update address_points set gps=NULL where gps = '';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2202</id>
		<title>Instalace</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2202"/>
				<updated>2017-01-04T15:38:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Balík freenetis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Installation]]&lt;br /&gt;
[[ru:Установка]]&lt;br /&gt;
FreenetIS aktuálně podporuje instalaci skrze balíčkovací systém pro DEBIAN a jeho deriváty ''(instalace na jiné platformy je možná pomocí [[instalace ze zdrojových kódů]])''. FreenetIS rozdělen do několika samostatných balíků, kde každý je na sebe nezávislý.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Instalace probíha v několika krocích:&lt;br /&gt;
&lt;br /&gt;
1) Přidáme repozitář (následující řádky) do souboru ''/etc/apt/sources.list''.&lt;br /&gt;
&lt;br /&gt;
 ## FreenetIS stable repository&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;codename&amp;gt;'' nahraďte kódovým označením nainstalované verze debianu (např. wheezy).&lt;br /&gt;
&lt;br /&gt;
2) Stáhneme si klíč pro ověření balíků.&lt;br /&gt;
&lt;br /&gt;
 wget -O - &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/freenetis_repo.gpg.key&amp;lt;/nowiki&amp;gt; | apt-key add -&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujeme některý z balíků (např. freenetis)&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis''' obsahuje samotnou webovou aplikaci. Při instalaci tohoto balíku budete vyzváni, aby jste vybrali typ serveru.&lt;br /&gt;
&lt;br /&gt;
Po konfiguraci a nainstalování balíku spusťte v prohlížeči adresu, kterou jste vyplnily při instalaci a postupujte dle instrukcí ''(budete zadávat údaje k připojení k MySQL databázi a základní informace o Vašem sdružení)''. Pokud budete instalovat na MySQL 5.7 nebo vyšší pak prosím přečtěte návod na [[instalace na MySQL 5.7 a vyšší]]. &lt;br /&gt;
&lt;br /&gt;
Balík jen konfigurovatelný v souboru ''/etc/freenetis/freenetis.conf''. Změny v konfiguračním tomto souboru musí být potvrzeny pomocí příkazu ''dpkg-reconfigure freenetis'', jinak se konfigurace nezmění.&lt;br /&gt;
&lt;br /&gt;
Pokud chcete povýšit FreenetIS 1.0 na 1.1, přejděte prosím na článek o [[povýšení systému]].&lt;br /&gt;
&lt;br /&gt;
=== Typ serveru ===&lt;br /&gt;
&lt;br /&gt;
Jsou zde dvě možnosti:&lt;br /&gt;
&lt;br /&gt;
* '''localhost''' - obvykle pokud chcete instalovat pro testovací účely&lt;br /&gt;
* '''ostatní (other)''' - nasazení na ostrý server s veřejným doménovým jménem (např. is.sdruzeni.cz)&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu localhost, nastavení pro vás končí a po samotné instalaci je FreenetIS dostupný na: '''http://localhost/freenetis'''.&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu ostatní, budete vyzváni k zadání '''jména serveru''' a '''protokolu'''.&lt;br /&gt;
&lt;br /&gt;
==== Jméno serveru ====&lt;br /&gt;
&lt;br /&gt;
Jméno serveru je URL cesta k instanci FreenetISu bez úvodní informace o protokolu. (t.j. pokud chcete FreenetIS umístit na ''http://is.sdruzeni.cz/'' vyplníme tuto položku na hodnotu ''is.sdruzeni.cz'').&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Aktuálně není podporována (a není ani plánována) instalace na podsložku (t.j. ''http://is.sdruzeni.cz/dir/'').&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Protokol ====&lt;br /&gt;
&lt;br /&gt;
Protokol je možné vyplnit buď na HTTP nebo na HTTPS. Pokud nechcete mít zabezpečenou verzi zvolte HTTP.&lt;br /&gt;
&lt;br /&gt;
V opačném případě je nutné ještě po samotné instalaci vygenerovat pro FreenetIS bezpečnostní klíče (pokud již nějaký samozřejmě nemáte). Postup pro vytvoření klíčů je například [http://www.akadia.com/services/ssh_test_certificate.html zde]. Vytvořené klíče (*.crt a *.key) po instalaci balíku zkopírujte do složky ''/etc/freenetis/https/'' (existuje až po instalaci) a přejmenujte je na ''ssl.crt'' a ''ssl.key''. Pokud máte klíče v podepsány certifikační autoritou (CA) dolňte do stejné složky ještě soubory ''sub.class1.server.ca.pem'' a ''ca.pem''. Po vložení všech potřebných souborů proveďte rekonfiguraci balíku (''dpkg-reconfigure freenetis'').&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-monitoring ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-monitoring''' obsahuje nástroje pro [http://wiki.freenetis.org/index.php/Monitoring monitoring zařízení].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Monitoring''' povolte monitoring a vyplňte IP adresu serveru, na který hodláte nainstalovat monitoring.&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-monitoring'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-monitoring&lt;br /&gt;
&lt;br /&gt;
Pro verzi debianu squeeze a niží ještě zpusťte:&lt;br /&gt;
&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS monitor daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor monitoringu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-monitoring.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-monitoring.conf)'' lze nastavit chování priorit ''(proměnná MAX_PRIORITY)''. Pokud nastavíte proměnnou na hodnotu 0, monitoring všech zařízení se bude spouštět ve stejném procesu. Pokud nastavíte hodnotu větší než 0, budou monitorována všechna zařízení s prioritou menší nebo rovnou této hodnotě v samostatném procesu pro každou z těchto priorit. Defaultně je tato hodnota nastavena na nulu.&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit monitoring a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění monitoringu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
* Zastavení monitoringu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-redirection ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-redirection''' obsahuje nástroje pro přesměrování, které je součástí systému [[upozorňování]].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Upozorňování''' vyplňte údaje v sekci přesměrování:&lt;br /&gt;
&lt;br /&gt;
* '''IP adresa brány''' - adresa počítače, na který budeme instalovat přesměrování&lt;br /&gt;
* '''Port pro samozrušení''' - doporučeno nastavit na 36001 (musí být shodné s nastavením v konfiguračním souboru přesměrování)&lt;br /&gt;
* '''Logo''' - logo zobrazované v hlavičce přesměrování&lt;br /&gt;
* '''Text pro odkaz na samozrušení přesměrování''' - pokud je přesměrování samozrušitelné, tento text je určen pro odkaz zobrazený v patičce stránky s přesměrování a po kliknutí na něj je přesměrování zrušeno.&lt;br /&gt;
&lt;br /&gt;
2) Předvyplňte jednotlivé zprávy pro přesměrování (sekce upozornění -&amp;gt; zprávy).&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujte balík '''freenetis-redirection'''. Během instalace budete vyzváni, aby jste zadali URL k Vašemu FreenetISu a vstupní rozhraní, na které budou aplikována přesměrovací pravidla. Dále potom IP adresu pro samozrušení přesměrování (libovolná, klidně neexistující IP adresa v síti, na kterou bude aplikováno pravidlo samozrušení přesměrování).&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-redirection&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
4) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS redirection sync daemon: OK&lt;br /&gt;
 Starting FreenetIS redirection HTTP deamon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor přsměrování aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-redirection.log&lt;br /&gt;
 less /var/log/freenetis-http-redirection.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-redirection.conf)'' lze nastavit chování přesměrování, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''PORT_WEB''' - číslo portu, který je presměrován&lt;br /&gt;
* '''PORT_REDIRECT''' - port, na který se přesměrovává provoz z PORT_WEB&lt;br /&gt;
* '''PORT_SELF_CANCEL''' - port pro samozrušení přesměrování (musí být shidný s hodnotou nastavenou ve FreenetISu)&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit přesměrování a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění přesměrování (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
* Zastavení přesměrování (okamžité)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-qos ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-qos''' obsahuje nástroje pro [[zajištění kvality služeb (QoS)]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''!!! Teto balík je podporován aktuálně pouze na Debian 6 (Squeeze) !!!'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Systém''' povolte QoS a poté v záložce '''QoS''' vyplňte údaje o vaší síti a zadejte globální omezení. (QoS lze nastavovat i u jednotlivých členů)&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-qos'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu a vstupní a výstupní rozhraní, na které budou aplikována QoS pravidla pro download a upload.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-qos&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS QoS daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor QoSu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-qos.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-qos.conf)'' lze nastavit chování QoSu, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit QoS a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění QoSu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
* Zastavení QoSu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-ssh-keys ==&lt;br /&gt;
&lt;br /&gt;
Tento balík umožňuje přistupovat k zařízení na němž je nainstalován skrze SSH. Správci jednotlivých zařízení představují uživatele, kteří na toto zařízení mají přístup. Skript obsažený v tomto balíku si z FreenetISu stahuje jejich veřejné klíče uložené ve FreenetISu a vkládá je do povolených klíčů v nastavení ssh.&lt;br /&gt;
&lt;br /&gt;
Instalace sestává pouze z nainstalování balíku '''freenetis-ssh-keys''' a s konfigurace dvou hodnot:&lt;br /&gt;
&lt;br /&gt;
* '''Cesta k FreenetISu''', ze kterého se stahují klíče&lt;br /&gt;
* '''ID zařízení z FreenetISu''' na něž se balík instaluje&lt;br /&gt;
&lt;br /&gt;
Stav lze pozorovat v logu: ''/var/log/freenetis-ssh-keys.log''&lt;br /&gt;
&lt;br /&gt;
=== Návod pro ostatní platformy nebo distribuce ===&lt;br /&gt;
&lt;br /&gt;
Ve složce ''/application/vendors/ssh-keys'' obsažené ve zdrojových kódech FreenetISu se nachází soubory: '''freenetis-ssh-keys-sync.sh''' a '''freenetis-ssh-keys.conf'''. Proveďte následující úkony:&lt;br /&gt;
&lt;br /&gt;
1) Připravte soubory&lt;br /&gt;
&lt;br /&gt;
 cd &amp;lt;složka se sdrojáky&amp;gt;&lt;br /&gt;
 mkdir -p /etc/freenetis/&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys-sync.sh /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 chmod u+x /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys.conf /etc/freenetis/freenetis-ssh-keys.conf&lt;br /&gt;
&lt;br /&gt;
2) Nastavte konfigurační soubor (''/etc/freenetis/freenetis-ssh-keys.conf'')&lt;br /&gt;
&lt;br /&gt;
3) Nastavte CRON (skript se bude spouštět každou minutu)&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;# /etc/cron.d/freenetis-ssh-keys: Regular CRON file for freenetis-ssh-keys package (triggered each minute)&amp;quot; &amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;SHELL=/bin/sh&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;* *     * * *   root    /usr/sbin/freenetis-ssh-keys-sync 1&amp;gt;&amp;gt;\&amp;quot;$LOG_FILE\&amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
&lt;br /&gt;
4) Restartujte CRON&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/cron restart&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2196</id>
		<title>Vytvoření tagu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2196"/>
				<updated>2015-04-14T19:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tag se vytváří při vydání stabilní verze z trunku, pomocí svn copy.&lt;br /&gt;
&lt;br /&gt;
 svn copy --username=&amp;lt;váš login&amp;gt; svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/trunk \&lt;br /&gt;
      svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/tags/&amp;lt;verze&amp;gt; -m &amp;quot;Release &amp;lt;verze&amp;gt;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2195</id>
		<title>Instalace ze zdrojových kódů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2195"/>
				<updated>2014-09-19T09:46:32Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Instalation from source code]]&lt;br /&gt;
[[ru:Установка из исходного кода]]&lt;br /&gt;
&lt;br /&gt;
'''Tento návod je určen pro vývojáře FreenetISu, pro distribuční účely je k dispozici [http://wiki.freenetis.org/index.php/Instalace instalace z balíčkovacích sytémů].'''&lt;br /&gt;
&lt;br /&gt;
FreenetIS můžete provozovat na jakémkoli serveru (včetně Windows), ale doporučená platforma je Linux.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Tento návod předpokládá použití distribuce Debian. U jiných distribucí bude postup podobný.&lt;br /&gt;
&lt;br /&gt;
==Příprava==&lt;br /&gt;
&lt;br /&gt;
Instalace PHP, Apache, MySQL a phpMyAdmina. Je potřeba být přihlášen jako root.&lt;br /&gt;
 apt-get install apache2 php5 php5-mysql php5-curl mysql-server phpmyadmin&lt;br /&gt;
&lt;br /&gt;
'''Podporované verze nástrojů'''&lt;br /&gt;
&lt;br /&gt;
* '''PHP''' verze 5.1.2 a vyšší&lt;br /&gt;
* '''MySQL''' verze 5.1.0 a vyšší&lt;br /&gt;
&lt;br /&gt;
===Locale===&lt;br /&gt;
Pro správnou funkci porovnání českých řetězců v PHP musíte mít nainstalované české UTF-8 locale. Takže:&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Vybrat:&lt;br /&gt;
&lt;br /&gt;
 cs_CZ.UTF-8&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
a restartovat apache:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl graceful&lt;br /&gt;
&lt;br /&gt;
===Apache===&lt;br /&gt;
&lt;br /&gt;
Pro správný běh Apache upravte soubor s konfigurací virtualhost-a, který na Debianu najdete takto:&lt;br /&gt;
*pokud jste žádný virtualhost zatím nenastavovali, jedná se o soubor /etc/apache2/sites-available/default&lt;br /&gt;
*pokud už nějaký virtualhost máte, pak bude nejspíš nakonfigurovaný v některém dalších souboru v adresáři /etc/apache2/sites-available/&lt;br /&gt;
&lt;br /&gt;
Do tohoto souboru přidejte následující řádky:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
         ServerAdmin webmaster@example.org&lt;br /&gt;
         ServerName  freenetis.example.org&lt;br /&gt;
         DocumentRoot /var/www/freenetis&lt;br /&gt;
         &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                 Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                 Order allow,deny&lt;br /&gt;
                 allow from all&lt;br /&gt;
         &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kde samozřejmě místo ServerAdmin a ServerName zadejte vaše údaje.&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Povolení mod_rewrite====&lt;br /&gt;
&lt;br /&gt;
Pokud jej nemáte povolený, tak jej povolte:&lt;br /&gt;
&lt;br /&gt;
 a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
V konfiguraci virtualhost-a Apache (z přecházející bodu), povolte pro adresář FreenetIS možnost přenastavování konfigurace Apache pomocí souboru .htaccess - do sekce Directory přidejte direktivu &amp;quot;AllowOverride All&amp;quot;. Tato sekce Directory by pak měl nakonec vypadat asi takto:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                allow from all&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
&lt;br /&gt;
Pro nastavení MySQL databáze je možné použít nespočet nástrojů a postupů. Pro každý z nich ale budete potřebovat uživatelské jméno a heslo pro přihlášení k vašemu MySQL serveru. Po instalaci existuje pouze jediný uživatel - root a jeho heslo je prázdné. Pokud jej zapomenete, změníte ho pomocí&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure mysql-server-VERZE&lt;br /&gt;
&lt;br /&gt;
kde VERZE označuje číslo verze MySQL serveru. U novějších verzích je to obvykle 5.1, u těch starších pak 5.0.&lt;br /&gt;
&lt;br /&gt;
====Pomocí phpMyAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://cs.wikipedia.org/wiki/PhpMyAdmin PhpMyAdmin] je pokročilý nástroj pro správu MySQL databázi přes webové rozhraní. Po instalaci je dostupný na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://IP adresa serveru/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nebo pokud pracujete na localhostu, tak i na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://localhost/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kliknětě na Oprávnění a pak na Přidat nového uživatele. Jméno uživatele zadejte libovolné (doporučeno freenetis). Počítač vyberte lokální (důležité z hlediska bezpečnosti). Heslo nastavte silné, pokud možno náhodně vygenerované (dobrý generátor je např [http://www.converter.cz/passgen/pswdgen.php zde]. Vyberte volbu &amp;quot;Vytvořit databázi stejného jména a přidělit všechna oprávnění&amp;quot; a vpravo dole klikněte na Proveď.&lt;br /&gt;
&lt;br /&gt;
==== Pomocí konzole====&lt;br /&gt;
&lt;br /&gt;
Phpmyadmin nemusíte využít, pak lze databázi vytvořit ručně. Nejprve je nutné se přihlásit do databáze, budete vyzváni na heslo databázového superuživatele.&lt;br /&gt;
&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
Po přihlášení v konzoli mysql pak napište tyto příkazy:&lt;br /&gt;
&lt;br /&gt;
 create database freenetis;&lt;br /&gt;
 create user 'freenetis'@'localhost' identified by 'heslo';&lt;br /&gt;
 grant all on freenetis.* to 'freenetis'@'localhost';&lt;br /&gt;
&lt;br /&gt;
==Stažení==&lt;br /&gt;
===Stažení z SVN===&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte SVN klienta, pak&lt;br /&gt;
 apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
teď si můžete FreenetIS stáhnout do adresáře /var/www/freenetis (v trunku je nejstabilnější verze, další SVN větve slouží pro vývoj a testování)&lt;br /&gt;
&lt;br /&gt;
 cd /var/www&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;http://svn.code.sf.net/p/freenetis/code/freenetis/trunk freenetis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Povolte zápis do složek freenetis, freenetis/upload a vytvořte složku pro logování freenetis/logs:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 chmod ugo+w . upload&lt;br /&gt;
 mkdir -m 0777 logs&lt;br /&gt;
&lt;br /&gt;
FreenetIS se neustále vyvíjí, aktualizace si stáhnete příkazem:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
(což stáhne pouze modifikované soubory)&lt;br /&gt;
&lt;br /&gt;
===Commit log===&lt;br /&gt;
&lt;br /&gt;
Log oprav stable verze (trunk) je [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/trunk/kohana/?view=log dostupný zde]. &lt;br /&gt;
&lt;br /&gt;
V současné době již používáme systém vývoje pomocí různých větvích (např. testing a další) a do hlavní větve (trunk) posíláme jen fungující změny, takže počet chyb je nižší než v situaci pouze jedné vývojové větve, jako tomu bylo dříve.&lt;br /&gt;
&lt;br /&gt;
Souhrnný [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/?view=log log commitů do všech větví je zde].&lt;br /&gt;
&lt;br /&gt;
==Instalace==&lt;br /&gt;
&lt;br /&gt;
Nyní by se po zadání vámi zvolené adresy FreenetISu do prohlížeče měl objevit instalátor s uvítáním.&lt;br /&gt;
&lt;br /&gt;
===Nastavení konfigurace===&lt;br /&gt;
&lt;br /&gt;
V první části vás instalátor informuje, že je potřeba vytvořit soubor konfigurační soubor config.php. Klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
Nyní vás instalátor vyzve na zadání údajů pro přístup k MySQL serveru. Použijte údaje, které jste použili u přípravy MySQL a klikněte na Odeslat.&lt;br /&gt;
&lt;br /&gt;
Pokud jste zadali správné údaje, instalátor vás informuje, že nastavení konfigurace bylo dokončeno. Jinak vás upozorní, že se nepodařilo připojit k databázi s návrhy možných problémů.&lt;br /&gt;
&lt;br /&gt;
Až se vám podaří tyto chyby opravit, klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření config.php====&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako config.php do adresáře freenetis. '''Dokud tak neučiníte, v instalaci nebude možno pokračovat!'''&lt;br /&gt;
&lt;br /&gt;
===Samotná instalace===&lt;br /&gt;
&lt;br /&gt;
Nyní by se před vámi měla objevit samotná instalace s formulářem s informacemi o vašem sdružení. Po jeho vyplnění by měla být instalace hotova.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření .htaccess====&lt;br /&gt;
&lt;br /&gt;
Pokud jste zatrhli možnost Čistá URL a nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako .htaccess do adresáře freenetis. '''Pokud tak neučiníte, vaše instalace nemusí fungovat korektně!'''&lt;br /&gt;
&lt;br /&gt;
===Zprovoznění &amp;quot;plánovače&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
FreenetIS má v sobě vlastní scheduler který je potřeba pravidelně zpouštět z cronu. Do cronu přidejte tento řádek:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;* *     * * *   root    wget -O /dev/null  http://&amp;lt;hostname&amp;gt;/cs/scheduler/run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud používáte SSL s neověřeným nebo s neplatným certifikátem použijte:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;* *     * * *   root    wget -O /dev/null  https://&amp;lt;hostname&amp;gt;/cs/scheduler/run --no-check-certificate&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2194</id>
		<title>Tvorba parseru bankovních výpisů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2194"/>
				<updated>2014-07-10T18:49:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Postup parseru pro import ze souboru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import ze souboru ==&lt;br /&gt;
&lt;br /&gt;
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.&lt;br /&gt;
&lt;br /&gt;
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.gnu.org/licenses/gpl-3.0.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.freenetis.org/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * Parser for ABC bank that parses CSV files.&lt;br /&gt;
  * &lt;br /&gt;
  * @author &amp;lt;vaše jméno&amp;gt;&lt;br /&gt;
  */&lt;br /&gt;
 class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer&lt;br /&gt;
 {&lt;br /&gt;
 	protected function check_file_data_format()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function get_header_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function parse_file_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this-&amp;gt;get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku jinak '''FALSE'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:&lt;br /&gt;
&lt;br /&gt;
 protected function get_header_data()&lt;br /&gt;
 {&lt;br /&gt;
 	// parsování hlavičky z get_file_data ....&lt;br /&gt;
 &lt;br /&gt;
 	$hd = new Header_Data(&amp;lt;číslo bank. účtu&amp;gt;, &amp;lt;číslo banky&amp;gt;);&lt;br /&gt;
 	// nepovinné vlastnosti, které se mohou používat v dalších metodách&lt;br /&gt;
 	$hd-&amp;gt;currency = 'CZK';&lt;br /&gt;
 	$hd-&amp;gt;openingBalance = &amp;lt;poč stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;closingBalance = &amp;lt;konečný stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateStart = &amp;lt;datum od&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateEnd = &amp;lt;datum do&amp;gt;;&lt;br /&gt;
 	// ...&lt;br /&gt;
 &lt;br /&gt;
 	return $hd;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme ve třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku jinak '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' nebo '''add_exception_error(exception)'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:&lt;br /&gt;
&lt;br /&gt;
 protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 {&lt;br /&gt;
 	$statement = new Bank_statement_Model();&lt;br /&gt;
 	$ba = $this-&amp;gt;get_bank_account();&lt;br /&gt;
 	$user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		/* header */&lt;br /&gt;
 &lt;br /&gt;
 		$statement-&amp;gt;transaction_start();&lt;br /&gt;
 		$header = $this-&amp;gt;get_header_data();&lt;br /&gt;
 &lt;br /&gt;
 		// bank statement&lt;br /&gt;
 		$statement-&amp;gt;bank_account_id = $ba-&amp;gt;id;&lt;br /&gt;
 		$statement-&amp;gt;user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 		$statement-&amp;gt;type = $this-&amp;gt;get_importer_name();&lt;br /&gt;
 		$statement-&amp;gt;from = $header-&amp;gt;dateStart;&lt;br /&gt;
 		$statement-&amp;gt;to = $header-&amp;gt;dateEnd;&lt;br /&gt;
 		$statement-&amp;gt;save_throwable();&lt;br /&gt;
 &lt;br /&gt;
 		/* transactions */&lt;br /&gt;
 &lt;br /&gt;
 		// preparation of system double-entry accounts&lt;br /&gt;
 		$member_fees = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);&lt;br /&gt;
 		$operating = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::OPERATING);&lt;br /&gt;
 		$account = $ba-&amp;gt;get_related_account_by_attribute_id(Account_attribute_Model::BANK);&lt;br /&gt;
 &lt;br /&gt;
 		// model preparation&lt;br /&gt;
 		$bt = new Bank_transfer_Model();&lt;br /&gt;
 		$fee_model = new Fee_Model();&lt;br /&gt;
 &lt;br /&gt;
 		// statistics preparation&lt;br /&gt;
 		$stats['unidentified_nr'] = 0;&lt;br /&gt;
 		$stats['invoices'] = 0;&lt;br /&gt;
 		$stats['invoices_nr'] = 0;&lt;br /&gt;
 		$stats['member_fees'] = 0;&lt;br /&gt;
 		$stats['member_fees_nr'] = 0;&lt;br /&gt;
 		$stats['interests'] = 0;&lt;br /&gt;
 		$stats['interests_nr'] = 0;&lt;br /&gt;
 		$stats['deposits'] = 0;&lt;br /&gt;
 		$stats['deposits_nr'] = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// miscellaneous preparation&lt;br /&gt;
 		$now = date('Y-m-d H:i:s');&lt;br /&gt;
 		$number = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// saving each bank listing item&lt;br /&gt;
 		foreach ($this-&amp;gt;preparedData as $item) //// ZDE PŘISTUPUJEME K PŘEDPARSOVANÝM DATŮM&lt;br /&gt;
 		{&lt;br /&gt;
 			// try to find counter bank account in database&lt;br /&gt;
 			$counter_ba = ORM::factory('bank_account')-&amp;gt;where(array&lt;br /&gt;
 			(&lt;br /&gt;
 				'account_nr' =&amp;gt; $item['protiucet'],&lt;br /&gt;
 				'bank_nr'    =&amp;gt; $item['kod_banky']&lt;br /&gt;
 			))-&amp;gt;find();&lt;br /&gt;
 &lt;br /&gt;
 			// counter bank account does not exist? let's create new one&lt;br /&gt;
 			if (!$counter_ba-&amp;gt;id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$counter_ba-&amp;gt;clear();&lt;br /&gt;
 				$counter_ba-&amp;gt;set_logger(FALSE);&lt;br /&gt;
 				$counter_ba-&amp;gt;name = $item['nazev_protiuctu'];&lt;br /&gt;
 				$counter_ba-&amp;gt;account_nr = $item['protiucet'];&lt;br /&gt;
 				$counter_ba-&amp;gt;bank_nr = $item['kod_banky'];&lt;br /&gt;
 				$counter_ba-&amp;gt;member_id = NULL;&lt;br /&gt;
 				$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// inbound transfer - member fee&lt;br /&gt;
 				&lt;br /&gt;
 			// let's identify member&lt;br /&gt;
 			$member_id = $this-&amp;gt;find_member_by_vs($item['vs']);&lt;br /&gt;
 &lt;br /&gt;
  			if (!$member_id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$stats['unidentified_nr']++;&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// double-entry incoming transfer&lt;br /&gt;
 			$transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 					$member_fees-&amp;gt;id, $account-&amp;gt;id, null, $member_id,&lt;br /&gt;
 					$user_id, null, $item['datum'], $now, $item['zprava'],&lt;br /&gt;
 					abs($item['castka'])&lt;br /&gt;
 			);&lt;br /&gt;
 			// incoming bank transfer&lt;br /&gt;
 			$bt-&amp;gt;clear();&lt;br /&gt;
 			$bt-&amp;gt;set_logger(false);&lt;br /&gt;
 			$bt-&amp;gt;origin_id = $counter_ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;destination_id = $ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transfer_id = $transfer_id;&lt;br /&gt;
 			$bt-&amp;gt;bank_statement_id = $statement-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transaction_code = $item['id_pohybu'];&lt;br /&gt;
 			$bt-&amp;gt;number = $number;&lt;br /&gt;
 			$bt-&amp;gt;constant_symbol = $item['ks'];&lt;br /&gt;
 			$bt-&amp;gt;variable_symbol = $item['vs'];&lt;br /&gt;
 			$bt-&amp;gt;specific_symbol = $item['ss'];&lt;br /&gt;
 			$bt-&amp;gt;save();&lt;br /&gt;
 &lt;br /&gt;
 			// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)&lt;br /&gt;
 			if ($member_id &amp;amp;&amp;amp; $member_id != Member_Model::ASSOCIATION)&lt;br /&gt;
 			{&lt;br /&gt;
 				$ca = ORM::factory('account')-&amp;gt;where('member_id', $member_id)-&amp;gt;find();&lt;br /&gt;
 				// has credit account?&lt;br /&gt;
 				if ($ca-&amp;gt;id)&lt;br /&gt;
 				{&lt;br /&gt;
 					// add affected member for notification&lt;br /&gt;
 					$this-&amp;gt;add_affected_member($member_id);&lt;br /&gt;
 &lt;br /&gt;
 					// assigning transfer&lt;br /&gt;
 					$a_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 							$account-&amp;gt;id, $ca-&amp;gt;id, $transfer_id, $member_id,&lt;br /&gt;
 							$user_id, null, $item['datum'], $now,&lt;br /&gt;
 							__('Assigning of transfer'), abs($item['castka'])&lt;br /&gt;
 					);&lt;br /&gt;
 &lt;br /&gt;
 					// transaction fee&lt;br /&gt;
 					$fee = $fee_model-&amp;gt;get_by_date_type($item['datum'], 'transfer fee');&lt;br /&gt;
 					if ($fee &amp;amp;&amp;amp; $fee-&amp;gt;fee &amp;gt; 0)&lt;br /&gt;
 					{&lt;br /&gt;
 						$tf_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 								$ca-&amp;gt;id, $operating-&amp;gt;id, $transfer_id,&lt;br /&gt;
 								$member_id, $user_id, null, $item['datum'],&lt;br /&gt;
 								$now, __('Transfer fee'), $fee-&amp;gt;fee&lt;br /&gt;
 						);&lt;br /&gt;
 					}&lt;br /&gt;
 					&lt;br /&gt;
 					if (!$counter_ba-&amp;gt;member_id)&lt;br /&gt;
 					{&lt;br /&gt;
 						$counter_ba-&amp;gt;member_id = $member_id;&lt;br /&gt;
 						$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			// member fee stats&lt;br /&gt;
 			$stats['member_fees'] += abs($item['castka']);&lt;br /&gt;
 			$stats['member_fees_nr']++;&lt;br /&gt;
 &lt;br /&gt;
 			// line number increase&lt;br /&gt;
 			$number++;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		// done&lt;br /&gt;
 		$statement-&amp;gt;transaction_commit();&lt;br /&gt;
 &lt;br /&gt;
 		// return&lt;br /&gt;
 		return $statement;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Duplicity_Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		throw $e;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		$statement-&amp;gt;transaction_rollback();&lt;br /&gt;
 		Log::add_exception($e);&lt;br /&gt;
 		$this-&amp;gt;add_exception_error($e);&lt;br /&gt;
 		return NULL;&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.&lt;br /&gt;
&lt;br /&gt;
=== Použití zhotoveného parseru (třídy) ===&lt;br /&gt;
&lt;br /&gt;
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, oznámení o přijaté platbě, aj.&lt;br /&gt;
&lt;br /&gt;
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:&lt;br /&gt;
&lt;br /&gt;
 private static $drivers = array&lt;br /&gt;
 (&lt;br /&gt;
 	// .....&lt;br /&gt;
 &lt;br /&gt;
 	/* ABC - CSV - Obtained from ABC e-banking  */&lt;br /&gt;
 	array&lt;br /&gt;
 	(&lt;br /&gt;
 		'name'		=&amp;gt; 'ABC CSV importer', // název&lt;br /&gt;
 		'class'		=&amp;gt; 'Abc_Csv_Bank_Statement_File_Importer', // třída&lt;br /&gt;
 		'bank_type'	=&amp;gt; Bank_account_Model::TYPE_ABC,&lt;br /&gt;
 		'extensions'	=&amp;gt; array('csv')&lt;br /&gt;
 	)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se zajišťuje, aby nebyl použit pro import výpisu nevhodný parser vzhledem k bankovnímu účtu.&lt;br /&gt;
&lt;br /&gt;
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import z API ==&lt;br /&gt;
&lt;br /&gt;
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2193</id>
		<title>Tvorba parseru bankovních výpisů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2193"/>
				<updated>2014-07-10T18:47:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Použití zhotoveného parseru (třídy) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import ze souboru ==&lt;br /&gt;
&lt;br /&gt;
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.&lt;br /&gt;
&lt;br /&gt;
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.gnu.org/licenses/gpl-3.0.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.freenetis.org/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * Parser for ABC bank that parses CSV files.&lt;br /&gt;
  * &lt;br /&gt;
  * @author &amp;lt;vaše jméno&amp;gt;&lt;br /&gt;
  */&lt;br /&gt;
 class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer&lt;br /&gt;
 {&lt;br /&gt;
 	protected function check_file_data_format()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function get_header_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function parse_file_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this-&amp;gt;get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku jinak '''FALSE'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:&lt;br /&gt;
&lt;br /&gt;
 protected function get_header_data()&lt;br /&gt;
 {&lt;br /&gt;
 	// parsování hlavičky z get_file_data ....&lt;br /&gt;
 &lt;br /&gt;
 	$hd = new Header_Data(&amp;lt;číslo bank. účtu&amp;gt;, &amp;lt;číslo banky&amp;gt;);&lt;br /&gt;
 	// nepovinné vlastnosti, které se mohou používat v dalších metodách&lt;br /&gt;
 	$hd-&amp;gt;currency = 'CZK';&lt;br /&gt;
 	$hd-&amp;gt;openingBalance = &amp;lt;poč stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;closingBalance = &amp;lt;konečný stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateStart = &amp;lt;datum od&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateEnd = &amp;lt;datum do&amp;gt;;&lt;br /&gt;
 	// ...&lt;br /&gt;
 &lt;br /&gt;
 	return $hd;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme v třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku jinak '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' nebo '''add_exception_error(exception)'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:&lt;br /&gt;
&lt;br /&gt;
 protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 {&lt;br /&gt;
 	$statement = new Bank_statement_Model();&lt;br /&gt;
 	$ba = $this-&amp;gt;get_bank_account();&lt;br /&gt;
 	$user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		/* header */&lt;br /&gt;
 &lt;br /&gt;
 		$statement-&amp;gt;transaction_start();&lt;br /&gt;
 		$header = $this-&amp;gt;get_header_data();&lt;br /&gt;
 &lt;br /&gt;
 		// bank statement&lt;br /&gt;
 		$statement-&amp;gt;bank_account_id = $ba-&amp;gt;id;&lt;br /&gt;
 		$statement-&amp;gt;user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 		$statement-&amp;gt;type = $this-&amp;gt;get_importer_name();&lt;br /&gt;
 		$statement-&amp;gt;from = $header-&amp;gt;dateStart;&lt;br /&gt;
 		$statement-&amp;gt;to = $header-&amp;gt;dateEnd;&lt;br /&gt;
 		$statement-&amp;gt;save_throwable();&lt;br /&gt;
 &lt;br /&gt;
 		/* transactions */&lt;br /&gt;
 &lt;br /&gt;
 		// preparation of system double-entry accounts&lt;br /&gt;
 		$member_fees = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);&lt;br /&gt;
 		$operating = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::OPERATING);&lt;br /&gt;
 		$account = $ba-&amp;gt;get_related_account_by_attribute_id(Account_attribute_Model::BANK);&lt;br /&gt;
 &lt;br /&gt;
 		// model preparation&lt;br /&gt;
 		$bt = new Bank_transfer_Model();&lt;br /&gt;
 		$fee_model = new Fee_Model();&lt;br /&gt;
 &lt;br /&gt;
 		// statistics preparation&lt;br /&gt;
 		$stats['unidentified_nr'] = 0;&lt;br /&gt;
 		$stats['invoices'] = 0;&lt;br /&gt;
 		$stats['invoices_nr'] = 0;&lt;br /&gt;
 		$stats['member_fees'] = 0;&lt;br /&gt;
 		$stats['member_fees_nr'] = 0;&lt;br /&gt;
 		$stats['interests'] = 0;&lt;br /&gt;
 		$stats['interests_nr'] = 0;&lt;br /&gt;
 		$stats['deposits'] = 0;&lt;br /&gt;
 		$stats['deposits_nr'] = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// miscellaneous preparation&lt;br /&gt;
 		$now = date('Y-m-d H:i:s');&lt;br /&gt;
 		$number = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// saving each bank listing item&lt;br /&gt;
 		foreach ($this-&amp;gt;preparedData as $item) //// ZDE PŘISTUPUJEME K PŘEDPARSOVANÝM DATŮM&lt;br /&gt;
 		{&lt;br /&gt;
 			// try to find counter bank account in database&lt;br /&gt;
 			$counter_ba = ORM::factory('bank_account')-&amp;gt;where(array&lt;br /&gt;
 			(&lt;br /&gt;
 				'account_nr' =&amp;gt; $item['protiucet'],&lt;br /&gt;
 				'bank_nr'    =&amp;gt; $item['kod_banky']&lt;br /&gt;
 			))-&amp;gt;find();&lt;br /&gt;
 &lt;br /&gt;
 			// counter bank account does not exist? let's create new one&lt;br /&gt;
 			if (!$counter_ba-&amp;gt;id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$counter_ba-&amp;gt;clear();&lt;br /&gt;
 				$counter_ba-&amp;gt;set_logger(FALSE);&lt;br /&gt;
 				$counter_ba-&amp;gt;name = $item['nazev_protiuctu'];&lt;br /&gt;
 				$counter_ba-&amp;gt;account_nr = $item['protiucet'];&lt;br /&gt;
 				$counter_ba-&amp;gt;bank_nr = $item['kod_banky'];&lt;br /&gt;
 				$counter_ba-&amp;gt;member_id = NULL;&lt;br /&gt;
 				$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// inbound transfer - member fee&lt;br /&gt;
 				&lt;br /&gt;
 			// let's identify member&lt;br /&gt;
 			$member_id = $this-&amp;gt;find_member_by_vs($item['vs']);&lt;br /&gt;
 &lt;br /&gt;
  			if (!$member_id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$stats['unidentified_nr']++;&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// double-entry incoming transfer&lt;br /&gt;
 			$transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 					$member_fees-&amp;gt;id, $account-&amp;gt;id, null, $member_id,&lt;br /&gt;
 					$user_id, null, $item['datum'], $now, $item['zprava'],&lt;br /&gt;
 					abs($item['castka'])&lt;br /&gt;
 			);&lt;br /&gt;
 			// incoming bank transfer&lt;br /&gt;
 			$bt-&amp;gt;clear();&lt;br /&gt;
 			$bt-&amp;gt;set_logger(false);&lt;br /&gt;
 			$bt-&amp;gt;origin_id = $counter_ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;destination_id = $ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transfer_id = $transfer_id;&lt;br /&gt;
 			$bt-&amp;gt;bank_statement_id = $statement-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transaction_code = $item['id_pohybu'];&lt;br /&gt;
 			$bt-&amp;gt;number = $number;&lt;br /&gt;
 			$bt-&amp;gt;constant_symbol = $item['ks'];&lt;br /&gt;
 			$bt-&amp;gt;variable_symbol = $item['vs'];&lt;br /&gt;
 			$bt-&amp;gt;specific_symbol = $item['ss'];&lt;br /&gt;
 			$bt-&amp;gt;save();&lt;br /&gt;
 &lt;br /&gt;
 			// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)&lt;br /&gt;
 			if ($member_id &amp;amp;&amp;amp; $member_id != Member_Model::ASSOCIATION)&lt;br /&gt;
 			{&lt;br /&gt;
 				$ca = ORM::factory('account')-&amp;gt;where('member_id', $member_id)-&amp;gt;find();&lt;br /&gt;
 				// has credit account?&lt;br /&gt;
 				if ($ca-&amp;gt;id)&lt;br /&gt;
 				{&lt;br /&gt;
 					// add affected member for notification&lt;br /&gt;
 					$this-&amp;gt;add_affected_member($member_id);&lt;br /&gt;
 &lt;br /&gt;
 					// assigning transfer&lt;br /&gt;
 					$a_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 							$account-&amp;gt;id, $ca-&amp;gt;id, $transfer_id, $member_id,&lt;br /&gt;
 							$user_id, null, $item['datum'], $now,&lt;br /&gt;
 							__('Assigning of transfer'), abs($item['castka'])&lt;br /&gt;
 					);&lt;br /&gt;
 &lt;br /&gt;
 					// transaction fee&lt;br /&gt;
 					$fee = $fee_model-&amp;gt;get_by_date_type($item['datum'], 'transfer fee');&lt;br /&gt;
 					if ($fee &amp;amp;&amp;amp; $fee-&amp;gt;fee &amp;gt; 0)&lt;br /&gt;
 					{&lt;br /&gt;
 						$tf_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 								$ca-&amp;gt;id, $operating-&amp;gt;id, $transfer_id,&lt;br /&gt;
 								$member_id, $user_id, null, $item['datum'],&lt;br /&gt;
 								$now, __('Transfer fee'), $fee-&amp;gt;fee&lt;br /&gt;
 						);&lt;br /&gt;
 					}&lt;br /&gt;
 					&lt;br /&gt;
 					if (!$counter_ba-&amp;gt;member_id)&lt;br /&gt;
 					{&lt;br /&gt;
 						$counter_ba-&amp;gt;member_id = $member_id;&lt;br /&gt;
 						$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			// member fee stats&lt;br /&gt;
 			$stats['member_fees'] += abs($item['castka']);&lt;br /&gt;
 			$stats['member_fees_nr']++;&lt;br /&gt;
 &lt;br /&gt;
 			// line number increase&lt;br /&gt;
 			$number++;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		// done&lt;br /&gt;
 		$statement-&amp;gt;transaction_commit();&lt;br /&gt;
 &lt;br /&gt;
 		// return&lt;br /&gt;
 		return $statement;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Duplicity_Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		throw $e;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		$statement-&amp;gt;transaction_rollback();&lt;br /&gt;
 		Log::add_exception($e);&lt;br /&gt;
 		$this-&amp;gt;add_exception_error($e);&lt;br /&gt;
 		return NULL;&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.&lt;br /&gt;
&lt;br /&gt;
=== Použití zhotoveného parseru (třídy) ===&lt;br /&gt;
&lt;br /&gt;
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, oznámení o přijaté platbě, aj.&lt;br /&gt;
&lt;br /&gt;
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:&lt;br /&gt;
&lt;br /&gt;
 private static $drivers = array&lt;br /&gt;
 (&lt;br /&gt;
 	// .....&lt;br /&gt;
 &lt;br /&gt;
 	/* ABC - CSV - Obtained from ABC e-banking  */&lt;br /&gt;
 	array&lt;br /&gt;
 	(&lt;br /&gt;
 		'name'		=&amp;gt; 'ABC CSV importer', // název&lt;br /&gt;
 		'class'		=&amp;gt; 'Abc_Csv_Bank_Statement_File_Importer', // třída&lt;br /&gt;
 		'bank_type'	=&amp;gt; Bank_account_Model::TYPE_ABC,&lt;br /&gt;
 		'extensions'	=&amp;gt; array('csv')&lt;br /&gt;
 	)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se zajišťuje, aby nebyl použit pro import výpisu nevhodný parser vzhledem k bankovnímu účtu.&lt;br /&gt;
&lt;br /&gt;
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import z API ==&lt;br /&gt;
&lt;br /&gt;
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2192</id>
		<title>Tvorba parseru bankovních výpisů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2192"/>
				<updated>2014-07-10T18:46:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Použití zhotoveného parseru (třídy) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import ze souboru ==&lt;br /&gt;
&lt;br /&gt;
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.&lt;br /&gt;
&lt;br /&gt;
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.gnu.org/licenses/gpl-3.0.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.freenetis.org/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * Parser for ABC bank that parses CSV files.&lt;br /&gt;
  * &lt;br /&gt;
  * @author &amp;lt;vaše jméno&amp;gt;&lt;br /&gt;
  */&lt;br /&gt;
 class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer&lt;br /&gt;
 {&lt;br /&gt;
 	protected function check_file_data_format()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function get_header_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function parse_file_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this-&amp;gt;get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku jinak '''FALSE'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:&lt;br /&gt;
&lt;br /&gt;
 protected function get_header_data()&lt;br /&gt;
 {&lt;br /&gt;
 	// parsování hlavičky z get_file_data ....&lt;br /&gt;
 &lt;br /&gt;
 	$hd = new Header_Data(&amp;lt;číslo bank. účtu&amp;gt;, &amp;lt;číslo banky&amp;gt;);&lt;br /&gt;
 	// nepovinné vlastnosti, které se mohou používat v dalších metodách&lt;br /&gt;
 	$hd-&amp;gt;currency = 'CZK';&lt;br /&gt;
 	$hd-&amp;gt;openingBalance = &amp;lt;poč stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;closingBalance = &amp;lt;konečný stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateStart = &amp;lt;datum od&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateEnd = &amp;lt;datum do&amp;gt;;&lt;br /&gt;
 	// ...&lt;br /&gt;
 &lt;br /&gt;
 	return $hd;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme v třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku jinak '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' nebo '''add_exception_error(exception)'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:&lt;br /&gt;
&lt;br /&gt;
 protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 {&lt;br /&gt;
 	$statement = new Bank_statement_Model();&lt;br /&gt;
 	$ba = $this-&amp;gt;get_bank_account();&lt;br /&gt;
 	$user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		/* header */&lt;br /&gt;
 &lt;br /&gt;
 		$statement-&amp;gt;transaction_start();&lt;br /&gt;
 		$header = $this-&amp;gt;get_header_data();&lt;br /&gt;
 &lt;br /&gt;
 		// bank statement&lt;br /&gt;
 		$statement-&amp;gt;bank_account_id = $ba-&amp;gt;id;&lt;br /&gt;
 		$statement-&amp;gt;user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 		$statement-&amp;gt;type = $this-&amp;gt;get_importer_name();&lt;br /&gt;
 		$statement-&amp;gt;from = $header-&amp;gt;dateStart;&lt;br /&gt;
 		$statement-&amp;gt;to = $header-&amp;gt;dateEnd;&lt;br /&gt;
 		$statement-&amp;gt;save_throwable();&lt;br /&gt;
 &lt;br /&gt;
 		/* transactions */&lt;br /&gt;
 &lt;br /&gt;
 		// preparation of system double-entry accounts&lt;br /&gt;
 		$member_fees = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);&lt;br /&gt;
 		$operating = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::OPERATING);&lt;br /&gt;
 		$account = $ba-&amp;gt;get_related_account_by_attribute_id(Account_attribute_Model::BANK);&lt;br /&gt;
 &lt;br /&gt;
 		// model preparation&lt;br /&gt;
 		$bt = new Bank_transfer_Model();&lt;br /&gt;
 		$fee_model = new Fee_Model();&lt;br /&gt;
 &lt;br /&gt;
 		// statistics preparation&lt;br /&gt;
 		$stats['unidentified_nr'] = 0;&lt;br /&gt;
 		$stats['invoices'] = 0;&lt;br /&gt;
 		$stats['invoices_nr'] = 0;&lt;br /&gt;
 		$stats['member_fees'] = 0;&lt;br /&gt;
 		$stats['member_fees_nr'] = 0;&lt;br /&gt;
 		$stats['interests'] = 0;&lt;br /&gt;
 		$stats['interests_nr'] = 0;&lt;br /&gt;
 		$stats['deposits'] = 0;&lt;br /&gt;
 		$stats['deposits_nr'] = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// miscellaneous preparation&lt;br /&gt;
 		$now = date('Y-m-d H:i:s');&lt;br /&gt;
 		$number = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// saving each bank listing item&lt;br /&gt;
 		foreach ($this-&amp;gt;preparedData as $item) //// ZDE PŘISTUPUJEME K PŘEDPARSOVANÝM DATŮM&lt;br /&gt;
 		{&lt;br /&gt;
 			// try to find counter bank account in database&lt;br /&gt;
 			$counter_ba = ORM::factory('bank_account')-&amp;gt;where(array&lt;br /&gt;
 			(&lt;br /&gt;
 				'account_nr' =&amp;gt; $item['protiucet'],&lt;br /&gt;
 				'bank_nr'    =&amp;gt; $item['kod_banky']&lt;br /&gt;
 			))-&amp;gt;find();&lt;br /&gt;
 &lt;br /&gt;
 			// counter bank account does not exist? let's create new one&lt;br /&gt;
 			if (!$counter_ba-&amp;gt;id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$counter_ba-&amp;gt;clear();&lt;br /&gt;
 				$counter_ba-&amp;gt;set_logger(FALSE);&lt;br /&gt;
 				$counter_ba-&amp;gt;name = $item['nazev_protiuctu'];&lt;br /&gt;
 				$counter_ba-&amp;gt;account_nr = $item['protiucet'];&lt;br /&gt;
 				$counter_ba-&amp;gt;bank_nr = $item['kod_banky'];&lt;br /&gt;
 				$counter_ba-&amp;gt;member_id = NULL;&lt;br /&gt;
 				$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// inbound transfer - member fee&lt;br /&gt;
 				&lt;br /&gt;
 			// let's identify member&lt;br /&gt;
 			$member_id = $this-&amp;gt;find_member_by_vs($item['vs']);&lt;br /&gt;
 &lt;br /&gt;
  			if (!$member_id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$stats['unidentified_nr']++;&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// double-entry incoming transfer&lt;br /&gt;
 			$transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 					$member_fees-&amp;gt;id, $account-&amp;gt;id, null, $member_id,&lt;br /&gt;
 					$user_id, null, $item['datum'], $now, $item['zprava'],&lt;br /&gt;
 					abs($item['castka'])&lt;br /&gt;
 			);&lt;br /&gt;
 			// incoming bank transfer&lt;br /&gt;
 			$bt-&amp;gt;clear();&lt;br /&gt;
 			$bt-&amp;gt;set_logger(false);&lt;br /&gt;
 			$bt-&amp;gt;origin_id = $counter_ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;destination_id = $ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transfer_id = $transfer_id;&lt;br /&gt;
 			$bt-&amp;gt;bank_statement_id = $statement-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transaction_code = $item['id_pohybu'];&lt;br /&gt;
 			$bt-&amp;gt;number = $number;&lt;br /&gt;
 			$bt-&amp;gt;constant_symbol = $item['ks'];&lt;br /&gt;
 			$bt-&amp;gt;variable_symbol = $item['vs'];&lt;br /&gt;
 			$bt-&amp;gt;specific_symbol = $item['ss'];&lt;br /&gt;
 			$bt-&amp;gt;save();&lt;br /&gt;
 &lt;br /&gt;
 			// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)&lt;br /&gt;
 			if ($member_id &amp;amp;&amp;amp; $member_id != Member_Model::ASSOCIATION)&lt;br /&gt;
 			{&lt;br /&gt;
 				$ca = ORM::factory('account')-&amp;gt;where('member_id', $member_id)-&amp;gt;find();&lt;br /&gt;
 				// has credit account?&lt;br /&gt;
 				if ($ca-&amp;gt;id)&lt;br /&gt;
 				{&lt;br /&gt;
 					// add affected member for notification&lt;br /&gt;
 					$this-&amp;gt;add_affected_member($member_id);&lt;br /&gt;
 &lt;br /&gt;
 					// assigning transfer&lt;br /&gt;
 					$a_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 							$account-&amp;gt;id, $ca-&amp;gt;id, $transfer_id, $member_id,&lt;br /&gt;
 							$user_id, null, $item['datum'], $now,&lt;br /&gt;
 							__('Assigning of transfer'), abs($item['castka'])&lt;br /&gt;
 					);&lt;br /&gt;
 &lt;br /&gt;
 					// transaction fee&lt;br /&gt;
 					$fee = $fee_model-&amp;gt;get_by_date_type($item['datum'], 'transfer fee');&lt;br /&gt;
 					if ($fee &amp;amp;&amp;amp; $fee-&amp;gt;fee &amp;gt; 0)&lt;br /&gt;
 					{&lt;br /&gt;
 						$tf_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 								$ca-&amp;gt;id, $operating-&amp;gt;id, $transfer_id,&lt;br /&gt;
 								$member_id, $user_id, null, $item['datum'],&lt;br /&gt;
 								$now, __('Transfer fee'), $fee-&amp;gt;fee&lt;br /&gt;
 						);&lt;br /&gt;
 					}&lt;br /&gt;
 					&lt;br /&gt;
 					if (!$counter_ba-&amp;gt;member_id)&lt;br /&gt;
 					{&lt;br /&gt;
 						$counter_ba-&amp;gt;member_id = $member_id;&lt;br /&gt;
 						$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			// member fee stats&lt;br /&gt;
 			$stats['member_fees'] += abs($item['castka']);&lt;br /&gt;
 			$stats['member_fees_nr']++;&lt;br /&gt;
 &lt;br /&gt;
 			// line number increase&lt;br /&gt;
 			$number++;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		// done&lt;br /&gt;
 		$statement-&amp;gt;transaction_commit();&lt;br /&gt;
 &lt;br /&gt;
 		// return&lt;br /&gt;
 		return $statement;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Duplicity_Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		throw $e;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		$statement-&amp;gt;transaction_rollback();&lt;br /&gt;
 		Log::add_exception($e);&lt;br /&gt;
 		$this-&amp;gt;add_exception_error($e);&lt;br /&gt;
 		return NULL;&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.&lt;br /&gt;
&lt;br /&gt;
=== Použití zhotoveného parseru (třídy) ===&lt;br /&gt;
&lt;br /&gt;
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, oznámení o přijaté platbě, aj.&lt;br /&gt;
&lt;br /&gt;
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:&lt;br /&gt;
&lt;br /&gt;
 private static $drivers = array&lt;br /&gt;
 (&lt;br /&gt;
 	// .....&lt;br /&gt;
 &lt;br /&gt;
 	/* ABC - CSV - Obtained from ABC e-banking  */&lt;br /&gt;
 	array&lt;br /&gt;
 	(&lt;br /&gt;
 		'name'		=&amp;gt; 'ABC CSV importer', // název&lt;br /&gt;
 		'class'		=&amp;gt; 'Abc_Csv_Bank_Statement_File_Importer', // třída&lt;br /&gt;
 		'bank_type'	=&amp;gt; Bank_account_Model::TYPE_ABC,&lt;br /&gt;
 		'extensions'	=&amp;gt; array('csv')&lt;br /&gt;
 	)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se váže bank. účet se zajišťuje, že nebude pouzit pro import nevhodný parser.&lt;br /&gt;
&lt;br /&gt;
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import z API ==&lt;br /&gt;
&lt;br /&gt;
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2191</id>
		<title>Tvorba parseru bankovních výpisů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2191"/>
				<updated>2014-07-10T18:45:29Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Použití zhotoveného parseru (třídy) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import ze souboru ==&lt;br /&gt;
&lt;br /&gt;
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.&lt;br /&gt;
&lt;br /&gt;
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.gnu.org/licenses/gpl-3.0.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.freenetis.org/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * Parser for ABC bank that parses CSV files.&lt;br /&gt;
  * &lt;br /&gt;
  * @author &amp;lt;vaše jméno&amp;gt;&lt;br /&gt;
  */&lt;br /&gt;
 class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer&lt;br /&gt;
 {&lt;br /&gt;
 	protected function check_file_data_format()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function get_header_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function parse_file_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this-&amp;gt;get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku jinak '''FALSE'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:&lt;br /&gt;
&lt;br /&gt;
 protected function get_header_data()&lt;br /&gt;
 {&lt;br /&gt;
 	// parsování hlavičky z get_file_data ....&lt;br /&gt;
 &lt;br /&gt;
 	$hd = new Header_Data(&amp;lt;číslo bank. účtu&amp;gt;, &amp;lt;číslo banky&amp;gt;);&lt;br /&gt;
 	// nepovinné vlastnosti, které se mohou používat v dalších metodách&lt;br /&gt;
 	$hd-&amp;gt;currency = 'CZK';&lt;br /&gt;
 	$hd-&amp;gt;openingBalance = &amp;lt;poč stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;closingBalance = &amp;lt;konečný stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateStart = &amp;lt;datum od&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateEnd = &amp;lt;datum do&amp;gt;;&lt;br /&gt;
 	// ...&lt;br /&gt;
 &lt;br /&gt;
 	return $hd;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme v třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku jinak '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' nebo '''add_exception_error(exception)'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:&lt;br /&gt;
&lt;br /&gt;
 protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 {&lt;br /&gt;
 	$statement = new Bank_statement_Model();&lt;br /&gt;
 	$ba = $this-&amp;gt;get_bank_account();&lt;br /&gt;
 	$user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		/* header */&lt;br /&gt;
 &lt;br /&gt;
 		$statement-&amp;gt;transaction_start();&lt;br /&gt;
 		$header = $this-&amp;gt;get_header_data();&lt;br /&gt;
 &lt;br /&gt;
 		// bank statement&lt;br /&gt;
 		$statement-&amp;gt;bank_account_id = $ba-&amp;gt;id;&lt;br /&gt;
 		$statement-&amp;gt;user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 		$statement-&amp;gt;type = $this-&amp;gt;get_importer_name();&lt;br /&gt;
 		$statement-&amp;gt;from = $header-&amp;gt;dateStart;&lt;br /&gt;
 		$statement-&amp;gt;to = $header-&amp;gt;dateEnd;&lt;br /&gt;
 		$statement-&amp;gt;save_throwable();&lt;br /&gt;
 &lt;br /&gt;
 		/* transactions */&lt;br /&gt;
 &lt;br /&gt;
 		// preparation of system double-entry accounts&lt;br /&gt;
 		$member_fees = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);&lt;br /&gt;
 		$operating = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::OPERATING);&lt;br /&gt;
 		$account = $ba-&amp;gt;get_related_account_by_attribute_id(Account_attribute_Model::BANK);&lt;br /&gt;
 &lt;br /&gt;
 		// model preparation&lt;br /&gt;
 		$bt = new Bank_transfer_Model();&lt;br /&gt;
 		$fee_model = new Fee_Model();&lt;br /&gt;
 &lt;br /&gt;
 		// statistics preparation&lt;br /&gt;
 		$stats['unidentified_nr'] = 0;&lt;br /&gt;
 		$stats['invoices'] = 0;&lt;br /&gt;
 		$stats['invoices_nr'] = 0;&lt;br /&gt;
 		$stats['member_fees'] = 0;&lt;br /&gt;
 		$stats['member_fees_nr'] = 0;&lt;br /&gt;
 		$stats['interests'] = 0;&lt;br /&gt;
 		$stats['interests_nr'] = 0;&lt;br /&gt;
 		$stats['deposits'] = 0;&lt;br /&gt;
 		$stats['deposits_nr'] = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// miscellaneous preparation&lt;br /&gt;
 		$now = date('Y-m-d H:i:s');&lt;br /&gt;
 		$number = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// saving each bank listing item&lt;br /&gt;
 		foreach ($this-&amp;gt;preparedData as $item) //// ZDE PŘISTUPUJEME K PŘEDPARSOVANÝM DATŮM&lt;br /&gt;
 		{&lt;br /&gt;
 			// try to find counter bank account in database&lt;br /&gt;
 			$counter_ba = ORM::factory('bank_account')-&amp;gt;where(array&lt;br /&gt;
 			(&lt;br /&gt;
 				'account_nr' =&amp;gt; $item['protiucet'],&lt;br /&gt;
 				'bank_nr'    =&amp;gt; $item['kod_banky']&lt;br /&gt;
 			))-&amp;gt;find();&lt;br /&gt;
 &lt;br /&gt;
 			// counter bank account does not exist? let's create new one&lt;br /&gt;
 			if (!$counter_ba-&amp;gt;id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$counter_ba-&amp;gt;clear();&lt;br /&gt;
 				$counter_ba-&amp;gt;set_logger(FALSE);&lt;br /&gt;
 				$counter_ba-&amp;gt;name = $item['nazev_protiuctu'];&lt;br /&gt;
 				$counter_ba-&amp;gt;account_nr = $item['protiucet'];&lt;br /&gt;
 				$counter_ba-&amp;gt;bank_nr = $item['kod_banky'];&lt;br /&gt;
 				$counter_ba-&amp;gt;member_id = NULL;&lt;br /&gt;
 				$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// inbound transfer - member fee&lt;br /&gt;
 				&lt;br /&gt;
 			// let's identify member&lt;br /&gt;
 			$member_id = $this-&amp;gt;find_member_by_vs($item['vs']);&lt;br /&gt;
 &lt;br /&gt;
  			if (!$member_id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$stats['unidentified_nr']++;&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// double-entry incoming transfer&lt;br /&gt;
 			$transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 					$member_fees-&amp;gt;id, $account-&amp;gt;id, null, $member_id,&lt;br /&gt;
 					$user_id, null, $item['datum'], $now, $item['zprava'],&lt;br /&gt;
 					abs($item['castka'])&lt;br /&gt;
 			);&lt;br /&gt;
 			// incoming bank transfer&lt;br /&gt;
 			$bt-&amp;gt;clear();&lt;br /&gt;
 			$bt-&amp;gt;set_logger(false);&lt;br /&gt;
 			$bt-&amp;gt;origin_id = $counter_ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;destination_id = $ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transfer_id = $transfer_id;&lt;br /&gt;
 			$bt-&amp;gt;bank_statement_id = $statement-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transaction_code = $item['id_pohybu'];&lt;br /&gt;
 			$bt-&amp;gt;number = $number;&lt;br /&gt;
 			$bt-&amp;gt;constant_symbol = $item['ks'];&lt;br /&gt;
 			$bt-&amp;gt;variable_symbol = $item['vs'];&lt;br /&gt;
 			$bt-&amp;gt;specific_symbol = $item['ss'];&lt;br /&gt;
 			$bt-&amp;gt;save();&lt;br /&gt;
 &lt;br /&gt;
 			// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)&lt;br /&gt;
 			if ($member_id &amp;amp;&amp;amp; $member_id != Member_Model::ASSOCIATION)&lt;br /&gt;
 			{&lt;br /&gt;
 				$ca = ORM::factory('account')-&amp;gt;where('member_id', $member_id)-&amp;gt;find();&lt;br /&gt;
 				// has credit account?&lt;br /&gt;
 				if ($ca-&amp;gt;id)&lt;br /&gt;
 				{&lt;br /&gt;
 					// add affected member for notification&lt;br /&gt;
 					$this-&amp;gt;add_affected_member($member_id);&lt;br /&gt;
 &lt;br /&gt;
 					// assigning transfer&lt;br /&gt;
 					$a_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 							$account-&amp;gt;id, $ca-&amp;gt;id, $transfer_id, $member_id,&lt;br /&gt;
 							$user_id, null, $item['datum'], $now,&lt;br /&gt;
 							__('Assigning of transfer'), abs($item['castka'])&lt;br /&gt;
 					);&lt;br /&gt;
 &lt;br /&gt;
 					// transaction fee&lt;br /&gt;
 					$fee = $fee_model-&amp;gt;get_by_date_type($item['datum'], 'transfer fee');&lt;br /&gt;
 					if ($fee &amp;amp;&amp;amp; $fee-&amp;gt;fee &amp;gt; 0)&lt;br /&gt;
 					{&lt;br /&gt;
 						$tf_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 								$ca-&amp;gt;id, $operating-&amp;gt;id, $transfer_id,&lt;br /&gt;
 								$member_id, $user_id, null, $item['datum'],&lt;br /&gt;
 								$now, __('Transfer fee'), $fee-&amp;gt;fee&lt;br /&gt;
 						);&lt;br /&gt;
 					}&lt;br /&gt;
 					&lt;br /&gt;
 					if (!$counter_ba-&amp;gt;member_id)&lt;br /&gt;
 					{&lt;br /&gt;
 						$counter_ba-&amp;gt;member_id = $member_id;&lt;br /&gt;
 						$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			// member fee stats&lt;br /&gt;
 			$stats['member_fees'] += abs($item['castka']);&lt;br /&gt;
 			$stats['member_fees_nr']++;&lt;br /&gt;
 &lt;br /&gt;
 			// line number increase&lt;br /&gt;
 			$number++;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		// done&lt;br /&gt;
 		$statement-&amp;gt;transaction_commit();&lt;br /&gt;
 &lt;br /&gt;
 		// return&lt;br /&gt;
 		return $statement;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Duplicity_Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		throw $e;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		$statement-&amp;gt;transaction_rollback();&lt;br /&gt;
 		Log::add_exception($e);&lt;br /&gt;
 		$this-&amp;gt;add_exception_error($e);&lt;br /&gt;
 		return NULL;&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.&lt;br /&gt;
&lt;br /&gt;
=== Použití zhotoveného parseru (třídy) ===&lt;br /&gt;
&lt;br /&gt;
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, oznámení o přijaté platbě, aj.&lt;br /&gt;
&lt;br /&gt;
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:&lt;br /&gt;
&lt;br /&gt;
 private static $drivers = array&lt;br /&gt;
 (&lt;br /&gt;
 	// .....&lt;br /&gt;
 &lt;br /&gt;
 	/* FIO - CSV - Obtained from FIO e-banking  */&lt;br /&gt;
 	array&lt;br /&gt;
 	(&lt;br /&gt;
 		'name'		=&amp;gt; 'ABC CSV importer', // název&lt;br /&gt;
 		'class'		=&amp;gt; 'Abc_Csv_Bank_Statement_File_Importer', // třída&lt;br /&gt;
 		'bank_type'	=&amp;gt; Bank_account_Model::TYPE_ABC,&lt;br /&gt;
 		'extensions'	=&amp;gt; array('csv')&lt;br /&gt;
 	)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se váže bank. účet se zajišťuje, že nebude pouzit pro import nevhodný parser.&lt;br /&gt;
&lt;br /&gt;
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import z API ==&lt;br /&gt;
&lt;br /&gt;
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2190</id>
		<title>Tvorba parseru bankovních výpisů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2190"/>
				<updated>2014-07-10T18:43:45Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Postup parseru pro import ze souboru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import ze souboru ==&lt;br /&gt;
&lt;br /&gt;
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.&lt;br /&gt;
&lt;br /&gt;
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.gnu.org/licenses/gpl-3.0.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.freenetis.org/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * Parser for ABC bank that parses CSV files.&lt;br /&gt;
  * &lt;br /&gt;
  * @author &amp;lt;vaše jméno&amp;gt;&lt;br /&gt;
  */&lt;br /&gt;
 class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer&lt;br /&gt;
 {&lt;br /&gt;
 	protected function check_file_data_format()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function get_header_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function parse_file_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this-&amp;gt;get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku jinak '''FALSE'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:&lt;br /&gt;
&lt;br /&gt;
 protected function get_header_data()&lt;br /&gt;
 {&lt;br /&gt;
 	// parsování hlavičky z get_file_data ....&lt;br /&gt;
 &lt;br /&gt;
 	$hd = new Header_Data(&amp;lt;číslo bank. účtu&amp;gt;, &amp;lt;číslo banky&amp;gt;);&lt;br /&gt;
 	// nepovinné vlastnosti, které se mohou používat v dalších metodách&lt;br /&gt;
 	$hd-&amp;gt;currency = 'CZK';&lt;br /&gt;
 	$hd-&amp;gt;openingBalance = &amp;lt;poč stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;closingBalance = &amp;lt;konečný stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateStart = &amp;lt;datum od&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateEnd = &amp;lt;datum do&amp;gt;;&lt;br /&gt;
 	// ...&lt;br /&gt;
 &lt;br /&gt;
 	return $hd;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme v třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku jinak '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' nebo '''add_exception_error(exception)'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:&lt;br /&gt;
&lt;br /&gt;
 protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 {&lt;br /&gt;
 	$statement = new Bank_statement_Model();&lt;br /&gt;
 	$ba = $this-&amp;gt;get_bank_account();&lt;br /&gt;
 	$user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		/* header */&lt;br /&gt;
 &lt;br /&gt;
 		$statement-&amp;gt;transaction_start();&lt;br /&gt;
 		$header = $this-&amp;gt;get_header_data();&lt;br /&gt;
 &lt;br /&gt;
 		// bank statement&lt;br /&gt;
 		$statement-&amp;gt;bank_account_id = $ba-&amp;gt;id;&lt;br /&gt;
 		$statement-&amp;gt;user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 		$statement-&amp;gt;type = $this-&amp;gt;get_importer_name();&lt;br /&gt;
 		$statement-&amp;gt;from = $header-&amp;gt;dateStart;&lt;br /&gt;
 		$statement-&amp;gt;to = $header-&amp;gt;dateEnd;&lt;br /&gt;
 		$statement-&amp;gt;save_throwable();&lt;br /&gt;
 &lt;br /&gt;
 		/* transactions */&lt;br /&gt;
 &lt;br /&gt;
 		// preparation of system double-entry accounts&lt;br /&gt;
 		$member_fees = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);&lt;br /&gt;
 		$operating = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::OPERATING);&lt;br /&gt;
 		$account = $ba-&amp;gt;get_related_account_by_attribute_id(Account_attribute_Model::BANK);&lt;br /&gt;
 &lt;br /&gt;
 		// model preparation&lt;br /&gt;
 		$bt = new Bank_transfer_Model();&lt;br /&gt;
 		$fee_model = new Fee_Model();&lt;br /&gt;
 &lt;br /&gt;
 		// statistics preparation&lt;br /&gt;
 		$stats['unidentified_nr'] = 0;&lt;br /&gt;
 		$stats['invoices'] = 0;&lt;br /&gt;
 		$stats['invoices_nr'] = 0;&lt;br /&gt;
 		$stats['member_fees'] = 0;&lt;br /&gt;
 		$stats['member_fees_nr'] = 0;&lt;br /&gt;
 		$stats['interests'] = 0;&lt;br /&gt;
 		$stats['interests_nr'] = 0;&lt;br /&gt;
 		$stats['deposits'] = 0;&lt;br /&gt;
 		$stats['deposits_nr'] = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// miscellaneous preparation&lt;br /&gt;
 		$now = date('Y-m-d H:i:s');&lt;br /&gt;
 		$number = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// saving each bank listing item&lt;br /&gt;
 		foreach ($this-&amp;gt;preparedData as $item) //// ZDE PŘISTUPUJEME K PŘEDPARSOVANÝM DATŮM&lt;br /&gt;
 		{&lt;br /&gt;
 			// try to find counter bank account in database&lt;br /&gt;
 			$counter_ba = ORM::factory('bank_account')-&amp;gt;where(array&lt;br /&gt;
 			(&lt;br /&gt;
 				'account_nr' =&amp;gt; $item['protiucet'],&lt;br /&gt;
 				'bank_nr'    =&amp;gt; $item['kod_banky']&lt;br /&gt;
 			))-&amp;gt;find();&lt;br /&gt;
 &lt;br /&gt;
 			// counter bank account does not exist? let's create new one&lt;br /&gt;
 			if (!$counter_ba-&amp;gt;id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$counter_ba-&amp;gt;clear();&lt;br /&gt;
 				$counter_ba-&amp;gt;set_logger(FALSE);&lt;br /&gt;
 				$counter_ba-&amp;gt;name = $item['nazev_protiuctu'];&lt;br /&gt;
 				$counter_ba-&amp;gt;account_nr = $item['protiucet'];&lt;br /&gt;
 				$counter_ba-&amp;gt;bank_nr = $item['kod_banky'];&lt;br /&gt;
 				$counter_ba-&amp;gt;member_id = NULL;&lt;br /&gt;
 				$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// inbound transfer - member fee&lt;br /&gt;
 				&lt;br /&gt;
 			// let's identify member&lt;br /&gt;
 			$member_id = $this-&amp;gt;find_member_by_vs($item['vs']);&lt;br /&gt;
 &lt;br /&gt;
  			if (!$member_id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$stats['unidentified_nr']++;&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// double-entry incoming transfer&lt;br /&gt;
 			$transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 					$member_fees-&amp;gt;id, $account-&amp;gt;id, null, $member_id,&lt;br /&gt;
 					$user_id, null, $item['datum'], $now, $item['zprava'],&lt;br /&gt;
 					abs($item['castka'])&lt;br /&gt;
 			);&lt;br /&gt;
 			// incoming bank transfer&lt;br /&gt;
 			$bt-&amp;gt;clear();&lt;br /&gt;
 			$bt-&amp;gt;set_logger(false);&lt;br /&gt;
 			$bt-&amp;gt;origin_id = $counter_ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;destination_id = $ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transfer_id = $transfer_id;&lt;br /&gt;
 			$bt-&amp;gt;bank_statement_id = $statement-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transaction_code = $item['id_pohybu'];&lt;br /&gt;
 			$bt-&amp;gt;number = $number;&lt;br /&gt;
 			$bt-&amp;gt;constant_symbol = $item['ks'];&lt;br /&gt;
 			$bt-&amp;gt;variable_symbol = $item['vs'];&lt;br /&gt;
 			$bt-&amp;gt;specific_symbol = $item['ss'];&lt;br /&gt;
 			$bt-&amp;gt;save();&lt;br /&gt;
 &lt;br /&gt;
 			// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)&lt;br /&gt;
 			if ($member_id &amp;amp;&amp;amp; $member_id != Member_Model::ASSOCIATION)&lt;br /&gt;
 			{&lt;br /&gt;
 				$ca = ORM::factory('account')-&amp;gt;where('member_id', $member_id)-&amp;gt;find();&lt;br /&gt;
 				// has credit account?&lt;br /&gt;
 				if ($ca-&amp;gt;id)&lt;br /&gt;
 				{&lt;br /&gt;
 					// add affected member for notification&lt;br /&gt;
 					$this-&amp;gt;add_affected_member($member_id);&lt;br /&gt;
 &lt;br /&gt;
 					// assigning transfer&lt;br /&gt;
 					$a_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 							$account-&amp;gt;id, $ca-&amp;gt;id, $transfer_id, $member_id,&lt;br /&gt;
 							$user_id, null, $item['datum'], $now,&lt;br /&gt;
 							__('Assigning of transfer'), abs($item['castka'])&lt;br /&gt;
 					);&lt;br /&gt;
 &lt;br /&gt;
 					// transaction fee&lt;br /&gt;
 					$fee = $fee_model-&amp;gt;get_by_date_type($item['datum'], 'transfer fee');&lt;br /&gt;
 					if ($fee &amp;amp;&amp;amp; $fee-&amp;gt;fee &amp;gt; 0)&lt;br /&gt;
 					{&lt;br /&gt;
 						$tf_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 								$ca-&amp;gt;id, $operating-&amp;gt;id, $transfer_id,&lt;br /&gt;
 								$member_id, $user_id, null, $item['datum'],&lt;br /&gt;
 								$now, __('Transfer fee'), $fee-&amp;gt;fee&lt;br /&gt;
 						);&lt;br /&gt;
 					}&lt;br /&gt;
 					&lt;br /&gt;
 					if (!$counter_ba-&amp;gt;member_id)&lt;br /&gt;
 					{&lt;br /&gt;
 						$counter_ba-&amp;gt;member_id = $member_id;&lt;br /&gt;
 						$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			// member fee stats&lt;br /&gt;
 			$stats['member_fees'] += abs($item['castka']);&lt;br /&gt;
 			$stats['member_fees_nr']++;&lt;br /&gt;
 &lt;br /&gt;
 			// line number increase&lt;br /&gt;
 			$number++;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		// done&lt;br /&gt;
 		$statement-&amp;gt;transaction_commit();&lt;br /&gt;
 &lt;br /&gt;
 		// return&lt;br /&gt;
 		return $statement;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Duplicity_Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		throw $e;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		$statement-&amp;gt;transaction_rollback();&lt;br /&gt;
 		Log::add_exception($e);&lt;br /&gt;
 		$this-&amp;gt;add_exception_error($e);&lt;br /&gt;
 		return NULL;&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.&lt;br /&gt;
&lt;br /&gt;
=== Použití zhotoveného parseru (třídy) ===&lt;br /&gt;
&lt;br /&gt;
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, aj.&lt;br /&gt;
&lt;br /&gt;
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:&lt;br /&gt;
&lt;br /&gt;
 private static $drivers = array&lt;br /&gt;
 (&lt;br /&gt;
 	// .....&lt;br /&gt;
 &lt;br /&gt;
 	/* FIO - CSV - Obtained from FIO e-banking  */&lt;br /&gt;
 	array&lt;br /&gt;
 	(&lt;br /&gt;
 		'name'		=&amp;gt; 'ABC CSV importer', // název&lt;br /&gt;
 		'class'		=&amp;gt; 'Abc_Csv_Bank_Statement_File_Importer', // třída&lt;br /&gt;
 		'bank_type'	=&amp;gt; Bank_account_Model::TYPE_ABC,&lt;br /&gt;
 		'extensions'	=&amp;gt; array('csv')&lt;br /&gt;
 	)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se váže bank. účet se zajišťuje, že nebude pouzit pro import nevhodný parser.&lt;br /&gt;
&lt;br /&gt;
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import z API ==&lt;br /&gt;
&lt;br /&gt;
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2189</id>
		<title>Tvorba parseru bankovních výpisů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2189"/>
				<updated>2014-07-10T18:41:41Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Postup parseru pro import ze souboru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import ze souboru ==&lt;br /&gt;
&lt;br /&gt;
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.&lt;br /&gt;
&lt;br /&gt;
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.gnu.org/licenses/gpl-3.0.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.freenetis.org/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * Parser for ABC bank that parses CSV files.&lt;br /&gt;
  * &lt;br /&gt;
  * @author &amp;lt;vaše jméno&amp;gt;&lt;br /&gt;
  */&lt;br /&gt;
 class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer&lt;br /&gt;
 {&lt;br /&gt;
 	protected function check_file_data_format()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function get_header_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function parse_file_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this-&amp;gt;get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku nebo '''FALSE'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:&lt;br /&gt;
&lt;br /&gt;
 protected function get_header_data()&lt;br /&gt;
 {&lt;br /&gt;
 	// parsování hlavičky z get_file_data ....&lt;br /&gt;
 &lt;br /&gt;
 	$hd = new Header_Data(&amp;lt;číslo bank. účtu&amp;gt;, &amp;lt;číslo banky&amp;gt;);&lt;br /&gt;
 	// nepovinné vlastnosti, které se mohou používat v dalších metodách&lt;br /&gt;
 	$hd-&amp;gt;currency = 'CZK';&lt;br /&gt;
 	$hd-&amp;gt;openingBalance = &amp;lt;poč stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;closingBalance = &amp;lt;konečný stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateStart = &amp;lt;datum od&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateEnd = &amp;lt;datum do&amp;gt;;&lt;br /&gt;
 	// ...&lt;br /&gt;
 &lt;br /&gt;
 	return $hd;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme v třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku nebo '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' a '''add_exception_error(exception)'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:&lt;br /&gt;
&lt;br /&gt;
 protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 {&lt;br /&gt;
 	$statement = new Bank_statement_Model();&lt;br /&gt;
 	$ba = $this-&amp;gt;get_bank_account();&lt;br /&gt;
 	$user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		/* header */&lt;br /&gt;
 &lt;br /&gt;
 		$statement-&amp;gt;transaction_start();&lt;br /&gt;
 		$header = $this-&amp;gt;get_header_data();&lt;br /&gt;
 &lt;br /&gt;
 		// bank statement&lt;br /&gt;
 		$statement-&amp;gt;bank_account_id = $ba-&amp;gt;id;&lt;br /&gt;
 		$statement-&amp;gt;user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 		$statement-&amp;gt;type = $this-&amp;gt;get_importer_name();&lt;br /&gt;
 		$statement-&amp;gt;from = $header-&amp;gt;dateStart;&lt;br /&gt;
 		$statement-&amp;gt;to = $header-&amp;gt;dateEnd;&lt;br /&gt;
 		$statement-&amp;gt;save_throwable();&lt;br /&gt;
 &lt;br /&gt;
 		/* transactions */&lt;br /&gt;
 &lt;br /&gt;
 		// preparation of system double-entry accounts&lt;br /&gt;
 		$member_fees = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);&lt;br /&gt;
 		$operating = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::OPERATING);&lt;br /&gt;
 		$account = $ba-&amp;gt;get_related_account_by_attribute_id(Account_attribute_Model::BANK);&lt;br /&gt;
 &lt;br /&gt;
 		// model preparation&lt;br /&gt;
 		$bt = new Bank_transfer_Model();&lt;br /&gt;
 		$fee_model = new Fee_Model();&lt;br /&gt;
 &lt;br /&gt;
 		// statistics preparation&lt;br /&gt;
 		$stats['unidentified_nr'] = 0;&lt;br /&gt;
 		$stats['invoices'] = 0;&lt;br /&gt;
 		$stats['invoices_nr'] = 0;&lt;br /&gt;
 		$stats['member_fees'] = 0;&lt;br /&gt;
 		$stats['member_fees_nr'] = 0;&lt;br /&gt;
 		$stats['interests'] = 0;&lt;br /&gt;
 		$stats['interests_nr'] = 0;&lt;br /&gt;
 		$stats['deposits'] = 0;&lt;br /&gt;
 		$stats['deposits_nr'] = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// miscellaneous preparation&lt;br /&gt;
 		$now = date('Y-m-d H:i:s');&lt;br /&gt;
 		$number = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// saving each bank listing item&lt;br /&gt;
 		foreach ($this-&amp;gt;preparedData as $item)&lt;br /&gt;
 		{&lt;br /&gt;
 			// try to find counter bank account in database&lt;br /&gt;
 			$counter_ba = ORM::factory('bank_account')-&amp;gt;where(array&lt;br /&gt;
 			(&lt;br /&gt;
 				'account_nr' =&amp;gt; $item['protiucet'],&lt;br /&gt;
 				'bank_nr'    =&amp;gt; $item['kod_banky']&lt;br /&gt;
 			))-&amp;gt;find();&lt;br /&gt;
 &lt;br /&gt;
 			// counter bank account does not exist? let's create new one&lt;br /&gt;
 			if (!$counter_ba-&amp;gt;id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$counter_ba-&amp;gt;clear();&lt;br /&gt;
 				$counter_ba-&amp;gt;set_logger(FALSE);&lt;br /&gt;
 				$counter_ba-&amp;gt;name = $item['nazev_protiuctu'];&lt;br /&gt;
 				$counter_ba-&amp;gt;account_nr = $item['protiucet'];&lt;br /&gt;
 				$counter_ba-&amp;gt;bank_nr = $item['kod_banky'];&lt;br /&gt;
 				$counter_ba-&amp;gt;member_id = NULL;&lt;br /&gt;
 				$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// inbound transfer - member fee&lt;br /&gt;
 				&lt;br /&gt;
 			// let's identify member&lt;br /&gt;
 			$member_id = $this-&amp;gt;find_member_by_vs($item['vs']);&lt;br /&gt;
 &lt;br /&gt;
  			if (!$member_id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$stats['unidentified_nr']++;&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// double-entry incoming transfer&lt;br /&gt;
 			$transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 					$member_fees-&amp;gt;id, $account-&amp;gt;id, null, $member_id,&lt;br /&gt;
 					$user_id, null, $item['datum'], $now, $item['zprava'],&lt;br /&gt;
 					abs($item['castka'])&lt;br /&gt;
 			);&lt;br /&gt;
 			// incoming bank transfer&lt;br /&gt;
 			$bt-&amp;gt;clear();&lt;br /&gt;
 			$bt-&amp;gt;set_logger(false);&lt;br /&gt;
 			$bt-&amp;gt;origin_id = $counter_ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;destination_id = $ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transfer_id = $transfer_id;&lt;br /&gt;
 			$bt-&amp;gt;bank_statement_id = $statement-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transaction_code = $item['id_pohybu'];&lt;br /&gt;
 			$bt-&amp;gt;number = $number;&lt;br /&gt;
 			$bt-&amp;gt;constant_symbol = $item['ks'];&lt;br /&gt;
 			$bt-&amp;gt;variable_symbol = $item['vs'];&lt;br /&gt;
 			$bt-&amp;gt;specific_symbol = $item['ss'];&lt;br /&gt;
 			$bt-&amp;gt;save();&lt;br /&gt;
 &lt;br /&gt;
 			// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)&lt;br /&gt;
 			if ($member_id &amp;amp;&amp;amp; $member_id != Member_Model::ASSOCIATION)&lt;br /&gt;
 			{&lt;br /&gt;
 				$ca = ORM::factory('account')-&amp;gt;where('member_id', $member_id)-&amp;gt;find();&lt;br /&gt;
 				// has credit account?&lt;br /&gt;
 				if ($ca-&amp;gt;id)&lt;br /&gt;
 				{&lt;br /&gt;
 					// add affected member for notification&lt;br /&gt;
 					$this-&amp;gt;add_affected_member($member_id);&lt;br /&gt;
 &lt;br /&gt;
 					// assigning transfer&lt;br /&gt;
 					$a_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 							$account-&amp;gt;id, $ca-&amp;gt;id, $transfer_id, $member_id,&lt;br /&gt;
 							$user_id, null, $item['datum'], $now,&lt;br /&gt;
 							__('Assigning of transfer'), abs($item['castka'])&lt;br /&gt;
 					);&lt;br /&gt;
 &lt;br /&gt;
 					// transaction fee&lt;br /&gt;
 					$fee = $fee_model-&amp;gt;get_by_date_type($item['datum'], 'transfer fee');&lt;br /&gt;
 					if ($fee &amp;amp;&amp;amp; $fee-&amp;gt;fee &amp;gt; 0)&lt;br /&gt;
 					{&lt;br /&gt;
 						$tf_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 								$ca-&amp;gt;id, $operating-&amp;gt;id, $transfer_id,&lt;br /&gt;
 								$member_id, $user_id, null, $item['datum'],&lt;br /&gt;
 								$now, __('Transfer fee'), $fee-&amp;gt;fee&lt;br /&gt;
 						);&lt;br /&gt;
 					}&lt;br /&gt;
 					&lt;br /&gt;
 					if (!$counter_ba-&amp;gt;member_id)&lt;br /&gt;
 					{&lt;br /&gt;
 						$counter_ba-&amp;gt;member_id = $member_id;&lt;br /&gt;
 						$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			// member fee stats&lt;br /&gt;
 			$stats['member_fees'] += abs($item['castka']);&lt;br /&gt;
 			$stats['member_fees_nr']++;&lt;br /&gt;
 &lt;br /&gt;
 			// line number increase&lt;br /&gt;
 			$number++;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		// done&lt;br /&gt;
 		$statement-&amp;gt;transaction_commit();&lt;br /&gt;
 &lt;br /&gt;
 		// return&lt;br /&gt;
 		return $statement;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Duplicity_Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		throw $e;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		$statement-&amp;gt;transaction_rollback();&lt;br /&gt;
 		Log::add_exception($e);&lt;br /&gt;
 		$this-&amp;gt;add_exception_error($e);&lt;br /&gt;
 		return NULL;&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.&lt;br /&gt;
&lt;br /&gt;
=== Použití zhotoveného parseru (třídy) ===&lt;br /&gt;
&lt;br /&gt;
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, aj.&lt;br /&gt;
&lt;br /&gt;
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:&lt;br /&gt;
&lt;br /&gt;
 private static $drivers = array&lt;br /&gt;
 (&lt;br /&gt;
 	// .....&lt;br /&gt;
 &lt;br /&gt;
 	/* FIO - CSV - Obtained from FIO e-banking  */&lt;br /&gt;
 	array&lt;br /&gt;
 	(&lt;br /&gt;
 		'name'		=&amp;gt; 'ABC CSV importer', // název&lt;br /&gt;
 		'class'		=&amp;gt; 'Abc_Csv_Bank_Statement_File_Importer', // třída&lt;br /&gt;
 		'bank_type'	=&amp;gt; Bank_account_Model::TYPE_ABC,&lt;br /&gt;
 		'extensions'	=&amp;gt; array('csv')&lt;br /&gt;
 	)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se váže bank. účet se zajišťuje, že nebude pouzit pro import nevhodný parser.&lt;br /&gt;
&lt;br /&gt;
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import z API ==&lt;br /&gt;
&lt;br /&gt;
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2188</id>
		<title>Tvorba parseru bankovních výpisů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&amp;diff=2188"/>
				<updated>2014-07-10T18:40:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Založena nová stránka: Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.  == Postup parseru pro import ze souboru ==  Budeme vytvářet parser pr...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.&lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import ze souboru ==&lt;br /&gt;
&lt;br /&gt;
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.&lt;br /&gt;
&lt;br /&gt;
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php defined('SYSPATH') or die('No direct script access.');&lt;br /&gt;
 /*&lt;br /&gt;
  * This file is part of open source system FreenetIS&lt;br /&gt;
  * and it is released under GPLv3 licence.&lt;br /&gt;
  * &lt;br /&gt;
  * More info about licence can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.gnu.org/licenses/gpl-3.0.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  * More info about project can be found:&lt;br /&gt;
  * &amp;lt;nowiki&amp;gt;http://www.freenetis.org/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  * &lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * Parser for ABC bank that parses CSV files.&lt;br /&gt;
  * &lt;br /&gt;
  * @author &amp;lt;vaše jméno&amp;gt;&lt;br /&gt;
  */&lt;br /&gt;
 class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer&lt;br /&gt;
 {&lt;br /&gt;
 	protected function check_file_data_format()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function get_header_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function parse_file_data()&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 	{&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this-&amp;gt;get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku nebo '''FALSE'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:&lt;br /&gt;
&lt;br /&gt;
 protected function get_header_data()&lt;br /&gt;
 {&lt;br /&gt;
 	// parsování hlavičky z get_file_data ....&lt;br /&gt;
 &lt;br /&gt;
 	$hd = new Header_Data(&amp;lt;číslo bank. účtu&amp;gt;, &amp;lt;číslo banky&amp;gt;);&lt;br /&gt;
 	// nepovinné vlastnosti, které se mohou používat v dalších metodách&lt;br /&gt;
 	$hd-&amp;gt;currency = 'CZK';&lt;br /&gt;
 	$hd-&amp;gt;openingBalance = &amp;lt;poč stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;closingBalance = &amp;lt;konečný stav&amp;gt;;&lt;br /&gt;
 	$hd-&amp;gt;dateStart = $fio_ph['from'];&lt;br /&gt;
 	$hd-&amp;gt;dateEnd = $fio_ph['to'];&lt;br /&gt;
 	// ...&lt;br /&gt;
 &lt;br /&gt;
 	return $hd;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme v třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku nebo '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' a '''add_exception_error(exception)'''.&lt;br /&gt;
&lt;br /&gt;
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:&lt;br /&gt;
&lt;br /&gt;
 protected function store(&amp;amp;$stats = array())&lt;br /&gt;
 {&lt;br /&gt;
 	$statement = new Bank_statement_Model();&lt;br /&gt;
 	$ba = $this-&amp;gt;get_bank_account();&lt;br /&gt;
 	$user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 &lt;br /&gt;
 	try&lt;br /&gt;
 	{&lt;br /&gt;
 		/* header */&lt;br /&gt;
 &lt;br /&gt;
 		$statement-&amp;gt;transaction_start();&lt;br /&gt;
 		$header = $this-&amp;gt;get_header_data();&lt;br /&gt;
 &lt;br /&gt;
 		// bank statement&lt;br /&gt;
 		$statement-&amp;gt;bank_account_id = $ba-&amp;gt;id;&lt;br /&gt;
 		$statement-&amp;gt;user_id = $this-&amp;gt;get_user_id();&lt;br /&gt;
 		$statement-&amp;gt;type = $this-&amp;gt;get_importer_name();&lt;br /&gt;
 		$statement-&amp;gt;from = $header-&amp;gt;dateStart;&lt;br /&gt;
 		$statement-&amp;gt;to = $header-&amp;gt;dateEnd;&lt;br /&gt;
 		$statement-&amp;gt;save_throwable();&lt;br /&gt;
 &lt;br /&gt;
 		/* transactions */&lt;br /&gt;
 &lt;br /&gt;
 		// preparation of system double-entry accounts&lt;br /&gt;
 		$member_fees = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);&lt;br /&gt;
 		$operating = ORM::factory('account')-&amp;gt;get_account_by_attribute(Account_attribute_Model::OPERATING);&lt;br /&gt;
 		$account = $ba-&amp;gt;get_related_account_by_attribute_id(Account_attribute_Model::BANK);&lt;br /&gt;
 &lt;br /&gt;
 		// model preparation&lt;br /&gt;
 		$bt = new Bank_transfer_Model();&lt;br /&gt;
 		$fee_model = new Fee_Model();&lt;br /&gt;
 &lt;br /&gt;
 		// statistics preparation&lt;br /&gt;
 		$stats['unidentified_nr'] = 0;&lt;br /&gt;
 		$stats['invoices'] = 0;&lt;br /&gt;
 		$stats['invoices_nr'] = 0;&lt;br /&gt;
 		$stats['member_fees'] = 0;&lt;br /&gt;
 		$stats['member_fees_nr'] = 0;&lt;br /&gt;
 		$stats['interests'] = 0;&lt;br /&gt;
 		$stats['interests_nr'] = 0;&lt;br /&gt;
 		$stats['deposits'] = 0;&lt;br /&gt;
 		$stats['deposits_nr'] = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// miscellaneous preparation&lt;br /&gt;
 		$now = date('Y-m-d H:i:s');&lt;br /&gt;
 		$number = 0;&lt;br /&gt;
 &lt;br /&gt;
 		// saving each bank listing item&lt;br /&gt;
 		foreach ($this-&amp;gt;preparedData as $item)&lt;br /&gt;
 		{&lt;br /&gt;
 			// try to find counter bank account in database&lt;br /&gt;
 			$counter_ba = ORM::factory('bank_account')-&amp;gt;where(array&lt;br /&gt;
 			(&lt;br /&gt;
 				'account_nr' =&amp;gt; $item['protiucet'],&lt;br /&gt;
 				'bank_nr'    =&amp;gt; $item['kod_banky']&lt;br /&gt;
 			))-&amp;gt;find();&lt;br /&gt;
 &lt;br /&gt;
 			// counter bank account does not exist? let's create new one&lt;br /&gt;
 			if (!$counter_ba-&amp;gt;id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$counter_ba-&amp;gt;clear();&lt;br /&gt;
 				$counter_ba-&amp;gt;set_logger(FALSE);&lt;br /&gt;
 				$counter_ba-&amp;gt;name = $item['nazev_protiuctu'];&lt;br /&gt;
 				$counter_ba-&amp;gt;account_nr = $item['protiucet'];&lt;br /&gt;
 				$counter_ba-&amp;gt;bank_nr = $item['kod_banky'];&lt;br /&gt;
 				$counter_ba-&amp;gt;member_id = NULL;&lt;br /&gt;
 				$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// inbound transfer - member fee&lt;br /&gt;
 				&lt;br /&gt;
 			// let's identify member&lt;br /&gt;
 			$member_id = $this-&amp;gt;find_member_by_vs($item['vs']);&lt;br /&gt;
 &lt;br /&gt;
  			if (!$member_id)&lt;br /&gt;
 			{&lt;br /&gt;
 				$stats['unidentified_nr']++;&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 			// double-entry incoming transfer&lt;br /&gt;
 			$transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 					$member_fees-&amp;gt;id, $account-&amp;gt;id, null, $member_id,&lt;br /&gt;
 					$user_id, null, $item['datum'], $now, $item['zprava'],&lt;br /&gt;
 					abs($item['castka'])&lt;br /&gt;
 			);&lt;br /&gt;
 			// incoming bank transfer&lt;br /&gt;
 			$bt-&amp;gt;clear();&lt;br /&gt;
 			$bt-&amp;gt;set_logger(false);&lt;br /&gt;
 			$bt-&amp;gt;origin_id = $counter_ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;destination_id = $ba-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transfer_id = $transfer_id;&lt;br /&gt;
 			$bt-&amp;gt;bank_statement_id = $statement-&amp;gt;id;&lt;br /&gt;
 			$bt-&amp;gt;transaction_code = $item['id_pohybu'];&lt;br /&gt;
 			$bt-&amp;gt;number = $number;&lt;br /&gt;
 			$bt-&amp;gt;constant_symbol = $item['ks'];&lt;br /&gt;
 			$bt-&amp;gt;variable_symbol = $item['vs'];&lt;br /&gt;
 			$bt-&amp;gt;specific_symbol = $item['ss'];&lt;br /&gt;
 			$bt-&amp;gt;save();&lt;br /&gt;
 &lt;br /&gt;
 			// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)&lt;br /&gt;
 			if ($member_id &amp;amp;&amp;amp; $member_id != Member_Model::ASSOCIATION)&lt;br /&gt;
 			{&lt;br /&gt;
 				$ca = ORM::factory('account')-&amp;gt;where('member_id', $member_id)-&amp;gt;find();&lt;br /&gt;
 				// has credit account?&lt;br /&gt;
 				if ($ca-&amp;gt;id)&lt;br /&gt;
 				{&lt;br /&gt;
 					// add affected member for notification&lt;br /&gt;
 					$this-&amp;gt;add_affected_member($member_id);&lt;br /&gt;
 &lt;br /&gt;
 					// assigning transfer&lt;br /&gt;
 					$a_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 							$account-&amp;gt;id, $ca-&amp;gt;id, $transfer_id, $member_id,&lt;br /&gt;
 							$user_id, null, $item['datum'], $now,&lt;br /&gt;
 							__('Assigning of transfer'), abs($item['castka'])&lt;br /&gt;
 					);&lt;br /&gt;
 &lt;br /&gt;
 					// transaction fee&lt;br /&gt;
 					$fee = $fee_model-&amp;gt;get_by_date_type($item['datum'], 'transfer fee');&lt;br /&gt;
 					if ($fee &amp;amp;&amp;amp; $fee-&amp;gt;fee &amp;gt; 0)&lt;br /&gt;
 					{&lt;br /&gt;
 						$tf_transfer_id = Transfer_Model::insert_transfer(&lt;br /&gt;
 								$ca-&amp;gt;id, $operating-&amp;gt;id, $transfer_id,&lt;br /&gt;
 								$member_id, $user_id, null, $item['datum'],&lt;br /&gt;
 								$now, __('Transfer fee'), $fee-&amp;gt;fee&lt;br /&gt;
 						);&lt;br /&gt;
 					}&lt;br /&gt;
 					&lt;br /&gt;
 					if (!$counter_ba-&amp;gt;member_id)&lt;br /&gt;
 					{&lt;br /&gt;
 						$counter_ba-&amp;gt;member_id = $member_id;&lt;br /&gt;
 						$counter_ba-&amp;gt;save_throwable();&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			// member fee stats&lt;br /&gt;
 			$stats['member_fees'] += abs($item['castka']);&lt;br /&gt;
 			$stats['member_fees_nr']++;&lt;br /&gt;
 &lt;br /&gt;
 			// line number increase&lt;br /&gt;
 			$number++;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		// done&lt;br /&gt;
 		$statement-&amp;gt;transaction_commit();&lt;br /&gt;
 &lt;br /&gt;
 		// return&lt;br /&gt;
 		return $statement;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Duplicity_Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		throw $e;&lt;br /&gt;
 	}&lt;br /&gt;
 	catch (Exception $e)&lt;br /&gt;
 	{&lt;br /&gt;
 		$statement-&amp;gt;transaction_rollback();&lt;br /&gt;
 		Log::add_exception($e);&lt;br /&gt;
 		$this-&amp;gt;add_exception_error($e);&lt;br /&gt;
 		return NULL;&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.&lt;br /&gt;
&lt;br /&gt;
=== Použití zhotoveného parseru (třídy) ===&lt;br /&gt;
&lt;br /&gt;
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, aj.&lt;br /&gt;
&lt;br /&gt;
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:&lt;br /&gt;
&lt;br /&gt;
 private static $drivers = array&lt;br /&gt;
 (&lt;br /&gt;
 	// .....&lt;br /&gt;
 &lt;br /&gt;
 	/* FIO - CSV - Obtained from FIO e-banking  */&lt;br /&gt;
 	array&lt;br /&gt;
 	(&lt;br /&gt;
 		'name'		=&amp;gt; 'ABC CSV importer', // název&lt;br /&gt;
 		'class'		=&amp;gt; 'Abc_Csv_Bank_Statement_File_Importer', // třída&lt;br /&gt;
 		'bank_type'	=&amp;gt; Bank_account_Model::TYPE_ABC,&lt;br /&gt;
 		'extensions'	=&amp;gt; array('csv')&lt;br /&gt;
 	)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se váže bank. účet se zajišťuje, že nebude pouzit pro import nevhodný parser.&lt;br /&gt;
&lt;br /&gt;
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser. &lt;br /&gt;
&lt;br /&gt;
== Postup parseru pro import z API ==&lt;br /&gt;
&lt;br /&gt;
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Hlavni_strana&amp;diff=2187</id>
		<title>Hlavni strana</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Hlavni_strana&amp;diff=2187"/>
				<updated>2014-07-10T17:04:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Vývojáři - hotové vlastnosti a pomůcky */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Main Page]]&lt;br /&gt;
[[ru:главная страница]]&lt;br /&gt;
Vítáme vás na dokumentační stránce systému FreenetIS!&lt;br /&gt;
&lt;br /&gt;
* [http://www.freenetis.org/ Co je to FreenetIS?]&lt;br /&gt;
* [[Často kladené dotazy]]&lt;br /&gt;
&lt;br /&gt;
* [[Speciální:Poslední změny]]&lt;br /&gt;
&lt;br /&gt;
= Uživatelé =&lt;br /&gt;
* [[Uživatelská příručka]]&lt;br /&gt;
* [[Správcovská příručka]]&lt;br /&gt;
* [[Hospodářská příručka]]&lt;br /&gt;
* [[Administrátorská příručka]]&lt;br /&gt;
&lt;br /&gt;
* [[Registrace nového uživatele - zájemce]]&lt;br /&gt;
* [[Změnit heslo]]&lt;br /&gt;
* [[Zobrazit zařízení]]&lt;br /&gt;
* [[Zobrazit práce]]&lt;br /&gt;
* [[Vyplnění žádosti o registraci zařízení do sítě]]&lt;br /&gt;
&lt;br /&gt;
= Správci sítě =&lt;br /&gt;
&lt;br /&gt;
* [[Instalace]]&lt;br /&gt;
* [[Co je třeba udělat po instalaci]]&lt;br /&gt;
* [[DHCP]] - pouze 1.1 a vyšší&lt;br /&gt;
* [[Upozorňování]]&lt;br /&gt;
* [[Logování]]&lt;br /&gt;
* [[Monitoring]]&lt;br /&gt;
* [[Zajištění kvality služeb (QoS)]]&lt;br /&gt;
* [[VoIP]]&lt;br /&gt;
* [[SNMP]]&lt;br /&gt;
* [[CGI_skripty]] - zjištění MAC adresy připojeného zařízení&lt;br /&gt;
&lt;br /&gt;
'''Postupy'''&lt;br /&gt;
* [[Admin - nastavení nového uživatele - zájemce]]                                               (Catman)&lt;br /&gt;
* [[Admin - přijetí zájemce za člena]]                                                           (Catman)&lt;br /&gt;
* [[Admin - přidat vysílací zařízení]] - Access point (AP)                                       (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen bezdrátově s NATem ]]                                  (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen bezdrátově s bridgem ]] - více zařízení na domácí síti (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen kabelem na LAN ]] - např. domácí router                (Catman)&lt;br /&gt;
* [[Změnit heslo]]      (Catman)&lt;br /&gt;
* [[Zobrazit zařízení]] (Catman)&lt;br /&gt;
* [[Zobrazit práce]]    (Catman)&lt;br /&gt;
&lt;br /&gt;
'''Nastavení systému'''&lt;br /&gt;
* [[SystemAdmin - nastavení Systém]]                     (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Email]]                      (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Odesílání upozornění]]       (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Export přihlášky]]           (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Uživatelská role Pokladník]] (Catman)&lt;br /&gt;
&lt;br /&gt;
* [[Instalace a nastavení serveru adresních bodů]]&lt;br /&gt;
&lt;br /&gt;
* [[Managovatelný switch]] - popis vnitřní logiky            (Dulík)&lt;br /&gt;
* [[Jak vložit switch na optické síti]] - včetně managementu (Catman)&lt;br /&gt;
&lt;br /&gt;
'''H@cky'''&lt;br /&gt;
* [[Mazání člena]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - hotové vlastnosti a pomůcky =&lt;br /&gt;
&lt;br /&gt;
* [[Specifikace]]&lt;br /&gt;
* [[Ekonomika]]&lt;br /&gt;
* [[i18n|i18n - internacionalizace]]&lt;br /&gt;
* [[Nastavení]]&lt;br /&gt;
* [[Verzování]]&lt;br /&gt;
* [[Přístupová práva]]&lt;br /&gt;
* [[Instalace ze zdrojových kódů]]&lt;br /&gt;
* [[Automatická změna struktury databáze]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Automatické testování]]&lt;br /&gt;
* [[Automatické testování v NetBeans]]&lt;br /&gt;
* [[Profiler]]&lt;br /&gt;
* [[Import a export databáze]]&lt;br /&gt;
* [[Smazání větve]]&lt;br /&gt;
* [[Vytvoření tagu]]&lt;br /&gt;
* [[Merge branche do trunku]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - postupy =&lt;br /&gt;
&lt;br /&gt;
* [[Tvorba parseru bankovních výpisů]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - budoucí možnosti a vlastnosti systému =&lt;br /&gt;
&lt;br /&gt;
* [[Integrace s QGIS]]&lt;br /&gt;
* [[Nový systém přístupových práv]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - organizační údaje a štábní kultura =&lt;br /&gt;
&lt;br /&gt;
* [[Štábní kultura]]&lt;br /&gt;
* [[Příručka stylu psaní]]&lt;br /&gt;
* [[Vývojová prostředí (IDE)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Speciální:Allpages|Všechny články na této wiki]]&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Logov%C3%A1n%C3%AD&amp;diff=2157</id>
		<title>Logování</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Logov%C3%A1n%C3%AD&amp;diff=2157"/>
				<updated>2014-03-23T13:38:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Logování akcí */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Login]]&lt;br /&gt;
[[ru:Логин]]&lt;br /&gt;
FreenetIS obsahuje několik druhů logování. Některá jsou defaultně součástí systému, jiné je nutné dodatečně doinstalovat.&lt;br /&gt;
&lt;br /&gt;
Nastavení logování je dostupné v nastavní FreenetISu v sekci logování.&lt;br /&gt;
&lt;br /&gt;
== Logování akcí (audit) ==&lt;br /&gt;
&lt;br /&gt;
Logování akcí umožňuje logovat uživatelské akce v systému a uchovávat je po dobu 31 dní. Obsahuje informaci o provedené akci, čas akce, modifikovaná data a uživatele, který ji provedl.&lt;br /&gt;
&lt;br /&gt;
== Logování přihlášení ==&lt;br /&gt;
&lt;br /&gt;
Logování uživatelských přístupů k  systému a zaznaménávání přístupových IP adres.&lt;br /&gt;
&lt;br /&gt;
== Logování provozu ==&lt;br /&gt;
&lt;br /&gt;
Logování provozu jednotlivých členů a jejich IP adres je podporován pomocí nástroje '''ulogd'''. Pomocí provozu se potom odvozuje rozdělení členů na aktivní a ostatní (aktivní = stahovač), hranice rozdělení lze konfigurovat v nastavení. Různé statistiky lze potom sledovat v sekci provoz.&lt;br /&gt;
&lt;br /&gt;
Instalace '''ulogu''' je posána [http://wiki.slavicin.unart.cz/index.php/Ulogd zde]. Jako přístupové údaje k databázi uveďte údaje o Vaší FreenetISové databázi a hodnotu procedure na '''UPDATE_CT'''.&lt;br /&gt;
&lt;br /&gt;
== Logování zařízení (Syslog) ==&lt;br /&gt;
&lt;br /&gt;
FreenetIS lze napojit na logování zařízení pomocí Syslogu. Návod na instalaci API pro syslog-ng je [http://dev.quimi.cz/projects/syslog-ng-mysql-api/wiki zde].&lt;br /&gt;
&lt;br /&gt;
Návod pro instalaci a konfiguraci syslog-ng je [http://wiki.slavicin.unart.cz/index.php/Syslog-ng zde].&lt;br /&gt;
&lt;br /&gt;
'''Jak nastavit Mikrotik RB''' &lt;br /&gt;
 /system logging action add name=fisremote remote=10.133.xx.xx src-address=10.133.yy.yy target=remote&lt;br /&gt;
 /system logging add action=fisremote prefix=vysilac_RB1 topics=warning,wireless,error,info, interface &lt;br /&gt;
&lt;br /&gt;
(remote je adresa stroje s běžícím syslog-ng + API,  src-address je adresa sledovaného RBčka,    prefix je pojmenování, ale není nutné)&lt;br /&gt;
&lt;br /&gt;
Po nainstalování a konfiguraci v nastavení FreenetISu jsou logovací zprávy dostupné u jednotlivých zařízení - objeví se nový odkaz.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2153</id>
		<title>Vytvoření tagu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2153"/>
				<updated>2014-03-19T22:24:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tag se vytváří při vydání stabilní verze z trunku, pomocí svn copy.&lt;br /&gt;
&lt;br /&gt;
 svn copy --username=&amp;lt;váš login&amp;gt; svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/trunk \&lt;br /&gt;
      svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/tags/&amp;lt;verze&amp;gt; -m &amp;quot;Vydani &amp;lt;verze&amp;gt;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2152</id>
		<title>CGI skripty</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2152"/>
				<updated>2014-02-11T15:42:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Získání MAC adresy z ISC DHCP serveru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en: CGI script]]&lt;br /&gt;
[[ru: CGI скрипт]]&lt;br /&gt;
&lt;br /&gt;
Podporu pro CGI skripty je možné zapnout v sekci nastavení.&lt;br /&gt;
&lt;br /&gt;
= Získání MAC adresy =&lt;br /&gt;
&lt;br /&gt;
FreenetIS umožňuje aktuálně získávat MAC adresu kromě SNMP i pomocí vlastních CGI skriptů, které si umístíte přímo na dotyčný router. Daný skript musí vracet pouze MAC adresu.&lt;br /&gt;
&lt;br /&gt;
Cesta ke skriptu je definována po povolení CGI skriptů v nastavení, přesněji v záložce Síť položkou '''URL pro ARP tabulku'''. Výchozí hodnota je '''&amp;lt;nowiki&amp;gt;http://{GATEWAY_IP_ADDRESS}/cgi-bin/arp.cgi?ip_address={IP_ADDRESS}&amp;lt;/nowiki&amp;gt;''', kde parametry '''{GATEWAY_IP_ADDRESS}''' a '''{IP_ADDRESS}''' budou nahrazeny za IP adresu brány a IP adresu, ke kterému je hledána MAC adresa. &lt;br /&gt;
&lt;br /&gt;
== Získání MAC adresy z ISC DHCP serveru ==&lt;br /&gt;
&lt;br /&gt;
=== Bash skript ===&lt;br /&gt;
&lt;br /&gt;
Instalace:&lt;br /&gt;
&lt;br /&gt;
* Zkopírujte skript do složky s CGI skripty&lt;br /&gt;
* Vytvořte log&lt;br /&gt;
 touch /var/log/arp.cgi.log &amp;amp;&amp;amp; chmod 0777 /var/log/arp.cgi.log&lt;br /&gt;
* Upravte konfiguraci (proměnná '''DHCP_LEASES_FILE''')&lt;br /&gt;
&lt;br /&gt;
Skript:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ################################################################################&lt;br /&gt;
 # This is a CGI script that allows to obtain MAC address from DHCP leases&lt;br /&gt;
 # by IP address that id retrieved via URL parameter.&lt;br /&gt;
 #&lt;br /&gt;
 # Authors:&lt;br /&gt;
 #	Michal Kliment &amp;lt;kliment@freenetis.org&amp;gt;&lt;br /&gt;
 #	Ondrej Fibich &amp;lt;fibich@freenetis.org&amp;gt;&lt;br /&gt;
 #&lt;br /&gt;
 # Version:&lt;br /&gt;
 #	0.1.2&lt;br /&gt;
 ################################################################################&lt;br /&gt;
 &lt;br /&gt;
 # config part ##################################################################&lt;br /&gt;
 &lt;br /&gt;
 # log (must be chmoded to 0777)&lt;br /&gt;
 LOG_FILE=/var/log/arp.cgi.log&lt;br /&gt;
 &lt;br /&gt;
 # DHCP leases file (change this according to your system)&lt;br /&gt;
 DHCP_LEASES_FILE=/var/lib/dhcp/dhcpd.leases&lt;br /&gt;
 #DEBIAN lenny:# DHCP_LEASES_FILE=/var/lib/dhcp3/dhcpd.leases&lt;br /&gt;
 &lt;br /&gt;
 # execute part #################################################################&lt;br /&gt;
 &lt;br /&gt;
 # get IP address from URL param&lt;br /&gt;
 ip_address=`echo $QUERY_STRING | sed 's/ip_address\=\([^&amp;amp;]\+\).*/\1/'`&lt;br /&gt;
 &lt;br /&gt;
 # print header&lt;br /&gt;
 echo &amp;quot;Content-type: text/plain&amp;quot;&lt;br /&gt;
 echo &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # DHCP leases file not exist/not readable&lt;br /&gt;
 if [ ! -r &amp;quot;$DHCP_LEASES_FILE&amp;quot; ]; then&lt;br /&gt;
 	echo &amp;quot;$DHCP_LEASES_FILE cannot be readed&amp;quot;&lt;br /&gt;
 	exit 1&lt;br /&gt;
 else&lt;br /&gt;
 	# get MAC&lt;br /&gt;
 	mac=`cat &amp;quot;$DHCP_LEASES_FILE&amp;quot; | grep -A6 &amp;quot;$ip_address&amp;quot; | &lt;br /&gt;
 		 grep &amp;quot;hardware ethernet&amp;quot; | sed -e 's/^[ \t]*//' | &lt;br /&gt;
 		 cut -d &amp;quot; &amp;quot; -f 3 | sed 's/;//'`&lt;br /&gt;
 	# print MAC&lt;br /&gt;
 	echo $mac&lt;br /&gt;
 	# log if writable&lt;br /&gt;
 	if [ -w &amp;quot;$LOG_FILE&amp;quot; ]; then&lt;br /&gt;
 		echo &amp;quot;`date -u` [INFO] IP=$ip_address, MAC=$mac&amp;quot; &amp;gt;&amp;gt; &amp;quot;$LOG_FILE&amp;quot;&lt;br /&gt;
 	fi&lt;br /&gt;
 fi&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2151</id>
		<title>CGI skripty</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2151"/>
				<updated>2014-02-10T09:47:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Získání MAC adresy z ISC DHCP serveru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en: CGI script]]&lt;br /&gt;
[[ru: CGI скрипт]]&lt;br /&gt;
&lt;br /&gt;
Podporu pro CGI skripty je možné zapnout v sekci nastavení.&lt;br /&gt;
&lt;br /&gt;
= Získání MAC adresy =&lt;br /&gt;
&lt;br /&gt;
FreenetIS umožňuje aktuálně získávat MAC adresu kromě SNMP i pomocí vlastních CGI skriptů, které si umístíte přímo na dotyčný router. Daný skript musí vracet pouze MAC adresu.&lt;br /&gt;
&lt;br /&gt;
Cesta ke skriptu je definována po povolení CGI skriptů v nastavení, přesněji v záložce Síť položkou '''URL pro ARP tabulku'''. Výchozí hodnota je '''&amp;lt;nowiki&amp;gt;http://{GATEWAY_IP_ADDRESS}/cgi-bin/arp.cgi?ip_address={IP_ADDRESS}&amp;lt;/nowiki&amp;gt;''', kde parametry '''{GATEWAY_IP_ADDRESS}''' a '''{IP_ADDRESS}''' budou nahrazeny za IP adresu brány a IP adresu, ke kterému je hledána MAC adresa. &lt;br /&gt;
&lt;br /&gt;
== Získání MAC adresy z ISC DHCP serveru ==&lt;br /&gt;
&lt;br /&gt;
Debian Squeeze a vyšší:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ip_address=`echo $QUERY_STRING | sed 's/ip_address\=\([^&amp;amp;]\+\).*/\1/'`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Content-type: text/plain&amp;quot;&lt;br /&gt;
 echo &amp;quot;&amp;quot;&lt;br /&gt;
 cat /var/lib/dhcp/dhcpd.leases | grep -A6 $ip_address | grep &amp;quot;hardware ethernet&amp;quot; | sed -e 's/^[ \t]*//' | cut -d &amp;quot; &amp;quot; -f 3 | sed 's/;//'&lt;br /&gt;
&lt;br /&gt;
Debian lenny a nižší:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ip_address=`echo $QUERY_STRING | sed 's/ip_address\=\([^&amp;amp;]\+\).*/\1/'`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Content-type: text/plain&amp;quot;&lt;br /&gt;
 echo &amp;quot;&amp;quot;&lt;br /&gt;
 cat /var/lib/dhcp3/dhcpd.leases | grep -A6 $ip_address | grep &amp;quot;hardware ethernet&amp;quot; | sed -e 's/^[ \t]*//' | cut -d &amp;quot; &amp;quot; -f 3 | sed 's/;//'&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2150</id>
		<title>CGI skripty</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2150"/>
				<updated>2014-02-10T09:35:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Získání MAC adresy z ISC DHCP serveru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en: CGI script]]&lt;br /&gt;
[[ru: CGI скрипт]]&lt;br /&gt;
&lt;br /&gt;
Podporu pro CGI skripty je možné zapnout v sekci nastavení.&lt;br /&gt;
&lt;br /&gt;
= Získání MAC adresy =&lt;br /&gt;
&lt;br /&gt;
FreenetIS umožňuje aktuálně získávat MAC adresu kromě SNMP i pomocí vlastních CGI skriptů, které si umístíte přímo na dotyčný router. Daný skript musí vracet pouze MAC adresu.&lt;br /&gt;
&lt;br /&gt;
Cesta ke skriptu je definována po povolení CGI skriptů v nastavení, přesněji v záložce Síť položkou '''URL pro ARP tabulku'''. Výchozí hodnota je '''&amp;lt;nowiki&amp;gt;http://{GATEWAY_IP_ADDRESS}/cgi-bin/arp.cgi?ip_address={IP_ADDRESS}&amp;lt;/nowiki&amp;gt;''', kde parametry '''{GATEWAY_IP_ADDRESS}''' a '''{IP_ADDRESS}''' budou nahrazeny za IP adresu brány a IP adresu, ke kterému je hledána MAC adresa. &lt;br /&gt;
&lt;br /&gt;
== Získání MAC adresy z ISC DHCP serveru ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ip_address=`echo $QUERY_STRING | sed 's/searchKey\=\([^&amp;amp;]\+\).*/\1/'`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Content-type: text/plain&amp;quot;&lt;br /&gt;
 echo &amp;quot;&amp;quot;&lt;br /&gt;
 cat /var/lib/dhcp/dhcpd.leases | grep -C2 $ip_address | grep &amp;quot;hardware ethernet&amp;quot; | sed -e 's/^[ \t]*//' | cut -d &amp;quot; &amp;quot; -f 3 | sed 's/;//'&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2149</id>
		<title>CGI skripty</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2149"/>
				<updated>2014-02-10T09:15:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Získání MAC adresy z ISC DHCP serveru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en: CGI script]]&lt;br /&gt;
[[ru: CGI скрипт]]&lt;br /&gt;
&lt;br /&gt;
Podporu pro CGI skripty je možné zapnout v sekci nastavení.&lt;br /&gt;
&lt;br /&gt;
= Získání MAC adresy =&lt;br /&gt;
&lt;br /&gt;
FreenetIS umožňuje aktuálně získávat MAC adresu kromě SNMP i pomocí vlastních CGI skriptů, které si umístíte přímo na dotyčný router. Daný skript musí vracet pouze MAC adresu.&lt;br /&gt;
&lt;br /&gt;
Cesta ke skriptu je definována po povolení CGI skriptů v nastavení, přesněji v záložce Síť položkou '''URL pro ARP tabulku'''. Výchozí hodnota je '''&amp;lt;nowiki&amp;gt;http://{GATEWAY_IP_ADDRESS}/cgi-bin/arp.cgi?ip_address={IP_ADDRESS}&amp;lt;/nowiki&amp;gt;''', kde parametry '''{GATEWAY_IP_ADDRESS}''' a '''{IP_ADDRESS}''' budou nahrazeny za IP adresu brány a IP adresu, ke kterému je hledána MAC adresa. &lt;br /&gt;
&lt;br /&gt;
== Získání MAC adresy z ISC DHCP serveru ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /usr/local/lib/bashlib&lt;br /&gt;
 echo &amp;quot;Content-type: text/plain&amp;quot;&lt;br /&gt;
 echo &amp;quot;&amp;quot;&lt;br /&gt;
 ip_address=`param ip_address`&lt;br /&gt;
 cat /var/lib/dhcp/dhcpd.leases | grep -C2 $ip_address | grep &amp;quot;hardware ethernet&amp;quot; | sed -e 's/^[ \t]*//' | cut -d &amp;quot; &amp;quot; -f 3 | sed 's/;//'&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2148</id>
		<title>CGI skripty</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=CGI_skripty&amp;diff=2148"/>
				<updated>2014-02-10T09:13:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Získání MAC adresy z ISC DHCP serveru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en: CGI script]]&lt;br /&gt;
[[ru: CGI скрипт]]&lt;br /&gt;
&lt;br /&gt;
Podporu pro CGI skripty je možné zapnout v sekci nastavení.&lt;br /&gt;
&lt;br /&gt;
= Získání MAC adresy =&lt;br /&gt;
&lt;br /&gt;
FreenetIS umožňuje aktuálně získávat MAC adresu kromě SNMP i pomocí vlastních CGI skriptů, které si umístíte přímo na dotyčný router. Daný skript musí vracet pouze MAC adresu.&lt;br /&gt;
&lt;br /&gt;
Cesta ke skriptu je definována po povolení CGI skriptů v nastavení, přesněji v záložce Síť položkou '''URL pro ARP tabulku'''. Výchozí hodnota je '''&amp;lt;nowiki&amp;gt;http://{GATEWAY_IP_ADDRESS}/cgi-bin/arp.cgi?ip_address={IP_ADDRESS}&amp;lt;/nowiki&amp;gt;''', kde parametry '''{GATEWAY_IP_ADDRESS}''' a '''{IP_ADDRESS}''' budou nahrazeny za IP adresu brány a IP adresu, ke kterému je hledána MAC adresa. &lt;br /&gt;
&lt;br /&gt;
== Získání MAC adresy z ISC DHCP serveru ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /usr/local/lib/bashlib&lt;br /&gt;
 echo &amp;quot;Content-type: text/plain&amp;quot;&lt;br /&gt;
 echo &amp;quot;&amp;quot;&lt;br /&gt;
 ip_address=`param ip_address`&lt;br /&gt;
 cat /var/lib/dhcp/dhcpd.leases | grep &amp;quot;hardware ethernet&amp;quot; | sed -e 's/^[ \t]*//' | cut -d &amp;quot; &amp;quot; -f 3 | sed 's/;//'&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2147</id>
		<title>Smazání větve</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2147"/>
				<updated>2014-02-03T14:45:08Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Deleting branches]]&lt;br /&gt;
Pokud je větev hotova a sloučená do hlavní větve, odstraníme ji z SVN příkazem:&lt;br /&gt;
&lt;br /&gt;
 svn delete --username=&amp;lt;váš login&amp;gt; &amp;lt;nowiki&amp;gt;svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/branches/&amp;lt;název větve&amp;gt;/&amp;lt;/nowiki&amp;gt; -m &amp;quot;Větev mažu, protože už je hotová a sloučená do hlavní větve&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2146</id>
		<title>Smazání větve</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2146"/>
				<updated>2014-02-03T14:44:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Deleting branches]]&lt;br /&gt;
Pokud je větev hotova a sloučená do hlavní větve, odstraníme ji z SVN příkazem:&lt;br /&gt;
&lt;br /&gt;
 svn delete --username=&amp;lt;váš login&amp;gt; &amp;lt;nowiki&amp;gt;svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/&amp;lt;/nowiki&amp;gt; -m &amp;quot;Větev mažu, protože už je hotová a sloučená do hlavní větve&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2145</id>
		<title>Smazání větve</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&amp;diff=2145"/>
				<updated>2014-02-03T14:39:40Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Deleting branches]]&lt;br /&gt;
Pokud je větev hotova a sloučená do hlavní větve, odstraníme ji z SVN příkazem:&lt;br /&gt;
&lt;br /&gt;
 svn delete &amp;lt;nowiki&amp;gt;https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/název_větve&amp;lt;/nowiki&amp;gt; -m &amp;quot;Větev mažu, protože už je hotová a sloučená do hlavní větve&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2144</id>
		<title>Instalace</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2144"/>
				<updated>2014-01-20T15:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Installation]]&lt;br /&gt;
[[ru:Установка]]&lt;br /&gt;
FreenetIS aktuálně podporuje instalaci skrze balíčkovací systém pro DEBIAN a jeho deriváty ''(instalace na jiné platformy je možná pomocí [[instalace ze zdrojových kódů]])''. FreenetIS rozdělen do několika samostatných balíků, kde každý je na sebe nezávislý.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Instalace probíha v několika krocích:&lt;br /&gt;
&lt;br /&gt;
1) Přidáme repozitář (následující řádky) do souboru ''/etc/apt/sources.list''.&lt;br /&gt;
&lt;br /&gt;
 ## FreenetIS stable repository&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;codename&amp;gt;'' nahraďte kódovým označením nainstalované verze debianu (např. wheezy).&lt;br /&gt;
&lt;br /&gt;
2) Stáhneme si klíč pro ověření balíků.&lt;br /&gt;
&lt;br /&gt;
 wget -O - &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/freenetis_repo.gpg.key&amp;lt;/nowiki&amp;gt; | apt-key add -&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujeme některý z balíků (např. freenetis)&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis''' obsahuje samotnou webovou aplikaci. Při instalaci tohoto balíku budete vyzváni, aby jste vybrali typ serveru.&lt;br /&gt;
&lt;br /&gt;
Po konfiguraci a nainstalování balíku spusťte v prohlížeči adresu, kterou jste vyplnily při instalaci a postupujte dle instrukcí ''(budete zadávat údaje k připojení k MySQL databázi a základní informace o Vašem sdružení)''.&lt;br /&gt;
&lt;br /&gt;
Balík jen konfigurovatelný v souboru ''/etc/freenetis/freenetis.conf''. Změny v konfiguračním tomto souboru musí být potvrzeny pomocí příkazu ''dpkg-reconfigure freenetis'', jinak se konfigurace nezmění.&lt;br /&gt;
&lt;br /&gt;
Pokud chcete povýšit FreenetIS 1.0 na 1.1, přejděte prosím na článek o [[povýšení systému]].&lt;br /&gt;
&lt;br /&gt;
=== Typ serveru ===&lt;br /&gt;
&lt;br /&gt;
Jsou zde dvě možnosti:&lt;br /&gt;
&lt;br /&gt;
* '''localhost''' - obvykle pokud chcete instalovat pro testovací účely&lt;br /&gt;
* '''ostatní (other)''' - nasazení na ostrý server s veřejným doménovým jménem (např. is.sdruzeni.cz)&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu localhost, nastavení pro vás končí a po samotné instalaci je FreenetIS dostupný na: '''http://localhost/freenetis'''.&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu ostatní, budete vyzváni k zadání '''jména serveru''' a '''protokolu'''.&lt;br /&gt;
&lt;br /&gt;
==== Jméno serveru ====&lt;br /&gt;
&lt;br /&gt;
Jméno serveru je URL cesta k instanci FreenetISu bez úvodní informace o protokolu. (t.j. pokud chcete FreenetIS umístit na ''http://is.sdruzeni.cz/'' vyplníme tuto položku na hodnotu ''is.sdruzeni.cz'').&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Aktuálně není podporována (a není ani plánována) instalace na podsložku (t.j. ''http://is.sdruzeni.cz/dir/'').&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Protokol ====&lt;br /&gt;
&lt;br /&gt;
Protokol je možné vyplnit buď na HTTP nebo na HTTPS. Pokud nechcete mít zabezpečenou verzi zvolte HTTP.&lt;br /&gt;
&lt;br /&gt;
V opačném případě je nutné ještě po samotné instalaci vygenerovat pro FreenetIS bezpečnostní klíče (pokud již nějaký samozřejmě nemáte). Postup pro vytvoření klíčů je například [http://www.akadia.com/services/ssh_test_certificate.html zde]. Vytvořené klíče (*.crt a *.key) po instalaci balíku zkopírujte do složky ''/etc/freenetis/https/'' (existuje až po instalaci) a přejmenujte je na ''ssl.crt'' a ''ssl.key''. Pokud máte klíče v podepsány certifikační autoritou (CA) dolňte do stejné složky ještě soubory ''sub.class1.server.ca.pem'' a ''ca.pem''. Po vložení všech potřebných souborů proveďte rekonfiguraci balíku (''dpkg-reconfigure freenetis'').&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-monitoring ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-monitoring''' obsahuje nástroje pro [http://wiki.freenetis.org/index.php/Monitoring monitoring zařízení].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Monitoring''' povolte monitoring a vyplňte IP adresu serveru, na který hodláte nainstalovat monitoring.&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-monitoring'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-monitoring&lt;br /&gt;
&lt;br /&gt;
Pro verzi debianu squeeze a niží ještě zpusťte:&lt;br /&gt;
&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS monitor daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor monitoringu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-monitoring.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-monitoring.conf)'' lze nastavit chování priorit ''(proměnná MAX_PRIORITY)''. Pokud nastavíte proměnnou na hodnotu 0, monitoring všech zařízení se bude spouštět ve stejném procesu. Pokud nastavíte hodnotu větší než 0, budou monitorována všechna zařízení s prioritou menší nebo rovnou této hodnotě v samostatném procesu pro každou z těchto priorit. Defaultně je tato hodnota nastavena na nulu.&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit monitoring a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění monitoringu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
* Zastavení monitoringu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-redirection ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-redirection''' obsahuje nástroje pro přesměrování, které je součástí systému [[upozorňování]].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Upozorňování''' vyplňte údaje v sekci přesměrování:&lt;br /&gt;
&lt;br /&gt;
* '''IP adresa brány''' - adresa počítače, na který budeme instalovat přesměrování&lt;br /&gt;
* '''Port pro samozrušení''' - doporučeno nastavit na 36001 (musí být shodné s nastavením v konfiguračním souboru přesměrování)&lt;br /&gt;
* '''Logo''' - logo zobrazované v hlavičce přesměrování&lt;br /&gt;
* '''Text pro odkaz na samozrušení přesměrování''' - pokud je přesměrování samozrušitelné, tento text je určen pro odkaz zobrazený v patičce stránky s přesměrování a po kliknutí na něj je přesměrování zrušeno.&lt;br /&gt;
&lt;br /&gt;
2) Předvyplňte jednotlivé zprávy pro přesměrování (sekce upozornění -&amp;gt; zprávy).&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujte balík '''freenetis-redirection'''. Během instalace budete vyzváni, aby jste zadali URL k Vašemu FreenetISu a vstupní rozhraní, na které budou aplikována přesměrovací pravidla. Dále potom IP adresu pro samozrušení přesměrování (libovolná, klidně neexistující IP adresa v síti, na kterou bude aplikováno pravidlo samozrušení přesměrování).&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-redirection&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
4) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS redirection sync daemon: OK&lt;br /&gt;
 Starting FreenetIS redirection HTTP deamon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor přsměrování aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-redirection.log&lt;br /&gt;
 less /var/log/freenetis-http-redirection.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-redirection.conf)'' lze nastavit chování přesměrování, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''PORT_WEB''' - číslo portu, který je presměrován&lt;br /&gt;
* '''PORT_REDIRECT''' - port, na který se přesměrovává provoz z PORT_WEB&lt;br /&gt;
* '''PORT_SELF_CANCEL''' - port pro samozrušení přesměrování (musí být shidný s hodnotou nastavenou ve FreenetISu)&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit přesměrování a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění přesměrování (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
* Zastavení přesměrování (okamžité)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-qos ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-qos''' obsahuje nástroje pro [[zajištění kvality služeb (QoS)]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''!!! Teto balík je podporován aktuálně pouze na Debian 6 (Squeeze) !!!'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Systém''' povolte QoS a poté v záložce '''QoS''' vyplňte údaje o vaší síti a zadejte globální omezení. (QoS lze nastavovat i u jednotlivých členů)&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-qos'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu a vstupní a výstupní rozhraní, na které budou aplikována QoS pravidla pro download a upload.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-qos&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS QoS daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor QoSu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-qos.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-qos.conf)'' lze nastavit chování QoSu, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit QoS a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění QoSu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
* Zastavení QoSu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-ssh-keys ==&lt;br /&gt;
&lt;br /&gt;
Tento balík umožňuje přistupovat k zařízení na němž je nainstalován skrze SSH. Správci jednotlivých zařízení představují uživatele, kteří na toto zařízení mají přístup. Skript obsažený v tomto balíku si z FreenetISu stahuje jejich veřejné klíče uložené ve FreenetISu a vkládá je do povolených klíčů v nastavení ssh.&lt;br /&gt;
&lt;br /&gt;
Instalace sestává pouze z nainstalování balíku '''freenetis-ssh-keys''' a s konfigurace dvou hodnot:&lt;br /&gt;
&lt;br /&gt;
* '''Cesta k FreenetISu''', ze kterého se stahují klíče&lt;br /&gt;
* '''ID zařízení z FreenetISu''' na něž se balík instaluje&lt;br /&gt;
&lt;br /&gt;
Stav lze pozorovat v logu: ''/var/log/freenetis-ssh-keys.log''&lt;br /&gt;
&lt;br /&gt;
=== Návod pro ostatní platformy nebo distribuce ===&lt;br /&gt;
&lt;br /&gt;
Ve složce ''/application/vendors/ssh-keys'' obsažené ve zdrojových kódech FreenetISu se nachází soubory: '''freenetis-ssh-keys-sync.sh''' a '''freenetis-ssh-keys.conf'''. Proveďte následující úkony:&lt;br /&gt;
&lt;br /&gt;
1) Připravte soubory&lt;br /&gt;
&lt;br /&gt;
 cd &amp;lt;složka se sdrojáky&amp;gt;&lt;br /&gt;
 mkdir -p /etc/freenetis/&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys-sync.sh /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 chmod u+x /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys.conf /etc/freenetis/freenetis-ssh-keys.conf&lt;br /&gt;
&lt;br /&gt;
2) Nastavte konfigurační soubor (''/etc/freenetis/freenetis-ssh-keys.conf'')&lt;br /&gt;
&lt;br /&gt;
3) Nastavte CRON (skript se bude spouštět každou minutu)&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;# /etc/cron.d/freenetis-ssh-keys: Regular CRON file for freenetis-ssh-keys package (triggered each minute)&amp;quot; &amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;SHELL=/bin/sh&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;* *     * * *   root    /usr/sbin/freenetis-ssh-keys-sync 1&amp;gt;&amp;gt;\&amp;quot;$LOG_FILE\&amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
&lt;br /&gt;
4) Restartujte CRON&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/cron restart&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2143</id>
		<title>Instalace ze zdrojových kódů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2143"/>
				<updated>2014-01-19T11:29:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Zprovoznění &amp;quot;plánovače&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Instalation from source code]]&lt;br /&gt;
[[ru:Установка из исходного кода]]&lt;br /&gt;
&lt;br /&gt;
'''Tento návod je určen pro vývojáře FreenetISu, pro distribuční účely je k dispozici [http://wiki.freenetis.org/index.php/Instalace instalace z balíčkovacích sytémů].'''&lt;br /&gt;
&lt;br /&gt;
FreenetIS můžete provozovat na jakémkoli serveru (včetně Windows), ale doporučená platforma je Linux.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Tento návod předpokládá použití distribuce Debian. U jiných distribucí bude postup podobný.&lt;br /&gt;
&lt;br /&gt;
==Příprava==&lt;br /&gt;
&lt;br /&gt;
Instalace PHP, Apache, MySQL a phpMyAdmina. Je potřeba být přihlášen jako root.&lt;br /&gt;
 apt-get install apache2 php5 php5-mysql php5-curl mysql-server phpmyadmin&lt;br /&gt;
&lt;br /&gt;
'''Podporované verze nástrojů'''&lt;br /&gt;
&lt;br /&gt;
* '''PHP''' verze 5.1.2 a vyšší&lt;br /&gt;
* '''MySQL''' verze 5.1.0 a vyšší&lt;br /&gt;
&lt;br /&gt;
===Locale===&lt;br /&gt;
Pro správnou funkci porovnání českých řetězců v PHP musíte mít nainstalované české UTF-8 locale. Takže:&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Vybrat:&lt;br /&gt;
&lt;br /&gt;
 cs_CZ.UTF-8&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
a restartovat apache:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl graceful&lt;br /&gt;
&lt;br /&gt;
===Apache===&lt;br /&gt;
&lt;br /&gt;
Pro správný běh Apache upravte soubor s konfigurací virtualhost-a, který na Debianu najdete takto:&lt;br /&gt;
*pokud jste žádný virtualhost zatím nenastavovali, jedná se o soubor /etc/apache2/sites-available/default&lt;br /&gt;
*pokud už nějaký virtualhost máte, pak bude nejspíš nakonfigurovaný v některém dalších souboru v adresáři /etc/apache2/sites-available/&lt;br /&gt;
&lt;br /&gt;
Do tohoto souboru přidejte následující řádky:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
         ServerAdmin webmaster@example.org&lt;br /&gt;
         ServerName  freenetis.example.org&lt;br /&gt;
         DocumentRoot /var/www/freenetis&lt;br /&gt;
         &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                 Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                 Order allow,deny&lt;br /&gt;
                 allow from all&lt;br /&gt;
         &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kde samozřejmě místo ServerAdmin a ServerName zadejte vaše údaje.&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Povolení mod_rewrite====&lt;br /&gt;
&lt;br /&gt;
Pokud jej nemáte povolený, tak jej povolte:&lt;br /&gt;
&lt;br /&gt;
 a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
V konfiguraci virtualhost-a Apache (z přecházející bodu), povolte pro adresář FreenetIS možnost přenastavování konfigurace Apache pomocí souboru .htaccess - do sekce Directory přidejte direktivu &amp;quot;AllowOverride All&amp;quot;. Tato sekce Directory by pak měl nakonec vypadat asi takto:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                allow from all&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
&lt;br /&gt;
Pro nastavení MySQL databáze je možné použít nespočet nástrojů a postupů. Pro každý z nich ale budete potřebovat uživatelské jméno a heslo pro přihlášení k vašemu MySQL serveru. Po instalaci existuje pouze jediný uživatel - root a jeho heslo je prázdné. Pokud jej zapomenete, změníte ho pomocí&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure mysql-server-VERZE&lt;br /&gt;
&lt;br /&gt;
kde VERZE označuje číslo verze MySQL serveru. U novějších verzích je to obvykle 5.1, u těch starších pak 5.0.&lt;br /&gt;
&lt;br /&gt;
====Pomocí phpMyAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://cs.wikipedia.org/wiki/PhpMyAdmin PhpMyAdmin] je pokročilý nástroj pro správu MySQL databázi přes webové rozhraní. Po instalaci je dostupný na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://IP adresa serveru/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nebo pokud pracujete na localhostu, tak i na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://localhost/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kliknětě na Oprávnění a pak na Přidat nového uživatele. Jméno uživatele zadejte libovolné (doporučeno freenetis). Počítač vyberte lokální (důležité z hlediska bezpečnosti). Heslo nastavte silné, pokud možno náhodně vygenerované (dobrý generátor je např [http://www.converter.cz/passgen/pswdgen.php zde]. Vyberte volbu &amp;quot;Vytvořit databázi stejného jména a přidělit všechna oprávnění&amp;quot; a vpravo dole klikněte na Proveď.&lt;br /&gt;
&lt;br /&gt;
==== Pomocí konzole====&lt;br /&gt;
&lt;br /&gt;
Phpmyadmin nemusíte využít, pak lze databázi vytvořit ručně. Nejprve je nutné se přihlásit do databáze, budete vyzváni na heslo databázového superuživatele.&lt;br /&gt;
&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
Po přihlášení v konzoli mysql pak napište tyto příkazy:&lt;br /&gt;
&lt;br /&gt;
 create database freenetis;&lt;br /&gt;
 create user 'freenetis'@'localhost' identified by 'heslo';&lt;br /&gt;
 grant all on freenetis.* to 'freenetis'@'localhost';&lt;br /&gt;
&lt;br /&gt;
==Stažení==&lt;br /&gt;
===Stažení z SVN===&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte SVN klienta, pak&lt;br /&gt;
 apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
teď si můžete FreenetIS stáhnout do adresáře /var/www/freenetis (v trunku je nejstabilnější verze, další SVN větve slouží pro vývoj a testování)&lt;br /&gt;
&lt;br /&gt;
 cd /var/www&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;svn+ssh://svn.code.sf.net/p/freenetis/code/freenetis/trunk freenetis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Povolte zápis do složek freenetis, freenetis/upload a vytvořte složku pro logování freenetis/logs:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 chmod ugo+w . upload&lt;br /&gt;
 mkdir -m 0777 logs&lt;br /&gt;
&lt;br /&gt;
FreenetIS se neustále vyvíjí, aktualizace si stáhnete příkazem:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
(což stáhne pouze modifikované soubory)&lt;br /&gt;
&lt;br /&gt;
===Commit log===&lt;br /&gt;
&lt;br /&gt;
Log oprav stable verze (trunk) je [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/trunk/kohana/?view=log dostupný zde]. &lt;br /&gt;
&lt;br /&gt;
V současné době již používáme systém vývoje pomocí různých větvích (např. testing a další) a do hlavní větve (trunk) posíláme jen fungující změny, takže počet chyb je nižší než v situaci pouze jedné vývojové větve, jako tomu bylo dříve.&lt;br /&gt;
&lt;br /&gt;
Souhrnný [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/?view=log log commitů do všech větví je zde].&lt;br /&gt;
&lt;br /&gt;
==Instalace==&lt;br /&gt;
&lt;br /&gt;
Nyní by se po zadání vámi zvolené adresy FreenetISu do prohlížeče měl objevit instalátor s uvítáním.&lt;br /&gt;
&lt;br /&gt;
===Nastavení konfigurace===&lt;br /&gt;
&lt;br /&gt;
V první části vás instalátor informuje, že je potřeba vytvořit soubor konfigurační soubor config.php. Klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
Nyní vás instalátor vyzve na zadání údajů pro přístup k MySQL serveru. Použijte údaje, které jste použili u přípravy MySQL a klikněte na Odeslat.&lt;br /&gt;
&lt;br /&gt;
Pokud jste zadali správné údaje, instalátor vás informuje, že nastavení konfigurace bylo dokončeno. Jinak vás upozorní, že se nepodařilo připojit k databázi s návrhy možných problémů.&lt;br /&gt;
&lt;br /&gt;
Až se vám podaří tyto chyby opravit, klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření config.php====&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako config.php do adresáře freenetis. '''Dokud tak neučiníte, v instalaci nebude možno pokračovat!'''&lt;br /&gt;
&lt;br /&gt;
===Samotná instalace===&lt;br /&gt;
&lt;br /&gt;
Nyní by se před vámi měla objevit samotná instalace s formulářem s informacemi o vašem sdružení. Po jeho vyplnění by měla být instalace hotova.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření .htaccess====&lt;br /&gt;
&lt;br /&gt;
Pokud jste zatrhli možnost Čistá URL a nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako .htaccess do adresáře freenetis. '''Pokud tak neučiníte, vaše instalace nemusí fungovat korektně!'''&lt;br /&gt;
&lt;br /&gt;
===Zprovoznění &amp;quot;plánovače&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
FreenetIS má v sobě vlastní scheduler který je potřeba pravidelně zpouštět z cronu. Do cronu přidejte tento řádek:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;* *     * * *   root    wget -O /dev/null  http://&amp;lt;hostname&amp;gt;/cs/scheduler/run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud používáte SSL s neověřeným nebo s neplatným certifikátem použijte:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;* *     * * *   root    wget -O /dev/null  https://&amp;lt;hostname&amp;gt;/cs/scheduler/run --no-check-certificate&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2142</id>
		<title>Povýšení verze FreenetISu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2142"/>
				<updated>2014-01-17T09:48:36Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Zakázání povýšení */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tato stránka pojednává o povýšení verzí FreenetISu pomocí [http://repository.freenetis.org/ Debian repozitářů].&lt;br /&gt;
&lt;br /&gt;
== Povýšení z 1.0 na 1.1 == &lt;br /&gt;
&lt;br /&gt;
Pro povýšení FreenetISu verze 1.0.* na 1.1.* je nutné změnit v souboru ''/etc/apt/sources.list'' repozitář nastavený pro FreenetIS z:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/final/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
na:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
Poté přeinstalovat balík freenetis na novější verzi z nového repozitáře:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
Po povýšení doporučujeme ihned zamířit do nastavení systému a zkontrolovat, zda jsou povoleny všechny potřebné moduly (ve verzi 1.1 je možné vypínat některé části systému).&lt;br /&gt;
&lt;br /&gt;
== Povýšení po vydání 1.1 ==&lt;br /&gt;
&lt;br /&gt;
Pokud budete využívat '''stable''' repozitář:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
budete mít vždy aktuální stabilní verzi FreenetISu. Například po vydání verze 1.2 Vám bude nabídnuta aktualizace na tuto novou verzi.&lt;br /&gt;
&lt;br /&gt;
== Zakázání povýšení ==&lt;br /&gt;
&lt;br /&gt;
Pokud byste si nepřáli aktualizovat. Můžete aktualizace balíku zakázat nebo začít využívat repozitář '''oldstable''', který obsahuje předchozí stabilní vydání (po vydání 1.2 bude tedy obsahovat verzi 1.1).&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2141</id>
		<title>Povýšení verze FreenetISu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2141"/>
				<updated>2014-01-17T09:48:07Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Zakázání povýšení */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tato stránka pojednává o povýšení verzí FreenetISu pomocí [http://repository.freenetis.org/ Debian repozitářů].&lt;br /&gt;
&lt;br /&gt;
== Povýšení z 1.0 na 1.1 == &lt;br /&gt;
&lt;br /&gt;
Pro povýšení FreenetISu verze 1.0.* na 1.1.* je nutné změnit v souboru ''/etc/apt/sources.list'' repozitář nastavený pro FreenetIS z:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/final/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
na:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
Poté přeinstalovat balík freenetis na novější verzi z nového repozitáře:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
Po povýšení doporučujeme ihned zamířit do nastavení systému a zkontrolovat, zda jsou povoleny všechny potřebné moduly (ve verzi 1.1 je možné vypínat některé části systému).&lt;br /&gt;
&lt;br /&gt;
== Povýšení po vydání 1.1 ==&lt;br /&gt;
&lt;br /&gt;
Pokud budete využívat '''stable''' repozitář:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
budete mít vždy aktuální stabilní verzi FreenetISu. Například po vydání verze 1.2 Vám bude nabídnuta aktualizace na tuto novou verzi.&lt;br /&gt;
&lt;br /&gt;
== Zakázání povýšení ==&lt;br /&gt;
&lt;br /&gt;
Pokud byste si nepřáli aktualizovat. Můžete aktualizace balíku zakázat nebo změnit repozitář na '''oldstable''' který obsahuje předchozí stabilní vydání (po vydání 1.2 bude tedy obsahovat verzi 1.1).&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2140</id>
		<title>Povýšení verze FreenetISu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2140"/>
				<updated>2014-01-17T09:47:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Povýšení po vydání 1.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tato stránka pojednává o povýšení verzí FreenetISu pomocí [http://repository.freenetis.org/ Debian repozitářů].&lt;br /&gt;
&lt;br /&gt;
== Povýšení z 1.0 na 1.1 == &lt;br /&gt;
&lt;br /&gt;
Pro povýšení FreenetISu verze 1.0.* na 1.1.* je nutné změnit v souboru ''/etc/apt/sources.list'' repozitář nastavený pro FreenetIS z:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/final/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
na:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
Poté přeinstalovat balík freenetis na novější verzi z nového repozitáře:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
Po povýšení doporučujeme ihned zamířit do nastavení systému a zkontrolovat, zda jsou povoleny všechny potřebné moduly (ve verzi 1.1 je možné vypínat některé části systému).&lt;br /&gt;
&lt;br /&gt;
== Povýšení po vydání 1.1 ==&lt;br /&gt;
&lt;br /&gt;
Pokud budete využívat '''stable''' repozitář:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
budete mít vždy aktuální stabilní verzi FreenetISu. Například po vydání verze 1.2 Vám bude nabídnuta aktualizace na tuto novou verzi.&lt;br /&gt;
&lt;br /&gt;
== Zakázání povýšení ==&lt;br /&gt;
&lt;br /&gt;
Pokud byste si nepřáli aktualizovat. Můžete aktualizace balíku zakázat, nebo změnit repozitář na '''oldstable''' který obsahuje předchozí stabilní vydání (po vydání 1.2 bude tedy obsahovat verzi 1.1).&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2139</id>
		<title>Povýšení verze FreenetISu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2139"/>
				<updated>2014-01-17T09:47:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Povýšení z 1.0 na 1.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tato stránka pojednává o povýšení verzí FreenetISu pomocí [http://repository.freenetis.org/ Debian repozitářů].&lt;br /&gt;
&lt;br /&gt;
== Povýšení z 1.0 na 1.1 == &lt;br /&gt;
&lt;br /&gt;
Pro povýšení FreenetISu verze 1.0.* na 1.1.* je nutné změnit v souboru ''/etc/apt/sources.list'' repozitář nastavený pro FreenetIS z:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/final/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
na:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
Poté přeinstalovat balík freenetis na novější verzi z nového repozitáře:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
Po povýšení doporučujeme ihned zamířit do nastavení systému a zkontrolovat, zda jsou povoleny všechny potřebné moduly (ve verzi 1.1 je možné vypínat některé části systému).&lt;br /&gt;
&lt;br /&gt;
== Povýšení po vydání 1.1 ==&lt;br /&gt;
&lt;br /&gt;
Pokud budete využívat '''stable''' repozitář:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
budete mít vždy aktuální stabilní verzi FreenetISu. Například po vydání verze 1.2 Vám bude nabídnuta aktualizace na tuto novou verzi.&lt;br /&gt;
Pokud byste si nepřáli aktualizovat. Můžete aktualizace balíku zakázat, nebo změnit repozitář na '''oldstable''', který obsahuje předchozí stabilní vydání (po vydání 1.2 bude tedy obsahovat verzi 1.1).&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_syst%C3%A9mu&amp;diff=2138</id>
		<title>Povýšení systému</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_syst%C3%A9mu&amp;diff=2138"/>
				<updated>2014-01-17T09:41:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Přesměrování na Povýšení verze FreenetISu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#PŘESMĚRUJ [[Povýšení verze FreenetISu]]&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2137</id>
		<title>Povýšení verze FreenetISu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&amp;diff=2137"/>
				<updated>2014-01-17T09:40:21Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Založena nová stránka: Tato stránka pojednává o povýšení verzí FreenetISu pomocí [http://repository.freenetis.org/ Debian repozitářů].  == Povýšení z 1.0 na 1.1 ==   Pro povýšení...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tato stránka pojednává o povýšení verzí FreenetISu pomocí [http://repository.freenetis.org/ Debian repozitářů].&lt;br /&gt;
&lt;br /&gt;
== Povýšení z 1.0 na 1.1 == &lt;br /&gt;
&lt;br /&gt;
Pro povýšení FreenetISu verze 1.0.* na 1.1.* je nutné změnit v souboru ''/etc/apt/sources.list'' repozitář nastavený pro FreenetIS z:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/final/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
na:&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
Poté přeinstalovat balík freenetis na novější verzi z nového repozitáře:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2136</id>
		<title>Instalace</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace&amp;diff=2136"/>
				<updated>2014-01-17T09:35:21Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Installation]]&lt;br /&gt;
[[ru:Установка]]&lt;br /&gt;
FreenetIS aktuálně podporuje instalaci skrze balíčkovací systém pro DEBIAN a jeho deriváty ''(instalace na jiné platformy je možná pomocí [[instalace ze zdrojových kódů]])''. FreenetIS rozdělen do několika samostatných balíků, kde každý je na sebe nezávislý.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Instalace probíha v několika krocích:&lt;br /&gt;
&lt;br /&gt;
1) Přidáme repozitář (následující řádky) do souboru ''/etc/apt/sources.list''.&lt;br /&gt;
&lt;br /&gt;
 ## FreenetIS final repository&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/stable/&amp;lt;/nowiki&amp;gt; &amp;lt;codename&amp;gt; main&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;codename&amp;gt;'' nahraďte kódovým označením nainstalované verze debianu (např. squeeze).&lt;br /&gt;
&lt;br /&gt;
2) Stáhneme si klíč pro ověření balíků.&lt;br /&gt;
&lt;br /&gt;
 wget -O - &amp;lt;nowiki&amp;gt;http://repository.freenetis.org/debian/freenetis_repo.gpg.key&amp;lt;/nowiki&amp;gt; | apt-key add -&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujeme některý z balíků (např. freenetis)&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install freenetis&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis''' obsahuje samotnou webovou aplikaci. Při instalaci tohoto balíku budete vyzváni, aby jste vybrali typ serveru.&lt;br /&gt;
&lt;br /&gt;
Po konfiguraci a nainstalování balíku spusťte v prohlížeči adresu, kterou jste vyplnily při instalaci a postupujte dle instrukcí ''(budete zadávat údaje k připojení k MySQL databázi a základní informace o Vašem sdružení)''.&lt;br /&gt;
&lt;br /&gt;
Balík jen konfigurovatelný v souboru ''/etc/freenetis/freenetis.conf''. Změny v konfiguračním tomto souboru musí být potvrzeny pomocí příkazu ''dpkg-reconfigure freenetis'', jinak se konfigurace nezmění.&lt;br /&gt;
&lt;br /&gt;
Pokud chcete povýšit FreenetIS 1.0 na 1.1, přejděte prosím na článek o [[povýšení systému]].&lt;br /&gt;
&lt;br /&gt;
=== Typ serveru ===&lt;br /&gt;
&lt;br /&gt;
Jsou zde dvě možnosti:&lt;br /&gt;
&lt;br /&gt;
* '''localhost''' - obvykle pokud chcete instalovat pro testovací účely&lt;br /&gt;
* '''ostatní (other)''' - nasazení na ostrý server s veřejným doménovým jménem (např. is.sdruzeni.cz)&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu localhost, nastavení pro vás končí a po samotné instalaci je FreenetIS dostupný na: '''http://localhost/freenetis'''.&lt;br /&gt;
&lt;br /&gt;
Pokud vyberete jako typ serveru hodnotu ostatní, budete vyzváni k zadání '''jména serveru''' a '''protokolu'''.&lt;br /&gt;
&lt;br /&gt;
==== Jméno serveru ====&lt;br /&gt;
&lt;br /&gt;
Jméno serveru je URL cesta k instanci FreenetISu bez úvodní informace o protokolu. (t.j. pokud chcete FreenetIS umístit na ''http://is.sdruzeni.cz/'' vyplníme tuto položku na hodnotu ''is.sdruzeni.cz'').&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Aktuálně není podporována (a není ani plánována) instalace na podsložku (t.j. ''http://is.sdruzeni.cz/dir/'').&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Protokol ====&lt;br /&gt;
&lt;br /&gt;
Protokol je možné vyplnit buď na HTTP nebo na HTTPS. Pokud nechcete mít zabezpečenou verzi zvolte HTTP.&lt;br /&gt;
&lt;br /&gt;
V opačném případě je nutné ještě po samotné instalaci vygenerovat pro FreenetIS bezpečnostní klíče (pokud již nějaký samozřejmě nemáte). Postup pro vytvoření klíčů je například [http://www.akadia.com/services/ssh_test_certificate.html zde]. Vytvořené klíče (*.crt a *.key) po instalaci balíku zkopírujte do složky ''/etc/freenetis/https/'' (existuje až po instalaci) a přejmenujte je na ''ssl.crt'' a ''ssl.key''. Pokud máte klíče v podepsány certifikační autoritou (CA) dolňte do stejné složky ještě soubory ''sub.class1.server.ca.pem'' a ''ca.pem''. Po vložení všech potřebných souborů proveďte rekonfiguraci balíku (''dpkg-reconfigure freenetis'').&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-monitoring ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-monitoring''' obsahuje nástroje pro [http://wiki.freenetis.org/index.php/Monitoring monitoring zařízení].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Monitoring''' povolte monitoring a vyplňte IP adresu serveru, na který hodláte nainstalovat monitoring.&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-monitoring'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-monitoring&lt;br /&gt;
&lt;br /&gt;
Pro verzi debianu squeeze a niží ještě zpusťte:&lt;br /&gt;
&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS monitor daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor monitoringu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-monitoring.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-monitoring.conf)'' lze nastavit chování priorit ''(proměnná MAX_PRIORITY)''. Pokud nastavíte proměnnou na hodnotu 0, monitoring všech zařízení se bude spouštět ve stejném procesu. Pokud nastavíte hodnotu větší než 0, budou monitorována všechna zařízení s prioritou menší nebo rovnou této hodnotě v samostatném procesu pro každou z těchto priorit. Defaultně je tato hodnota nastavena na nulu.&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit monitoring a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění monitoringu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring start&lt;br /&gt;
&lt;br /&gt;
* Zastavení monitoringu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-monitoring status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-redirection ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-redirection''' obsahuje nástroje pro přesměrování, které je součástí systému [[upozorňování]].&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Upozorňování''' vyplňte údaje v sekci přesměrování:&lt;br /&gt;
&lt;br /&gt;
* '''IP adresa brány''' - adresa počítače, na který budeme instalovat přesměrování&lt;br /&gt;
* '''Port pro samozrušení''' - doporučeno nastavit na 36001 (musí být shodné s nastavením v konfiguračním souboru přesměrování)&lt;br /&gt;
* '''Logo''' - logo zobrazované v hlavičce přesměrování&lt;br /&gt;
* '''Text pro odkaz na samozrušení přesměrování''' - pokud je přesměrování samozrušitelné, tento text je určen pro odkaz zobrazený v patičce stránky s přesměrování a po kliknutí na něj je přesměrování zrušeno.&lt;br /&gt;
&lt;br /&gt;
2) Předvyplňte jednotlivé zprávy pro přesměrování (sekce upozornění -&amp;gt; zprávy).&lt;br /&gt;
&lt;br /&gt;
3) Nainstalujte balík '''freenetis-redirection'''. Během instalace budete vyzváni, aby jste zadali URL k Vašemu FreenetISu a vstupní rozhraní, na které budou aplikována přesměrovací pravidla. Dále potom IP adresu pro samozrušení přesměrování (libovolná, klidně neexistující IP adresa v síti, na kterou bude aplikováno pravidlo samozrušení přesměrování).&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-redirection&lt;br /&gt;
 module-assistant auto-install ipset-source&lt;br /&gt;
&lt;br /&gt;
4) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS redirection sync daemon: OK&lt;br /&gt;
 Starting FreenetIS redirection HTTP deamon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor přsměrování aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-redirection.log&lt;br /&gt;
 less /var/log/freenetis-http-redirection.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-redirection.conf)'' lze nastavit chování přesměrování, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''PORT_WEB''' - číslo portu, který je presměrován&lt;br /&gt;
* '''PORT_REDIRECT''' - port, na který se přesměrovává provoz z PORT_WEB&lt;br /&gt;
* '''PORT_SELF_CANCEL''' - port pro samozrušení přesměrování (musí být shidný s hodnotou nastavenou ve FreenetISu)&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit přesměrování a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění přesměrování (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection start&lt;br /&gt;
&lt;br /&gt;
* Zastavení přesměrování (okamžité)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-redirection status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-qos ==&lt;br /&gt;
&lt;br /&gt;
Balík '''freenetis-qos''' obsahuje nástroje pro [[zajištění kvality služeb (QoS)]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''!!! Teto balík je podporován aktuálně pouze na Debian 6 (Squeeze) !!!'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalace ===&lt;br /&gt;
&lt;br /&gt;
1) Ve Vašem FreenetISu v sekci '''Nastavení''' v záložce '''Systém''' povolte QoS a poté v záložce '''QoS''' vyplňte údaje o vaší síti a zadejte globální omezení. (QoS lze nastavovat i u jednotlivých členů)&lt;br /&gt;
&lt;br /&gt;
2) Nainstalujte balík '''freenetis-qos'''. Během instalace budete vyzváni, aby jste zadalu URL k Vašemu FreenetISu a vstupní a výstupní rozhraní, na které budou aplikována QoS pravidla pro download a upload.&lt;br /&gt;
&lt;br /&gt;
 apt-get install freenetis-qos&lt;br /&gt;
&lt;br /&gt;
3) Spusťte deamon (při dalších startech operačního systému již bude spoustěn automaticky)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán řetězec:&lt;br /&gt;
&lt;br /&gt;
 Starting FreenetIS QoS daemon: OK&lt;br /&gt;
&lt;br /&gt;
Vše je nainstalováno v pořádku a ve Vašem FreenetISu by měl být indikátor QoSu aktivní.&lt;br /&gt;
&lt;br /&gt;
Pokud je vypsán jiný řetězec, nastala nějaká chyba. Její detaily lze nalést následovně:&lt;br /&gt;
&lt;br /&gt;
 less /var/log/freenetis-qos.log&lt;br /&gt;
&lt;br /&gt;
=== Konfigurace ===&lt;br /&gt;
&lt;br /&gt;
V konfiguračním souboru ''(/etc/freenetis/freenetis-qos.conf)'' lze nastavit chování QoSu, k dispozici jsou následující možnosti (zbytek nastavení je načítáno z FreenetISu):&lt;br /&gt;
&lt;br /&gt;
* '''DELAY''' - počet sekund mezi aktualizací dat z FreenetISu (defaultně 60 - doporučeno ponechat)&lt;br /&gt;
&lt;br /&gt;
Po změně konfigurace je nutné zastavit QoS a znovu jej spustit.&lt;br /&gt;
&lt;br /&gt;
=== Ovládání ===&lt;br /&gt;
&lt;br /&gt;
Jsou k dospozici následující příkazy:&lt;br /&gt;
&lt;br /&gt;
* Spuštění QoSu (automaticky se startuje po každém bootu)&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos start&lt;br /&gt;
&lt;br /&gt;
* Zastavení QoSu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos stop&lt;br /&gt;
&lt;br /&gt;
* Zjištění stavu&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/freenetis-qos status&lt;br /&gt;
&lt;br /&gt;
== Balík freenetis-ssh-keys ==&lt;br /&gt;
&lt;br /&gt;
Tento balík umožňuje přistupovat k zařízení na němž je nainstalován skrze SSH. Správci jednotlivých zařízení představují uživatele, kteří na toto zařízení mají přístup. Skript obsažený v tomto balíku si z FreenetISu stahuje jejich veřejné klíče uložené ve FreenetISu a vkládá je do povolených klíčů v nastavení ssh.&lt;br /&gt;
&lt;br /&gt;
Instalace sestává pouze z nainstalování balíku '''freenetis-ssh-keys''' a s konfigurace dvou hodnot:&lt;br /&gt;
&lt;br /&gt;
* '''Cesta k FreenetISu''', ze kterého se stahují klíče&lt;br /&gt;
* '''ID zařízení z FreenetISu''' na něž se balík instaluje&lt;br /&gt;
&lt;br /&gt;
Stav lze pozorovat v logu: ''/var/log/freenetis-ssh-keys.log''&lt;br /&gt;
&lt;br /&gt;
=== Návod pro ostatní platformy nebo distribuce ===&lt;br /&gt;
&lt;br /&gt;
Ve složce ''/application/vendors/ssh-keys'' obsažené ve zdrojových kódech FreenetISu se nachází soubory: '''freenetis-ssh-keys-sync.sh''' a '''freenetis-ssh-keys.conf'''. Proveďte následující úkony:&lt;br /&gt;
&lt;br /&gt;
1) Připravte soubory&lt;br /&gt;
&lt;br /&gt;
 cd &amp;lt;složka se sdrojáky&amp;gt;&lt;br /&gt;
 mkdir -p /etc/freenetis/&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys-sync.sh /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 chmod u+x /usr/sbin/freenetis-ssh-keys-sync&lt;br /&gt;
 cp ./application/vendors/ssh-keys/freenetis-ssh-keys.conf /etc/freenetis/freenetis-ssh-keys.conf&lt;br /&gt;
&lt;br /&gt;
2) Nastavte konfigurační soubor (''/etc/freenetis/freenetis-ssh-keys.conf'')&lt;br /&gt;
&lt;br /&gt;
3) Nastavte CRON (skript se bude spouštět každou minutu)&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;# /etc/cron.d/freenetis-ssh-keys: Regular CRON file for freenetis-ssh-keys package (triggered each minute)&amp;quot; &amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;SHELL=/bin/sh&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
 echo &amp;quot;* *     * * *   root    /usr/sbin/freenetis-ssh-keys-sync 1&amp;gt;&amp;gt;\&amp;quot;$LOG_FILE\&amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/cron.d/freenetis-ssh-keys&lt;br /&gt;
&lt;br /&gt;
4) Restartujte CRON&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/cron restart&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Merge_branche_do_trunku&amp;diff=2135</id>
		<title>Merge branche do trunku</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Merge_branche_do_trunku&amp;diff=2135"/>
				<updated>2014-01-16T16:39:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Branch merge to trunk]]&lt;br /&gt;
1. Checkout trunku a testingu&lt;br /&gt;
&lt;br /&gt;
 svn checkout http://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/testing testing&lt;br /&gt;
 svn checkout http://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/trunk trunk&lt;br /&gt;
&lt;br /&gt;
2. Ve složce trunk odstranit všechny soubory kromě svn&lt;br /&gt;
&lt;br /&gt;
 rm `find trunk -type f | grep -v [.]svn`&lt;br /&gt;
&lt;br /&gt;
3. Ve složce testing odstranit všechny složky .svn&lt;br /&gt;
&lt;br /&gt;
 rm -rf `find testing -type d -name .svn`&lt;br /&gt;
&lt;br /&gt;
4. Manuálně překopírovat soubory z testingu do trunku&lt;br /&gt;
&lt;br /&gt;
5. Commitnout do trunku (kvůli smazaným souborům je nutno commitnout dvakrát)&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=P%C5%99esm%C4%9Brov%C3%A1n%C3%AD&amp;diff=2025</id>
		<title>Přesměrování</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=P%C5%99esm%C4%9Brov%C3%A1n%C3%AD&amp;diff=2025"/>
				<updated>2013-11-07T18:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Instalace ze zdrojových souborů */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Úvod ==&lt;br /&gt;
&lt;br /&gt;
Toto je finální verze k právě dodělanému modulu přesměrování (červenec 2011). V Unartu Slavičín jsme používali přesměrování napsané s poněkud provizorním návrhem, protože jsme poměrně akutně potřebovali blokovat lidi, kteří neplatili internet. Dříve jsme k tomuto účelu používali přesměrování pomocí firewallu v Mikrotiku, ale toto bylo velmi nešťastné a nepraktické řešení. Konfigurace více než stovky Mikrotiků byla problematická a v praxi to nebylo dlouhodobě použitelné. V roce 2008 během prázdnin, kdy jsme ve FreenetISu dopsali finanční část, která je založená na podvojném účetnictví, jsme potřebovali informace získané o kreditech členů nějak využít. Rozhodli jsme se zabudovat přesměrování do FreenetISu. Výsledný modul tehdy nebyl úplně nejlíp navržený, ale velmi nám pomohl udělat pořádek. Po čase začali růst požadavky a rostla potřeba nových vlastností. Do vývoje FreenetISu se zapojil Lubomír Buben z Hkfree a jeden z modulů, na kterém chtěl pracovat, bylo právě přesměrování. Bohužel ani jemu se nepodařilo dotáhnout výsledek do konce.&lt;br /&gt;
Dokumentace na této stránce je napsaná až v červenci 2011, kdy konečně nová verze přesměrování byla dokončená.&lt;br /&gt;
&lt;br /&gt;
== K čemu to je dobré? ==&lt;br /&gt;
&lt;br /&gt;
Přesměrování lze využít k blokování přístupu členů na internet z různých důvodů. Jednak je možné takto blokovat lidi, jejichž IP adresa zařízení není v databázi. Dále je možné zablokovat internet lidem, kteří si přerušili členství, anebo nemají zaplaceny členské příspěvky. Přesměrování lze také využít k informování členů o blížící se valné hromadě, o plánovaném výpadku připojení, o možnosti přechodu na novou bezdrátovou technologii apod.&lt;br /&gt;
&lt;br /&gt;
== Jak to funguje? ==&lt;br /&gt;
&lt;br /&gt;
Na jedné straně je FreenetIS, ve kterém je kompletní evidence o tom, čí IP adresy mají být přesměrovány. Toto všechno spravuje administrátor FreenetISu nebo hospodář nebo jiný člověk, který tyto věci ve sdružení řeší. On si určí, kdy koho chce zablokovat, kdy komu povolí internet a kdy dá někomu privilegium, aby se na něj přesměrování nevztahovalo.&lt;br /&gt;
&lt;br /&gt;
Na druhé straně je centrální router nebo také brána do internetu. Obvykle je to nějaký stroj s Linuxem, přes který teče provoz ze sítě do internetu a na kterém běží firewall, případně další služby jako DNS atd. Na tomto stroji je cronem spouštěn synchronizační skript v pravidelném intervalu (u nás jedna minuta). Tento skript si stáhne ze speciálních stránek FreenetISu dvě informace. Seznam síťových adres s maskou a seznam povolených IP adres. Skript vezme tyto rozsahy a IP adresy a naplní jimi ipsety v jádře (k tomuto je modul ipset). Následně vygeneruje pravidla pro firewall iptables, na základě kterých pak dochází k přesměrování. Firewall tedy přesměruje ty IP adresy, které chtějí jít na internet, spadají do načtených rozsahů, ale nejsou v seznamu povolených IP adres. To znamená, že přesměrování se uplatňuje jen pro ty podsítě v systému, pro které chce administrátor. Přesměrovány jsou jednak neznámé IP adresy (jinak by byly poslány s v seznamu povolených) a pak ty, které chceme přesměrovat (z pohledu centrálního routeru jde o vyřazení ze seznamu povolených). Toto přesměrování provádí firewall na jiný port (u nás to je 36000) centrálního routeru. Na tomto portu běží lehký webový server,&lt;br /&gt;
který na tomto portu dělá jednoduchý HTTP redirect na jinou stránku. V našem případě jde o stránku FreenetISu vyhrazenou k tomuto účelu, např. freenetis.domena.cz/redirection.&lt;br /&gt;
&lt;br /&gt;
Vracíme se zpět k FreenetISu. FreenetIS si podle IP adresy návštěvníka na této stránce dohledá ve své databázi důvod přesměrování a uživateli zobrazí příslušnou zprávu. Některé zprávy si může uživatel sám zrušit, toto se hodí pro zprávy pouze informativního charakteru. Uživatel v tomto případě klikne na příslušný odkaz a je mu zobrazen rozcestník, na kterém může pokračovat do internetu. Musí ovšem počkat dobu trvání synchronizačního cyklu (u nás jedna minuta) než dojde k aktualizaci informace přesměrování na centrálním routeru.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Typy zpráv ==&lt;br /&gt;
&lt;br /&gt;
Existuje několik zpráv, které mají různé vlastnosti. Po instalaci obsahuje systém pouze systémové zprávy. Není možné je mazat, protože jsou vázané na konkrétní funkcionalitu v systému.&lt;br /&gt;
&lt;br /&gt;
* Neznámé zařízení&lt;br /&gt;
* Přerušené členství&lt;br /&gt;
* Dlužník&lt;br /&gt;
* Upozornění na placení - člen ho může sám vypnout oproti přesměrování &amp;quot;Dlužník&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Uživatelské zprávy - administrátor si může nadefinovat vlastní zprávy s libovolnými vlastnostmi&lt;br /&gt;
&lt;br /&gt;
Při úpravě zpráv je možné použít html tagy i speciální tagy FreenetISu. Například {member_name} je speciální tag napsaný v editoru zprávy.&lt;br /&gt;
Uživateli se však místo toho zobrazí jeho jméno, v případě, že IP adresa návštěvníka patří nějakému členovi, jinak jsou zobrazeny tři otazníky ???. Lze použít tagy&lt;br /&gt;
&lt;br /&gt;
* {ip_address} - IP adresa návštěvníka&lt;br /&gt;
* {subnet_name} - jméno podsítě IP adresy návštěvníka&lt;br /&gt;
* {member_name} - jméno člena&lt;br /&gt;
* {member_id} - ID člena&lt;br /&gt;
* {balance} - stav kreditu člena&lt;br /&gt;
* {variable_symbol} - variabilní symbol člena&lt;br /&gt;
* {comment} - osobní komentář přesměrovanému konkrétnímu členovi od administrátora&lt;br /&gt;
&lt;br /&gt;
Dalším konceptem je bílá listina. Na bílou listinu jsou umísťovány IP adresy členů, na něž se nemá přesměrování používat. Existuje trvalá bílá listina určená pro důležité partnery, obecní úřady apod.&lt;br /&gt;
&lt;br /&gt;
Dále pak dočasná bílá listina, kdy člen je přesměrován, protože neměl zaplaceno. On ale potřebuje aktivovat internet hned, aby mohl zaplatit třeba přes internetové bankovnictví nebo i z jiného důvodu. Je proto umístěn na dočasnou bílou listinu, ze které bude smazán při příštím importu výpisu. Výhledově je možné tuto funkcionalitu rozšířit o nějaký pevný čas, např. 3 dny při každodenním importu plateb nebo o individuální čas. Účel bílé listiny ale zůstává stejný.&lt;br /&gt;
&lt;br /&gt;
== Instalace ze zdrojových souborů ==&lt;br /&gt;
&lt;br /&gt;
'''Tento postup instalace je zde pro vývojářské účely. Koncový uživatelé by měli instalovat pomocí balíku [http://wiki.freenetis.org/index.php/Instalace#Bal.C3.ADk_freenetis-redirection frenetis-redirection].'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;UPOZORNĚNÍ: Tento text je zastaralý, aktuální zdrojové kódy k přesměrování jsou [https://github.com/freenetis/freenetis-redirection zde].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Co je potřeba nastavit na straně FreenetISu? ===&lt;br /&gt;
&lt;br /&gt;
Je potřeba vyplnit nastavení v menu Přesměrování. Informace o jednotlivých položkách je v programové nápovědě. Dále je potřeba napsat texty minimálně pro systémové zprávy. Je možné využít html tagů i speciálních tagů ve složených závorkách. &lt;br /&gt;
&lt;br /&gt;
Pokud máte již FreenetIS nainstalovaný, tak musíte ještě upravit váš soubor .htaccess. V něm přidejte povolení přístupu pro stránku redirection a smažte povolení přístupu pro stránku static. Výsledné pravidlo pak může vypadat např. takto:&lt;br /&gt;
&lt;br /&gt;
  # URL containing these strings will not be rewrited.&lt;br /&gt;
  RewriteCond $1 ^(index\.php|robots\.txt|favicon\.ico|media|redirection|backuppc)&lt;br /&gt;
  RewriteRule ^(.*)$ - [PT,L]&lt;br /&gt;
&lt;br /&gt;
Toto se netýká nových instalací FreenetISu, jim by už měl být .htaccess vygenerován správně instalátorem.&lt;br /&gt;
&lt;br /&gt;
=== Co je potřeba nastavit na straně centrálního routeru? ===&lt;br /&gt;
&lt;br /&gt;
Toto nastavení je už komplikovanější, ale člověk trochu znalý Linuxu by to měl zvládnout. Je potřeba nainstalovat&lt;br /&gt;
&lt;br /&gt;
* ipset (v Debianu 6 je už dostupný přes repozitář, jinak je nutná ruční instalace)&lt;br /&gt;
* lighttpd (nebo jiný nenáročný web server pro HTTP redirect)&lt;br /&gt;
&lt;br /&gt;
Do vhodného umístění (např. /usr/local/sbin) umístit synchronizační skript a nastavit jeho pravidelné spouštění v cronu.&lt;br /&gt;
&lt;br /&gt;
Náš současný skript obsahuje zastaralé funkce a zatím nám na starém Debianu funguje. V novém Debianu bude potřebovat menší upgrade, aby fungoval. Současné verze je ve složce&lt;br /&gt;
 &lt;br /&gt;
  application/redirection/vendors/redirection/frnts_ipset&lt;br /&gt;
&lt;br /&gt;
Co se týče nastavení skriptu je potřeba určit vnitřní a veřejné IP adresy brány a port, na který bude firewallem přesměrován uživatel. Seznam rozsahů je stahován z adresy&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;domena&amp;gt;/cs/web_interface/redirected_ranges&lt;br /&gt;
&lt;br /&gt;
Seznam povolených IP adres pak z adresy&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;domena&amp;gt;/cs/web_interface/allowed_ip_addresses&lt;br /&gt;
&lt;br /&gt;
* je potřeba mít na centrálním routeru linux, kde jeho jádro bude zkompilováno spolu s modulem ipset&lt;br /&gt;
* na centrálním routeru je potřeba mít správně nakonfigurovaný firewall&lt;br /&gt;
* je pořeba řádně nastavit synchronizační skript&lt;br /&gt;
&lt;br /&gt;
Instalace [http://ipset.netfilter.org/ ipsetu] v bebianu lze z balíků&lt;br /&gt;
&lt;br /&gt;
 apt-get install ipset ipset-source&lt;br /&gt;
 m-a a-i ipset &lt;br /&gt;
&lt;br /&gt;
v jiných distrech dle možností a v neposlední řadě je vlastní kompilace.&lt;br /&gt;
&lt;br /&gt;
Sychronizační skript by měl být nekonfliktní s vaším aktuálně nastaveným firewallem. Pokud nastanou problém, je nutné je řešit individuálně.&lt;br /&gt;
&lt;br /&gt;
Do /etc/init.d/freenetis dáme spouštěcí skript z application/vendors/redirection/[[freenetis]]&lt;br /&gt;
&lt;br /&gt;
upravíme práva&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/freenetis&lt;br /&gt;
&lt;br /&gt;
a spust9me po startu&lt;br /&gt;
&lt;br /&gt;
 update-rc.d freenetis defaults&lt;br /&gt;
&lt;br /&gt;
Do /usr/local/sbin/freenetis_synchronization.sh dáme skript z application/vendors/redirection/[[freenetis_synchronization.sh]]&lt;br /&gt;
&lt;br /&gt;
 chmod &amp;quot;a+x&amp;quot; /usr/local/sbin/freenetis_synchronization.sh&lt;br /&gt;
&lt;br /&gt;
Do /etc/freenetins.cfg dáme skript z application/vendors/redirection/[[freenetis.cfg]] a dle potřeby upravíme.&lt;br /&gt;
&lt;br /&gt;
Při samotném přesměrování se předpokládá, že na centrálním routeru naslouchá na portu 36000(lze kdykoliv změnit v /etc/freenetis.cfg) démon, který veškeré příchozí http dotazy přesměruje pomoci http redirect na stránku FreenetISu.&lt;br /&gt;
&lt;br /&gt;
Pro naši potřebu je dostatečný server lighttpd. V debianu nainstalujema pomocí&lt;br /&gt;
&lt;br /&gt;
 apt-get install lighttpd&lt;br /&gt;
&lt;br /&gt;
a v /etc/lighttpd/lighttpd.conf přidáme/upravíme:&lt;br /&gt;
&lt;br /&gt;
 server.port  = 36000&lt;br /&gt;
&lt;br /&gt;
 url.redirect = ( &amp;quot;.&amp;quot; =&amp;gt; &amp;quot;http://freenetis.domain.ltd&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Defaultně nám server startuje i na ipv6 což nepotřebuje, takže zakomentujeme&lt;br /&gt;
&lt;br /&gt;
 #include_shell &amp;quot;/usr/share/lighttpd/use-ipv6.pl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Takovéto přesměrování ale bude mít kód 301, moved permanently. Pro bezproblémový chd doporučuji přesměrovávát s kódem 307, tj. temporary redirect. V lighttpd od verze 1.5.0 lze změnit kód [http://redmine.lighttpd.net/wiki/1/Docs:ModRedirect malou úpravou]&lt;br /&gt;
&lt;br /&gt;
 url.redirect-code = 307 &lt;br /&gt;
&lt;br /&gt;
Je možné použít jakýkoliv http server - i vlastní řešení.&lt;br /&gt;
&lt;br /&gt;
TODO: Plánuji vlastní &amp;quot;server&amp;quot; založený na nějakém malém http serveru - např. [http://tinyhttpd.sourceforge.net/ TinyHTTPd]. Na jakýkoliv dotaz odpoví temporary redirect na freenetis a nic víc. Eazy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Synchronizační skript startuje automaticky po startu systému. Je pomžné jej zastavit, nastartovat nebo restartovat pomocí příkazu /etc/init.d/freenetis start|stop|restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''POZOR!''' Pokud budete jakoliv měnit konfigurační soubor ujistěte se, že je skript ukončen a až pak soubor editujte. Vyhnete se tím nanuálnímu odstaňování starých pravidel z iptables.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2024</id>
		<title>Vytvoření tagu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2024"/>
				<updated>2013-11-03T22:20:16Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tag se vytváří při vydání stabilní verze z trunku, pomocí svn copy.&lt;br /&gt;
&lt;br /&gt;
 svn copy --username=&amp;lt;váš login&amp;gt; svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/trunk \&lt;br /&gt;
      svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/tags/&amp;lt;verze&amp;gt; -m &amp;quot;Release &amp;lt;verze&amp;gt;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2023</id>
		<title>Vytvoření tagu</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&amp;diff=2023"/>
				<updated>2013-11-03T22:19:49Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Založena nová stránka: Tag se vytváří při vydání stabilní verze z trunku, pomocí svn copy.   svn copy --username=&amp;lt;váš login&amp;gt; svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/fre...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tag se vytváří při vydání stabilní verze z trunku, pomocí svn copy.&lt;br /&gt;
&lt;br /&gt;
 svn copy --username=&amp;lt;váš login&amp;gt; svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/trunk \&lt;br /&gt;
      svn+ssh://&amp;lt;váš login&amp;gt;@svn.code.sf.net/p/freenetis/code/freenetis/tags/&amp;lt;verze&amp;gt; -m &amp;quot;Release of &amp;lt;verze&amp;gt;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Hlavni_strana&amp;diff=2022</id>
		<title>Hlavni strana</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Hlavni_strana&amp;diff=2022"/>
				<updated>2013-11-03T22:15:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Vývojáři - hotové vlastnosti a pomůcky */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Main Page]]&lt;br /&gt;
[[ru:главная страница]]&lt;br /&gt;
Vítáme vás na dokumentační stránce systému FreenetIS!&lt;br /&gt;
&lt;br /&gt;
* [http://www.freenetis.org/ Co je to FreenetIS?]&lt;br /&gt;
* [[Často kladené dotazy]]&lt;br /&gt;
&lt;br /&gt;
* [[Speciální:Poslední změny]]&lt;br /&gt;
&lt;br /&gt;
= Uživatelé =&lt;br /&gt;
* [[Uživatelská příručka]]&lt;br /&gt;
* [[Správcovská příručka]]&lt;br /&gt;
* [[Hospodářská příručka]]&lt;br /&gt;
* [[Administrátorská příručka]]&lt;br /&gt;
&lt;br /&gt;
* [[Registrace nového uživatele - zájemce]]&lt;br /&gt;
* [[Změnit heslo]]&lt;br /&gt;
* [[Zobrazit zařízení]]&lt;br /&gt;
* [[Zobrazit práce]]&lt;br /&gt;
* [[Vyplnění žádosti o registraci zařízení do sítě]]&lt;br /&gt;
&lt;br /&gt;
= Správci sítě =&lt;br /&gt;
&lt;br /&gt;
* [[Instalace]]&lt;br /&gt;
* [[Co je třeba udělat po instalaci]]&lt;br /&gt;
* [[DHCP]] - pouze 1.1 a vyšší&lt;br /&gt;
* [[Upozorňování]]&lt;br /&gt;
* [[Logování]]&lt;br /&gt;
* [[Monitoring]]&lt;br /&gt;
* [[Zajištění kvality služeb (QoS)]]&lt;br /&gt;
* [[VoIP]]&lt;br /&gt;
* [[SNMP]]&lt;br /&gt;
* [[CGI_skripty]] - zjištění MAC adresy připojeného zařízení&lt;br /&gt;
&lt;br /&gt;
'''Postupy'''&lt;br /&gt;
* [[Admin - nastavení nového uživatele - zájemce]]                                               (Catman)&lt;br /&gt;
* [[Admin - přijetí zájemce za člena]]                                                           (Catman)&lt;br /&gt;
* [[Admin - přidat vysílací zařízení]] - Access point (AP)                                       (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen bezdrátově s NATem ]]                                  (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen bezdrátově s bridgem ]] - více zařízení na domácí síti (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen kabelem na LAN ]] - např. domácí router                (Catman)&lt;br /&gt;
* [[Změnit heslo]]      (Catman)&lt;br /&gt;
* [[Zobrazit zařízení]] (Catman)&lt;br /&gt;
* [[Zobrazit práce]]    (Catman)&lt;br /&gt;
&lt;br /&gt;
'''Nastavení systému'''&lt;br /&gt;
* [[SystemAdmin - nastavení Systém]]                     (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Email]]                      (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Odesílání upozornění]]       (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Export přihlášky]]           (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Uživatelská role Pokladník]] (Catman)&lt;br /&gt;
&lt;br /&gt;
* [[Instalace a nastavení serveru adresních bodů]]&lt;br /&gt;
&lt;br /&gt;
* [[Managovatelný switch]] - popis vnitřní logiky            (Dulík)&lt;br /&gt;
* [[Jak vložit switch na optické síti]] - včetně managementu (Catman)&lt;br /&gt;
&lt;br /&gt;
'''H@cky'''&lt;br /&gt;
* [[Mazání člena]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - hotové vlastnosti a pomůcky =&lt;br /&gt;
&lt;br /&gt;
* [[Specifikace]]&lt;br /&gt;
* [[Ekonomika]]&lt;br /&gt;
* [[i18n|i18n - internacionalizace]]&lt;br /&gt;
* [[Nastavení]]&lt;br /&gt;
* [[Verzování]]&lt;br /&gt;
* [[Přístupová práva]]&lt;br /&gt;
* [[Instalace ze zdrojových kódů]]&lt;br /&gt;
* [[Automatická změna struktury databáze]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Automatické testování]]&lt;br /&gt;
* [[Automatické testování v NetBeans]]&lt;br /&gt;
* [[Profiler]]&lt;br /&gt;
* [[Import a export databáze]]&lt;br /&gt;
* [[Smazání větve]]&lt;br /&gt;
* [[Vytvoření tagu]]&lt;br /&gt;
* [[Merge branche do trunku]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - budoucí možnosti a vlastnosti systému =&lt;br /&gt;
&lt;br /&gt;
* [[Integrace s QGIS]]&lt;br /&gt;
* [[Nový systém přístupových práv]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - organizační údaje a štábní kultura =&lt;br /&gt;
&lt;br /&gt;
* [[Štábní kultura]]&lt;br /&gt;
* [[Příručka stylu psaní]]&lt;br /&gt;
* [[Vývojová prostředí (IDE)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Speciální:Allpages|Všechny články na této wiki]]&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2021</id>
		<title>Instalace ze zdrojových kódů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_ze_zdrojov%C3%BDch_k%C3%B3d%C5%AF&amp;diff=2021"/>
				<updated>2013-11-03T22:09:36Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Stažení z SVN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Instalation from source code]]&lt;br /&gt;
'''Tento návod je určen pro vývojáře FreenetISu, pro distribuční účely je k dispozici [http://wiki.freenetis.org/index.php/Instalace instalace z balíčkovacích sytémů].'''&lt;br /&gt;
&lt;br /&gt;
FreenetIS můžete provozovat na jakémkoli serveru (včetně Windows), ale doporučená platforma je Linux.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Tento návod předpokládá použití distribuce Debian. U jiných distribucí bude postup podobný.&lt;br /&gt;
&lt;br /&gt;
==Příprava==&lt;br /&gt;
&lt;br /&gt;
Instalace PHP, Apache, MySQL a phpMyAdmina. Je potřeba být přihlášen jako root.&lt;br /&gt;
 apt-get install apache2 php5 php5-mysql php5-curl mysql-server phpmyadmin&lt;br /&gt;
&lt;br /&gt;
'''Podporované verze nástrojů'''&lt;br /&gt;
&lt;br /&gt;
* '''PHP''' verze 5.1.2 a vyšší&lt;br /&gt;
* '''MySQL''' verze 5.1.0 a vyšší&lt;br /&gt;
&lt;br /&gt;
===Locale===&lt;br /&gt;
Pro správnou funkci porovnání českých řetězců v PHP musíte mít nainstalované české UTF-8 locale. Takže:&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Vybrat:&lt;br /&gt;
&lt;br /&gt;
 cs_CZ.UTF-8&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
a restartovat apache:&lt;br /&gt;
&lt;br /&gt;
 apache2ctl graceful&lt;br /&gt;
&lt;br /&gt;
===Apache===&lt;br /&gt;
&lt;br /&gt;
Pro správný běh Apache upravte soubor s konfigurací virtualhost-a, který na Debianu najdete takto:&lt;br /&gt;
*pokud jste žádný virtualhost zatím nenastavovali, jedná se o soubor /etc/apache2/sites-available/default&lt;br /&gt;
*pokud už nějaký virtualhost máte, pak bude nejspíš nakonfigurovaný v některém dalších souboru v adresáři /etc/apache2/sites-available/&lt;br /&gt;
&lt;br /&gt;
Do tohoto souboru přidejte následující řádky:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;
         ServerAdmin webmaster@example.org&lt;br /&gt;
         ServerName  freenetis.example.org&lt;br /&gt;
         DocumentRoot /var/www/freenetis&lt;br /&gt;
         &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                 Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                 Order allow,deny&lt;br /&gt;
                 allow from all&lt;br /&gt;
         &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kde samozřejmě místo ServerAdmin a ServerName zadejte vaše údaje.&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Povolení mod_rewrite====&lt;br /&gt;
&lt;br /&gt;
Pokud jej nemáte povolený, tak jej povolte:&lt;br /&gt;
&lt;br /&gt;
 a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
V konfiguraci virtualhost-a Apache (z přecházející bodu), povolte pro adresář FreenetIS možnost přenastavování konfigurace Apache pomocí souboru .htaccess - do sekce Directory přidejte direktivu &amp;quot;AllowOverride All&amp;quot;. Tato sekce Directory by pak měl nakonec vypadat asi takto:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Directory /var/www/freenetis&amp;gt;&lt;br /&gt;
                Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                allow from all&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nakonec restartujte Apache příkazem:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
&lt;br /&gt;
Pro nastavení MySQL databáze je možné použít nespočet nástrojů a postupů. Pro každý z nich ale budete potřebovat uživatelské jméno a heslo pro přihlášení k vašemu MySQL serveru. Po instalaci existuje pouze jediný uživatel - root a jeho heslo je prázdné. Pokud jej zapomenete, změníte ho pomocí&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure mysql-server-VERZE&lt;br /&gt;
&lt;br /&gt;
kde VERZE označuje číslo verze MySQL serveru. U novějších verzích je to obvykle 5.1, u těch starších pak 5.0.&lt;br /&gt;
&lt;br /&gt;
====Pomocí phpMyAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://cs.wikipedia.org/wiki/PhpMyAdmin PhpMyAdmin] je pokročilý nástroj pro správu MySQL databázi přes webové rozhraní. Po instalaci je dostupný na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://IP adresa serveru/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nebo pokud pracujete na localhostu, tak i na&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://localhost/phpmyadmin/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kliknětě na Oprávnění a pak na Přidat nového uživatele. Jméno uživatele zadejte libovolné (doporučeno freenetis). Počítač vyberte lokální (důležité z hlediska bezpečnosti). Heslo nastavte silné, pokud možno náhodně vygenerované (dobrý generátor je např [http://www.converter.cz/passgen/pswdgen.php zde]. Vyberte volbu &amp;quot;Vytvořit databázi stejného jména a přidělit všechna oprávnění&amp;quot; a vpravo dole klikněte na Proveď.&lt;br /&gt;
&lt;br /&gt;
==== Pomocí konzole====&lt;br /&gt;
&lt;br /&gt;
Phpmyadmin nemusíte využít, pak lze databázi vytvořit ručně. Nejprve je nutné se přihlásit do databáze, budete vyzváni na heslo databázového superuživatele.&lt;br /&gt;
&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
Po přihlášení v konzoli mysql pak napište tyto příkazy:&lt;br /&gt;
&lt;br /&gt;
 create database freenetis;&lt;br /&gt;
 create user 'freenetis'@'localhost' identified by 'heslo';&lt;br /&gt;
 grant all on freenetis.* to 'freenetis'@'localhost';&lt;br /&gt;
&lt;br /&gt;
==Stažení==&lt;br /&gt;
===Stažení z SVN===&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte SVN klienta, pak&lt;br /&gt;
 apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
teď si můžete FreenetIS stáhnout do adresáře /var/www/freenetis (v trunku je nejstabilnější verze, další SVN větve slouží pro vývoj a testování)&lt;br /&gt;
&lt;br /&gt;
 cd /var/www&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;svn+ssh://svn.code.sf.net/p/freenetis/code/freenetis/trunk freenetis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Povolte zápis do složek freenetis, freenetis/upload a vytvořte složku pro logování freenetis/logs:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 chmod ugo+w . upload&lt;br /&gt;
 mkdir -m 0777 logs&lt;br /&gt;
&lt;br /&gt;
FreenetIS se neustále vyvíjí, aktualizace si stáhnete příkazem:&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/freenetis&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
(což stáhne pouze modifikované soubory)&lt;br /&gt;
&lt;br /&gt;
===Commit log===&lt;br /&gt;
&lt;br /&gt;
Log oprav stable verze (trunk) je [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/trunk/kohana/?view=log dostupný zde]. &lt;br /&gt;
&lt;br /&gt;
V současné době již používáme systém vývoje pomocí různých větvích (např. testing a další) a do hlavní větve (trunk) posíláme jen fungující změny, takže počet chyb je nižší než v situaci pouze jedné vývojové větve, jako tomu bylo dříve.&lt;br /&gt;
&lt;br /&gt;
Souhrnný [http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/?view=log log commitů do všech větví je zde].&lt;br /&gt;
&lt;br /&gt;
==Instalace==&lt;br /&gt;
&lt;br /&gt;
Nyní by se po zadání vámi zvolené adresy FreenetISu do prohlížeče měl objevit instalátor s uvítáním.&lt;br /&gt;
&lt;br /&gt;
===Nastavení konfigurace===&lt;br /&gt;
&lt;br /&gt;
V první části vás instalátor informuje, že je potřeba vytvořit soubor konfigurační soubor config.php. Klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
Nyní vás instalátor vyzve na zadání údajů pro přístup k MySQL serveru. Použijte údaje, které jste použili u přípravy MySQL a klikněte na Odeslat.&lt;br /&gt;
&lt;br /&gt;
Pokud jste zadali správné údaje, instalátor vás informuje, že nastavení konfigurace bylo dokončeno. Jinak vás upozorní, že se nepodařilo připojit k databázi s návrhy možných problémů.&lt;br /&gt;
&lt;br /&gt;
Až se vám podaří tyto chyby opravit, klikněte na tlačítko Další krok.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření config.php====&lt;br /&gt;
&lt;br /&gt;
Pokud nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako config.php do adresáře freenetis. '''Dokud tak neučiníte, v instalaci nebude možno pokračovat!'''&lt;br /&gt;
&lt;br /&gt;
===Samotná instalace===&lt;br /&gt;
&lt;br /&gt;
Nyní by se před vámi měla objevit samotná instalace s formulářem s informacemi o vašem sdružení. Po jeho vyplnění by měla být instalace hotova.&lt;br /&gt;
&lt;br /&gt;
====Volitelné: Ruční vytvoření .htaccess====&lt;br /&gt;
&lt;br /&gt;
Pokud jste zatrhli možnost Čistá URL a nemáte práva zápisu do adresáře freenetis, instalátor vám vygeneruje kód, který zkopírujte a uložte jako .htaccess do adresáře freenetis. '''Pokud tak neučiníte, vaše instalace nemusí fungovat korektně!'''&lt;br /&gt;
&lt;br /&gt;
===Zprovoznění &amp;quot;plánovače&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
FreenetIS má v sobě vlastní scheduler který je potřeba pravidelně zpouštět z cronu. Do cronu přidejte tento řádek:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 * *     * * *   root    wget -O /dev/null  http://&amp;lt;hostname&amp;gt;/cs/scheduler/run&lt;br /&gt;
&lt;br /&gt;
Pokud používáte SSL s neověřeným nebo s neplatným certifikátem použijte:&lt;br /&gt;
&lt;br /&gt;
 #FreenetIS scheduler&lt;br /&gt;
 * *     * * *   root    wget -O /dev/null  https://&amp;lt;hostname&amp;gt;/cs/scheduler/run --no-check-certificate&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_a_nastaven%C3%AD_serveru_adresn%C3%ADch_bod%C5%AF&amp;diff=2017</id>
		<title>Instalace a nastavení serveru adresních bodů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_a_nastaven%C3%AD_serveru_adresn%C3%ADch_bod%C5%AF&amp;diff=2017"/>
				<updated>2013-10-24T08:47:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Instalation and settings of address point server]]&lt;br /&gt;
&lt;br /&gt;
= Informace =&lt;br /&gt;
Pro provoz serveru databáze adres je ideální z důvodu zátěže vyhradit pro něj samostatný/virtuální server s alespoň 512MB RAM a 1GB swapem.&lt;br /&gt;
&lt;br /&gt;
= Nastavení serveru =&lt;br /&gt;
&lt;br /&gt;
== Příprava instalace ==&lt;br /&gt;
Nainstalujte všechny požadované balíky&lt;br /&gt;
 &lt;br /&gt;
 apt-get install unzip git apache2 php5 php5-mysql mysql-server&lt;br /&gt;
&lt;br /&gt;
Restartujte apache&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
== Získání zdrojových kódů ==&lt;br /&gt;
Stáhněte si zdrojové kódy webové aplikace do libovolné složky&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/freenetis/freenetis-address.git&lt;br /&gt;
&lt;br /&gt;
== Příprava databáze ==&lt;br /&gt;
Vytvořte databázi pomocí sql skriptu v souboru db_structure.sql&lt;br /&gt;
&lt;br /&gt;
 mysql -u username -ppassword jmeno_database &amp;lt; db_structure.sql&lt;br /&gt;
&lt;br /&gt;
== Instalace ==&lt;br /&gt;
Spusťte s právy administrátora inslatační skript v složce se zdrojovými kódy&lt;br /&gt;
&lt;br /&gt;
 ./install.sh&lt;br /&gt;
&lt;br /&gt;
zadejte přihlašovací údaje k databázi. Následně se soubory nakopírují do /var/www/freenetis-addresses a vygeneruje se úloha pro CRON, která bude každý den v 5:00 kontrolovat aktuálnost databáze adres a případně ji aktualizuje na nejnovější verzi&lt;br /&gt;
&lt;br /&gt;
== Prvotní stažení databáze ==&lt;br /&gt;
&lt;br /&gt;
Spusťte importovací skript&lt;br /&gt;
&lt;br /&gt;
 ./import.sh&lt;br /&gt;
&lt;br /&gt;
Import může v závoslosti na rychlosti disků a počtu adres v databázi trvat i více než 30 minut. Průběh importu se bude zobrazovat v konzoli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Nastavení FreenetISu =&lt;br /&gt;
V nastavení FreenetISu v sekci systém vyplňte adresu webové aplikace včetně podložky, např.&lt;br /&gt;
&lt;br /&gt;
 http://sdruzeni.net/freenetis-addresses/&lt;br /&gt;
&lt;br /&gt;
= Chybová hlášení import scriptu =&lt;br /&gt;
Config file not found - Nepodařilo se najít soubor /etc/freenetis-addresses.ini, řešením je znovu spuštění skriptu ./install.sh.&lt;br /&gt;
&lt;br /&gt;
Cannot get latest database date - Nepodařilo se zjistit datum databáze ze serveru cuzk.cz. Buď jsou stránky nedostupné, nebo je změněna struktura stránky tak, že z ní není možné zjistit datum.&lt;br /&gt;
&lt;br /&gt;
Database is up to date - Databáze je aktuální a nebude aktualizována.&lt;br /&gt;
&lt;br /&gt;
Databasse is not up to date and will be update - Databáze není aktuální a bude aktualizována.&lt;br /&gt;
&lt;br /&gt;
Cannot download addresses - Nepodařilo se stáhnout archiv s databází ze serveru cuzk.cz.&lt;br /&gt;
&lt;br /&gt;
Cannot extract addresses - Chyba při rozbalování databáze do dočasné složky.&lt;br /&gt;
&lt;br /&gt;
Cannot prepare addresses - Chyba při odstraňování nepotřebných sloupců, změně kódování nebo přípravě čísla popisného. Chybou může být změna formátu dat v databázi.&lt;br /&gt;
&lt;br /&gt;
Cannot clean temporary table - Nastala chyba při mazání dočasné tabulky.&lt;br /&gt;
&lt;br /&gt;
Cannot import addresses - Nepodařilo se naimportovat databázi adres. Chybou může být změna formátu dat v databázi.&lt;br /&gt;
&lt;br /&gt;
CAnnot update database - Nastala chyba při záměně dočasné a produkční tabulky databáze adres.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_a_nastaven%C3%AD_serveru_adresn%C3%ADch_bod%C5%AF&amp;diff=2016</id>
		<title>Instalace a nastavení serveru adresních bodů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_a_nastaven%C3%AD_serveru_adresn%C3%ADch_bod%C5%AF&amp;diff=2016"/>
				<updated>2013-10-07T21:24:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Příprava instalace */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Instalation and settings of address point server]]&lt;br /&gt;
&lt;br /&gt;
= Informace =&lt;br /&gt;
Pro provoz serveru databáze adres je ideální z důvodu zátěže vyhradit pro něj samostatný/virtuální server s alespoň 512MB RAM.&lt;br /&gt;
&lt;br /&gt;
= Nastavení serveru =&lt;br /&gt;
&lt;br /&gt;
== Příprava instalace ==&lt;br /&gt;
Nainstalujte všechny požadované balíky&lt;br /&gt;
 &lt;br /&gt;
 apt-get install unzip git apache2 php5 php5-mysql mysql-server&lt;br /&gt;
&lt;br /&gt;
Restartujte apache&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
== Získání zdrojových kódů ==&lt;br /&gt;
Stáhněte si zdrojové kódy webové aplikace do libovolné složky&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/freenetis/freenetis-address.git&lt;br /&gt;
&lt;br /&gt;
== Příprava databáze ==&lt;br /&gt;
Vytvořte databázi pomocí sql skriptu v souboru db_structure.sql&lt;br /&gt;
&lt;br /&gt;
 mysql -u username -ppassword jmeno_database &amp;lt; db_structure.sql&lt;br /&gt;
&lt;br /&gt;
== Instalace ==&lt;br /&gt;
Spusťte s právy administrátora inslatační skript v složce se zdrojovými kódy&lt;br /&gt;
&lt;br /&gt;
 ./install.sh&lt;br /&gt;
&lt;br /&gt;
zadejte přihlašovací údaje k databázi. Následně se soubory nakopírují do /var/www/freenetis-addresses a vygeneruje se úloha pro CRON, která bude každý den v 5:00 kontrolovat aktuálnost databáze adres a případně ji aktualizuje na nejnovější verzi&lt;br /&gt;
&lt;br /&gt;
== Prvotní stažení databáze ==&lt;br /&gt;
&lt;br /&gt;
Spusťte importovací skript&lt;br /&gt;
&lt;br /&gt;
 ./import.sh&lt;br /&gt;
&lt;br /&gt;
Import může v závoslosti na rychlosti disků a počtu adres v databázi trvat i více než 30 minut. Průběh importu se bude zobrazovat v konzoli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Nastavení FreenetISu =&lt;br /&gt;
V nastavení FreenetISu v sekci systém vyplňte adresu webové aplikace včetně podložky, např.&lt;br /&gt;
&lt;br /&gt;
 http://sdruzeni.net/freenetis-addresses/&lt;br /&gt;
&lt;br /&gt;
= Chybová hlášení import scriptu =&lt;br /&gt;
Config file not found - Nepodařilo se najít soubor /etc/freenetis-addresses.ini, řešením je znovu spuštění skriptu ./install.sh.&lt;br /&gt;
&lt;br /&gt;
Cannot get latest database date - Nepodařilo se zjistit datum databáze ze serveru cuzk.cz. Buď jsou stránky nedostupné, nebo je změněna struktura stránky tak, že z ní není možné zjistit datum.&lt;br /&gt;
&lt;br /&gt;
Database is up to date - Databáze je aktuální a nebude aktualizována.&lt;br /&gt;
&lt;br /&gt;
Databasse is not up to date and will be update - Databáze není aktuální a bude aktualizována.&lt;br /&gt;
&lt;br /&gt;
Cannot download addresses - Nepodařilo se stáhnout archiv s databází ze serveru cuzk.cz.&lt;br /&gt;
&lt;br /&gt;
Cannot extract addresses - Chyba při rozbalování databáze do dočasné složky.&lt;br /&gt;
&lt;br /&gt;
Cannot prepare addresses - Chyba při odstraňování nepotřebných sloupců, změně kódování nebo přípravě čísla popisného. Chybou může být změna formátu dat v databázi.&lt;br /&gt;
&lt;br /&gt;
Cannot clean temporary table - Nastala chyba při mazání dočasné tabulky.&lt;br /&gt;
&lt;br /&gt;
Cannot import addresses - Nepodařilo se naimportovat databázi adres. Chybou může být změna formátu dat v databázi.&lt;br /&gt;
&lt;br /&gt;
CAnnot update database - Nastala chyba při záměně dočasné a produkční tabulky databáze adres.&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Instalace_a_nastaven%C3%AD_serveru_adresn%C3%ADch_bod%C5%AF&amp;diff=2012</id>
		<title>Instalace a nastavení serveru adresních bodů</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Instalace_a_nastaven%C3%AD_serveru_adresn%C3%ADch_bod%C5%AF&amp;diff=2012"/>
				<updated>2013-10-04T08:35:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Informace */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Instalation and settings of address point server]]&lt;br /&gt;
&lt;br /&gt;
= Informace =&lt;br /&gt;
Pro provoz serveru databáze adres je ideální z důvodu zátěže vyhradit pro něj samostatný/virtuální server s alespoň 512MB RAM.&lt;br /&gt;
&lt;br /&gt;
= Nastavení serveru =&lt;br /&gt;
&lt;br /&gt;
== Příprava instalace ==&lt;br /&gt;
Nainstalujte všechny požadované balíky&lt;br /&gt;
 &lt;br /&gt;
 apt-get install unzip git apache2 php5 php5-mysql mysql-server&lt;br /&gt;
&lt;br /&gt;
== Získání zdrojových kódů ==&lt;br /&gt;
Stáhněte si zdrojové kódy webové aplikace do libovolné složky&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/freenetis/freenetis-address.git&lt;br /&gt;
&lt;br /&gt;
== Příprava databáze ==&lt;br /&gt;
Vytvořte databázi pomocí sql skriptu v souboru db_structure.sql&lt;br /&gt;
&lt;br /&gt;
 mysql -u username -ppassword jmeno_database &amp;lt; db_structure.sql&lt;br /&gt;
&lt;br /&gt;
== Instalace ==&lt;br /&gt;
Spusťte s právy administrátora inslatační skript v složce se zdrojovými kódy&lt;br /&gt;
&lt;br /&gt;
 ./install.sh&lt;br /&gt;
&lt;br /&gt;
zadejte přihlašovací údaje k databázi. Následně se soubory nakopírují do /var/www/freenetis-addresses a vygeneruje se úloha pro CRON, která bude každý den v 5:00 kontrolovat aktuálnost databáze adres a případně ji aktualizuje na nejnovější verzi&lt;br /&gt;
&lt;br /&gt;
== Prvotní stažení databáze ==&lt;br /&gt;
&lt;br /&gt;
Spusťte importovací skript&lt;br /&gt;
&lt;br /&gt;
 ./import.sh&lt;br /&gt;
&lt;br /&gt;
Import může v závoslosti na rychlosti disků a počtu adres v databázi trvat i více než 30 minut. Průběh importu se bude zobrazovat v konzoli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Nastavení FreenetISu =&lt;br /&gt;
V nastavení FreenetISu v sekci systém vyplňte adresu webové aplikace včetně podložky, např.&lt;br /&gt;
&lt;br /&gt;
 http://sdruzeni.net/freenetis-addresses/&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Vypln%C4%9Bn%C3%AD_%C5%BE%C3%A1dosti_o_p%C5%99ipojen%C3%AD&amp;diff=2011</id>
		<title>Vyplnění žádosti o připojení</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Vypln%C4%9Bn%C3%AD_%C5%BE%C3%A1dosti_o_p%C5%99ipojen%C3%AD&amp;diff=2011"/>
				<updated>2013-09-24T19:20:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Přesměrování na Vyplnění žádosti o registraci zařízení do sítě&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Vyplnění žádosti o registraci zařízení do sítě]]&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Vypln%C4%9Bn%C3%AD_%C5%BE%C3%A1dosti_o_registraci_za%C5%99%C3%ADzen%C3%AD_do_s%C3%ADt%C4%9B&amp;diff=2010</id>
		<title>Vyplnění žádosti o registraci zařízení do sítě</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Vypln%C4%9Bn%C3%AD_%C5%BE%C3%A1dosti_o_registraci_za%C5%99%C3%ADzen%C3%AD_do_s%C3%ADt%C4%9B&amp;diff=2010"/>
				<updated>2013-09-24T19:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: Založena nová stránka: Žádost o připojení umožňuje stávajícímu členovi přidat u nás neregistrované zařízení pomocí svého účtu ve FreenetISu.  Skutečnost, že zařízení nen...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Žádost o připojení umožňuje stávajícímu členovi přidat u nás neregistrované zařízení pomocí svého účtu ve FreenetISu. &lt;br /&gt;
Skutečnost, že zařízení není u nás registrováno, lze detekovat tím, že je Vám zobrazena v internetovém prohlížeči stránka s informací o '''neznámém (neregistrovaném) zařízení'''.&lt;br /&gt;
&lt;br /&gt;
Následující návod Vás provede celou procedurou vyplnění a schválení žádosti o připojení.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1) Zadání žádosti ==&lt;br /&gt;
&lt;br /&gt;
* Zobrazila se Vám stránka s informací o '''neznámém (neregistrovaném) zařízení''' ve Vašem prohlížeči.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-zprava.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
* V zápatí této stránky naleznete odkaz s textem '''ZAŽÁDAT O PŘIPOJENÍ TOHOTO ZAŘÍZENÍ'''. Na tento odkaz klikněte.&lt;br /&gt;
&lt;br /&gt;
* Jste přesměrován na přihlašovací stránku FreenetISu (pokud již nejste přihlášen). Přihlašte se prosím ke svému účtu (přihlašovací údaje jste s největší pravděpodobností získali při vstupu do sdružení). &amp;lt;br&amp;gt;Pokud neznáte své přihlašovací údaje, kontaktujte prosím podporu (kontakty ve sloupci vlevo) pro jejich získání.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-login.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
* Je Vám zobrazen formulář pro přidání žádosti. Postačí když vyplníte '''typ zařízení''', které není registrováno.&lt;br /&gt;
:::- Pokud například máte nový počítač nebo máte v počítači novou síťovou kartu, pak zvolíte typ PC.&lt;br /&gt;
:::- Pokud jste si zakoupili nový router (domácí wifi), vyplňte typ na domácí AP.&lt;br /&gt;
:Pokud si nejste typem zařízení jistí, vyplňte nejvíce pravděpodobný typ a podrobně popište do pole '''poznámka''' událost, po které Vám byla stránka s informací o '''neznámém (neregistrovaném) zařízení''' zobrazena.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-vyplneni_zadosti.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
* Formulář odešlete.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-ulozeni_zadosti.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
== 2) Schvalovací proces žádosti ==&lt;br /&gt;
&lt;br /&gt;
Vaši žádost musí schválit náš správce, což obvykle trvá několik minut - hodin - maximálně 1 den. O schválení/zamítnutí Vaší žádosti budete informováni skrze Vaši e-mailovou schránku, kterou máte vloženou ve FreenetISu. Pokud nemáte ve FreenetISu vloženou žádnou e-mailovou adresu, nebo nemáte k internetu přistup vůbec, můžete stav Vaši žádosti sledovat přímo ve FreenetISu. Vaše žádosti jsou dostupné skrze nabídku '''Moje žádosti o připojení''' v hlavním menu FreenetISu.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-menu_zadosti.png|thumb|center]]&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Hlavni_strana&amp;diff=2009</id>
		<title>Hlavni strana</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Hlavni_strana&amp;diff=2009"/>
				<updated>2013-09-24T19:19:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* Uživatelé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Main Page]]&lt;br /&gt;
[[ru:главная страница]]&lt;br /&gt;
Vítáme vás na dokumentační stránce systému FreenetIS!&lt;br /&gt;
&lt;br /&gt;
* [http://www.freenetis.org/ Co je to FreenetIS?]&lt;br /&gt;
* [[Často kladené dotazy]]&lt;br /&gt;
&lt;br /&gt;
* [[Speciální:Poslední změny]]&lt;br /&gt;
&lt;br /&gt;
= Uživatelé =&lt;br /&gt;
* [[Uživatelská příručka]]&lt;br /&gt;
* [[Správcovská příručka]]&lt;br /&gt;
* [[Hospodářská příručka]]&lt;br /&gt;
* [[Administrátorská příručka]]&lt;br /&gt;
&lt;br /&gt;
* [[Registrace nového uživatele - zájemce]]&lt;br /&gt;
* [[Změnit heslo]]&lt;br /&gt;
* [[Zobrazit zařízení]]&lt;br /&gt;
* [[Zobrazit práce]]&lt;br /&gt;
* [[Vyplnění žádosti o registraci zařízení do sítě]]&lt;br /&gt;
&lt;br /&gt;
= Správci sítě =&lt;br /&gt;
&lt;br /&gt;
* [[Instalace]]&lt;br /&gt;
* [[Co je třeba udělat po instalaci]]&lt;br /&gt;
* [[DHCP]] - pouze 1.1 a vyšší&lt;br /&gt;
* [[Upozorňování]]&lt;br /&gt;
* [[Logování]]&lt;br /&gt;
* [[Monitoring]]&lt;br /&gt;
* [[Zajištění kvality služeb (QoS)]]&lt;br /&gt;
* [[VoIP]]&lt;br /&gt;
* [[SNMP]]&lt;br /&gt;
* [[CGI_skripty]] - zjištění MAC adresy připojeného zařízení&lt;br /&gt;
&lt;br /&gt;
'''Postupy'''&lt;br /&gt;
* [[Admin - nastavení nového uživatele - zájemce]]                                               (Catman)&lt;br /&gt;
* [[Admin - přijetí zájemce za člena]]                                                           (Catman)&lt;br /&gt;
* [[Admin - přidat vysílací zařízení]] - Access point (AP)                                       (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen bezdrátově s NATem ]]                                  (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen bezdrátově s bridgem ]] - více zařízení na domácí síti (Catman)&lt;br /&gt;
* [[Uživatel - přidat zařízení - připojen kabelem na LAN ]] - např. domácí router                (Catman)&lt;br /&gt;
* [[Změnit heslo]]      (Catman)&lt;br /&gt;
* [[Zobrazit zařízení]] (Catman)&lt;br /&gt;
* [[Zobrazit práce]]    (Catman)&lt;br /&gt;
&lt;br /&gt;
'''Nastavení systému'''&lt;br /&gt;
* [[SystemAdmin - nastavení Systém]]                     (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Email]]                      (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Odesílání upozornění]]       (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Export přihlášky]]           (Catman)&lt;br /&gt;
* [[SystemAdmin - nastavení Uživatelská role Pokladník]] (Catman)&lt;br /&gt;
&lt;br /&gt;
* [[Instalace a nastavení serveru adresních bodů]]&lt;br /&gt;
&lt;br /&gt;
* [[Managovatelný switch]] - popis vnitřní logiky            (Dulík)&lt;br /&gt;
* [[Jak vložit switch na optické síti]] - včetně managementu (Catman)&lt;br /&gt;
&lt;br /&gt;
'''H@cky'''&lt;br /&gt;
* [[Mazání člena]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - hotové vlastnosti a pomůcky =&lt;br /&gt;
&lt;br /&gt;
* [[Specifikace]]&lt;br /&gt;
* [[Ekonomika]]&lt;br /&gt;
* [[i18n|i18n - internacionalizace]]&lt;br /&gt;
* [[Nastavení]]&lt;br /&gt;
* [[Verzování]]&lt;br /&gt;
* [[Přístupová práva]]&lt;br /&gt;
* [[Instalace ze zdrojových kódů]]&lt;br /&gt;
* [[Automatická změna struktury databáze]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Automatické testování]]&lt;br /&gt;
* [[Automatické testování v NetBeans]]&lt;br /&gt;
* [[Profiler]]&lt;br /&gt;
* [[Import a export databáze]]&lt;br /&gt;
* [[Smazání větve]]&lt;br /&gt;
* [[Merge branche do trunku]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - budoucí možnosti a vlastnosti systému =&lt;br /&gt;
&lt;br /&gt;
* [[Integrace s QGIS]]&lt;br /&gt;
* [[Nový systém přístupových práv]]&lt;br /&gt;
&lt;br /&gt;
= Vývojáři - organizační údaje a štábní kultura =&lt;br /&gt;
&lt;br /&gt;
* [[Štábní kultura]]&lt;br /&gt;
* [[Příručka stylu psaní]]&lt;br /&gt;
* [[Vývojová prostředí (IDE)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Speciální:Allpages|Všechny články na této wiki]]&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	<entry>
		<id>https://wiki.freenetis.org/index.php?title=Vypln%C4%9Bn%C3%AD_%C5%BE%C3%A1dosti_o_p%C5%99ipojen%C3%AD&amp;diff=2007</id>
		<title>Vyplnění žádosti o připojení</title>
		<link rel="alternate" type="text/html" href="https://wiki.freenetis.org/index.php?title=Vypln%C4%9Bn%C3%AD_%C5%BE%C3%A1dosti_o_p%C5%99ipojen%C3%AD&amp;diff=2007"/>
				<updated>2013-09-24T16:40:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dzolo: /* 1) Zadání žádosti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Žádost o připojení umožňuje stávajícímu členovi přidat u nás neregistrované zařízení pomocí svého účtu ve FreenetISu. &lt;br /&gt;
Skutečnost, že zařízení není u nás registrováno, lze detekovat tím, že je Vám zobrazena v internetovém prohlížeči stránka s informací o '''neznámém (neregistrovaném) zařízení'''.&lt;br /&gt;
&lt;br /&gt;
Následující návod Vás provede celou procedurou vyplnění a schválení žádosti o připojení.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1) Zadání žádosti ==&lt;br /&gt;
&lt;br /&gt;
* Zobrazila se Vám stránka s informací o '''neznámém (neregistrovaném) zařízení''' ve Vašem prohlížeči.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-zprava.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
* V zápatí této stránky naleznete odkaz s textem '''ZAŽÁDAT O PŘIPOJENÍ TOHOTO ZAŘÍZENÍ'''. Na tento odkaz klikněte.&lt;br /&gt;
&lt;br /&gt;
* Jste přesměrován na přihlašovací stránku FreenetISu (pokud již nejste přihlášen). Přihlašte se prosím ke svému účtu (přihlašovací údaje jste s největší pravděpodobností získali při vstupu do sdružení). &amp;lt;br&amp;gt;Pokud neznáte své přihlašovací údaje, kontaktujte prosím podporu (kontakty ve sloupci vlevo) pro jejich získání.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-login.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
* Je Vám zobrazen formulář pro přidání žádosti. Postačí když vyplníte '''typ zařízení''', které není registrováno.&lt;br /&gt;
:::- Pokud například máte nový počítač nebo máte v počítači novou síťovou kartu, pak zvolíte typ PC.&lt;br /&gt;
:::- Pokud jste si zakoupili nový router (domácí wifi), vyplňte typ na domácí AP.&lt;br /&gt;
:Pokud si nejste typem zařízení jistí, vyplňte nejvíce pravděpodobný typ a podrobně popište do pole '''poznámka''' událost, po které Vám byla stránka s informací o '''neznámém (neregistrovaném) zařízení''' zobrazena.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-vyplneni_zadosti.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
* Formulář odešlete.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-ulozeni_zadosti.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
== 2) Schvalovací proces žádosti ==&lt;br /&gt;
&lt;br /&gt;
Vaši žádost musí schválit náš správce, což obvykle trvá 1 den. O schválení/zamítnutí Vaší žádosti budete informováni skrze Vaši e-mailovou schránku, kterou máte vloženou ve FreenetISu. Pokud nemáte ve FreenetISu vloženou žádnou e-mailovou adresu, nebo nemáte k internetu přistup vůbec, můžete stav Vaši žádosti sledovat přímo ve FreenetISu. Vaše žádosti jsou dostupné skrze nabídku '''Moje žádosti o připojení''' v hlavním menu FreenetISu.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Cr-menu_zadosti.png|thumb|center]]&lt;/div&gt;</summary>
		<author><name>Dzolo</name></author>	</entry>

	</feed>