![Canonicals neue Cloud-Technologie streamt Android-Apps auf andere Geräte](/f/b07855ec980600465be537f68ff2d68a.png?width=100&height=100)
Das letzte Tutorial zu LAMP in Gentoo Linux installieren habe gerade den grundlegenden Installationsprozess ohne zusätzliche Einstellungen behandelt, die für Apache verfügbar sind, um Ihre Domänen besser zu kontrollieren.
Dieses Tutorial ist strikt mit dem vorherigen verbunden Gentoo LAMPE und bespricht zusätzliche Einstellungen für LAMPE Umgebung wie erstellen Virtuelle Hosts auf Apache, generieren SSL Zertifikatsdateien und Schlüssel, sicheres aktivieren SSL Protokoll für HTTP-Transaktionen und verwenden Sie Apache CGI-Gateway damit du laufen kannst Perl oder Bash Skripte über Ihre Website.
Dieses Thema verwendet einen gefälschten Domainnamen – gentoo.lan – aktiviert durch lokale Hosts-Datei, mit Website-Dateien, die von bereitgestellt werden /var/www/gentoo.lan – Dokument Root Direktive, ohne gültige DNS record, um zu demonstrieren, wie mehrere virtuelle Hosts auf Gentoo mit dem Apache-Webserver aktiviert werden können.
1. Öffnen Sie zunächst die Gentoo-Hosts-Datei zum Bearbeiten und fügen Sie eine neue Zeile mit Ihrem Domainnamen hinzu.
$ sudo nano /etc/hosts
Am Ende der Datei sollte es ähnlich aussehen.
127.0.0.1 localhost gentoo. 192.168.1.13 gentoo.lan
2. Testen Sie Ihre Fake-Domain mit Klingeln Befehl und die Domain sollte mit ihrer IP-Adresse antworten.
$ ping -c2 gentoo.lan
3. Die Aktivierung von Apache Virtual Hosts ist recht einfach. Öffnen Sie einfach die Apache-Standarddatei für virtuelle Hosts, die sich auf befindet /etc/apache2/vhosts.d/ path und vor der letzten Anweisung geben Sie Ihre neue Virtual Host-Definition ein, die unter … Anweisungen eingeschlossen ist. C
Enthält Ihre benutzerdefinierten Einstellungen wie Servername und Dokument Root Weg. Verwenden Sie die folgende Dateivorlage als Leitfaden für einen neuen virtuellen Host und fügen Sie sie ein auf 00_default_vhost.conf Datei (für Nicht-SSL-Websites).
$ sudo nano /etc/apache2/vhosts.d/00_default_vhost.conf
## Eine andere virtuelle Hosts-State mit der Endung ###Servername gentoo.lan DocumentRoot "/var/www/gentoo.lan" ## Eine andere virtuelle Hosts-Statements ### ## LETZTES STATEMENT, das die Datei der virtuellen Hosts schließt ##ServerEnvironment Apache Apache
Wie Sie an der Visualisierung dieses Dateiinhalts sehen können, ist die Datei mit Erläuterungen stark kommentiert und behält auch localhost Definition des virtuellen Hosts – die Sie als Leitfaden verwenden können.
4. Nachdem Sie die Bearbeitung der Datei mit Ihrem benutzerdefinierten virtuellen Host abgeschlossen haben, starten Sie Apache neu, um die Einstellungen anzuwenden und sicherzustellen, dass Sie Dokument Root Verzeichnis, falls Sie diese Direktive geändert haben und der Pfad standardmäßig nicht vorhanden ist ( in diesem Fall wurde geändert in /var/www/gentoo.lan). Ich habe auch eine kleine PHP-Datei erstellt, um Webserver-Konfigurationen zu testen.
$ sudo mkdir /var/www/gentoo.lan. $ su "echo 'php phpinfo(); ' > /var/www/gentoo.lan/info.php" $ sudo /etc/init.d/apache2 Neustart
5. Um es zu überprüfen, öffnen Sie einen Browser und geben Sie Ihren virtuellen Domainnamen an http://gentoo.lan/info.php.
Mit diesem Verfahren können Sie mit Apache Virtual Hosts beliebig viele Nicht-SSL-Websites hinzufügen Echte Internet-Maschinen stellen sicher, dass Ihre Domains registriert sind und Sie einen gültigen DNS-Server verwenden Aufzeichnungen.
Um einen virtuellen Host zu entfernen, kommentieren Sie einfach seine Anweisungen unter. aus oder löschen Sie sie … an 00_default_vhost.conf Datei.
SSL ist ein kryptografisches Protokoll, das zum Austausch von Informationen über einen sicheren Kommunikationskanal im Internet oder innerhalb von Netzwerken unter Verwendung von Zertifikaten und symmetrischen/asymmetrischen Schlüsseln verwendet wird.
6. Um den Generierungsprozess für Zertifikate und Schlüssel zu vereinfachen, verwenden Sie das folgende Bash-Skript, das als Befehl fungiert und automatisch alles erstellt, was Sie mit Ihren SSL-Domänennameneinstellungen benötigen.
Beginnen Sie zunächst mit der Erstellung eines Bash-Skripts mit dem folgenden Befehl.
$ sudo nano /usr/local/bin/apache_gen_ssl
Fügen Sie den folgenden Dateiinhalt hinzu.
#!/bin/bash. mkdir /etc/apache2/ssl. cd /etc/apache2/ssl. echo -e "Geben Sie einen Namen für dieses Zertifikat ein:\nEx: mydomain.lan" read 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 " Das Zertifikat $cert wurde generiert!\nBitte verknüpfen Sie es mit der Apache SSL-Website!" ls -all /etc/apache2/ssl/ Ausgang 0
7. Nachdem die Datei erstellt wurde, fügen Sie Ausführungsberechtigungen hinzu und führen Sie sie aus, um SSL-Schlüssel und -Zertifikate zu generieren.
$ sudo chmod +x /usr/local/bin/apache_gen_ssl. $ sudo apache_gen_ssl
Wenn Sie es zum ersten Mal ausführen, werden Sie aufgefordert, Ihre Domain Name. Geben Sie Ihr Domain Name, für den Sie SSL-Einstellungen generieren und das Zertifikat mit den erforderlichen Informationen füllen, der wichtigsten, Gemeinsamen Namen, verwenden Sie Ihren Server-FQDN.
Der Standardspeicherort, an dem alle Ihre Zertifikate und Schlüssel mit dieser Methode gehostet werden, ist /etc/apache2/ssl/.
8. Jetzt ist es Zeit zu erstellen gentoo.lan SSL-Äquivalent für virtuelle Hosts. Verwenden Sie die gleiche Methode wie für virtuelle Nicht-SSL-Hosts, aber diesmal bearbeiten /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf Datei mit leichten Änderungen.
Öffnen Sie zuerst die Datei zum Bearbeiten und nehmen Sie die folgenden Änderungen vor.
$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
Unter Hören 443 -Direktive fügen Sie den folgenden Inhalt hinzu.
NameVirtualHost *:443
Verwenden Sie die folgende Vorlage für einen neuen virtuellen Host und fügen Sie ein neues SSL-Zertifikat + Schlüsselpfad und -namen hinzu.
## Eine andere virtuelle Hosts-State mit der Endung ###ServerName gentoo.lan DocumentRoot "/var/www/gentoo.lan" ErrorLog /var/log/apache2/gentoo.lan-ssl_error_log ## Ein weiterer virtueller Hosts-Anweisungen ###TransferLog /var/log/apache2/gentoo.lan-ssl_access_log SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL ## Mit neu generiertem SSL-Zertifikat bearbeiten und key und ändern Sie den Pfad zu /etc/apache2/ssl/ SSLCertificateFile /etc/apache2/ssl/gentoo.lan.crt SSLCertificateKeyFile /etc/apache2/ssl/gentoo.lan.key Optionen Indizes FollowSymLinks ExecCGI MultiViews Beinhaltet AllowOverride All Order erlauben, verweigern Von allen zulassenSSLOptions +StdEnvVars SSLOptions +StdEnvVarsBrowserMatch ".*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"
Definitionen für virtuelle Hosts müssen vor diesen letzten drei Anweisungen enden.
9. Nachdem Sie die Bearbeitung der Virtual Host-Datei abgeschlossen haben, starten Sie den Apache-Dienst neu und leiten Sie Ihren Browser mithilfe des HTTPS-Protokolls zu Ihrer Domäne https://gentoo.lan.
$ sudo /etc/init.d/apache2 Neustart
Mit diesem Verfahren können Sie SSL-Websites mit ihren eigenen Zertifikaten und Schlüsseln mithilfe von Apache Virtual Hosts hinzufügen. Um SSL Virtual Hosts zu entfernen, kommentieren Sie die Anweisungen aus oder löschen Sie sie unter … an /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf Datei.
Das CGI (Gemeinsame Gateway-Schnittstelle) ermöglicht es Apache, mit externen Programmen zu interagieren, die hauptsächlich aus Perl- oder BASH-Skripten bestehen, die Ihrer Website einen dynamischen Inhalt hinzufügen können.
10. Stellen Sie vor dem Aktivieren des CGI-Gateways sicher, dass Apache mit kompiliert wurde CGI. VERWENDEN Unterstützung von Modul-Flags auf Portage make.conf Datei: cgi cgid. So aktivieren Sie die GCI-Unterstützung für Apache open /etc/conf.d/apache2 Datei und CGI-Modul anhängen an APACHE2_OPTS Linie.
$ sudo nano /etc/conf.d/apache2
Stellen Sie sicher, dass diese Zeile einen ähnlichen Inhalt hat.
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SPRACHE -D STATUS -D CGI"
11. Nachdem die CGI-Module aktiviert wurden, öffnen Sie Ihren Website-Definitionshost, für den Sie die CGI-Schnittstelle aktivieren möchten, und fügen Sie den folgenden Inhalt in die Virtual Host-Direktiven ein.
Optionen Indizes +ExecCGI MultiViews AddHandler cgi-script .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl AllowOverride All Order Allow, Deny Allow from all.
12. Wenn Sie ein Verzeichnis in Ihrem DocumentRoot (/var/www/gentoo.lan/) Pfad, der CGI-Skripte enthält, können Sie nur dieses Verzeichnis aktivieren, um dynamische Perl- oder Bash-Skripte bereitzustellen.
ScriptAlias /cgi-bin/ /var/www/gentoo.lan/cgi-bin/ Optionen +ExecCGI. AddHandler cgi-script .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl.
13. Für SSI (Server Side Includes) anhängen +Inklusive Aussage zu Optionen und füge hinzu .shtml Dateierweiterung.
Optionen Indizes +ExecCGI +Enthält AddHandler cgi-script .cgi .pl AddType text/html .shtml. AddOutputFilter INCLUDES .shtml DirectoryIndex index.shtml index.cgi index.pl index.php index.html AllowOverride All Reihenfolge erlauben, von allen zulassen verweigern.
14. Um einige einfache zu testen .cgi und .pl Skripte auf dem Apache CGI-Gateway erstellen die folgenden Skripte in Ihrem Virtual Host DocumentRoot (/var/www/gentoo.lan/).
$ sudo nano /var/www/gentoo.lan/env.pl
Fügen Sie den folgenden Perl-Inhalt hinzu.
#!/usr/bin/perl. print "Inhaltstyp: text/html\n\n"; foreach my $keys (Sortierschlüssel %ENV) { print "$keys = $ENV{$keys}
\n"; }
$ sudo nano /var/www/gentoo.lan/run.cgi
Fügen Sie den folgenden Bash-Inhalt hinzu.
#!/bin/bash. echo "Inhaltstyp: text/html" Echo "" echo "" ./env.pl echo ""
15. Nachdem die Dateien erstellt wurden, machen Sie sie ausführbar, starten Sie den Apache-Daemon neu und verweisen Sie Ihren Browser auf die folgenden URLs.
$ sudo chmod +x /var/www/gentoo.lan/run.cgi. $ sudo chmod +x /var/www/gentoo.lan/env.pl. $ sudo /etc/init.d/apache2 Neustart
https://gentoo.lan/run.cgi ODER https://gentoo.lan/env.pl
Jetzt können Sie Gentoo in eine leistungsstarke Webhosting-Plattform mit Feintuning-Einstellungen für Ihre Systemleistung und maximaler Kontrolle über Ihre gesamte Umgebung verwandeln.