Tworzenie wirtualnych hostów, generuj certyfikaty i klucze SSL i włącz bramę CGI w Gentoo Linux

Tworzenie wirtualnych hostów, generuj certyfikaty i klucze SSL i włącz bramę CGI w Gentoo Linux

Ostatni samouczek Instalowanie lampy w Gentoo Linux po prostu obejmował podstawowy proces instalacji bez dodatkowych ustawień dostępnych dla Apache, aby lepiej kontrolować swoje domeny.

Utwórz wirtualne hosty Apache w Gentoo

Ten samouczek jest ściśle związany z poprzednim Lampa gentoo i omawia dodatkowe ustawienia dla LAMPA środowisko, takie jak tworzenie Wirtualne hosty na Apache, wygeneruj SSL Pliki i klucze certyfikatu, włącz bezpieczny SSL Protokół na transakcjach HTTP i użyj Apache CGI Gateway Więc możesz biec Perl Lub Grzmotnąć Skrypty nad twoją witryną.

Wymagania

  1. Zainstaluj lampę w Gentoo Linux

Krok 1: Utwórz wirtualne hosty Apache

Ten temat używa fałszywej nazwy domeny - Gentoo.Lan - włączone za pośrednictwem pliku hostów lokalnych, a pliki witryn są obsługiwane /var/www/gentoo.Lan - DocumentRoot dyrektywa bez ważnego DNS nagraj, aby zademonstrować, w jaki sposób można włączyć wiele wirtualnych hostów na Gentoo za pomocą Apache Web Server.

1. Na początek otwórz plik hostów Gentoo do edycji i dodaj nowy wiersz z nazwą domeny.

$ sudo nano /itp

Na końcu pliku sprawił, że wygląda ono podobnie.

127.0.0.1 Localhost Gentoo 192.168.1.13 Gentoo.Lan
Dodaj nazwę domeny w pliku hostów

2. Przetestuj swoją fałszywą domenę z świst polecenie i domena powinny odpowiedzieć na swój adres IP.

$ ping -c2 gentoo.Lan
Sprawdź nazwę domeny

3. Proces aktywowania wirtualnych hostów Apache jest dość prosty. Wystarczy otwórz domyślny plik wirtualnych hostów Apache znajdujący się /etc/apache2/vhosts.D/ Ścieżka i przed ostatnią Instrukcja, wprowadź nową wirtualną definicję hosta załączoną pod … dyrektywy. C

Zawierające niestandardowe ustawienia, takie jak Nazwa serwera I DocumentRoot ścieżka. Użyj następującego szablonu pliku jako przewodnika dla nowego wirtualnego hosta i dołącz go na 00_default_vhost.conf Plik (dla stron internetowych bez SSL).

$ sudo nano/etc/apache2/vhosts.D/00_default_vhost.conf
## Kolejne wirtualne hosty Statemy kończące się w ### Servername Gentoo.Lan Documentroot "/var/www/gentoo.Lan "   Utwórz wirtualny host Apache w Gentoo 

Jak widać, wizualizując tę ​​zawartość pliku, plik jest wysoce skomentowany za pomocą wyjaśnień, a także utrzymuje Lokalny Gospodarz Wirtualna definicja hosta - której można go użyć jako przewodnika.

4. Po zakończeniu edytowania pliku za pomocą niestandardowego hosta wirtualnego, uruchom ponownie Apache, aby zastosować ustawienia i upewnij się, że utworzyłeś DocumentRoot katalog na wypadek, gdybyś zmienił tę dyrektywę, a ścieżka nie istnieje domyślnie (w tym przypadku została zmieniona na /var/www/gentoo.Lan). Utworzyłem również mały plik PHP, aby przetestować konfiguracje WebServer.

$ sudo mkdir/var/www/gentoo.lan $ su "echo ''>/var/www/gentoo.LAN/Info.php "$ sudo /etc /init.D/apache2 restart

5. Aby to zweryfikować, otwórz przeglądarkę i wskazuj swoją wirtualną nazwę domeny http: // gentoo.LAN/Info.php.

Sprawdź konfigurację PHP

Korzystając z tej procedury, możesz dodać tyle witryn innych niż SSL, ile chcesz korzystać z wirtualnych hostów Apache, ale w przypadku prawdziwego komputera skierowanego do Internetu zapewnia, że ​​masz zarejestrowane domeny i używasz prawidłowych rekordów serwera DNS.

