Actualizar Certificado SSL en Apache/Ubuntu

1. Descargar el nuevo certificado en la ruta de certificados del servidor administrado. Únicamente colocar los archivos crt. 


2. Colocar los permisos 600 con usuario root en ambos archivos.

    sudo chmod 600 file1.ext file2.ext
    sudo chown root file1.ext file2.ext
    sudo chgrp root file1.ext file2.ext

3. Actualizar el archivo de configuración del sitio en apache:


    vi /etc/apache2/sites-available/000-default.conf

4. reiniciar apache

    services apache2 restart 

5. revisar validez del certificado en el sitio y listo

    

Referencia
https://www.digicert.com/kb/csr-ssl-installation/ubuntu-server-with-apache2-openssl.htm#ssl_certificate_install 

Instalar certificado SSL de godaddy en un servidor web administrado apache

Instalar certificado SSL 

Crear un certificado válido desde cero:
  1. Solicitar certificado creando una llave pública y privada CSR, se debe tener instalado la librería openssl: [sudo apt-get install openssl] instalar módulo ssl: [sudo a2enmod ssl] y crear tanto el certificado firmado de solicitud como la llave privada usando: [openssl req -newkey rsa:2048 -nodes -keyout example.com_ssl.key -out example.com_ssl.csr -sha256] responder la mayoría de preguntas. El archivo example.com_ssl.csr es la solicitud empieza con [-----BEGIN CERTIFICATE REQUEST-----] 
  2. Ir a godaddy y colocar el CSR para solicitar el certificado el cambio se demora 10 min aprox.
  3. Ingresar los datos del sitio tuSitio.com, una vez listo validar que el certificado está emitido correctamente.
  4. Descargar el certificado en formato zip 
  5. Instalar el certificado SSL 
  6. Verificar instalación
Instalación 
Activar SSL en Apache conf
 vi /etc/apache2/sites-available/default-ssl.conf

Crear el host virtual,
vi etc/apache2/sites-available/000-default.conf



<VirtualHost *:80>
  ServerName tuSitio.com
  ServerAlias www.tuSitio.com

  Redirect permanent / https://tuSitio.com/
</VirtualHost>

<VirtualHost *:443>
        ServerName tuSitio.com
        ServerAlias www.tuSitio.com

         SSLEngine on
         SSLCertificateFile /ruta/certificado.crt
         SSLCertificateKeyFile /ruta/llave_privada.key
         SSLCertificateChainFile /ruta/intermediate.crt

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/wordpress

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>



En la ruta de los certificados copiar los archivos: 
- certificado.crt > que es el f7a123be80a27c67.crt del archivo zip
- llave_privada.key > que es la key privada generada en el paso 1.
- intermediate.crt > que contiene los 3 certificados en uno solo (gd_bundle-g2-g1.crt)

Hacer que los 3 archivos solo tengan lectura de tipo administrador o root. 

 sudo chmod 600 file.ext
 sudo chowner user file.ext

Revisar que no haya errores en la configuración 
apache2ctl configtest
Reiniciar apache.
apache2ctl restart

 
Instalar certificado vencido

Cuando vence el certificado se debe renovar la solicitud por el tiempo requerido y descargar el archivo .zip. Buscar donde está instalado el certificado [grep -i -r "SSLCertificateFile" /etc/apache2/] 


Revisar la ruta donde está localizado el certificado [vi /etc/apache2/sites-available/000-default.conf]:

[sudo ls -l /ruta/]



Únicamente actualizar el archivo bundel.crt y el intermediate.crt, es decir, el key se mantiene solo se actualizan los archivos crt.




Reiniciar Apache y listo: [apache2ctl restart]


Referencia técnica: 

Dependencia tecnológica

