Instalace a nastavení serveru adresních bodů: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
 
(Není zobrazeno 9 mezilehlých verzí od 4 dalších uživatelů.)
Řádek 1: Řádek 1:
 
[[en:Instalation and settings of address point server]]
 
[[en:Instalation and settings of address point server]]
 +
[[ru:Установка и настройка адресов сервера]]
  
 
= Informace =
 
= Informace =
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.
+
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.
  
 
= Nastavení serveru =
 
= Nastavení serveru =
Řádek 10: Řádek 11:
 
   
 
   
 
  apt-get install unzip git apache2 php5 php5-mysql mysql-server
 
  apt-get install unzip git apache2 php5 php5-mysql mysql-server
 +
 +
Restartujte apache
 +
 +
service apache2 restart
  
 
== Získání zdrojových kódů ==
 
== Získání zdrojových kódů ==
Řádek 17: Řádek 22:
  
 
== Příprava databáze ==
 
== Příprava databáze ==
Vytvořte databázi pomocí sql skriptu v souboru db_structure.sql
+
Vytvořte databázi pomocí SQL skriptu  
  
mysql -u username -ppassword jmeno_database < db_structure.sql
+
<pre>
 +
CREATE DATABASE `addresses` DEFAULT CHARACTER SET utf8 COLLATE utf8_czech_ci;
 +
 
 +
