Tworzenie wirtualnych hostów, generowanie certyfikatów i kluczy SSL oraz włączanie bramy CGI w Gentoo Linux

  • Eustace Evans
  • 0
  • 3270
  • 1072

Ostatni samouczek dotyczący Instalacja LAMP w Gentoo Linux właśnie omówiłem podstawowy proces instalacji bez dodatkowych ustawień dostępnych dla Apache, aby lepiej kontrolować swoje domeny.

Utwórz wirtualne hosty Apache w Gentoo

Ten poradnik jest ściśle powiązany z poprzednim Gentoo LAMP i omawia dodatkowe ustawienia dla LAMPA środowisko, takie jak tworzenie Wirtualne hosty na Apache, generuj SSL Pliki certyfikatów i klucze umożliwiają bezpieczne SSL protokołu w transakcjach HTTP i korzystaj z Apache CGI Gateway więc możesz biec Perl lub Grzmotnąć skrypty w Twojej witrynie.

Wymagania

  1. Zainstaluj LAMP w Gentoo Linux

Krok 1: Utwórz wirtualne hosty Apache

W tym temacie użyto fałszywej nazwy domeny - gentoo.lan - włączone przez lokalny plik hostów, z plikami witryn internetowych obsługiwanymi z /var/www/gentoo.lan - DocumentRoot dyrektywy, bez ważnego DNS record, aby zademonstrować, jak wiele wirtualnych hostów można włączyć w Gentoo przy użyciu serwera WWW Apache.

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

$ sudo nano / etc / hosts

Na końcu pliku spraw, aby wyglądało to 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ę za pomocą świst polecenie, a domena powinna odpowiedzieć swoim adresem IP.

$ ping -c2 gentoo.lan
Zweryfikuj nazwę domeny

3. Proces aktywacji serwerów wirtualnych Apache jest dość prosty. Po prostu otwórz plik domyślnych wirtualnych hostów Apache znajdujący się na /etc/apache2/vhosts.d/ ścieżka i przed ostatnią oświadczenie, wprowadź nową definicję hosta wirtualnego umieszczoną pod … dyrektyw. do

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

$ sudo nano /etc/apache2/vhosts.d/00_default_vhost.conf
## Kolejne statystyki hostów wirtualnych kończące się na  ###  NazwaSerwera gentoo.lan DocumentRoot "/var/www/gentoo.lan"   ServerEnvironment apache apache   ## Kolejne statystyki wirtualnych hostów ### ## LAST STATEMENT, które zamyka plik wirtualnych hostów ## 
Utwórz wirtualny host Apache w Gentoo

Jak widać, wizualizując zawartość tego pliku, plik jest silnie komentowany z objaśnieniami, a także zachowuje Lokalny Gospodarz Definicja wirtualnego hosta - której możesz użyć jako przewodnika.

4. Po zakończeniu edycji 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 domyślnie nie istnieje (w tym przypadku została zmieniona na /var/www/gentoo.lan). Stworzyłem również mały plik PHP do testowania konfiguracji serwera WWW.

$ 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 wskaż nazwę swojej domeny wirtualnej http: //gentoo.lan/info.php.

Sprawdź konfigurację PHP

Korzystając z tej procedury, możesz dodać dowolną liczbę witryn internetowych bez SSL, używając serwerów wirtualnych Apache, ale w przypadku prawdziwego komputera podłączonego do Internetu upewnij się, że masz zarejestrowane domeny i używasz prawidłowych rekordów serwera DNS.

Aby usunąć wirtualnego hosta, po prostu zakomentuj lub usuń jego dyrektywy zawarte w na 00_default_vhost.conf plik.

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

SSL jest protokołem kryptograficznym używanym do wymiany informacji przez bezpieczny kanał komunikacyjny w Internecie lub wewnątrz sieci przy użyciu certyfikatów i kluczy symetrycznych / asymetrycznych.

6. Aby uprościć proces generowania certyfikatów i kluczy, użyj następującego skryptu Bash, który działa jak polecenie i automatycznie tworzy wszystko, czego potrzebujesz, w ustawieniach 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ę dla tego certyfikatu: \ nEx: mydomain.lan" przeczytaj cert openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits: 2048 -out $ cert.key 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 "Certyfikat $ cert został wygenerowany! \ nPołącz go ze stroną internetową 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 wykonywania i uruchom go, aby wygenerować klucze i certyfikaty SSL.

$ sudo chmod + x / usr / local / bin / apache_gen_ssl $ sudo apache_gen_ssl
Genereate SSL Certificates and Keysa

Kiedy uruchomisz go po raz pierwszy, poprosi Cię o podanie swojego domena Nazwa. Wprowadź swój domena nazwa, dla której generujesz ustawienia SSL i wypełniasz Certyfikat wymaganymi informacjami, najważniejszymi, Nazwa zwyczajowa, użyj nazwy FQDN serwera.

Domyślna lokalizacja, w której są hostowane wszystkie certyfikaty i klucze przy użyciu tej metody, to / etc / apache2 / ssl /.

8. Teraz czas na tworzenie gentoo.lan Odpowiednik Virtual Host SSL. Użyj tej samej metody, co w przypadku hostów wirtualnych bez SSL, ale tym razem edytuj /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf plik z niewielkimi zmianami.

Najpierw otwórz plik do edycji i wprowadź następujące zmiany.

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

Pod Posłuchaj 443 dyrektywy dodaje następującą zawartość.

NazwaVirtualHost *: 443
Włącz port HTTPS

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

## Kolejne statystyki hostów wirtualnych kończące się na  ###  NazwaSerwera 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 na SSLCipherSuite WSZYSTKO:! ADH:! EXPORT56: RC4 + RSA: + HIGH: + MEDIUM: + LOW: + SSLv2: + EXP: + eNULL ## Edytuj za pomocą nowo wygenerowanego certyfikatu SSL i klucza oraz zmień ścieżkę do / etc / apache2 / ssl / SSLCertificateFile /etc/apache2/ssl/gentoo.lan.crt SSLCertificateKeyFile /etc/apache2/ssl/gentoo.lan.key  Opcje Indeksy FollowSymLinks ExecCGI MultiViews Zawiera AllowOverride All Order zezwalaj, nie zezwalaj Allow from all   SSLOptions + StdEnvVars   SSLOptions + StdEnvVars   BrowserMatch ". * MSIE. *" \ Nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0   CustomLog / var / log / apache2 / ssl_request_log \ "% t% h% SSL_PROTOCOL x% SSL_CIPHER x \"% r \ ""% b""   ## Kolejne instrukcje dotyczące wirtualnych hostów ###
Utwórz wirtualny host SSL

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

  
Zweryfikuj hosty wirtualne

9. Po zakończeniu edycji pliku Virtual Host 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 dodać witryny SSL z własnymi certyfikatami i kluczami przy użyciu serwerów wirtualnych Apache. Aby usunąć wirtualne hosty SSL, zakomentuj lub usuń jego dyrektywy zawarte w na /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf plik.

Krok 3: Włącz interfejs CGI

Plik CGI (Wspólny interfejs bramy) pozwala Apache na interakcję z zewnętrznymi programami, składającymi się głównie ze skryptów Perla lub BASH, które mogą dodawać dynamiczną zawartość do Twojej witryny.

10. Przed włączeniem bramy CGI upewnij się, że Apache został skompilowany z UŻYWAJ CGI Obsługa flag modułów w Portage make.conf plik: cgi cgid. Aby włączyć obsługę GCI dla Apache otwórz /etc/conf.d/apache2 plik i dołącz moduł CGI do APACHE2_OPTS linia.

$ sudo nano /etc/conf.d/apache2

Upewnij się, że ta linia ma podobną treść.

APACHE2_OPTS = ""- D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI""
Włącz CGI dla Apache

11. Po włączeniu modułów CGI otwórz hosta definicji serwisu WWW, dla którego chcesz włączyć interfejs CGI, i dodaj następującą zawartość w dyrektywach hosta wirtualnego.

 Opcje Indeksy + ExecCGI MultiViews AddHandler cgi-script .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl AllowOverride All Zamów zezwalaj, odmawiaj Zezwalaj ze wszystkich 
Włącz CGI w wirtualnych hostach

12. Jeśli masz katalog w swoim DocumentRoot (/var/www/gentoo.lan/), która zawiera skrypty CGI, możesz włączyć tylko ten katalog do obsługi dynamicznych skryptów Perl lub Bash.

ScriptAlias ​​/ cgi-bin / /var/www/gentoo.lan/cgi-bin/  Opcje + ExecCGI AddHandler cgi-script .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl 

13. Dołączanie SSI (Server Side Includes) +Zawiera oświadczenie w sprawie Opcje i dodaj .shtml rozszerzenie pliku.

 Opcje Indeksy + ExecCGI + Zawiera AddHandler cgi-script .cgi .pl AddType tekst / html .shtml AddOutputFilter ZAWIERA .shtml DirectoryIndex index.shtml index.cgi index.pl index.php index.html AllowOverride All Zlecenie zezwalaj, nie zezwalaj na wszystkie 

14. Aby przetestować kilka prostych .cgi i .pl skrypty na bramie Apache CGI tworzą w tobie następujące skrypty Virtual Host DocumentRoot (/var/www/gentoo.lan/).

Perl Script
$ sudo nano /var/www/gentoo.lan/env.pl

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

#! / usr / bin / perl print ""Typ treści: tekst / html \ n \ n""
                        



Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux