Creación de hosts virtuales, generar certificados y teclas SSL y habilitar CGI Gateway en Gentoo Linux

Creación de hosts virtuales, generar certificados y teclas SSL y habilitar CGI Gateway en Gentoo Linux

El último tutorial en Instalación de la lámpara en Gentoo Linux Acabo de cubrir el proceso de instalación básico sin configuraciones adicionales disponibles para Apache para controlar mejor sus dominios.

Crear hosts virtuales de Apache en Gentoo

Este tutorial está estrictamente conectado con uno anterior en Lámpara gentoo y discute la configuración adicional para LÁMPARA entorno como crear Hosts virtuales en Apache, generar Ssl Archivos de certificado y claves, habilitar segura Ssl Protocolo en transacciones HTTP y usa Apache Puerta de enlace de CGI para que puedas correr Perl o Intento Scripts en su sitio web.

Requisitos

  1. Instalar lámpara en Gentoo Linux

Paso 1: Crear hosts virtuales de Apache

Este tema usa un nombre de dominio falso - GENTOO.lan - habilitado a través del archivo de hosts local, con archivos del sitio web servidos desde /var/www/gentoo.lan - Raiz del documento directiva, sin una válida DNS registrar, para demostrar cómo se pueden habilitar múltiples hosts virtuales en Gentoo usando el servidor web Apache.

1. Para comenzar, abra Gentoo Hosts File para editar y agregar una nueva línea con su nombre de dominio.

$ sudo nano /etc /anfitriones

Al final del archivo, haga que parezca similar a esto.

127.0.0.1 localhost gentoo 192.168.1.13 GENTOO.lan
Agregar nombre de dominio en el archivo hosts

2. Pon a prueba tu dominio falso con silbido El comando y el dominio deben responder con su dirección IP.

$ ping -c2 gentoo.lan
Verificar el nombre de dominio

3. El proceso de activación de los hosts virtuales de Apache es bastante simple. Simplemente abra el archivo de hosts virtual predeterminado de Apache, ubicado en /etc/apache2/vhosts.d/ camino y antes del último Declaración, ingrese su nueva definición de host virtual encerrada en … directivas. C

Que contiene su configuración personalizada como Nombre del servidor y Raiz del documento camino. Use la siguiente plantilla de archivo como guía para un nuevo host virtual e inclúyelo en 00_default_vhost.confusión Archivo (para sitios web que no son SSL).

$ sudo nano/etc/apache2/vhosts.d/00_default_vhost.confusión
## Otro host Virtual Hosts Statemes que terminan en ### ServerName Gentoo.LAN DocumentRoot "/var/www/gentoo.Lan "   Crea Apache Virtual Host en Gentoo 

Como puede ver visualizando este contenido del archivo, el archivo se comenta muy comentado con explicaciones y también se mantiene hostil Definición de host virtual: que puede usarlo como guía.

4. Después de terminar el archivo de edición con su host virtual personalizado, reinicie Apache para aplicar la configuración y asegúrese de crear Raiz del documento directorio en caso de que haya cambiado esta directiva y la ruta no existe de forma predeterminada (en este caso se cambió a /var/www/gentoo.lan). También he creado un pequeño archivo PHP para probar las configuraciones del servidor web.

$ sudo mkdir/var/www/gentoo.lan $ su "echo ''>/var/www/gentoo.Lan/Información.PHP "$ sudo /etc /init.d/apache2 reiniciar

5. Para verificarlo, abra un navegador y apunte su nombre de dominio virtual http: // gentoo.Lan/Información.php.

Verificar la configuración de PHP

Usando este procedimiento, puede agregar tantos sitios web que no son de SSL como desee con los hosts virtuales de Apache, pero para una máquina real orientada a Internet, asegure que tenga sus dominios registrados y use registros válidos del servidor DNS.

Para eliminar un host virtual, solo comente o elimine sus directivas encerradas en en 00_default_vhost.confusión archivo.

Paso 2: generar certificados y claves SSL para hosts virtuales

Ssl es un protocolo criptográfico utilizado para intercambiar información a través de un canal de comunicación seguro en Internet o en redes internos utilizando certificados y claves simétricas/asimétricas.

6. Para simplificar los certificados y el proceso de generación de claves, use el siguiente script bash que actúa como un comando y crea automáticamente todo lo que necesita con la configuración de su nombre de dominio SSL.

Primero comience creando script bash usando el siguiente comando.

$ sudo nano/usr/local/bin/apache_gen_ssl

Agregue el siguiente contenido del archivo.

#!/bin/bash mkdir/etc/apache2/ssl cd/etc/apache2/ssl echo -e "Ingrese un nombre para este certificado: \ nex: mydomain.Lan "Read certificador OpenSsl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits: 2048 -out $ cert.clave chmod 600 $ cert.clave OpenSSL req -New -Key $ cert.clave -Out $ cert.CSR OpenSSL x509 -req -days 365 -in $ cert.CSR -SignKey $ cert.clave -Out $ cert.CRT ECHO -E "Se ha generado el certificado $ certificador!\ nlease enlazarlo al sitio web de Apache SSL!"ls -alt/etc/apache2/ssl/salida 0
Crear script bash para generar SSL

7. Después de que se haya creado el archivo, agregue los permisos de ejecución y ejecútelo para generar claves y certificados SSL.

$ sudo chmod +x/usr/local/bin/apache_gen_ssl $ sudo apache_gen_ssl
Generar certificados SSL y Keysa

