Uživatelské nástroje

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
instalace_ubuntu_server_16.04_na_vpsfree [2016/04/23 16:42]
brozkeff [Instalace základních serverů]
instalace_ubuntu_server_16.04_na_vpsfree [2021/05/17 02:42] (aktuální)
brozkeff
Řádek 1: Řádek 1:
-====== Instalace Ubuntu server 16.04 na vpsFree ======+====== Instalace Cyclosu na Ubuntu server 16.04 na vpsFree ====== 
 + 
 + 
 +===== Stručný popis proběhlé migrace 28.4.2017 ===== 
 + 
 +  - do-release-upgrade na 14.04 
 +  - přesun Apache2 virtualHostů z /home/... do /srv a povolení /srv v konfiguráku Apache2, oprava zálohovacích skriptů na nové cesty a pro jistotu symlinky z původních složek do /srv/... 
 +  - oprava Apache2 konfiguráků podle nové syntaxe na Require all granted  
 +  - změna distribuce ve vpsAdminu na 14.04 <wrap info>(až potud velmi bezproblémové)</wrap> 
 +  - do-release-upgrade na 16.04 <wrap warning>(před tím se správně měla změnit distribude ve vpsAdminu na 16.04 aby to fakovalo jiné jádro, nutné každopádně provést poté před restartem, kvůli problémům jádra 2.6.32 s glibc6)</wrap> 
 +    - nutnost opakovaně po selhání spouštět ručně apt-get -f install a opravovat chyby. Největší problém dělal v init skriptech jakýsi //mesh// který bylo nutné úplně z SysV initskriptů vymazat aby se dalo pohnout dál, psalo to ''insserv: Starting mesh_linux64 depends on ondemand and therefore on system facility `$all' which can not be true!'' (https://pastebin.com/2BaRWEL2) 
 +    - nevím jestli to bylo nutné, ale zbavil jsem se systemd a vrátil upstart: http://notesofaprogrammer.blogspot.cz/2016/09/running-upstart-on-ubuntu-1604-lts.html 
 +  - tomcat6 nahrazen za tomcat8 a přesunut rozbalený WAR s cyclosem, změna práv souborů na tomcat8:tomcat8 
 +  - stará Joomla 2.5 na www.rozletse.cz s x podivnými relikty pluginů přestala úplně fungovat, nutnost změny mysql na mysqli ale ani to nestačilo. Vyřešeno až nahráním vanilla nové Joomly 3.8 a vložením starého konfiguráku a poté přes administraci Fix database a vyházení pluginů co neexistovaly atd. Tip: radši před migrací OS udělat postupný upgrade Joomly. 
 + 
 +===== Návod původního testovacího pokusu s instalací nového serveru =====
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Momentálně vpsFree podporuje jen Ubuntu server 14.04. Upgrade na 16.04 proto využívá balíku update-manager-core a příkazu do-release-upgrade.+Návod níže byl psaný v době, kdy vpsFree podporovalo jen Ubuntu server 14.04. Upgrade na 16.04 proto využívá balíku update-manager-core a příkazu do-release-upgrade. Navíc návod vycházel z instalace nového serveru namísto do-release upgrade existujícího jak se nakonec stalo 28.4.2017 kdy proběhl dvoukrokový upgrade Ubuntu 12.04 až na 16.04 viz body výše. Následující checklist tak je jen pro informaci, jak by se dal nainstalovat nový server pro Cyclos a migrovat do něj existující data.
 </WRAP> </WRAP>
  
 ===== Základní nastavení serveru před upgradem na 16.04 ===== ===== Základní nastavení serveru před upgradem na 16.04 =====
  