Me siento vulnerable. No es posible que después de 18 años de educación formal no sepa cómo funciona las tripas de la tecnología. Solo sé usarla, por más ingeniería que haya estudiado. 
No sé cómo a nivel físico funcionan las cosas, por ejemplo, aunque ejemplos tengo varios:
  • Cómo funciona una cámara web, cómo se transmite el streaming de video, cómo construir un controlador.
  • Cómo funciona una memoria flash, y si quiero hacer mi propia memoria flash, cómo lo hago? Cómo es que un disco duro de estado sólido transmite a grandes velocidades la información? Necesito ver cómo están el cero y el uno guardados en los chips.
  • Cómo funciona internamente un procesador i3, porqué es 3, 5, 9? qué implican físicamente las generaciones? Necesito ver la lucha que hay internamente con los ceros y unos para procesar el video, el audio, el texto, las interrupciones, pero en la vida real. Cómo hago mi propio procesador? Cómo funcionan los wafles de procesamiento?
  • Cómo se transmite el video hdmi o básico vga (ese creo que es más fácil de estudiar es público)? Cómo funciona una tarjeta de video o de televisión? Quiero un ejemplo de la vida misma de como se codifican o se renderizan las animaciones de los video juegos? Cómo?
  • Cómo hago mi propio dispositivo wifi? Cómo se transmiten la señal? Físicamente cómo es posible? Y si quiero definir mi propio estándar que viaje por el aire? Cómo creo mi propio router? Necesito capturar y atrapar con mis manos la señal del wifi (obvio no es posible pero quiero jugar con la señal quiero enviar mis propios paquetes y usar el modelo OSI).   
  • Tengo un celular, cómo funciona? pasamos de CDMA a GSM, qué es lo uno y qué es lo otro? Cómo funcionan? Por cultura sé que el uno es privado y el otro público. Pero porqué hay un firmware, cómo se come eso? quiero ver las células, quiero pinchar un celular y clonarlo para saber qué implicaciones tiene el estándar. Quiero entender porqué 4G es pésimo en mi pais.  
  • Tengo un celular en desuso, cómo reutilizo sus piezas? Será que es fácil la reingeniería inversa? Cómo reutilizo la cámara de mi iPhone y le adapto para usarla con conexión usb y jugar con ella. 
  • Cómo es que funciona la señal de televisión y la de radio, son tecnologías de la edad de la chispa y hasta ahora no somos capaces de crear medios de comunicación que se preocupen por la sociedad. Cómo funciona el espectro?
  • Cómo es que funcionan las pantallas touch? Cómo funciona una pantalla de cristal líquido? Cómo lo hago yo mismo, así sea una pantalla diminuta?
  • Cómo es que no sé cómo hacerlo yo mismo?
Es que me siento vacío. Hasta ahí con el hardware y ahora con el software? Más preguntas:
  • Cómo hago un crack yo mismo? Una cosa es ver el video en YouTube y descargarme el programa o leer el manual en una página que me la facilitó Google. Pero otra diferente es: Yo hackeo y crakeo un programa no con el fin de lucrar y evadir sino con el fin de aprender, con un fin académico. 
  • Cómo es que antes creaban una versión personalizada de Windows Xp, cómo lo hicieron? Claro ahora estamos en la época de Windows 10, cómo lo modifico, aunque sea por hobbie? 
  • Cómo diablos funciona un sistema operativo en sus adentros para entenderse con el hardware o con la BIOS? O sea si es verdad aprobé la materia de sistemas operativos y sé cómo funciona el kernel pero nunca lo vi, nunca lo toqué, nunca lo sentí, nunca le abracé, nunca nada. Necesito ver el corazón de linux al rojo vivo, necesito ver y escuchar el palpitar de una distribución compilada por mi mismo. Necesito crear una distribución de consumo local y no una distro de las grandes industrias, o en todo caso si, si la necesito para hacerle una operación a corazón abierto.
  • Cómo es que nuestros computadores llegan a ser zombies para robarnos la información? O sea cómo los hackers de sombrero negro se dan cuenta? Cómo lo hacen? Creo que ahí podría tomar algún curso intensivo de hackeo ético y de seguridad pero insisto, cómo es que lo hacen, de dónde viene esa creatividad de infectar? Y claro entiendo que es por que se dedican a robar o lucrar pero de algún lado aprendieron, cómo aprendieron?
  • Cómo funciona un motor de navegación de internet en sus adentros? Cómo es el renderizado? Cómo esque JavasScript es tan poderoso? Qué tiene en su core? En todo caso creo que alguna vez leí algo de Chronium de código abierto, pero necesito más! 
  • Cómo hago mi propio motor de base de datos? Sé que hay libros que explican cómo funciona y cómo aplica los algoritmos de búsqueda y ordenamiento. Tengo la sospecha de que hay algunos motores que son libres, debería ver su código para tener un criterio diferente. 
En todo caso creo que el software es más permisivo que el hardware. Gracias a que existe el código abierto podría revisarlo. 

Insisto me siento usado por la educación formal por enseñarme a usar y no a crear o a sembrar o a inventar. 
Me siento engañado. 

Alguno de mis profesores alguna vez si me lo dijo, pero fue algo vago y efímero que no me quedó. Hoy creo que desperté y me doy cuenta de lo vulnerables que somos como personas, como familias, como ciudades, como países, como continente. Si un día las grandes industrias dejan de funcionar (cosa que no pasará) nos quedamos sin nada porque no sabemos cómo funcionan las cosas y eso que no he hablado de los refrigeradores, los microondas, las televisiones... 

