Ħolqien ta' Hosts Virtwali, Iġġenera Ċertifikati u Ċwievet SSL u Attiva CGI Gateway f'Gentoo Linux
L-aħħar tutorja dwar Installazzjoni ta' LAMP f'Gentoo Linux kopra biss il-proċess bażiku ta' installazzjoni mingħajr settings addizzjonali disponibbli għal Apache biex jikkontrolla aħjar id-dominji tiegħek.
Dan it-tutorja huwa strettament konness ma 'wieħed preċedenti fuq Gentoo LAMP u jiddiskuti settings żejda għall-ambjent LAMP bħal toħloq Virtual Hosts fuq Apache, tiġġenera SSL Ċertifikati fajls u Ċwievet, jippermettu protokoll sikur SSL fuq transazzjonijiet HTTP u uża Apache CGI Gateway sabiex tkun tista' tħaddem Perl jew Bash skripts fuq il-websajt tiegħek.
- Installa LAMP f'Gentoo Linux
Pass 1: Oħloq Hosts Virtwali Apache
Dan is-suġġett juża isem ta' dominju falz – gentoo.lan – attivat permezz ta' fajl hosts lokali, b'fajls tal-websajt servuti minn /var/www/gentoo.lan – DocumentRoot direttiva, mingħajr rekord DNS validu, biex turi kif Hosts Virtwali multipli jistgħu jiġu attivati fuq Gentoo billi tuża Apache web Server.
1. Biex tibda, iftaħ il-fajl Gentoo hosts għall-editjar u żid linja ġdida bl-isem tad-dominju tiegħek.
$ sudo nano /etc/hosts
Fl-aħħar tal-fajl agħmel jidher simili għal dan.
127.0.0.1 localhost gentoo 192.168.1.13 gentoo.lan
2. Ittestja d-dominju falz tiegħek bil-kmand ping u d-dominju għandu jirrispondi bl-indirizz IP tiegħu.
$ ping -c2 gentoo.lan
3. Il-proċess ta 'attivazzjoni ta' Apache Virtual Hosts huwa pjuttost sempliċi. Iftaħ biss il-fajl tal-hosts virtwali default ta' Apache li jinsab fit-triq /etc/apache2/vhosts.d/ u qabel l-aħħar dikjarazzjoni, daħħal id-definizzjoni l-ġdida tal-Ospiti Virtwali tiegħek magħluqa taħt … direttivi. c
Li jkun fih is-settings tad-dwana tiegħek bħal ServerName u DocumentRoot mogħdija. Uża l-mudell tal-fajl li ġej bħala gwida għal Ospitanti Virtwali ġdid u inkludih fuq fajl 00_default_vhost.conf (għal websajts mhux 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>
Kif tistgħu taraw billi viżwalizzaw dan il-kontenut tal-fajl, il-fajl huwa kkummentat ħafna bi spjegazzjonijiet u jżomm ukoll id-definizzjoni localhost Virtual Host - li tista 'tużah bħala gwida.
4. Wara li tispiċċa l-editjar tal-fajl bl-Ospitanti Virtwali tad-dwana tiegħek, ibda mill-ġdid Apache biex tapplika s-settings u kun żgur li toħloq direttorju DocumentRoot f'każ li bdilt din id-direttiva u t-triq ma teżistix b'mod awtomatiku ( f' dan il-każ inbidel għal /var/www/gentoo.lan). Ħloqt ukoll fajl PHP żgħir biex nittestja l-konfigurazzjonijiet tal-webserver.
$ sudo mkdir /var/www/gentoo.lan $ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php" $ sudo /etc/init.d/apache2 restart
5. Biex tivverifikaha, iftaħ browser u ppuntah l-isem tad-dominju virtwali tiegħek http://gentoo.lan/info.php.
Billi tuża din il-proċedura tista' żżid kemm trid websajts mhux SSL billi tuża Apache Virtual Hosts, iżda għal magna reali li tiffaċċja l-Internet assigura li għandek id-dominji tiegħek irreġistrati u tuża rekords validi tas-server DNS.
Biex tneħħi Ospitanti Virtwali biss ikkummenta jew ħassar id-direttivi tiegħu magħluqa taħt ... fuq il-fajl 00_default_vhost.conf.
Pass 2: Iġġenera Ċertifikati SSL u Ċwievet għal Hosts Virtwali
SSL huwa protokoll kriptografiku użat għall-iskambju ta' informazzjoni fuq kanal ta' komunikazzjoni sigur fl-Internet jew ġewwa netwerks bl-użu ta' Ċertifikati u Ċwievet simmetriċi/assimetriċi.
6. Biex tissimplifika l-proċess tal-ġenerazzjoni taċ-Ċertifikati u ċ-ċwievet uża l-iskrittura Bash li ġejja li taġixxi bħala kmand u awtomatikament toħloq dak kollu li għandek bżonn bis-settings tal-isem tad-dominju SSL tiegħek.
L-ewwel ibda billi toħloq skript Bash billi tuża l-kmand li ġej.
$ sudo nano /usr/local/bin/apache_gen_ssl
Żid il-kontenut tal-fajl li ġej.
#!/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. Wara li l-fajl ikun inħoloq, waħħal il-permessi ta 'eżekuzzjoni fuqu u mexxih biex tiġġenera Ċwievet u Ċertifikati SSL.
$ sudo chmod +x /usr/local/bin/apache_gen_ssl $ sudo apache_gen_ssl
Meta tmexxiha għall-ewwel darba, se titlobek biex iddaħħal l-isem tad-dominju tiegħek. Daħħal l-isem dominju tiegħek li għalih tiġġenera settings SSL u imla Ċertifikat bl-informazzjoni meħtieġa, l-aktar waħda importanti, Isem Komuni, uża l-FQDN tas-server tiegħek.
Post default fejn iċ-Ċertifikati u ċ-Ċwievet kollha tiegħek huma ospitati bl-użu ta' dan il-metodu huwa /etc/apache2/ssl/.
8. Issa wasal iż-żmien li toħloq gentoo.lan Virtual Host SSL ekwivalenti. Uża l-istess metodu bħal Hosts Virtwali mhux SSL iżda din id-darba editja l-fajl /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf bi ftit bidliet.
L-ewwel tiftaħ il-fajl għall-editjar u agħmel il-bidliet li ġejjin.
$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
Taħt id-direttiva Isma 443 żid il-kontenut li ġej.
NameVirtualHost *:443
Uża l-mudell li ġej għal Ospitanti Virtwali ġdid u ehmeż Ċertifikat SSL ġdid + mogħdija u ismijiet ewlenin.
## 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 ###
Id-definizzjonijiet tal-Ospiti Virtwali għandhom jispiċċaw qabel dawn l-aħħar tliet dikjarazzjonijiet.
</IfModule> </IfDefine> </IfDefine>
9. Wara li tispiċċa l-editjar tal-fajl tal-Ospitanti Virtwali, ibda mill-ġdid is-servizz Apache u mexxi l-browser tiegħek lejn id-dominju tiegħek billi tuża protokoll HTTPS https://gentoo.lan.
$ sudo /etc/init.d/apache2 restart
Billi tuża din il-proċedura, tista 'żżid websajts SSL biċ-Ċertifikati u ċ-Ċwievet tagħhom stess billi tuża Apache Virtual Hosts. Biex tneħħi l-Ospiti Virtwali SSL tikkummenta jew tħassar id-direttivi tagħha magħluqa taħt ... fuq il-fajl /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf.
Pass 3: Ippermetti l-Interface CGI
Is-CGI (Common Gateway Interface) jippermetti lil Apache jinteraġixxi ma' programmi esterni, li jikkonsistu primarjament fi skripts Perl jew BASH, li jistgħu jżidu kontenut dinamiku mal-websajt tiegħek.
10. Qabel ma ppermettiet il-portal CGI kun żgur li Apache ġie kkompilat bl-appoġġ tal-bnadar tal-moduli USE CGI fuq il-fajl Portage make.conf: cgi cgid. Biex tippermetti l-appoġġ tal-GCI għal Apache iftaħ il-fajl /etc/conf.d/apache2 u waħħal il-modulu CGI fuq il-linja APACHE2_OPTS.
$ sudo nano /etc/conf.d/apache2
Aċċerta li din il-linja għandha kontenut simili.
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI"
11. Wara li l-moduli CGI huma attivati, iftaħ il-host tad-definizzjoni tal-websajt tiegħek li trid tattiva l-interface CGI u żid il-kontenut li ġej fid-direttivi Virtual Host.
<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. Jekk għandek direttorju ġewwa l-mogħdija tad-DokumentRoot tiegħek (/var/www/gentoo.lan/) li żżomm skripts CGI tista' tippermetti biss dak id-direttorju biex iservi skripts Perl jew Bash dinamiċi.
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. Għal SSI (In-naħa tas-Server Jinkludi) ehmeż dikjarazzjoni +Jinkludi fuq Għażliet u żid l-estensjoni tal-fajl .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. Biex tittestja xi skripts sempliċi .cgi u .pl fuq Apache CGI gateway oħloq l-iskripts li ġejjin ġewwa tiegħek Virtual Host DocumentRoot (/var/www/gentoo. lan/).
$ sudo nano /var/www/gentoo.lan/env.pl
Żid il-kontenut Perl li ġej.
#!/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
Żid il-kontenut Bash li ġej.
#!/bin/bash echo "Content-type: text/html" echo "" echo "---------------------------------------------------------------------------------" ./env.pl echo "---------------------------------------------------------------------------------"
15. Wara li l-fajls ikunu nħolqu, agħmelhom eżekutibbli, erġa ibda Apache daemon u ippunta l-browser tiegħek lejn l-URLs li ġejjin.
$ 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
Issa tista 'tittrasforma Gentoo fi pjattaforma ta' web hosting b'saħħitha b'settings ta 'rfinar għall-prestazzjoni tas-sistema tiegħek u kontroll massimu fuq l-ambjent kollu tiegħek.