Cuando lo ejecute por primera vez, le pedirá que ingrese a su dominio nombre. Entra tu dominio Nombre para el cual genera configuración SSL y llena el certificado con la información requerida, la más importante, Nombre común, Use su servidor FQDN.

Ubicación predeterminada donde se alojan todos sus certificados y claves utilizando este método /etc/apache2/ssl/.

8. Ahora es el momento de crear GENTOO.lan Virtual Host SSL equivalente. Use el mismo método que para los hosts virtuales no SLL pero esta vez editando /etc/apache2/vhosts.d/00_default_ssl_vhosts.confusión Archivo con ligeramente cambios.

Primero abra el archivo para editar y realizar los siguientes cambios.

$ sudo nano/etc/apache2/vhosts.d/00_default_ssl_vhosts.confusión

Bajo Escucha 443 Directiva Agregar el siguiente contenido.

NameVirtualHost *: 443
Habilitar el puerto HTTPS

Use la plantilla siguiente para un nuevo host virtual y agregue un nuevo certificado SSL + ruta y nombres clave.

## Otro host Virtual Hosts Statemes que terminan en ### ServerName Gentoo.LAN DocumentRoot "/var/www/gentoo.LAN "Errorlog/var/log/apache2/gentoo.lan-ssl_error_log transferlog/var/log/apache2/gentoo.lan-ssl_access_log sslengine en sslciphersuite todos:!ADH:!Export56: RC4+RSA:+High:+Medium:+Low:+SSLV2:+Exp:+Enull ## Editar con nuevo certificado SSL generado y clave y cambiar ruta a/etc/apache2/ssl/sslCertificateFile/etc/apache2/ SSL/GENTOO.lan.CRT SSLCertificAtekeyFile/Etc/Apache2/SSL/Gentoo.lan.Índices de opciones clave SIGUSYSYMLINKS EXECCGI MultIViews incluye a través de la aleta de todos los pedidos.*MSIE.*"\ Nokeepalive SSL-UNCLEAN-SHUTDOWN \ REDGRADE-1.0 Fuerza-Respuesta-1.0 customLog/var/log/apache2/ssl_request_log \ " %t %h %ssl_protocol x %ssl_cipher x \" %r \ "" %b"" ## Otra virtual hosts declaraciones ###
Crear host virtual SSL

Las definiciones de hosts virtuales deben finalizar antes de estas últimas tres declaraciones.

  
Verificar hosts virtuales

9. Después de terminar de editar el archivo de host virtual, reinicie el servicio Apache y dirija su navegador a su dominio usando el protocolo HTTPS https: // gentoo.lan.

$ sudo /etc /init.d/apache2 reiniciar
Verificar el protocolo HTTPS

Usando este procedimiento, puede agregar sitios web SSL con sus propios certificados y claves utilizando hosts virtuales de Apache. Para eliminar los hosts virtuales de SSL, comenten o elimine sus directivas encerradas en en /etc/apache2/vhosts.d/00_default_ssl_vhosts.confusión archivo.

Paso 3: Habilitar la interfaz CGI

El CGI (Interfaz de Entrada Común) Permite a Apache interactuar con programas externos, primario que consiste en scripts de perl o bash, que puede agregar un contenido dinámico a su sitio web.

10. Antes de habilitar la puerta de enlace CGI, asegúrese de que Apache se compilara con Use CGI Módulos de soporte de banderas en Portage hacer.confusión archivo: CGI CGID. Para habilitar el soporte de GCI para Apache Open /etc/conf.d/apache2 archivo y agregar módulo CGI en Apache2_opts línea.

$ sudo nano /etc /conf.d/apache2

Asegúrese de que esta línea tenga contenido similar.

Apache2_opts = "" -d default_vhost -d info -d ssl -d ssl_default_vhost -d idioma -d status -d cgi""
Habilitar CGI para Apache

11. Después de habilitar los módulos CGI, abra el host de definición de su sitio web que desea habilitar la interfaz CGI y agregar el siguiente contenido dentro de las directivas de host virtual.

 Índices de opciones +execcgi multiviews addHandler cgi-script .CGI .PL DirectoryIndex Índice.índice CGI.índice de PHP.índice HTML.por favor de todos los pedidos Permitir, negar permitir de todos 
Habilitar CGI en hosts virtuales

12. Si tiene un directorio dentro de su DocumentRoot (/var/www/gentoo.LAN/) ruta que contiene scripts CGI, puede habilitar solo ese directorio para servir scripts dinámicos de perl o bash.

Scriptalias/cgi-bin//var/www/gentoo.LAN/ CGI-BIN/ OPTION +EXECCGI AddHandler CGI-Script .CGI .PL DirectoryIndex Índice.índice CGI.índice de PHP.índice HTML.por favor 

13. Para SSI (el lado del servidor incluye) agregar) +Incluir afirmación sobre Opción y añadir .shtml extensión de archivo.

 Índices de opciones +execcgi +incluye addHandler CGI-script .CGI .PL AddType Text/HTML .SHTML AddoutputFilter incluye .SHTML DirectoryIndex Índice.índice shtml.índice CGI.índice PL.índice de PHP.html designarRide Todo el orden permite, negar permitir de todos 

14. Para probar algunos simples .CGI y .por favor Scripts en Apache CGI Gateway Cree los siguientes scripts dentro de usted Virtual Host DocumentRoot (/var/www/gentoo.LAN/).

Guión de perl
$ sudo nano/var/www/gentoo.lan/envéño.por favor

Agregue el siguiente contenido de PERL.

#!/usr/bin/perl print ""Tipo de contenido: texto/html \ n \ n""