====== Instalační manuál nodu ELA Blockchain ® ======
==== Před instalací je nejprve potřeba provést: ====
- Poslat na email vodsedalek@elachain.cz informaci o doméně, na které má node běžet.
- Až bude vše pro instalaci Vašeho nodu připraveno, dostane v odpovědi na Váš email .install-env soubor v šifrovaném archivu.
- Stáhnout si instalační balíček elachain-preq.deb z následujícíc adresy:
* [[https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged.git|https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged.git]]
==== Instalační postup: ====
- **Je doporučeno vytvořit uživatele pod kterým to ElA blockchain poběží. Uživatel musí mít sudo práva!**
* Nejjednoduší postup pokud jste přihlášeni pod rootem:
* ''apt install sudo''
* ''adduser vasuser''
* ''adduser vasuser sudo''
- **Login na vytvořené uživatele buď přímo na PC nebo pomocí ssh (vzdálený přístup)**
* S default ssh portem 22:
* "ssh vasuser@vaseIP" nebo "ssh vasuser@blockchain.vaseDomena"
* Jiný port:
* "ssh vasuser@vaseIP -pVasPort" nebo "ssh vasuser@blockchain.vaseDomena -pVasPort"
* Příklad:
* ''ssh ela@blockchain.elachain.cz -p10222 ''
- **Je potřeba dostat instalační .deb balíček na node. Například můžeme uvést dvě možnosti.**
- Stáhneme archiv obsahující balíček přímo z [[https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged.git|https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged.git]]
* ''wget [[https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged/raw/master/elachain-preq.deb|https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged/raw/master/elachain-preq.deb]]''
- Přímo pomocí gitu. Nejprve ověříme zda je git nainstalovaný a následně uděláme clone repository:
* ''sudo apt install git''
* ''git clone [[https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged.git|https://eu-de.git.cloud.ibm.com/vodsedalek/ela-preq-package-packaged.git]]''
- **Pustit instalační balíček pomocí **''sudo apt install ./elachain-preq.deb'' (ve složce kde se balíček nachází)
- **Dle výpisu z instalace následně pustit příkaz**''node_config'' (bez suda - v tomto případě je důležité pod kterým uživatelem se příkaz spouští)
- **Během procesu budete požádáni o dodání**''.install-env'' **souboru do složky**''/usr/local/NODE_CONTROL''
- jedna z možností je například pomocí nějakého SCP klienta (WinSCP)
- nebo můžeme přímo příkazem ''scp .install-env vasuser@vaseIP:/usr/local/NODE_CONTROL''
- nebo si soubor .install-env otevřeme a jeho obsah zkopírujeme do nově vytvořeného souboru se stejným jménem na našem serveru, pak ho uložíme
- **Následuje několik dotazů y/n. **
* Nejprve pro vytvoření konfigurace apache. Ve většině případu je žádoucí volit "y". Volbu 'n' volte pokud máte dostatek zkušeností s konfigurací apache serveru a nutně vyžadujete specifickou konfiguraci.
* Potom je dotaz na vygenerování ssl certifikátu pro Vámi zvolenou doménu. Pokud chcete vygenerovat free ssl certifikát pomocí Let's Encrypt zvolte 'y'. Při generování cerifikátu postupujte dle výpisu nástroje Let's Encrypt. Pokud máte nebo chcete použít jiný ssl certifikát nakopírujte certifikáty dle výpisu konfiguračního scriptu. Pokud vlastníte certifikáty v jiném formátu, je na Vás upravit konfiguraci apache serveru.
* V případě neúspěšného vygenerování SSL cerifikátu se nepodaří spustit apache server. Certifikát je možné zkusit znovu vygenerovat pomocí následujících příkazů:
* ''sudo certbot certonly --standalone -d blockchain.vaseDomena''
* Následně je ještě třeba provést restart apache serveru pomocí ''sudo systemctl restart apache2''
* Poslední dotaz se týká instalace logDNA služby, která nám úmožný vzdálený monitoring. Tu potvrdíte znovu zadáním "y".
* Zde může nastat problém na starších verzích Debianu, kde není defaultně nainstalován balíček ''apt-transport-https''. V případě problému ho stačí doinstalovat (bude přidáno do dependecies instalačního balíčku v další verzi)
* Instalace logdna služby je možná i později samostatně zavoláním ''setLogDNA''
- **Po dokončení **''node_config'' ** je vhodné počítač restartovat nebo alepsoň provést relogin uživatele.**
* Vzdáleně: ''sudo reboot''
- **Po restartu pustíte příkaz**''install-ela-node'', který provede stažení potřebných věcí z našich git repository a zároveň stáhne základní docker images.
- **Následně je již možné pustit script pro první spuštění nodu**''bootstrap-ela-network init''.
- **Aplikaci a gateway spustíte pomocí **''manage-ela-app start''. Pří prvotním spouštění se provádí také bootstraping aplikace, který potřebuje běžící gateway. Kdyby bylo pouštění gateway přílíš pomalé, tak uvidíte chybu podobonou:
Traceback (most recent call last):
File "/usr/local/NODE_CONTROL/scripts/apps/bootstrap-apps.py", line 17, in
r = requests.get(url_admin, headers=headers)
File "/home/honza/.local/lib/python2.7/site-packages/requests/api.py", line 75, in get
return request('get', url, params=params, kwargs)
File "/home/honza/.local/lib/python2.7/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, kwargs)
File "/home/honza/.local/lib/python2.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, send_kwargs)
File "/home/honza/.local/lib/python2.7/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, kwargs)
File "/home/honza/.local/lib/python2.7/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
* V tom případě se nic neděje a mělo by stačit spustit znovu ''manage-ela-app start''. Pokud by náhodou nastal problém podruhé lze použít ještě o něco komplikovanější postup. Ten se skládá ze dvou příkazů:
* Nejprve pro navigování do složky: ''cd /usr/local/NODE_CONTROL''
* Následné ruční spuštění bootstrapu: ''python scripts/apps/bootstrap-apps.py''
- **Restart gateway **- po první inicializace je vhodné ještě restartovat container gateway pomocí příkazu - ''docker restart gateway.blockchain.vaseDomena''
- **Tím je proces dokončen**. Při výpisu docker containers pomocí ''docker ps'', by měly být vidět následující kontejnery:
gateway.blockchain.vaseDomena
couchdb-gateway.blockchain.vaseDomena
apps-notarius
apps-admin
apps-admin-mongo
dev-peer1.blockchain.vaseDomena-notarius_cc-"version"
dev-peer1.blockchain.vaseDomena-admin_cc-"version"
cli
peer0.blockchain.vaseDomena
peer1.blockchain.vaseDomena
ca.blockchain.vaseDomena
couchdb0
couchdb1
Pokud zároveň běží správně i apache server, dostanete se na adrese "blockchain.vaseDomena" na aplikaci běžící na Vašem nodu. \\ Admin aplikaci potom naleznete pod adresou "https://blockchain.vaseDomena/admin". //