-  - přes vpsAdmin vytvořit nové playground VPS s Ubuntu server 14.04+  - přes vpsAdmin (https://vpsadmin.vpsfree.cz/vytvořit nové playground VPS s Ubuntu server 14.04
   - vygenerovat si heslo roota, to si uložit do správce hesel (Keepass2) a opsat si IP adresu IPv4   - vygenerovat si heslo roota, to si uložit do správce hesel (Keepass2) a opsat si IP adresu IPv4
   - v /etc/hosts lokálně si případně doplnit záznam pro IP adresu, aby stačilo zadávat jen doménové jméno, např. dev.rozletse.cz   - v /etc/hosts lokálně si případně doplnit záznam pro IP adresu, aby stačilo zadávat jen doménové jméno, např. dev.rozletse.cz
Řádek 46: Řádek 61:
  
   - webserver Apache (apache2), MySQL (MariaDB), Java JRE (openjdk-8-jdk-headless) a Tomcat (tomcat8):  sudo apt-get install openjdk-8-jdk-headless mariadb-server-10.0 apache2 tomcat8 tomcat8-admin tomcat8-user php libapache2-mod-php <wrap info>Neinstalovat openjdk-9, není kompatibilní s tomcatem</wrap>   - webserver Apache (apache2), MySQL (MariaDB), Java JRE (openjdk-8-jdk-headless) a Tomcat (tomcat8):  sudo apt-get install openjdk-8-jdk-headless mariadb-server-10.0 apache2 tomcat8 tomcat8-admin tomcat8-user php libapache2-mod-php <wrap info>Neinstalovat openjdk-9, není kompatibilní s tomcatem</wrap>
 +
 +===== Nastavení SSL =====
 +
 +  * nutné zabezpečit přístup do Tomcat managera, Tomcat servletů na nativních portech, a přesměrovávat virtualhosty Apache na SSL na portu 443, případně zajistit všechny další služby (webmin, phpmyadmin/adminer apod.)
 +
 +==== Let's encrypt ====
 +
 +<WRAP center round todo 60%>
 +TODO
 +</WRAP>
 +
 +<WRAP center round important 60%>
 +Nefunguje na WInXP krom Firefoxu
 +</WRAP>
 +
 +
 +==== Běžné SSL certifikáty ====
 +
 +<WRAP center round todo 60%>
 +TODO
 +</WRAP>
 +
 +<WRAP center round tip 60%>
 +Dále se uvádí nešifrované http spojení na portu 8080/80, pokud jde o ssl tak 8443 nebo 443.
 +</WRAP>
 +
 +
 +===== Příprava Tomcat GUI manageru =====
 +
   - upravit login v /etc/tomcat8/tomcat-users.xml a přiřadit se do skupiny manager-gui   - upravit login v /etc/tomcat8/tomcat-users.xml a přiřadit se do skupiny manager-gui
   - přihlásit se v dev.rozletse.cz:8080/manager   - přihlásit se v dev.rozletse.cz:8080/manager
 +
 +===== Příprava SQL databáze =====
 +
 +  - zabezpečit SQL server např. dle návodu http://www.yassl.com/files/yassl_securing_mysql.pdf nebo pomocí skriptu mysql_secure_installation
 +  - nainstalovat phpmyadmin či adminer, či ručně vytvořit nového SQL uživatele a databázi (např. cyclos/cyclos): <code mysql>sudo mysql -uroot -p
 +create database cyclos;
 +grant all on cyclos.* to cyclos@localhost identified by 'heslo-sql-uzivatele-cyclos';
 +flush privileges;
 +exit
 +</code>
 +  - v případě existující databáze kterou je nutné migrovat exportovat dosavadní SQL databázi <code bash>mysqldump -u cyclos -p cyclos > cyclos-db.sql</code>, a tu pak znovu importovat, <code bash>mysql -u cyclos -p cyclos < cyclos-db.sql</code>
 +
 +===== Příprava WAR servletu s Cyclosem =====
 +
   - stáhnout zip s cyclos3 z https://sourceforge.net/projects/cyclos/files/Cyclos3/3.7.3/cyclos_3.7.3.zip/download a rozbalit jej, nebo zkopírovat existující cyclos z existujícího serveru ze složky tomcatu/webapps   - stáhnout zip s cyclos3 z https://sourceforge.net/projects/cyclos/files/Cyclos3/3.7.3/cyclos_3.7.3.zip/download a rozbalit jej, nebo zkopírovat existující cyclos z existujícího serveru ze složky tomcatu/webapps
-  - nainstalovat phpmyadmin či adminer, či ručně vytvořit nového SQL uživatele a databázi 
-  - v případě existující databáze kterou je nutné migrovat exportovat dosavadní SQL databázi, a tu naimportovat do nového SQL uživatele 
   - upravit war soubor nebo zkopírovaný cyclos v souboru cyclos/WEB-INF/classes/cyclos.properties - zejména nastavit SQL server, databázi a username   - upravit war soubor nebo zkopírovaný cyclos v souboru cyclos/WEB-INF/classes/cyclos.properties - zejména nastavit SQL server, databázi a username
   - zabalit zpátky do waru: jar cvf cyclos.war .   - zabalit zpátky do waru: jar cvf cyclos.war .
-  - war soubor přes tomcat manager deploynout+  - ve /var/lib/tomcat8/conf/server.xml odkomentovat řádek s connector port 8009 pro AJP/1.3 
 +  - v /etc/default/tomcat8 nastavit JAVA_OPTS následovně: <code java>JAVA_OPTS="-Djava.awt.headless=true -Xms192m -Xmx768m -XX:+UseConcMarkSweepGC -XX:MaxPermSize=192m"</code>, restartovat službu tomcatu: sudo service tomcat8 restart. Bez tohoto navýšení paměti se spuštění Cyclosu nezdaří a spouštění se může zaseknout ve smyčce konzumující naplno CPU, aniž by se kdy Cyclos dokázal spustit 
 +  - war soubor přes tomcat manager deploynout: context path /cyclos, a zadat adresu war souboru v rámci filesystému serveru, např. /home/brozkeff/cyclos-config/cyclos.war 
 + 
 +===== Test funkčního Cyclosu ===== 
 + 
 +  * http://dev.rozletse.cz:8080/cyclos 
 + 
 +===== Přístup na Cyclos z portu 80 příp. 443/ssl přes reverzní proxy Apache2 ===== 
 + 
 +  - povolit modul proxy_ajp v Apache: sudo a2enmod proxy_ajp 
 +  - V příslušném Virtualhostu Apache (např. /etc/apache2/sites-enabl)ed/000-default.conf) doplnit následující řádky a restartovat Apache2 (sudo service apache2 restart) <code apache2> 
 +ProxyPass /cyclos ajp://127.0.0.1:8009/cyclos 
 +ProxyPassReverse /cyclos ajp://127.0.0.1:8009/cyclos 
 +</code> 
 +  - Cyclos by tímto měl být přístupný přímo přes port 80 nebo 443 v případě ssl u Apache: http://dev.rozletse.cz/cyclos / https://dev.rozletse.cz/cyclos
  
 +===== Další věci tímto návodem neřešené =====
 +  * jiné služby na serveru (mailserver)
 +  * nastavení domén a DNS záznamů
 +  * zálohování
 +  * konfigurace Cyclosu úplně nanovo v případě, že nejde jen o přenos existující databáze a war souboru s upravenou grafickou šablonou a překladovými klíči