Virtuaalisten isäntien luominen, SSL-varmenteiden ja avainten luominen ja CGI-yhdyskäytävän ottaminen käyttöön Gentoo Linuxissa
Viimeinen opetusohjelma LAMPin asentamisesta Gentoo Linuxiin käsitti vain perusasennusprosessin ilman Apache: lle käytettävissä olevia lisäasetuksia verkkotunnusten hallitsemiseksi.
Tämä opetusohjelma on tiukasti yhteydessä edelliseen Gentoo LAMP -sovellukseen ja siinä käsitellään LAMP -ympäristön lisäasetuksia, kuten Virtuaalisten isäntien luominen Apachessa, luominen SSL Sertifikaattitiedostot ja avaimet, ota suojattu SSL -protokolla käyttöön HTTP-tapahtumissa ja käytä Apache CGI-yhdyskäytävää , jotta voit suorittaa Perl tai Bash -skriptit verkkosivustollesi.
- Asenna LAMP Gentoo Linuxiin
Vaihe 1: Luo Apache-virtuaalipalvelimet
Tämä aihe käyttää väärennettyä verkkotunnusta - gentoo.lan -, joka on otettu käyttöön paikallisen isäntätiedoston kautta, ja verkkosivustotiedostot palvelevat osoitteesta /var/www/gentoo.lan - DocumentRoot -direktiivi ilman kelvollista DNS -tietokantaa osoittamaan, kuinka useita virtuaalisia isäntiä voidaan ottaa käyttöön Gentoon Apache-verkkopalvelimella.
1. Aloita avaamalla Gentoo hosts-tiedosto muokkausta varten ja lisäämällä uusi rivi verkkotunnuksellesi.
$ sudo nano /etc/hosts
Tee tiedoston lopusta samanlainen kuin tämä.
127.0.0.1 localhost gentoo 192.168.1.13 gentoo.lan
2. Testaa väärennetty verkkotunnuksesi ping -komennolla, ja verkkotunnuksen tulisi vastata IP-osoitteellaan.
$ ping -c2 gentoo.lan
3. Apache-virtuaalipalvelinten aktivointiprosessi on melko yksinkertainen. Avaa vain Apache-oletusarvoinen virtuaalihostitiedosto, joka sijaitsee /etc/apache2/vhosts.d/ -polulla ja kirjoita uusi viimeinen -käsky ennen virtuaalisen isännän määritystä … direktiivit. c
Sisältää mukautetut asetukset, kuten Palvelimen nimi ja DocumentRoot -polku. Käytä seuraavaa tiedostomallia uuden virtuaalipalvelimen oppaana ja lisää se 00_default_vhost.conf -tiedostoon (muille kuin SSL-verkkosivustoille).
$ sudo nano /etc/apache2/vhosts.d/00_default_vhost.conf
## Another Virtual hosts statemes ending in </VirtualHost> ### <VirtualHost *:80> ServerName gentoo.lan DocumentRoot "/var/www/gentoo.lan" <Directory "/var/www/gentoo.lan" Options Indexes FollowSymLinks ExecCGI MultiViews # AllowOverride controls what directives may be placed in .htaccess files. AllowOverride All # Controls who can get stuff from this server file Order allow,deny Allow from all </Directory> <IfModule mpm_peruser_module> ServerEnvironment apache apache </IfModule> </VirtualHost> ## Another Virtual hosts statemes ### ## LAST STATEMENT which closes virtual hosts file ## </IfDefine>
Kuten voit nähdä visualisoimalla tämän tiedostosisällön, tiedostoon on annettu paljon selityksiä ja se pitää myös localhost -virtuaalipalvelimen määritelmän - jota voit käyttää sitä oppaana.
4. Kun olet muokannut tiedostoa mukautetulla virtuaalipalvelimella, käynnistä Apache uudelleen asetusten soveltamiseksi ja varmista, että luot DocumentRoot -hakemiston, jos olet muuttanut tätä direktiiviä ja polkua ei ole oletusarvoisesti ( tapaus muutettiin muotoon /var/www/gentoo.lan ). Olen myös luonut pienen PHP-tiedoston verkkopalvelimen määritysten testaamiseksi.
$ sudo mkdir /var/www/gentoo.lan $ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php" $ sudo /etc/init.d/apache2 restart
5. Vahvista se avaamalla selain ja osoittamalla sille virtuaalisen verkkotunnuksesi nimi http://gentoo.lan/info.php .
Tämän menettelyn avulla voit lisätä niin monta muuta kuin SSL-verkkosivustoa kuin haluat Apache Virtual Hosts -palvelun avulla, mutta varmista, että todellinen Internetiin päin oleva kone on, että olet rekisteröinyt verkkotunnuksesi ja käytät kelvollisia DNS-palvelintietueita.
Jos haluat poistaa virtuaalisen isännän, kommentoi tai poista sen 00_default_vhost.conf -tiedoston alla olevat ohjeet.
Vaihe 2: Luo SSL-varmenteet ja avaimet virtuaalisille palvelimille
SSL on salausprotokolla, jota käytetään tietojen vaihtamiseen suojatun viestintäkanavan kautta Internetissä tai verkkojen sisällä varmenteita ja symmetrisiä/epäsymmetrisiä avaimia käyttämällä.
6. Yksinkertaistaaksesi varmenteita ja avainten luomisprosessia käytä seuraavaa Bash-komentosarjaa, joka toimii komentona ja luo kaiken tarvitsemasi automaattisesti SSL-toimialueen nimi-asetuksilla.
Aloita luomalla Bash-komentosarja seuraavalla komennolla.
$ sudo nano /usr/local/bin/apache_gen_ssl
Lisää seuraava tiedostosisältö.
#!/bin/bash mkdir /etc/apache2/ssl cd /etc/apache2/ssl echo -e "Enter a name for this certificate:\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 " The certificate $cert has been generated!\nPlease link it to Apache SSL website!" ls -all /etc/apache2/ssl/ exit 0
7. Kun tiedosto on luotu, liitä siihen suoritusoikeudet ja suorita se SSL-avainten ja varmenteiden luomiseksi.
$ sudo chmod +x /usr/local/bin/apache_gen_ssl $ sudo apache_gen_ssl
Kun suoritat sen ensimmäisen kerran, sinua pyydetään antamaan verkkotunnuksesi nimi. Kirjoita verkkotunnuksesi nimi, jolle luot SSL-asetukset, ja täytä varmenne tarvittavilla tiedoilla, tärkein, yleinen nimi , käytä palvelimesi FQDN-nimeä.
Oletuspaikka, jossa kaikkia varmenteitasi ja avaimiasi isännöidään tällä menetelmällä, on /etc/apache2/ssl/.
8. Nyt on aika luoda gentoo.lan Virtual Host SSL -vastaava. Käytä samaa menetelmää kuin muille kuin SSL-virtuaalipalvelimille, mutta tällä kertaa muokkaamalla /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf -tiedostoa hieman muuttamalla.
Avaa ensin tiedosto muokkausta varten ja tee seuraavat muutokset.
$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
Lisää seuraava sisältö Kuuntele 443 -direktiivin alaisuuteen.
NameVirtualHost *:443
Käytä seuraavaa mallia uudelle virtuaalipalvelimelle ja liitä uusi SSL-varmenne + avaimen polku ja nimet.
## Another Virtual hosts statemes ending in </VirtualHost> ### <VirtualHost *:443> ServerName gentoo.lan DocumentRoot "/var/www/gentoo.lan" ErrorLog /var/log/apache2/gentoo.lan-ssl_error_log <IfModule log_config_module> TransferLog /var/log/apache2/gentoo.lan-ssl_access_log </IfModule> SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL ## Edit with new generated SSL certificate and key and change path to /etc/apache2/ssl/ SSLCertificateFile /etc/apache2/ssl/gentoo.lan.crt SSLCertificateKeyFile /etc/apache2/ssl/gentoo.lan.key <Directory "/var/www/gentoo.lan"> Options Indexes FollowSymLinks ExecCGI MultiViews Includes AllowOverride All Order allow,deny Allow from all </Directory> <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/var/www/gentoo.lan "> SSLOptions +StdEnvVars </Directory> <IfModule setenvif_module> BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 </IfModule> <IfModule log_config_module> CustomLog /var/log/apache2/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </IfModule> </VirtualHost> ## Another Virtual hosts statements ###
Virtuaalisten isäntien määritelmien on lopputtava ennen tätä kolmea viimeistä lausetta.
</IfModule> </IfDefine> </IfDefine>
9. Kun olet suorittanut virtuaalisen isäntätiedoston muokkauksen, käynnistä Apache-palvelu uudelleen ja ohjaa selaimesi verkkotunnukseesi käyttämällä HTTPS-protokollaa https: //gentoo.lan .
$ sudo /etc/init.d/apache2 restart
Tämän menettelyn avulla voit lisätä SSL-verkkosivustoja omilla varmenteillaan ja avaimillaan Apache Virtual Host -palvelinten avulla. Poistaaksesi SSL-virtuaalipalvelimet, kommentoi tai poista sen / alla olevat /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf -tiedoston … -alueen ohjearvot.
Vaihe 3: Ota CGI-käyttöliittymä käyttöön
CGI ( Common Gateway Interface ), jonka avulla Apache voi olla vuorovaikutuksessa ulkoisten ohjelmien kanssa, ensisijaisesti Perl- tai BASH-komentosarjoista, jotka voivat lisätä dynaamista sisältöä verkkosivustoosi.
10. Ennen kuin otat CGI-yhdyskäytävän käyttöön, varmista, että Apache on käännetty KÄYTÄ CGI -moduuleilla, jotka tukevat Portagen make.conf -tiedostoa: cgi cgid . Ota Gache-tuki Apache-sovellukseen käyttöön avaamalla /etc/conf.d/apache2 -tiedosto ja liittämällä CGI-moduuli riville APACHE2_OPTS .
$ sudo nano /etc/conf.d/apache2
Varmista, että tällä rivillä on samanlainen sisältö.
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI"
11. Kun CGI-moduulit ovat käytössä, avaa verkkosivustosi määrityspalvelin, jonka haluat ottaa käyttöön CGI-käyttöliittymän, ja lisää seuraava sisältö Virtual Host -direktiiveihin.
<Directory "/var/www/gentoo.lan"> Options Indexes +ExecCGI MultiViews AddHandler cgi-script .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl AllowOverride All Order allow,deny Allow from all </Directory>
12. Jos DocumentRoot-polun sisällä ( /var/www/gentoo.lan/ ) on hakemisto, joka sisältää CGI-komentosarjoja, voit sallia juuri kyseisen hakemiston tarjoavan dynaamisia Perl- tai Bash-komentosarjoja.
ScriptAlias /cgi-bin/ /var/www/gentoo.lan/cgi-bin/ <Location /cgi-bin> Options +ExecCGI AddHandler cgi-script .cgi .pl DirectoryIndex index.cgi index.php index.html index.pl </Location>
13. Liitä SSI (palvelinpuoli sisältää) -kohdan + Sisältää -käsky Asetuksiin ja lisää .shtml -tiedostotunniste.
<Directory "/var/www/gentoo.lan"> Options Indexes +ExecCGI +Includes 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 Order allow,deny Allow from all </Directory>
14. Testataksesi yksinkertaisia .cgi ja .pl komentosarjoja Apache CGI -yhdyskäytävässä, luo seuraavat komentosarjat Virtual Host DocumentRoot (/var/www/gentoo. lan/).
$ sudo nano /var/www/gentoo.lan/env.pl
Lisää seuraava Perl-sisältö.
#!/usr/bin/perl print "Content-type: text/html\n\n"; foreach my $keys (sort keys %ENV) { print "$keys = $ENV{$keys}<br/>\n"; }
$ sudo nano /var/www/gentoo.lan/run.cgi
Lisää seuraava Bash-sisältö.
#!/bin/bash echo "Content-type: text/html" echo "" echo "---------------------------------------------------------------------------------" ./env.pl echo "---------------------------------------------------------------------------------"
15. Kun tiedostot on luotu, tee niistä suoritettava, käynnistä Apache-daemon uudelleen ja osoita selaimesi seuraaviin URL-osoitteisiin.
$ sudo chmod +x /var/www/gentoo.lan/run.cgi $ sudo chmod +x /var/www/gentoo.lan/env.pl $ sudo /etc/init.d/apache2 restart
https://gentoo.lan/run.cgi OR https://gentoo.lan/env.pl
Nyt voit muuttaa Gentoon tehokkaaksi web-hosting-alustaksi, jossa on hienosäätöasetukset järjestelmän suorituskykyyn ja maksimaaliseen hallintaan koko ympäristössäsi.