Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Configuracion HTTPS

La idea es configurar un servidor web que soporte SSL. Para realizar la configuración necesitaremos tener instalado el paquete OpenSSL. Openssl es un kit de herramientas para trabajar con TLS y SSL.

Para ello seguiremos los siguientes pasos:

  • Crear una clave privada lo suficientemente fuerte
  • Crear una solicitud CSR y enviarla a una CA
  • Instalar el certificado que nos devuelva la CA en nuestro servidor web

Creacion de certificado digital para nuestro site

Crear claves RSA de 2048 bit. La clave se guarde en formato PEM, que es un formato de solo texto, para poder ser enviada a través de web.

sudo openssl genrsa -out clave.key 2048

Generar una solicitud de certificado CSR, rellenando los datos. Es un petición formal pidiendo a la CA que nos firme el certificado.

sudo openssl req -new -key clave.key -out solicitud.csr

Esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt.

Como lo que vamos a hacer es instalar un servidor para nuestro propio uso, no hace falta ir a una CA para que nos certifique.

En este caso lo firmamos nosotros, es decir creamos un certificado auto firmado usando la clave privada.

sudo openssl x509 -req -days 365 -in solicitud.csr -signkey clave.key -out certificado.crt

Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores).

sudo cp clave.key /etc/ssl/private/
sudo cp certificado.crt /etc/ssl/certs/
sudo chown root:ssl-cert /etc/ssl/private/clave.key
sudo chmod 640 /etc/ssl/private/clave.key
sudo chown root:root /etc/ssl/certs/certificado.crt 

Conversión del certificado

Las claves y certificados se pueden guardar en varios formatos diferentes, por lo que podemos convertir entre uno y otro formato. Agrupamos en un mismo archivo la clave y el certificado:

cat clave.key certificado.crt > certificadoyclave.pem
cp certificadoyclave.pem /etc/ssl/private/

Modificacion del archivo de configuracion del site

Modificaremos el site, comprobando que dentro de virtualhost tenemos las siguientes directivas:

SSLEngine on
SSLCertificateFile /etc/ssl/private/certificadoyclave.pem

Hay que comentar la opción SSLCertificateKeyFile para que no afecte.

En la directiva Directory /var/www/html debe de aparecer la siguiente configuracion (apache2.conf)

<Directory /var/www/>
SSLRequireSSL
...
</Directory>

Habilitar mod Apache SSL

Habilitamos el mod

sudo a2enmod ssl

Habilitar el site SSL

sudo a2ensite default-ssl

Reiniciamos servidor

sudo systemctl restart apache2

Redirección HTTP a HTTPS

El mecanismo que podemos utilizar es el de editar el site que tengamos configurado para HTTP (normalmente el de defecto) y agregar la línea:

<VirtualHost *:80>
ServerName moodle.midominio.com
ServerAdmin webmaster@midominio.com
DocumentRoot /var/www/html
Redirect / https://moodle.midominio.com
</VirtualHost>

Cambiando la IP por el nombre de dominio de nuestra página. A continuación reiniciar el servidor

sudo systemctl restart apache2

Problemas con el cambio de sites de HTTP a HTTPS

Puede pasar que al cambiar el acceso de un tipo a otro, tengamos problemas como que la página no carga o no carga del todo. Para ello, se pueden hacer algunas modificaciones.

Moodle

Cambiar la IP por el nombre de dominio en el archivo config.php

$CFG->wwwroot = 'https://dominio.com';

Wordpress

Modificar el archivo wp-config.php y agregar/cambiar las siguientes opciones:

define('WP_HOME','https://dominio.com');
define('WP_SITEURL','https://dominio.com');
define('FORCE_SSL_ADMIN', true);

About

apache config files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors