Créer des hôtes virtuels, générer des certificats SSL et des clés et activer la passerelle CGI dans Gentoo Linux

Créer des hôtes virtuels, générer des certificats SSL et des clés et activer la passerelle CGI dans Gentoo Linux

Le dernier tutoriel sur Installation de lampe dans Gentoo Linux Je viens de couvert le processus d'installation de base sans paramètres supplémentaires disponibles pour Apache pour mieux contrôler vos domaines.

Créer des hôtes virtuels Apache dans Gentoo

Ce tutoriel est strictement lié à un précédent Lampe à gentoo et discute des paramètres supplémentaires pour LAMPE environnement tel que créer Hôtes virtuels sur Apache, générer SSL Fichiers et clés de certificat, permettez SSL Protocole sur les transactions HTTP et utilisez Apache Passerelle CGI pour que tu puisses courir Perler ou Frapper scripts sur votre site Web.

Exigences

  1. Installez la lampe dans Gentoo Linux

Étape 1: Créez des hôtes virtuels Apache

Ce sujet utilise un faux nom de domaine - gentoo.lan - activé via le fichier hôtes local, avec des fichiers de site Web servis à partir de / var / www / gentoo.lan - Document de document directive, sans valide DNS Enregistrer, pour démontrer comment plusieurs hôtes virtuels peuvent être activés sur Gentoo à l'aide du serveur Web Apache.

1. Pour commencer, ouvrez Gentoo Hosts Fichier pour l'édition et ajoutez une nouvelle ligne avec votre nom de domaine.

$ sudo nano / etc / hôtes

À la fin du fichier, faites ressembler à cela.

127.0.0.1 localhost gentoo 192.168.1.13 Gentoo.lan
Ajouter le nom de domaine dans le fichier des hôtes

2. Testez votre faux domaine avec ping-ping la commande et le domaine doit répondre avec son adresse IP.

$ ping -c2 gentoo.lan
Vérifier le nom de domaine

3. Le processus d'activation des hôtes virtuels Apache est assez simple. Ouvrez simplement le fichier hôtes virtuels par défaut Apache situé sur / etc / apache2 / vhosts.d/ chemin et avant la fin déclaration, entrez votre nouvelle définition d'hôte virtuelle enfermée sous … directives. c

Contenant vos paramètres personnalisés comme Nom du serveur et Document de document chemin. Utilisez le modèle de fichier suivant comme guide pour un nouvel hôte virtuel et incluez-le sur 00_default_vhost.confli Fichier (pour les sites Web non-SSL).

$ sudo nano / etc / apache2 / vhosts.d / 00_default_vhost.confli
## Un autre stade hôte virtuel se terminant par ### servername gentoo.lan documentroot "/ var / www / gentoo.lan "   Créer un hôte virtuel Apache dans Gentoo 

Comme vous pouvez le voir en visualisant ce contenu de fichier, le fichier est fortement commenté avec des explications et conserve également hôte local Définition de l'hôte virtuel - que vous pouvez l'utiliser comme guide.

4. Après avoir terminé le fichier d'édition avec votre hôte virtuel personnalisé, redémarrez Apache pour appliquer les paramètres et assurez-vous de créer Document de document répertoire au cas où vous auriez changé cette directive et que le chemin n'existe pas par défaut (dans ce cas, il a été modifié en / var / www / gentoo.lan). J'ai également créé un petit fichier PHP pour tester les configurations de serveur Web.

$ sudo mkdir / var / www / gentoo.lan $ su "echo ''> / var / www / gentoo.LAN / Info.php "$ sudo / etc / init.D / Apache2 Redémarrer

5. Pour le vérifier, ouvrez un navigateur et pointez-le votre nom de domaine virtuel http: // gentoo.LAN / Info.php.

Vérifiez la configuration de PHP

En utilisant cette procédure, vous pouvez ajouter autant de sites Web non SSL que vous le souhaitez à utiliser Apache Virtual Hosts, mais pour une véritable machine orientée Internet, vous assurez que vous avez vos domaines enregistrés et que vous utilisez des enregistrements DNS valides.

Pour supprimer un hôte virtuel, commentez simplement ou supprimez ses directives enfermées sous sur 00_default_vhost.confli déposer.

Étape 2: Certificats SSL généreux et clés pour les hôtes virtuels

SSL est un protocole cryptographique utilisé pour échanger des informations sur un canal de communication sécurisé sur Internet ou à l'intérieur de réseaux à l'aide de certificats et de clés symétriques / asymétriques.

6. Pour simplifier le processus de génération des certificats et des touches, utilisez le script bash suivant qui agit comme une commande et crée automatiquement tout ce dont vous avez besoin avec vos paramètres de nom de domaine SSL.

Commencez d'abord par créer un script bash en utilisant la commande suivante.

$ sudo nano / usr / local / bin / apache_gen_ssl

Ajouter le contenu du fichier suivant.

#!/ bin / bash mkdir / etc / apache2 / ssl cd / etc / apache2 / ssl echo -e "Entrez un nom pour ce certificat: \ nex: mydomain.LAN "Read CERT OpenSSL Genpkey -algorithm RSA -PKEYOPT RSA_KEYGEN_BITS: 2048 -out $ Cert.CLÉ CHMOD 600 $ CERT.Key OpenSSL REQ -NEW -KEY $ CERT.Key -out $ Cert.CSR OpenSSL X509 -req -Days 365 -in $ Cert.CSR -SIGNKEY $ CERT.Key -out $ Cert.CRT ECHO -E "Le certificat $ CERT a été généré!\ nplease le lier au site Web d'Apache SSL!"ls -all / etc / apache2 / ssl / exit 0
Créer un script bash pour générer SSL

7. Une fois le fichier créé, ajoutez les autorisations d'exécuter des autorisations et l'exécutez pour générer des clés et des certificats SSL.

$ sudo chmod + x / usr / local / bin / apache_gen_ssl $ sudo apache_gen_ssl
Certificats SSL généreux et Keysa

Lorsque vous l'exécutez à la première fois, vous demandera de saisir votre domaine nom. Entrez votre domaine Nom pour lequel vous générez des paramètres SSL et remplissez le certificat avec les informations requises, la plus importante, Nom commun, Utilisez votre serveur FQDN.

Emplacement par défaut où tous vos certificats et clés sont hébergés à l'aide de cette méthode est / etc / apache2 / ssl /.

8. Maintenant, il est temps de créer gentoo.lan Hôte virtuel SSL équivalent. Utilisez la même méthode que pour les hôtes virtuels non SSL mais cette fois l'édition / etc / apache2 / vhosts.d / 00_default_ssl_vhosts.confli fichier avec des modifications légèrement.

Premier fichier ouvrir pour l'édition et apporter les modifications suivantes.

$ sudo nano / etc / apache2 / vhosts.d / 00_default_ssl_vhosts.confli

Sous Écoutez 443 Directive Ajouter le contenu suivant.

NameVirtualHost *: 443
Activer le port HTTPS

Utilisez le modèle suivant pour un nouvel hôte virtuel et ajoutez un nouveau certificat SSL + Chemin de clé et noms.

## Un autre stade hôte virtuel se terminant par ### servername gentoo.lan documentroot "/ var / www / gentoo.lan "errorlog / var / log / apache2 / gentoo.LAN-SSL_ERROR_LOG TRANSFERLOG / VAR / LOG / APACHE2 / GENSOO.LAN-SSL_ACCESS_LOG SSLENNINE SUR SSLCIPHERSuite all:!ADH:!Export56: RC4 + RSA: + High: + Medium: + Low: + SSLV2: + Exp: + ENULL ## Modifier avec un nouveau certificat SSL généré et la clé et modifier le chemin vers / etc / apache2 / ssl / sslcertificatefile / etc / apache2 / SSL / Gentoo.lan.crt sslcertificatekeyfile / etc / apache2 / ssl / gentoo.lan.Les index d'options clés suivent les multivviews EXECCGI incluent ALLERDOVERRIDE Tous les commandes Autoriser, refuser l'autorisation de toutes les SSLoptions + Stdenvvars SSLOPTIONS + Stdenvvars Browsermatch ".* MSIE.* "\ Nokeepalive ssl-unclean-shutdown \ downgrade-1.0 Force-Response-1.0 CUSTUMLOG / VAR / LOG / APACHE2 / SSL_REQUEST_LOG \ "% T% H% SSL_PROTOCOL X% SSL_CIPHER X \"% R \ ""% B"" ## Des instructions d'hôtes virtuelles ###
Créer un hôte virtuel SSL