Aby usunąć wirtualny host, po prostu skomentuj lub usuń jego dyrektywy zamknięte NA 00_default_vhost.conf plik.

Krok 2: Wygeneruj certyfikaty SSL i klucze dla wirtualnych hostów

SSL to protokół kryptograficzny używany do wymiany informacji nad bezpiecznym kanałem komunikacyjnym w Internecie lub w sieciach za pomocą certyfikatów i klawiszy symetrycznych/asymetrycznych.

6. Aby uprościć certyfikaty i proces generowania klawiszy, użyj następującego skryptu Bash, który działa jako polecenie i automatycznie tworzy wszystko, czego potrzebujesz z ustawieniami nazwy domeny SSL.

Najpierw zacznij od utworzenia skryptu Bash za pomocą następującego polecenia.

$ sudo nano/usr/local/bin/apache_gen_ssl

Dodaj następującą zawartość pliku.

#!/bin/bash mkdir/etc/apache2/ssl cd/etc/apache2/ssl echo -e "Wprowadź nazwę tego certyfikatu: \ nex: myDomain.LAN "Read Cert Openssl Genpkey -algorytm rsa -pkeyopt rsa_keygen_bits: 2048 -out $ cert cert.Key CHMOD 600 $ CERT.Key Openssl Req -New -key $ cert.klucz -ut $ cert.CSR Openssl x509 -Req -Days 365 -in $ cert.CSR -SIGNKEY $ CERT.klucz -ut $ cert.crt echo -e „certyfikat $ cert został wygenerowany!\ nplease link do strony internetowej Apache SSL!„LS -All/etc/apache2/ssl/exit 0
Utwórz skrypt bash, aby wygenerować SSL

7. Po utworzeniu pliku dołącz do niego uprawnienia do wykonania i uruchom go w celu wygenerowania kluczy i certyfikatów SSL.

$ sudo chmod +x/usr/local/bin/apache_gen_ssl $ sudo apache_gen_ssl
Wygeneruj certyfikaty SSL i Keysa

Po uruchomieniu go po raz pierwszy poprosi cię o wejście domena nazwa. Wprowadź swój domena Nazwa, dla której generujesz ustawienia SSL i wypełniasz certyfikat wymaganymi informacjami, najważniejszy, Nazwa zwyczajowa, Użyj swojego serwera FQDN.

Domyślna lokalizacja, w której hostowane są wszystkie certyfikaty i klucze za pomocą tej metody jest /etc/apache2/ssl/.

8. Teraz nadszedł czas na stworzenie Gentoo.Lan Wirtualny host SSL Equivivallent. Użyj tej samej metody, co w przypadku wirtualnych hostów SSL, ale tym razem edycja /etc/apache2/vhosts.D/00_default_ssl_vhosts.conf Plik z nieznacznie zmianami.

Pierwszy otwarty plik do edycji i wprowadzaj następujące zmiany.

$ sudo nano/etc/apache2/vhosts.D/00_default_ssl_vhosts.conf

Pod Posłuchaj 443 Dyrektywa Dodaj następującą zawartość.

NameVirtualHost *: 443
Włącz port HTTPS

Użyj następującego szablonu dla nowego wirtualnego hosta i dołącz nowy certyfikat SSL + ścieżka i nazwy klucza.

## Kolejne wirtualne hosty Statemy kończące się w ### Servername Gentoo.Lan Documentroot "/var/www/gentoo.LAN "ERRORLOG/var/log/apache2/gentoo.LAN-SSL_ERROR_LOG TRAVIRLOG/var/log/apache2/gentoo.LAN-SSL_ACCESS_LOG SSLENGINE ON SSLCIPHERSUITE WSZYSTKO:!ADH:!Eksport56: RC4+RSA:+High:+Medium:+Low:+SSLV2:+Exp:+enell ## edytuj z nowym wygenerowanym certyfikatem SSL i klawiszem i zmiana ścieżki na/etc/apache2/ssl/sslCertificateFile/etc/apache2/epach/apache2/ SSL/Gentoo.Lan.crt sslcertificateKeKeyFile/etc/apache2/ssl/gentoo.Lan.Kluczowe indeksy opcji obserwuje MultiViety execCGI obejmują zezwolenie na zezwolenie na zezwolenie na zezwolenie, odmawiaj ze wszystkich ssloptions +stdenvvars ssloptions +stdenvvars Browsermatch ".*MSIE.*"\ noKeepalive SSL-unclean-shutdown \ Downgrade-1.0 siły-odpowiedź-1.0 CustomLog/var/log/apache2/ssl_request_log \ " %t %h %ssl_protocol x %ssl_cipher x \" %r \ "" %b"" ## Inne wirtualne instrukcje hostów ###
Utwórz wirtualny host SSL

