Kuunda Wapangishi Pekee, Tengeneza Vyeti & Vifunguo vya SSL na Wezesha Lango la CGI katika Gentoo Linux
Mafunzo ya mwisho kuhusu Kusakinisha LAMP katika Gentoo Linux yalishughulikia mchakato msingi wa usakinishaji bila mipangilio ya ziada inayopatikana kwa Apache ili kudhibiti vikoa vyako vyema.
Mafunzo haya yameunganishwa kikamilifu na ya awali kwenye Gentoo LAMP na yanajadili mipangilio ya ziada ya LAMP mazingira kama vile kuunda Virtual Hosts kwenye Apache, tengeneza
- Sakinisha LAMP katika Gentoo Linux
Hatua ya 1: Unda Majeshi ya Apache Virtual
Mada hii inatumia jina ghushi la kikoa - gentoo.lan - iliyowezeshwa kupitia faili ya wapangishi wa ndani, na faili za tovuti zinazotolewa kutoka /var/www/gentoo.lan - DocumentRoot maagizo, bila rekodi halali ya DNS, ili kuonyesha jinsi Vipangishi vingi vya Virtual vinaweza kuwashwa kwenye Gentoo kwa kutumia Apache web Server.
1. Kuanza, fungua faili ya wapangishi wa Gentoo kwa uhariri na uongeze laini mpya yenye jina la kikoa chako.
$ sudo nano /etc/hosts
Mwisho wa faili fanya ionekane sawa na hii.
127.0.0.1 localhost gentoo 192.168.1.13 gentoo.lan
2. Jaribu kikoa chako ghushi kwa amri ya ping na kikoa kijibu kwa anwani yake ya IP.
$ ping -c2 gentoo.lan
3. Mchakato wa kuwezesha Apache Virtual Hosts ni rahisi sana. Fungua tu faili ya seva pangishi chaguomsingi ya Apache inayopatikana kwenye /etc/apache2/vhosts.d/ njia na kabla ya taarifa ya ya mwisho, weka ufafanuzi wako mpya wa Mpangishi Mtandaoni ulioambatanishwa chini ya … maagizo. c
Ina mipangilio yako maalum kama vile ServerName na DocumentRoot njia. Tumia kiolezo cha faili kifuatacho kama mwongozo wa Seva pangishi mpya na uijumuishe kwenye 00_default_vhost.conf faili (kwa tovuti zisizo za 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>
Kama unavyoweza kuona kwa kuibua maudhui ya faili hii, faili inatolewa maoni mengi kwa maelezo na pia huweka mwenyeji wa ndani ufafanuzi wa Mpangishi pepe – ambao unaweza kuitumia kama mwongozo.
4. Baada ya kumaliza kuhariri faili na Seva yako maalum ya Virtual, anzisha tena Apache ili kutumia mipangilio na uhakikishe kuwa umeunda saraka ya DocumentRoot ikiwa umebadilisha maagizo haya na njia haipo kwa chaguo-msingi ( in. kesi hii ilibadilishwa hadi /var/www/gentoo.lan). Pia nimeunda faili ndogo ya PHP ili kujaribu usanidi wa seva ya wavuti.
$ sudo mkdir /var/www/gentoo.lan $ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php" $ sudo /etc/init.d/apache2 restart
5. Ili kukithibitisha, fungua kivinjari na uelekeze jina la kikoa chako pepe http://gentoo.lan/info.php.
Kwa kutumia utaratibu huu unaweza kuongeza tovuti nyingi zisizo za SSL upendavyo kwa kutumia Apache Virtual Hosts, lakini kwa mashine halisi inayoangazia Mtandao hakikisha kuwa umesajili vikoa vyako na unatumia rekodi halali za seva ya DNS.
Ili kuondoa Seva Pekee, toa tu maoni au ufute maagizo yake yaliyoambatanishwa chini ya … kwenye 00_default_vhost.conf faili.
Hatua ya 2: Tengeneza Vyeti na Vifunguo vya SSL kwa Wapaji Pekee
SSL ni itifaki ya kriptografia inayotumika kubadilishana taarifa kupitia chaneli salama ya mawasiliano katika Mtandao au ndani ya mitandao kwa kutumia Vyeti na Funguo linganifu/asymmetric.
6. Ili kurahisisha mchakato wa kuunda Vyeti na funguo tumia hati ifuatayo ya Bash inayofanya kazi kama amri na kuunda kiotomatiki yote unayohitaji kwa mipangilio ya jina la kikoa chako cha SSL.
Kwanza anza kwa kuunda hati ya Bash kwa kutumia amri ifuatayo.
$ sudo nano /usr/local/bin/apache_gen_ssl
Ongeza yaliyomo kwenye faili ifuatayo.
#!/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. Baada ya faili kuundwa, ambatisha idhini ya kutekeleza juu yake na uiendeshe ili kutoa Vifunguo na Vyeti vya SSL.
$ sudo chmod +x /usr/local/bin/apache_gen_ssl $ sudo apache_gen_ssl
Unapoiendesha kwa mara ya kwanza, itakuuliza uweke jina la kikoa chako. Weka kikoa chako ambacho unatengenezea mipangilio ya SSL na ujaze Cheti kwa taarifa inayohitajika, lililo muhimu zaidi, Jina la Kawaida, tumia seva yako ya FQDN.
Mahali chaguomsingi ambapo Vyeti na Funguo zako zote zimepangishwa kwa kutumia mbinu hii ni /etc/apache2/ssl/.
8. Sasa ni wakati wa kuunda gentoo.lan Sawa na Mpangishaji Mtandaoni wa SSL. Tumia mbinu sawa na kwa Wapangishi wasio wa SSL Virtual lakini wakati huu ukihariri faili ya /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf na mabadiliko kidogo.
Kwanza fungua faili kwa ajili ya kuhariri na ufanye mabadiliko yafuatayo.
$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
Chini ya Sikiliza 443 maagizo ongeza maudhui yafuatayo.
NameVirtualHost *:443
Tumia kiolezo kifuatacho kwa Seva mpya ya Mtandaoni na uongeze Cheti kipya cha SSL + Njia ya Ufunguo na majina.
## 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 ###
Ufafanuzi wa Majeshi Mtandao lazima umalizike kabla ya taarifa hizi tatu za mwisho.
</IfModule> </IfDefine> </IfDefine>
9. Baada ya kumaliza kuhariri faili ya seva pangishi, anzisha upya huduma ya Apache na uelekeze kivinjari chako kwenye kikoa chako kwa kutumia itifaki ya HTTPS https://gentoo.lan.
$ sudo /etc/init.d/apache2 restart
Kwa kutumia utaratibu huu, unaweza kuongeza tovuti za SSL zilizo na Vyeti na Funguo zao kwa kutumia Apache Virtual Hosts. Ili kuondoa Wapangishi wa Mtandaoni wa SSL toa maoni au ufute maagizo yake yaliyoambatanishwa chini ya … kwenye faili ya /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf.
Hatua ya 3: Washa Kiolesura cha CGI
CGI (Kiolesura cha Kawaida cha Lango) huruhusu Apache kuingiliana na programu za nje, msingi unaojumuisha hati za Perl au BASH, ambazo zinaweza kuongeza maudhui yanayobadilika kwenye tovuti yako.
10. Kabla ya kuwezesha lango la CGI hakikisha Apache imeundwa kwa msaada wa moduli za TUMIA CGI kwenye faili ya Portage make.conf: cgi cgid. Ili kuwezesha usaidizi wa GCI kwa Apache fungua faili ya /etc/conf.d/apache2 na uongeze moduli ya CGI kwenye mstari wa APACHE2_OPTS.
$ sudo nano /etc/conf.d/apache2
Hakikisha kuwa mstari huu una maudhui sawa.
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI"
11. Baada ya moduli za CGI kuwashwa, fungua seva pangishi ya ufafanuzi wa tovuti unayotaka kuwezesha kiolesura cha CGI na uongeze maudhui yafuatayo ndani ya maagizo ya 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. Ikiwa una saraka ndani ya njia yako ya DocumentRoot (/var/www/gentoo.lan/) ambayo ina hati za CGI unaweza kuwezesha saraka hiyo tu kutoa hati dhabiti za Perl au Bash.
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. Kwa SSI (Upande wa Seva Unajumuisha) ongeza +Inajumuisha taarifa kwenye Chaguo na uongeze .shtml kiendelezi cha faili.
<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. Ili kujaribu hati rahisi za .cgi na .pl kwenye lango la Apache CGI unda hati zifuatazo ndani yako Virtual Host DocumentRoot (/var/www/gentoo. lan/).
$ sudo nano /var/www/gentoo.lan/env.pl
Ongeza yaliyomo kwenye Perl.
#!/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
Ongeza maudhui yafuatayo ya Bash.
#!/bin/bash echo "Content-type: text/html" echo "" echo "---------------------------------------------------------------------------------" ./env.pl echo "---------------------------------------------------------------------------------"
15. Baada ya faili kuundwa, zifanye zitekelezwe, anzisha upya daemon ya Apache na uelekeze kivinjari chako kwa URL zifuatazo.
$ 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
Sasa unaweza kubadilisha Gentoo kuwa jukwaa dhabiti la kukaribisha Wavuti lenye mipangilio mizuri ya urekebishaji kwa utendakazi wa mfumo wako na udhibiti wa juu zaidi wa mazingira yako yote.