Luo virtuaalisia isäntiä, luo SSL-varmenteita ja -avaimia ja ota CGI-yhdyskäytävä käyttöön Gentoo Linuxissa
Viimeinen opetusohjelma LAMP:n asentamisesta Gentoo Linuxiin käsitteli juuri perusasennuksen ilman, että Apache olisi voinut hallita verkkotunnuksiasi paremmin.
Tämä opetusohjelma liittyy tiukasti edelliseen Gentoo LAMP -ohjelmaan ja käsittelee LAMP-ympäristön lisäasetuksia, kuten Virtual Hosts -palvelimen luomista Apachessa, luomista >SSL Varmennetiedostot ja -avaimet, ota suojattu SSL-protokolla käyttöön HTTP-tapahtumissa ja käytä Apache CGI Gateway -yhdyskäytävää, jotta voit suorittaa Perlin tai Bash-skriptit verkkosivustosi kautta.
Vaatimukset
- Asenna LAMP Gentoo Linuxiin
Vaihe 1: Luo Apache Virtual Hosts
Tämä aihe käyttää väärennettyä verkkotunnuksen nimeä – gentoo.lan –, joka on otettu käyttöön paikallisen hosts-tiedoston kautta, ja verkkosivuston tiedostot toimitetaan osoitteesta /var/www/gentoo.lan – DocumentRoot .
1. Aloita avaamalla Gentoo hosts -tiedosto muokkausta varten ja lisäämällä uusi rivi verkkotunnuksesi nimellä.
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ä verkkotunnusta ping-komennolla, niin verkkotunnuksen pitäisi vastata IP-osoitteellaan.
ping -c2 gentoo.lan
3. Apache Virtual Hostsin aktivointiprosessi on melko yksinkertainen. Avaa vain Apachen oletusarvoinen virtuaalipalvelintiedosto, joka sijaitsee polussa /etc/apache2/vhosts.d/ ja ennen viimeistä -lausetta, kirjoita uusi Virtual Host -määrittelysi kohdan … direktiivit. c
Sisältää mukautetut asetuksesi, kuten ServerName ja DocumentRoot polun. Käytä seuraavaa tiedostomallia oppaana uudelle Virtual Hostille ja sisällytä se 00_default_vhost.conf-tiedostoon (muille kuin SSL-sivustoille).
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 näet tämän tiedoston sisällön visualisoinnista, tiedostoa on kommentoitu runsaasti selityksillä ja se säilyttää myös localhost Virtual Host -määrityksen – jota voit käyttää oppaana.
4. Kun olet muokannut tiedostoa mukautetulla virtuaalipalvelimellasi, käynnistä Apache uudelleen ottaaksesi asetukset käyttöön ja varmista, että luot DocumentRoot-hakemiston, jos olet muuttanut tätä ohjetta ja polku 'ei ole oletuksena olemassa (tässä tapauksessa muutettiin muotoon /var/www/gentoo.lan). Olen myös luonut pienen PHP-tiedoston verkkopalvelinkokoonpanojen 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 virtuaalinen verkkotunnuksesi http://gentoo.lan/info.php.
Tämän menettelyn avulla voit lisätä niin monta ei-SSL-verkkosivustoa kuin haluat Apache Virtual Hosts -palvelun avulla, mutta todellisessa Internetiin päin olevassa koneessa varmista, että verkkotunnuksesi on rekisteröity ja käytät kelvollisia DNS-palvelintietueita.
Voit poistaa virtuaalipalvelimen kommentoimalla tai poistamalla sen … -kohdan alla olevat käskyt 00_default_vhost.conf-tiedostosta.
Vaihe 2: Luo SSL-sertifikaatit ja -avaimet virtuaalisille koneille
SSL on salausprotokolla, jota käytetään tietojen vaihtamiseen suojatun viestintäkanavan kautta Internetissä tai sisäverkoissa käyttämällä varmenteita ja symmetrisiä/epäsymmetrisiä avaimia.
6. Sertifikaattien ja avainten luontiprosessin yksinkertaistamiseksi käytä seuraavaa Bash-komentosarjaa, joka toimii komentona ja luo automaattisesti kaiken tarvitsemasi SSL-verkkotunnuksen nimiasetuksissa.
Aloita luomalla Bash-skripti 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. Anna verkkotunnuksesi nimi, jolle luot SSL-asetukset, ja täytä varmenne vaadituilla tiedoilla. Tärkein, Yleinen nimi, käytä palvelimesi FQDN:ää.
Oletussijainti, jossa kaikki sertifikaatit ja avaimet 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 ei-SSL-virtuaalipalvelimet, mutta tällä kertaa muokkaat /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf-tiedostoa pienin muutoksin.
Avaa ensin tiedosto muokkausta varten ja tee seuraavat muutokset.
sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
Lisää seuraava sisältö Listen 443 -käskyyn.
NameVirtualHost *:443
Käytä seuraavaa mallia uudelle virtuaalipalvelimelle ja liitä uusi SSL-sertifikaatti + avainpolku 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 ###
Virtual Hosts -määritelmien tulee päättyä ennen näitä kolmea viimeistä lauseketta.
</IfModule>
</IfDefine>
</IfDefine>
9. Kun olet muokannut Virtual Host -tiedostoa, 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 varmenteilla ja avaimilla käyttämällä Apache Virtual Hostsia. Poistaaksesi SSL-virtuaalipalvelimet kommentoimalla tai poistamalla sen käskyt, jotka on sisällytetty tiedoston /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf kohtaan … .
Vaihe 3: Ota CGI-käyttöliittymä käyttöön
CGI (Yleinen yhdyskäytäväliittymä) antaa Apachen olla vuorovaikutuksessa ulkoisten ohjelmien kanssa, jotka koostuvat ensisijaisesti Perl- tai BASH-skripteistä, jotka voivat lisätä dynaamista sisältöä verkkosivustollesi.
10. Ennen kuin otat CGI-yhdyskäytävän käyttöön, varmista, että Apache on käännetty USE CGI-moduulien lippujen tuella Portagen make.conf-tiedostossa: cgi cgid . Ota GCI-tuki käyttöön Apachelle avaamalla /etc/conf.d/apache2-tiedosto ja liittämällä CGI-moduuli APACHE2_OPTS-riville.
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 on otettu käyttöön, avaa verkkosivustosi määrityspalvelin, jonka CGI-käyttöliittymän haluat ottaa käyttöön, ja lisää seuraava sisältö Virtual Host -käskyihin.
<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 sinulla on DocumentRoot-polussasi (/var/www/gentoo.lan/) hakemisto, joka sisältää CGI-komentosarjat, voit ottaa vain kyseisestä hakemistosta käyttöön dynaamisen Perlin tai Bash-skriptit.
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. SSI:lle (Server Side Includes) liitä +Includes-lauseke kohtaan Options 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. Jos haluat testata joitain yksinkertaisia .cgi- ja .pl-skriptejä Apache CGI -yhdyskäytävässä, luo seuraavat komentosarjat Virtual Host DocumentRootissa ( /var/www/gentoo.lan/).
Perl-skripti
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";
}
Bash-skripti
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ä suoritettavia, 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 hienosäätämällä asetuksia järjestelmäsi suorituskykyä ja maksimaalista koko ympäristöäsi varten.