Insisto hoy desperté después de 20 años de educarme formalmente. Sé que no es tarde pero el tiempo nos agarra y no hacemos nada. Okey yo haré mi mejor esfuerzo y el resto? la universidad? mi pais? la región? ... 

Hagamos como China o Japón o Korea que en algún punto copiaban y está bien, aprendamos, pero en serio, hagámoslo porque soberanamente no sabemos el cómo, somo dependientes totalmente, sabemos usar pero no crear algo nuevo y diverso. Y que nos quede grabado en la sangre que debemos mejorar siempre.

Hoy me di cuenta que me llama más el hardware que el software. Tengo que leer, aprender y experimentar.

La importancia de definir procesos

Este es un posteo rápido para plantear 3 temas específicos:

  • Ideas documentadas
  • Procesos
  • El conocimiento
  • La vida
Las ideas deben ser plasmadas, explicadas y comunicadas, luego deben ser convertidas en planteamientos iniciales, deben ser revisadas para ser mejoradas con el tiempo y mejores ideas. Una vez aplicadas las diferentes mejoras a los planteamientos, de alguna manera, se deben ejecutar. Ya sea que la ejecución sea exitosa o no debe ser documentada. La documentación es importante. Al menos documentar lo principal, aunque sería de mucha ayuda los detalles, ya depende de hasta donde se quiere llegar. Dicha documentación puede ser susceptible de una revisión futura, para ver en qué se falló, cuales fueron los factores de éxito, qué se debería cambiar o mejorar. Sobre todo, mejorar. Yo propongo la documentación con el fin de mejorar. Quizá en otro post hablaré de qué documentar y cuándo documentar, este análisis  basado en algún estándar que de una guía sobre la documentación formal y rápida. 

Hablando de los procesos, en realidad, que importantes son los procesos en todos los ámbitos. En la ingeniería por que ordena el cómo llegar al conocimiento, en las organizaciones porque define los pasos a seguir, en la educación porque enseña a cómo educar, en la política para transparentar, y así en todo, en definitiva los procesos son muy útiles para tener claro el camino a seguir y los escenarios del contexto. Que alguien me corrija cuándo no son importantes. Puede ser que en la interacción humana, en lo informal, en lo rápido, en lo divertido, en lo cotidiano. 

Todos los días amanece y tenemos ideas diversas de todo lo que nos sucede, y la vida nos sucede. Unos estudian otros educan, unos practican y otros juegan, unos aprenden y otros enseñan, unos escriben y otros leen, unos hacen y otros deshacen, unos proponen y otros aplican, unos gastan y otros ganan, unos encuentran y otros botan, unos reciclan y otros desperdician, unos repiten y otros innovan. Nos damos cuenta de que hay gente que no sabe lo que tu sabes y lo necesita. Otros en cambio saben más que tu, que hasta son dignos de admiración, ellos podrían ser tus mentores en algo que tu necesites. Y así todo se complementa. 

La vida está llena de ideas, de procesos y de conocimiento, es imperante educar nuestro cerebro para consumir ideas y desarrollar ideas, convertirlas en planteamientos y en posibles procesos, y finalmente estos procesos por más mínimos que sean documentarlos para crear más conocimiento. Sobre todo lo último crear. Así sea crear chistes para crear risas. Alguien debió ya de conceptualizar y de formular el proceso que se debe seguir para crear un chiste que genere risas.

Y todo se fundamenta en el tiempo. 

Activar xdebug en phpStorm (2da parte)

Complementando el post anterior 

👉👉 Activar xdebug en phpStorm👈👈

Al analizar el script generado de [php_info.txt] con el comando [php -i >> php_info.txt] en el sitio web https://xdebug.org/wizard para un ambiente sin xdebug instalado se ve de la siguiente manera:


Ahora las instrucciones del proveedor son:


A continuación su transcripción: 