CREATE TABLE IF NOT EXISTS `addresses` (
 +
  `country` int(11) NOT NULL,
 +
  `town_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `town_quarter` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `district_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `street` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `number` varchar(15) COLLATE utf8_czech_ci NOT NULL,
 +
  `zip_code` varchar(10) COLLATE utf8_czech_ci NOT NULL,
 +
  UNIQUE KEY `FULLTEXT` (`town_name`,`town_quarter`,`district_name`,`street`,`number`,`zip_code`,`country`),
 +
  KEY `country` (`country`),
 +
  FULLTEXT KEY `town_name` (`town_name`),
 +
  FULLTEXT KEY `town_quarter` (`town_quarter`),
 +
  FULLTEXT KEY `district_name` (`district_name`),
 +
  FULLTEXT KEY `street` (`street`),
 +
  FULLTEXT KEY `number` (`number`),
 +
  FULLTEXT KEY `zip_code` (`zip_code`)
 +
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 +
 
 +
CREATE TABLE IF NOT EXISTS `addresses_tmp` (
 +
  `country` int(11) NOT NULL,
 +
  `town_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `town_quarter` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `district_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `street` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 +
  `number` varchar(15) COLLATE utf8_czech_ci NOT NULL,
 +
  `zip_code` varchar(10) COLLATE utf8_czech_ci NOT NULL,
 +
  UNIQUE KEY `FULLTEXT` (`town_name`,`town_quarter`,`district_name`,`street`,`number`,`zip_code`,`country`),
 +
  KEY `country` (`country`),
 +
  FULLTEXT KEY `town_name` (`town_name`),
 +
  FULLTEXT KEY `town_quarter` (`town_quarter`),
 +
  FULLTEXT KEY `district_name` (`district_name`),
 +
  FULLTEXT KEY `street` (`street`),
 +
  FULLTEXT KEY `number` (`number`),
 +
  FULLTEXT KEY `zip_code` (`zip_code`)
 +
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 +
 
 +
CREATE TABLE IF NOT EXISTS `config` (
 +
  `name` varchar(100) COLLATE utf8_czech_ci NOT NULL,
 +
  `value` text COLLATE utf8_czech_ci NOT NULL,
 +
  PRIMARY KEY (`name`)
 +
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 +
</pre>
  
 
== Instalace ==
 
== Instalace ==
Spusťte s právy administrátora inslatační skript v složce se zdrojovými kódy
+
Spusťte s právy administrátora instalační skript v složce se zdrojovými kódy
  
 
  ./install.sh
 
  ./install.sh
Řádek 38: Řádek 87:
  
 
= Nastavení FreenetISu =
 
= Nastavení FreenetISu =
V nastavení FreenetISu v sekci systém vyplňte adresu webové aplikace včetně podložky, např.
+
V nastavení FreenetISu v sekci systém vyplňte adresu webové aplikace včetně podsložky, např.
  
 
  http://sdruzeni.net/freenetis-addresses/
 
  http://sdruzeni.net/freenetis-addresses/
Řádek 61: Řádek 110:
 
Cannot import addresses - Nepodařilo se naimportovat databázi adres. Chybou může být změna formátu dat v databázi.
 
Cannot import addresses - Nepodařilo se naimportovat databázi adres. Chybou může být změna formátu dat v databázi.
  
CAnnot update database - Nastala chyba při záměně dočasné a produkční tabulky databáze adres.
+
Cannot update database - Nastala chyba při záměně dočasné a produkční tabulky databáze adres.
 +
 
 +
= Aktualizace zdrojových kódů =
 +
Po stažení aktualizovaných zdrojových kódů spusťte s právy administrátora instalační skript v složce se zdrojovými kódy
 +
 
 +
./install.sh
 +
 
 +
= Odinstalace =
 +
Spusťte s právy administrátora instalační skript v složce se zdrojovými kódy s parametrem -u
 +
 
 +
./install.sh -u
 +
 
 +
= Changelog =
 +
'''29.10.2013'''
 +
Přidán příkaz CREATE DATABASE se správným kódováním
 +
Instalační skript nevyžaduje opětovné zadávání informací o DB při aktualizaci
 +
Do instalačního skriptu přidán parametr -u pro odinstalování
 +
 
 +
'''14.10.2013''' - vyžaduje FreenetIS_1.1.0~beta2
 +
Změna chování validátoru - pokud není zadána část, validátor se pokusí jako část použít město
 +
 
 +
'''18.9.2013''' - vyžaduje FreenetIS_1.1.0~beta1
 +
Změny kvůli změně chování napovídače
 +
 
 +
'''17.9.2013'''
 +
Změny kvůli změně chování napovídače
 +
 
 +
'''16.9.2013''' - vyžaduje FreenetIS_1.1.0~alpha58
 +
Změna řazení města a části
 +
 
 +
'''13.9.2013'''
 +
Oprava chyby v importovacím skriptu běžícím s --cron parametrem
 +
 
 +
'''5.9.2013'''
 +
Vypnutí barevného vypisování v CRONu

Aktuální verze z 31. 1. 2018, 14:11


Informace

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.

Nastavení serveru

Příprava instalace

Nainstalujte všechny požadované balíky

apt-get install unzip git apache2 php5 php5-mysql mysql-server

Restartujte apache

service apache2 restart

Získání zdrojových kódů

Stáhněte si zdrojové kódy webové aplikace do libovolné složky

git clone https://github.com/freenetis/freenetis-address.git

Příprava databáze

Vytvořte databázi pomocí SQL skriptu

CREATE DATABASE `addresses` DEFAULT CHARACTER SET utf8 COLLATE utf8_czech_ci;

CREATE TABLE IF NOT EXISTS `addresses` (
  `country` int(11) NOT NULL,
  `town_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `town_quarter` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `district_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `street` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `number` varchar(15) COLLATE utf8_czech_ci NOT NULL,
  `zip_code` varchar(10) COLLATE utf8_czech_ci NOT NULL,
  UNIQUE KEY `FULLTEXT` (`town_name`,`town_quarter`,`district_name`,`street`,`number`,`zip_code`,`country`),
  KEY `country` (`country`),
  FULLTEXT KEY `town_name` (`town_name`),
  FULLTEXT KEY `town_quarter` (`town_quarter`),
  FULLTEXT KEY `district_name` (`district_name`),
  FULLTEXT KEY `street` (`street`),
  FULLTEXT KEY `number` (`number`),
  FULLTEXT KEY `zip_code` (`zip_code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

CREATE TABLE IF NOT EXISTS `addresses_tmp` (
  `country` int(11) NOT NULL,
  `town_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `town_quarter` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `district_name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `street` varchar(50) COLLATE utf8_czech_ci NOT NULL,
  `number` varchar(15) COLLATE utf8_czech_ci NOT NULL,
  `zip_code` varchar(10) COLLATE utf8_czech_ci NOT NULL,
  UNIQUE KEY `FULLTEXT` (`town_name`,`town_quarter`,`district_name`,`street`,`number`,`zip_code`,`country`),
  KEY `country` (`country`),
  FULLTEXT KEY `town_name` (`town_name`),
  FULLTEXT KEY `town_quarter` (`town_quarter`),
  FULLTEXT KEY `district_name` (`district_name`),
  FULLTEXT KEY `street` (`street`),
  FULLTEXT KEY `number` (`number`),
  FULLTEXT KEY `zip_code` (`zip_code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

CREATE TABLE IF NOT EXISTS `config` (
  `name` varchar(100) COLLATE utf8_czech_ci NOT NULL,
  `value` text COLLATE utf8_czech_ci NOT NULL,
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

Instalace

Spusťte s právy administrátora instalační skript v složce se zdrojovými kódy

./install.sh

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

Prvotní stažení databáze

Spusťte importovací skript

./import.sh

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.


Nastavení FreenetISu

V nastavení FreenetISu v sekci systém vyplňte adresu webové aplikace včetně podsložky, např.

http://sdruzeni.net/freenetis-addresses/

Chybová hlášení import scriptu

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.

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.

Database is up to date - Databáze je aktuální a nebude aktualizována.

Databasse is not up to date and will be update - Databáze není aktuální a bude aktualizována.

Cannot download addresses - Nepodařilo se stáhnout archiv s databází ze serveru cuzk.cz.

Cannot extract addresses - Chyba při rozbalování databáze do dočasné složky.

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.

Cannot clean temporary table - Nastala chyba při mazání dočasné tabulky.

Cannot import addresses - Nepodařilo se naimportovat databázi adres. Chybou může být změna formátu dat v databázi.

Cannot update database - Nastala chyba při záměně dočasné a produkční tabulky databáze adres.

Aktualizace zdrojových kódů

Po stažení aktualizovaných zdrojových kódů spusťte s právy administrátora instalační skript v složce se zdrojovými kódy

./install.sh

Odinstalace

Spusťte s právy administrátora instalační skript v složce se zdrojovými kódy s parametrem -u

./install.sh -u

Changelog

29.10.2013
Přidán příkaz CREATE DATABASE se správným kódováním
Instalační skript nevyžaduje opětovné zadávání informací o DB při aktualizaci
Do instalačního skriptu přidán parametr -u pro odinstalování
14.10.2013 - vyžaduje FreenetIS_1.1.0~beta2
Změna chování validátoru - pokud není zadána část, validátor se pokusí jako část použít město
18.9.2013 - vyžaduje FreenetIS_1.1.0~beta1
Změny kvůli změně chování napovídače
17.9.2013
Změny kvůli změně chování napovídače
16.9.2013 - vyžaduje FreenetIS_1.1.0~alpha58
Změna řazení města a části
13.9.2013
Oprava chyby v importovacím skriptu běžícím s --cron parametrem
5.9.2013
Vypnutí barevného vypisování v CRONu