![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Instalar rondashtml5 (para crpmonitorwall con milestone o tkmwall) en un TCE. Generar certificados SSL con CA uiharu.(NOTA: esto es para generar un certificado firmado por uiharu, si se quiere uno autofirmnado, seguir el howto http://3.0.1.46:8000/HowTo/367)NOTA2: Hay un interfaz web en uiharu para hacerlo, en https://3.0.1.3/certificados NOTA3: También se puede hacer desde línea de comandos con una línea similar a: wget --no-check-certificate "--post-data=data=19.81.20.64+tp2-Pelayo" https://3.0.1.3/certificados -O - | tar -xvzf - Prodedimiento: En uiharu, como usuario dario (se sustituye la IP y el nombre por la que le corresponda a ese equipo): cd ~/Programacion/tkmwall/rondashtml5/certificate ./03_gen-clientcert.sh 3.0.1.64 arroyofresno arroyofresno.metro.local # Con esto se ha generado un nuevo certificado en rondashtml5nginx.crt y rondashtml5nginx.key # Esos ficheros son los que hay que instalar en el equipo de destino para tener SSL (se pueden renombrar) En el tce, como root: apt-get install nginx-extras lua-nginx-websocket # NOTA: los paquetes para los TCE con debian 9.8 i386 están en main1:/incoming/nginx-debian98_i386/ mkdir -p /usr/local/lib/rondashtml5/cgi-bin # Para equipos x86_64 scp dario@3.0.1.3:Programacion/tkmwall/rondashtml5/cgicontrolid /usr/local/lib/rondashtml5/cgi-bin # NOTA: para equipos i386 se hace # scp dario@3.0.1.3:Programacion/tkmwall/rondashtml5/cgicontrolid.i386 /usr/local/lib/rondashtml5/cgi-bin/cgicontrolid # Ponemos que lo arranque automáticamente cuando se arranca el nginx sed -i '/start-stop-daemon --stop --quiet/i#SICO ps -efa | grep "[0-9] \./cgi[c]ontrolid " | expand | sed "s/ */ /g" | cut -d " " -f 2 | xargs kill 2>/dev/null' /etc/init.d/nginx sed -i '/|| return 2/a#SICO ( cd /usr/local/lib/rondashtml5/cgi-bin/ && nohup ./cgicontrolid 127.0.0.1:9000 16.0.77.19:22119 & ) 2>/dev/null' /etc/init.d/nginx sed -i "s/^#SICO//g" /etc/init.d/nginx mkdir -p /var/log/nginx/log/ chown www-data:adm /var/log/nginx/log/ ssh dario@3.0.1.3 "cd Programacion/tkmwall/rondashtml5/ && tar -chf - rondasassets" | (cd /var/www/html/ && tar -xvf - ) ssh dario@3.0.1.3 "cd Programacion/tkmwall/rondashtml5/etc-nginx-conf.d && tar -chf - ." | (cd /etc/nginx/conf.d && tar -xvf - ) sed -i "s/serverip = \".*\"/serverip = \"$(/sbin/ifconfig -a | grep inet | head -1 | cut -d 't' -f 2 | cut -d ' ' -f 2):443\"/g" /etc/nginx/conf.d/rondas.lua sed -i "s/as.cfg.*\"/as.cfg\"/g" /etc/nginx/conf.d/wsrondas.lua sed -i "s/id=\".*\"/id=\"$(hostname)\"/g" /etc/nginx/conf.d/wsrondas.lua mkdir -p /home/metro/crpmonitorwall chown metro:metro /home/metro/crpmonitorwall touch /home/metro/crpmonitorwall/rondas.cfg chmod 666 /home/metro/crpmonitorwall/rondas.cfg chown www-data:nobody /home/metro/crpmonitorwall/rondas.cfg scp "dario@3.0.1.3:Programacion/tkmwall/rondashtml5/certificate/rondashtml5nginx.*" /etc/nginx/conf.d/certificate/ mkdir -p /etc/nginx/snippets/ scp dario@3.0.1.3:Programacion/tkmwall/rondashtml5/etc-nginx-snippets/ssl-params.conf /etc/nginx/snippets/ # Como esto tarda mucho, copiamos lo que hay en uiharu #openssl dhparam -out /etc/nginx/dhparam.pem 4096 scp dario@3.0.1.3:/etc/nginx/dhparam.pem /etc/nginx/dhparam.pem ln -s /etc/nginx/conf.d/certificate /etc/nginx/certificate /etc/init.d/nginx stop ; /etc/init.d/nginx start NOTA: Cuando se instale un equipo en metro, si se ha cambiado la ip con respecto a cuando se configuró, hay que hacer, como root: /etc/nginx/conf.d/update-config.sh /etc/init.d/nginx stop ; /etc/init.d/nginx start Para hacerlo desde metroEjemplo para chamartin (18.131.58.42 chamartin chamartin.metro.local) En uiharu, como usuario dario: cd ~/Programacion/tkmwall/rondashtml5/certificate ./03_gen-clientcert.sh 18.131.58.42 chamartin chamartin.metro.local scp /home/dario/Programacion/tkmwall/rondashtml5/cgicontrolid.i386 metro@main1:/incoming cd Programacion/tkmwall/rondashtml5/ && tar -chf - rondasassets > /tmp/rondasassets.tar scp /tmp/rondasassets.tar metro@main1:/incoming/ cd /home/dario/Programacion/tkmwall/rondashtml5/etc-nginx-conf.d && tar -chf - . > /tmp/rondasnginxconf.tar scp /tmp/rondasnginxconf.tar metro@main1:/incoming/ (cd /home/dario/Programacion/tkmwall/rondashtml5/certificate/ && tar -chf - rondashtml5nginx.*) | ssh metro@main1 "cat >/tmp/certnginx.tar" scp /home/dario/Programacion/tkmwall/rondashtml5/etc-nginx-snippets/ssl-params.conf metro@main1:/tmp scp /etc/nginx/dhparam.pem metro@main1:/tmp En el equipo de metro, como root scp metro@16.0.62.18:/incoming/nginx-debian98_i386/* /var/cache/apt/archives apt-get install nginx-extras lua-nginx-websocket mkdir -p /usr/local/lib/rondashtml5/cgi-bin scp metro@main1:/incoming/cgicontrolid.i386 /usr/local/lib/rondashtml5/cgi-bin/cgicontrolid sed -i '/start-stop-daemon --stop --quiet/i#SICO ps -efa | grep "[0-9] \./cgi[c]ontrolid " | expand | sed "s/ */ /g" | cut -d " " -f 2 | xargs kill 2>/dev/null' /etc/init.d/nginx sed -i '/|| return 2/a#SICO ( cd /usr/local/lib/rondashtml5/cgi-bin/ && nohup ./cgicontrolid 127.0.0.1:9000 16.0.77.19:22119 & ) 2>/dev/null' /etc/init.d/nginx sed -i "s/^#SICO//g" /etc/init.d/nginx mkdir -p /var/log/nginx/log/ chown www-data:adm /var/log/nginx/log/ ssh metro@16.0.62.18 "cat /incoming/rondasassets.tar" | (cd /var/www/html/ && tar -xvf - ) ssh metro@main1 "cat /incoming/rondasnginxconf.tar" | (cd /etc/nginx/conf.d && tar -xvf - ) sed -i "s/serverip = \".*\"/serverip = \"$(/sbin/ifconfig -a | grep inet | head -1 | cut -d 't' -f 2 | cut -d ' ' -f 2):443\"/g" /etc/nginx/conf.d/rondas.lua sed -i "s/as.cfg.*\"/as.cfg\"/g" /etc/nginx/conf.d/wsrondas.lua sed -i "s/id=\".*\"/id=\"$(hostname)\"/g" /etc/nginx/conf.d/wsrondas.lua chown metro:metro /home/metro/crpmonitorwall touch /home/metro/crpmonitorwall/rondas.cfg chmod 666 /home/metro/crpmonitorwall/rondas.cfg chown www-data:nobody /home/metro/crpmonitorwall/rondas.cfg ssh metro@main1 "cat /tmp/certnginx.tar" | (cd /etc/nginx/conf.d/certificate/ && tar -xvf - ) mkdir -p /etc/nginx/snippets/ scp metro@main1:/tmp/ssl-params.conf /etc/nginx/snippets/ scp metro@main1:/tmp/dhparam.pem /etc/nginx/dhparam.pem ln -s /etc/nginx/conf.d/certificate /etc/nginx/certificate /etc/init.d/nginx stop ; /etc/init.d/nginx start Instalación del certificado en el navegadorHay que importar en el navegador el certificado de uiharu:/home/dario//Programacion/tkmwall/rondashtml5/certificate/UIHARURootCA.crt Y si quieres acceder al https de 3.0.1.3 para temas de pruebas, también tendrás que instalar old UIHARURootCA.crt NOTA: para chrome puedes seguir estas instrucciones (ext. link.),con dos cambios: hay que importarlo en "Entidades de certificación raíz de confianza" en vez de "Entidades de certificación intermedias", y que cuando habla de passwords, el certificado de UIHARU no tiene password (ignora esa parte del howto). AttachsUIHARURootCA.crtold UIHARURootCA.crt |