Definicje wirtualnych hostów muszą zakończyć się przed tymi trzema ostatnimi stwierdzeniami.

  
Sprawdź wirtualne hosty

9. Po zakończeniu edycji wirtualnego pliku hosta, uruchom ponownie usługę Apache i skieruj przeglądarkę do domeny za pomocą protokołu HTTPS https: // gentoo.Lan.

$ sudo /etc /init.D/apache2 restart
Sprawdź protokół HTTPS

Korzystając z tej procedury, możesz dodawać witryny SSL do własnych certyfikatów i klawiszy za pomocą hostów wirtualnych Apache. Aby usunąć wirtualne hosty SSL, skomentuj lub usuń swoje dyrektywy zamknięte NA /etc/apache2/vhosts.D/00_default_ssl_vhosts.conf plik.

Krok 3: Włącz interfejs CGI

CGI (Wspólny interfejs bramy) Umożliwia Apache interakcję z programami zewnętrznymi, podstawowymi składającymi się z skryptów Perl lub Bash, które mogą dodać dynamiczną zawartość do Twojej witryny.

10. Przed włączeniem CGI Gateway upewnij się, że Apache został skompilowany Użyj CGI Flagi modułów Obsługa Portage robić.conf plik: CGI CGID. Aby włączyć obsługę GCI dla Apache Open /etc/conf.D/Apache2 Plik i dołącz moduł CGI Apache2_Opts linia.

$ sudo nano /etc /conf.D/Apache2

Zapewnij, że ta linia ma podobną treść.

Apache2_opts = "" -d default_vhost -d info -d ssl -d ssl_default_vhost -d język -d status -d cGI""
Włącz CGI dla Apache

11. Po włączeniu modułów CGI otwórz host definicji witryny, którą chcesz włączyć interfejs CGI i dodaj następujące treści wewnętrzne dyrektywy hosta wirtualnego.

 Indeksy opcji +execCGI Multiviews AddHandler CGI-Script .CGI .PL DirectoryIndex Indeks.Indeks CGI.Wskaźnik PHP.Indeks HTML.PL Zezwalaj na zezwolenie na zezwolenie, odmawiaj od wszystkich 
Włącz CGI w wirtualnych hostach

12. Jeśli masz katalog w dokumencie (/var/www/gentoo.Lan/) Ścieżka, która zawiera skrypty CGI.

Scriptalias/cgi-bin//var/www/gentoo.LAN/ CGI-BIN/ Options +ExecCGI Addhandler CGI-Script .CGI .PL DirectoryIndex Indeks.Indeks CGI.Wskaźnik PHP.Indeks HTML.pl 

13. W przypadku ssi (po stronie serwera) dołącz +Obejmuje Oświadczenie o Opcje i dodaj .shtml rozszerzenie pliku.

 Indeksy opcji +execCGI +zawiera AddHandler CGI-Script .CGI .PL AddType Text/HTML .SHTML addoutputFilter obejmuje .SHTML DirectoryIndex Index.Indeks SHTML.Indeks CGI.indeks PL.Wskaźnik PHP.HTML Udozleczeniem Override Wszystkie zamówienie Zezwalaj, odmówić zezwolić ze wszystkich 

14. Aby przetestować proste .CGI I .pl Skrypty na bramce Apache CGI Utwórz następujące skrypty w Internecie wirtualnego hosta dokumentującego (/var/www/gentoo.Lan/).

Skrypt perl
$ sudo nano/var/www/gentoo.LAN/ENV.pl

Dodaj następującą zawartość Perla.

#!/usr/bin/perl print ""content-typ: text/html \ n \ n""