Les définitions des hôtes virtuels doivent se terminer avant ces trois dernières déclarations.

  
Vérifiez les hôtes virtuels

9. Après avoir terminé la modification du fichier hôte virtuel, redémarrez le service Apache et dirigez votre navigateur vers votre domaine à l'aide du protocole HTTPS https: // gentoo.lan.

$ sudo / etc / init.D / Apache2 Redémarrer
Vérifiez le protocole HTTPS

En utilisant cette procédure, vous pouvez ajouter des sites Web SSL avec leurs propres certificats et clés à l'aide d'hôtes virtuels Apache. Pour supprimer les hôtes virtuels SSL, commentez ou supprimez ses directives enfermées sous sur / etc / apache2 / vhosts.d / 00_default_ssl_vhosts.confli déposer.

Étape 3: Activer l'interface CGI

Le CGI (Interface de passerelle commune) Il permet à Apache d'interagir avec des programmes externes, principalement composé de scripts Perl ou Bash, qui peuvent ajouter un contenu dynamique à votre site Web.

dix. Avant d'activer CGI Gateway, assurez-vous que Apache a été compilé avec Utilisez CGI Prise en charge des indicateurs de modules sur Portage faire.confli déposer: CGI CGID. Pour activer la prise en charge GCI pour Apache Open / etc / confr.d / apache2 fichier et ajouter le module CGI sur Apache2_opts doubler.

$ sudo nano / etc / confr.d / apache2

Assurez-vous que cette ligne a un contenu similaire.

Apache2_opts = ""- d default_vhost -d info -d ssl -d ssl_default_vhost -d langage -d status -d cgi""
Activer CGI pour Apache

11. Une fois les modules CGI activés, ouvrez l'hôte de la définition de votre site Web, vous souhaitez activer l'interface CGI et ajouter le contenu suivant dans les directives de l'hôte virtuel.

 Index d'options + EXECCGI MultiViews AddHandler CGI-Script .CGI .Index PL DirectoryIndex.index CGI.index PHP.index html.PL ALLEROVERRIDE TOUT l'Ordre Autoriser, nier autoriser à tous 
Activer CGI chez les hôtes virtuels

12. Si vous avez un répertoire à l'intérieur de votre document de document (/ var / www / gentoo.lan /) chemin qui contient des scripts CGI, vous pouvez permettre à ce répertoire de servir les scripts dynamiques de perl ou de bash.

Scriptalias / cgi-bin / / var / www / gentoo.LAN / CGI-BIN / OPTIONS + EXECCGI AddHandler CGI-Script .CGI .Index PL DirectoryIndex.index CGI.index PHP.index html.PL 

13. Pour SSI (côté serveur comprend), ajoutez +Comprend déclaration Options et ajouter .shtml extension de fichier.

 Index d'options + EXECCGI + inclut AddHandler CGI-Script .CGI .PL AddType Text / HTML .SHTML AddOutputFilter comprend .INDEX SHTML DirectoryIndex.index shtml.index CGI.index PL.index PHP.HTML ALLERNOOVERRIDE TOUT l'ordre Autoriser, nier autoriser à tous 

14. Pour tester un simple .CGI et .PL Les scripts sur Apache CGI Gateway créent les scripts suivants à l'intérieur de votre document de document de l'hôte virtuel (/ var / www / gentoo.lan /).

Script perl
$ sudo nano / var / www / gentoo.lan / env.PL

Ajouter le contenu perl suivant.

#!/ usr / bin / perl print ""contenu-type: text / html \ n \ n""