Instructions

  1. Download xdebug-2.9.8.tgz
  2. Install the pre-requisites for compiling PHP extensions.
    On your Ubuntu system, install them with: apt-get install php-dev autoconf automake
  3. Unpack the downloaded file with tar -xvzf xdebug-2.9.8.tgz
  4. Run: cd xdebug-2.9.8
  5. Run: phpize (See the FAQ if you don't have phpize).

    As part of its output it should show:

    Configuring for:
    ...
    Zend Module Api No:      20180731
    Zend Extension Api No:   320180731

    If it does not, you are using the wrong phpize. Please follow this FAQ entry and skip the next step.

  6. Run: ./configure
  7. Run: make
  8. Run: cp modules/xdebug.so /usr/lib/php/20180731
  9. Edit /etc/php/7.3/cli/php.ini and add the line
    zend_extension = /usr/lib/php/20180731/xdebug.so
  10. Please also update php.ini files in adjacent directories, as your system seems to be configured with a separate php.ini file for the web server and command line.

Luego se debe configurar el phpStorm, ver en el post anterior:

👉👉 Activar xdebug en phpStorm👈👈

Activar xdebug en phpStorm


1. Donwload php_xdebug extension. Usar el wizard de Xdebug https://xdebug.org/wizard para lo cual solicita el resultado de ejecutar en consola "php -i >> php_info.txt" sin comillas. Recomienda descargar la versión adecuada para la configuración local de php https://xdebug.org/download.

php -i >> php_info.txt



Resultado:

 En el siguiente link se encuentra un anexo para 👉 activar xdebug en Ubuntu.

Download extension: https://xdebug.org/download.


2. En php.ini incluir la extensión de Xdebug para que php reconozca la librería de debug. Reiniciar php (el servidor instalado).

[xdebug]
zend_extension="php_xdebug-2.9.6-7.4-vc15-nts-x86_64.dll"
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_autostart=1



3. Verificar la instalación de la extensión Xdebug en php colocando "php -version" en la consola.

php -version


4. En PhpStorm activar o configurar un CLI interpreter. Ir a Settings > Languages & Frameworks > PHP > CLI Interpreter.


5. Reiniciar PHP. Incluir un punto de quiebre y listo. Se activa el Xdebug en PhpStorm.


6. Recordar activar el listener en phpStorm.

 


¿Qué significa crear valor?

El valor se traduce a tiempo ahorrado y en marcos de trabajo ágiles la creación de valor se relaciona con el  ahorro de recursos y exactamente con obtener más resultados visibles en menor tiempo. De ahí vienen las entregas iterativas e incrementales. Se crea valor al momento de: 
  • Ahorrar tiempo
  • Obtener iteraciones funcionales en los tiempos estimados o anticipados
  • Gastar menos ya sea en recursos físicos, económicos, y/o personas. 

El COVID19 trae esperanzas

Hoy, como nunca, me levanté a las 7am y leí tanto que después de 4 horas de escritos masivos, uno tras otro, estoy tan abrumado que me infoxifiqué con tanto de coyuntura local y mundial.
Es imperante un cambio en nuestro pensar y accionar a tal punto de dejar de lado la queja y la vista gorda. Necesitamos repensar y actuar, replantear el mundo que queremos y movernos en pro de buscar mejoras. Es ahora cuando mi barrio, mi sector, mi ciudad, mi país, mi continente, el mundo debe unirse.
La corrupción aflora hasta en lo más mínimo, desde el hecho de no devolver el vuelto cuando te lo cobran mal hasta las coimas en los mega proyectos gubernamentales. Y así tenemos el descaro de decir "políticos corruptos" cuando a nuestra empleada doméstica ni al seguro social le queremos afiliar, cuando por internet en los exámenes virtuales se copia sin descaro, cuando la vecina sabe que todos saben que a la vuelta de la esquina está el brujo con sus volátiles y que cuando viene el GIR fingen demencia, o como cuando tienes pareja y aún así te encuentras con tu culitx vago. Y es que todo está atado, si hablo me matan o me marcan. ¿Hasta dónde está enraizado el odio, la venganza, la comodidad? ...y bueno después de esta queja, continúo.
Debemos unirnos y dejar de lado estas malas prácticas que tanto daño nos han hecho. Unirnos en acciones colectivas. Acciones de cuidado, de sensibilización, de trabajo, de apoyo, de motivación, de conservación, de mejora, de innovación.
Mi país está pasando por un mal momento, la emergencia sanitaria ha hecho que la economía local y mundial caiga, generando más pobreza y en algunos casos oportunidades. Incluso estamos pasando por una declive en las arcas económicas del estado que no tienen liquidez para pagar sueldos a ningún empleado público. Las calles sin transporte público interno y tampoco interprovincial, ha hecho que la gente se mueva grandes distancias por la necesidad de abastecer sus casas. (basta de reclamos) El precio del petróleo cayó por los suelos a un precio histórico, acontecimiento que afecta a todos los gobiernos que su PIB depende de ello. Para rematar hasta el oleoducto de crudo pesado el mas importante del país está averiado, hubieron roturas en la tubería, que derramó petróleo y gasolina en la selva ecuatoriana. Otra vez los ecosistemas se vieron afectados. Y leyendo más a fondo la razón de dicha avería, se debe a que la mega obra de construcción millonaria Coca-Codo-Sinclair, de la década ganada, tuvo fallas de análisis técnico, de impacto ambiental y de seguimiento a la erosión. El cambio del cause del Río Coca en el oriente ecuatoriano, con la implementación de esta obra, hizo que se acumulen sedimentos y cambie la morfología del río provocando, por el peso de los sedimentos, el socavamiento en lugares que no estaban previstos. Esto cambió la dinámica del río, del cause, la acumulación de sedimentos y la necesidad, por la naturaleza del río, de mover más de lo que normalmente lo hacía. Esto provocó una implosión a metros antes de la cascada de San Rafael, un ícono turístico del lugar por el que ahora ya no cae agua. Lo interesante es que se generaron dos cascadas nuevas. Lo que ahora preocupa es que el lugar donde cae el agua no tiene bases con sedimentos sólidos por lo que provocará erosión regresiva con el pasar del tiempo. Pero bueno, la naturaleza es sabia y sabrá como resolverlo. Esperemos esto no afecte a los pueblos o infraestructuras cercanas. Como dice una reflexión de una revista noticiera, esto parecen golpes de efecto al gobierno.
Lamentablemente en mi país tenemos a un payaso como presidente. No tiene ni un pelo de líder peor de presi, quizá de presidiario si pero de presidente no. Es inaudito que nuestro mandante no sea capaz de llamar a la reflexión o de conversar con su gente. Su incapacidad de gobernar habla por si sola. Somos tomados como ejemplo por ser el peor país en el manejo de esta crisis.
Por eso como digo en el título de esta entrada el virus trae consigo esperanza, sé que será trágico el resultado de esta pandemia pero al final, los mas resistentes, los más planificados y ordenados lograremos salir de esta. Será duro pero lo lograremos.

i.e. vs e.g.

 i.e. is used to explain, clarify or rephrase a statement
 i.e. es usado para explicar, clarificar or parafrasear una oración.
  • i. e. = id est (that is) (esto es)

 e.g. is used to list examples.
 e.g. es usado para listar ejemplos.
  • e. g. = exempli gratia (for example) (por ejemplo [p. ej.])

 et al. procede de la expresión latina et alii.
  • significa 'y otros'.

Fuente:
https://en.wiktionary.org/wiki/i.e.
https://en.wiktionary.org/wiki/Wiktionary:Abbreviations_in_Webster
http://www.wikilengua.org/index.php/et_al.

Correlación vs relación causal

Tratando de escribir un paper dí con que en vez de usar la palabra correlación prefería usar la palabra relación, ahí surgió la duda, entonces encontré cuando usar y porqué usar en contexto el término "Correlación" vs "Relación".

Una correlación es una medida o grado de relación entre dos variables. Un conjunto de datos puede ser positivamente correlacionado, negativamente correlacionado o no correlacionado del todo. Así como un conjunto de valores incrementa el otro conjunto tiende a aumentar, entonces esto es llamado una correlación positiva.



Así como un conjunto de valores incrementa el otro conjunto tiende a disminuir, entonces esto es llamado una correlación negativa.



Si el cambio en los valores de un conjunto no tiene efecto en los valores del otro, entonces esto es llamado como "no correlación" o “correlación cero".



Una relación causal entre dos eventos existe si la ocurrencia del primero causa el otro. El primer evento es llamado la causa y el segundo evento es llamado efecto. Una correlación entre dos variables no implica causalidad. Por otro lado, si hay una relación causal entre dos variables, estas deben estar correlacionadas.

-------------------------------------
Ejemplo:
Un estudio muestra que hay una correlación negativa entre la ansiedad de un estudiante antes de una prueba y el puntaje del estudiante en una prueba. Pero no podemos decir que la ansiedad causa un puntaje más bajo en la prueba; podría haber otras razones-el estudiante quizá no estudió bien, entonces aquí la correlación no implica causalidad.
Hay una correlación positiva entre el número de horas que Usted pasa estudiando y la calificación que obtiene. Aquí, si hay causalidad; si Usted pasa más tiempo estudiando, resultará en una calificación más alta.
-------------------------------------

Una de las medidas más comúnmente usadas de correlación es la correlación del momento del producto Pearson o el coeficiente de correlación Pearson. Se mide usando la fórmula,



El valor del coeficiente de correlación Pearson varía desde -1 a +1 donde -1 indica una correlación negativa fuerte y +1 indica una correlación positiva fuerte.

Fuente: VARSITY TUTORS- Hotmath
https://www.varsitytutors.com/hotmath/hotmath_help/spanish/topics/correlation-and-causal-relation