Virtuālo saimnieku izveide, SSL sertifikātu un atslēgu ģenerēšana un CGI Gateway iespējošana Gentoo Linux
Pēdējā apmācība par LAMP instalēšanu Gentoo Linux tikko ietvēra pamata instalēšanas procesu bez Apache papildu iestatījumiem, lai labāk kontrolētu jūsu domēnus.
Šī apmācība ir cieši saistīta ar iepriekšējo Gentoo LAMP un tajā ir apskatīti papildu iestatījumi videi LAMP , piemēram, Apache izveidošana Virtuālie saimnieki , ģenerēšana SSL Sertifikāta faili un atslēgas, iespējojiet drošu SSL protokolu HTTP darījumos un izmantojiet Apache CGI vārteju , lai jūs varētu palaist Perl vai Bash skripti virs jūsu vietnes.
- Instalējiet LAMP Gentoo Linux
1. darbība: izveidojiet Apache virtuālos saimniekus
Šajā tēmā tiek izmantots viltots domēna nosaukums - gentoo.lan - iespējots, izmantojot vietējo resursdatoru failu, ar vietņu failiem, kas tiek pasniegti no /var/www/gentoo.lan - DocumentRoot direktīva bez derīga DNS ieraksta, lai parādītu, kā Gentoo, izmantojot Apache tīmekļa serveri, var iespējot vairākus virtuālos resursdatorus.
1. Lai sāktu, atveriet Gentoo hosts failu rediģēšanai un pievienojiet jaunu rindiņu ar savu domēna vārdu.
$ sudo nano /etc/hosts
Faila beigās tas izskatās līdzīgs šim.
127.0.0.1 localhost gentoo 192.168.1.13 gentoo.lan
2. Pārbaudiet savu viltoto domēnu ar komandu ping , un domēnam vajadzētu atbildēt ar savu IP adresi.
$ ping -c2 gentoo.lan
3. Apache virtuālo saimnieku aktivizēšanas process ir diezgan vienkāršs. Vienkārši atveriet Apache noklusējuma virtuālo resursdatoru failu, kas atrodas ceļā /etc/apache2/vhosts.d/ , un pirms pēdējā paziņojuma ievadiet jauno virtuālā resursdatora definīciju, kas pievienota … direktīvas. c
Satur jūsu pielāgotos iestatījumus, piemēram, ServerName un DocumentRoot ceļš. Izmantojiet šo faila veidni kā ceļvedi jaunam virtuālajam resursdatoram un iekļaujiet to failā 00_default_vhost.conf (vietnēm, kas nav SSL).
$ 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>
Kā redzat, vizualizējot šo faila saturu, fails tiek ļoti komentēts ar paskaidrojumiem, kā arī saglabā localhost virtuālā resursdatora definīciju - kuru varat izmantot kā ceļvedi.
4. Pabeidzot faila rediģēšanu ar pielāgoto virtuālo resursdatoru, restartējiet Apache, lai lietotu iestatījumus, un pārliecinieties, ka izveidojat direktoriju DocumentRoot , ja esat mainījis šo direktīvu un ceļš pēc noklusējuma nepastāv ( šī lieta tika mainīta uz /var/www/gentoo.lan ). Esmu izveidojis arī nelielu PHP failu, lai pārbaudītu tīmekļa servera konfigurācijas.
$ sudo mkdir /var/www/gentoo.lan $ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php" $ sudo /etc/init.d/apache2 restart
5. Lai to pārbaudītu, atveriet pārlūku un norādiet tam virtuālā domēna nosaukumu http://gentoo.lan/info.php .
Izmantojot šo procedūru, varat pievienot tik daudz vietņu, kas nav SSL, cik vēlaties, izmantojot Apache virtuālos resursdatorus, taču īstai mašīnai, kas vērsta uz internetu, pārliecinieties, ka jūsu domēni ir reģistrēti un jūs izmantojat derīgus DNS serveru ierakstus.
Lai noņemtu virtuālo resursdatoru, vienkārši komentējiet vai izdzēsiet tā direktorijas, kas ietvertas faila 00_default_vhost.conf sadaļā … .
2. darbība: izveidojiet SSL sertifikātus un atslēgas virtuālajiem viesiem
SSL ir kriptogrāfijas protokols, ko izmanto informācijas apmaiņai pa drošu sakaru kanālu internetā vai tīklos, izmantojot sertifikātus un simetriskas/asimetriskas atslēgas.
6. Lai vienkāršotu sertifikātu un atslēgu ģenerēšanas procesu, izmantojiet šādu Bash skriptu, kas darbojas kā komanda un automātiski izveido visu nepieciešamo ar SSL domēna vārda iestatījumiem.
Vispirms sāciet izveidot Bash skriptu, izmantojot šādu komandu.
$ sudo nano /usr/local/bin/apache_gen_ssl
Pievienojiet šādu faila saturu.
#!/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. Kad fails ir izveidots, pievienojiet tam izpildes atļaujas un palaidiet to, lai ģenerētu SSL atslēgas un sertifikātus.
$ sudo chmod +x /usr/local/bin/apache_gen_ssl $ sudo apache_gen_ssl
Kad to palaidīsit pirmo reizi, jums tiks lūgts ievadīt savu domēna vārdu. Ievadiet sava domēna nosaukumu, kuram jūs ģenerējat SSL iestatījumus, un aizpildiet sertifikātu ar nepieciešamo informāciju, vissvarīgākais, Parastais nosaukums , izmantojiet sava servera FQDN.
Noklusējuma atrašanās vieta, kur visi jūsu sertifikāti un atslēgas tiek mitināti, izmantojot šo metodi, ir /etc/apache2/ssl/.
8. Tagad ir pienācis laiks izveidot virtuālā resursdatora SSL ekvivalentu gentoo.lan . Izmantojiet to pašu metodi kā virtuālajiem viesiem, kas nav SSL, taču šoreiz rediģējot failu /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf ar nelielām izmaiņām.
Vispirms atveriet failu rediģēšanai un veiciet šādas izmaiņas.
$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
Saskaņā ar direktīvu Klausīties 443 pievienojiet šo saturu.
NameVirtualHost *:443
Izmantojiet šo veidni jaunam virtuālajam resursdatoram un pievienojiet jaunu SSL sertifikātu + atslēgas ceļu un nosaukumus.
## 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 ###
Virtuālo saimnieku definīcijām jābeidzas pirms pēdējiem trim paziņojumiem.
</IfModule> </IfDefine> </IfDefine>
9. Pēc virtuālā resursdatora faila rediģēšanas pabeigšanas restartējiet Apache pakalpojumu un, izmantojot HTTPS protokolu https: //gentoo.lan , novirziet savu pārlūkprogrammu uz savu domēnu.
$ sudo /etc/init.d/apache2 restart
Izmantojot šo procedūru, varat pievienot SSL vietnes ar saviem sertifikātiem un atslēgām, izmantojot Apache virtuālos saimniekus. Lai noņemtu SSL virtuālos saimniekus, komentējiet vai izdzēsiet tās direktorijas, kas ietvertas faila /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf sadaļā … .
3. darbība: iespējojiet CGI saskarni
CGI ( Common Gateway Interface ) tas ļauj Apache mijiedarboties ar ārējām programmām, kuras galvenokārt sastāv no Perl vai BASH skriptiem, kas var pievienot dinamisku saturu jūsu vietnei.
10. Pirms iespējojat CGI vārteju, pārliecinieties, vai Apache ir kompilēts ar USE CGI moduļu karodziņu atbalstu Portage make.conf failā: cgi cgid . Lai iespējotu GCI atbalstu Apache, atveriet failu /etc/conf.d/apache2 un pievienojiet CGI moduli rindā APACHE2_OPTS .
$ sudo nano /etc/conf.d/apache2
Pārliecinieties, ka šai rindai ir līdzīgs saturs.
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI"
11. Kad CGI moduļi ir iespējoti, atveriet vietnes definēšanas resursdatoru, kurā vēlaties iespējot CGI saskarni, un pievienojiet šādu saturu Virtual Host direktīvās.
<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. Ja jūsu DocumentRoot ( /var/www/gentoo.lan/ ) ceļā ir direktorija, kurā atrodas CGI skripti, varat iespējot tieši šo direktoriju dinamisko Perl vai Bash skriptu apkalpošanai.
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. Attiecībā uz SSI (servera puse ietver) pievienojiet + Iekļaut paziņojumu Opcijas un pievienojiet faila paplašinājumu .shtml .
<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. Lai pārbaudītu dažus vienkāršus .cgi un .pl skriptus Apache CGI vārtejā, izveidojiet šādus skriptus savā Virtual Host DocumentRoot (/var/www/gentoo. lan/).
$ sudo nano /var/www/gentoo.lan/env.pl
Pievienojiet šādu Perl saturu.
#!/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
Pievienojiet šo Bash saturu.
#!/bin/bash echo "Content-type: text/html" echo "" echo "---------------------------------------------------------------------------------" ./env.pl echo "---------------------------------------------------------------------------------"
15. Kad faili ir izveidoti, padariet tos izpildāmus, restartējiet Apache dēmonu un norādiet pārlūkprogrammai uz šādiem URL.
$ 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
Tagad jūs varat pārveidot Gentoo par spēcīgu tīmekļa mitināšanas platformu ar precīziem iestatījumiem jūsu sistēmas veiktspējai un maksimālai kontrolei pār visu vidi.