סקוניל וטנ'גב CGI Gateway תלעפהו SSL תוחתפמ ירושיא תריצי ,םיילאוטריו םיחראמ תריצי
.ךלש םימוחתב רתוי בוט טולשל ידכ Apache רובע תונימז תופסונ תורדגה אלל יסיסבה הנקתהה ךילהת תא התסיכ קר סקוניל וטנ'גב LAMP תנקתה אשונב הנורחאה הכרדהה
.ךלש רתאה לעמ םיטפירקס Bash וא Perl ץירהל לכותש ךכ CGI Gateway י'צפאב שמתשהו HTTP תואקסע לע SSL חטבואמ לוקוטורפ לעפה ,תוחתפמו םירושיא יצבק SSL
י'צאפא לש םיילאוטריו םיחראמ רוצ :1 בלש
.י'צאפא לש טנרטניאה תרש תועצמאב וטנ'גב םיילאוטריו םיחראמ רפסמ ליעפהל ןתינ דציכ םיגדהל ידכ ,הפקת DNS תמושר אלל ,היחנה /var/www/gentoo.lan - DocumentRoot -מ םישג
.ךלש ןיימודה םש םע השדח הרוש ףסוהו הכירעל Gentoo יחראמ ץבוק תא חתפ ,ליחתהל ידכ .1
$ sudo nano /etc/hosts
.הזל המוד תואריהל הזל םורגל ץבוקה ףוסב
127.0.0.1 localhost gentoo 192.168.1.13 gentoo.lan
.ולש IP -ה תבותכ תועצמאב ביגהל רומא ןיימודהו גניפ הדוקפה תועצמאב ךלש ףיוזמה םוחתה תא קודב .2
$ ping -c2 gentoo.lan
ג .תוארוה ... תרהצה ינפלו /etc/apache2/vhosts.d/ ביתנב םקוממה י'צאפא לש לדחמ תרירבכ םירדגומה םיי
.(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>
.ךירדמכ וב שמתשהל לכות ובש - ילאוטריו חראמ localhost תרדגה לע רמוש םגו םירבסה םע תובר תורעה לבקמ ץבוקה ,הז ץבוק ןכות לש הימדה ידי לע תוארל לוכי התאש יפכ
.טנרטניאה תרש לש תורוצת תקידבל ןטק PHP ץבוק םג יתרצי .( /var/www/gentoo.lan ל הנוש הז הרקמ לדחמ תרירבכ םייק וניא ביתנהו וזה היחנהה תא תינישש הרקמב DocumentRoot היירפסה תא
$ sudo mkdir /var/www/gentoo.lan $ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php" $ sudo /etc/init.d/apache2 restart
. http://gentoo.lan/info.php ךלש ילאוטריווה םוחתה םשב וילא עיבצהו ןפדפד חתפ ,הז תא תמאל ידכ .5
.תופקת DNS תרש תומושרב שמתשמ התאו םימושר ךלש םיניימודה יכ חיטבת טנרטניאל הנופה תיתימא הנוכמ רובע ךא ,י'צאפא לש םיילאוטריו םיחראמ תועצמאב הצרתש לככ SSL םניאש טנרטניא ירתא המכ ףיסוהל לוכי הת
. 00_default_vhost.conf ץבוקב ... תחת תולולכה ויתוארוה תא קחמ וא הרעה ףסוה טושפ ילאוטריו חראמ ריסהל ידכ
םיילאוטריו םיחראמ רובע תוחתפמו SSL ירושיא קפה :2 בלש
SSL םיירטמיסא/םיירטמיס תוחתפמו םירושיא תועצמאב תותשר ךותב וא טנרטניאב חטבואמ תרושקת ץורעב עדימ תפלחהל שמשמה הנפצה לוקוטורפ אוה.
.SSL -ב ךלש ןיימודה םש תורדגה תרזעב ךירצ התאש המ לכ תא יטמוטוא ןפואב רצויו הדוקפכ שמשמש אבה Bash -ה טפירקסב שמתשה תוחתפמהו םירושיאה תריצי ךילהת תא טשפל ידכ .6
.האבה הדוקפה תועצמאב Bash טפירקס תריציב לחתה תישאר
$ sudo nano /usr/local/bin/apache_gen_ssl
.אבה ץבוקה ןכות תא ףסוה
#!/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
.םירושיאו SSL תוחתפמ תריציל ולעפהו עוציב תואשרה וילא ופריצ ,ץבוקה תריצי רחאל .7
$ sudo chmod +x /usr/local/bin/apache_gen_ssl $ sudo apache_gen_ssl
.FQDN תרשב שמתשה , ץופנ םש ,רתויב בושחה ,שרדנה עדימב רושיאה תא אלמו SSL תורדגה רציימ התא ורובעש םוחת םשה תא ןזה .ךלש םוחתה םש תא ןיזהל ךממ שקבת ,הנושארה םעפב ו
./etc/apache2/ssl/ אוה וז הטישב ךלש תוחתפמהו םירושיאה לכ םיחראתמ ובש לדחמה תרירב םוקימ
.םילק םייונישב /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf ץבוק תכירע םעפה ךא SSL םניאש םיילאוטריו םיחראמ רובע ומכ הטיש התואב שמתשה .חראמ SSL ךרע הווש gentoo.lan רוצ
.םיאבה םייונישה תא עצבו הכירעל ץבוקה תא חתפ תישאר
$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf
.אבה ןכותה תא ףסוה 443 ןזאה היחנה תחת
NameVirtualHost *:443
.תומשו חתפמ ביתנ + השדח SSL תדועת ףסוהו שדח ילאוטריו חראמ רובע האבה תינבתב שמתשה
## 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 ###
.תונורחאה תורהצהה שולש ינפל םייתסהל תובייח םיילאוטריו םיחראמ תורדגה
</IfModule> </IfDefine> </IfDefine>
. . /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf ץבוקב … תחת תולולכה היתוארוה תא קחמ וא תורעה ףסוה ,SSL לש םיילאוטריו םיחראמ ריסהל ידכ .Apache לש ילאוטריו יחראמ תועצמאב ם .ךלש רתאל ימניד ןכות ףיסוהל םילוכיש ,BASH וא Perl לש םיטפירקסמ תובכרומה תוינושאר ,תוינוציח תוינכות םע רשקתל י'צאפאל רשפאמ הז ( ףתושמה רעשה קשממ ) CGI ה . APACHE2_OPTS הרושב CGI לודומ ףסוהו /etc/conf.d/apache2 ץבוקה תא חתפ ,י'צאפא רובע GCI -ב הכימת רשפאל ידכ . .המוד ןכות שי וז הרושלש אדו .ילאוטריווה חראמה תוארוה ךותב אבה ןכותה תא ףסוהו CGI קשממל רשפאל ךנוצרבש ךלש רתאה תרדגה חראמ תא חתפ ,CGI ילודומ תלעפה רחאל .11 .םיימניד Bash וא םיילרפ םיטפירקס שיגהל וז היירפסל קוידב רשפאל לכות ,CGI לש םיטפירקס הליכמה DocumentRoot ( /var/www/gentoo.lan/ ) לש ביתנה ךותב היירפס ךל שי םא .12 . .shtml ץבוקה תמויס תא ופיסוהו תויורשפא ב ללוכ + הרהצה תא ופיסוה ,(תרשה דצ ללוכ) SSI רובע .13 .(/var/www/gentoo. lan/) ילאוטריו חראמ DocumentRoot ךכותב םיאבה םיטפירקסה תא רוצ ,Apache CGI רעשב .pl -ו .cgi םיטושפ םיטפירקס המכ קודבל ידכ .14 .לרפ לש אבה ןכותה תא ףסוה .Bash לש אבה ןכותה תא ףסוה .תואבה רתאה תובותכל ךלש ןפדפדה תא הנפהו י'צאפא לש ןומדה תא שדחמ לעפה ,הלעפהל םתוא ךופה ,םיצבקה תריצי רחאל .15 .ךלש הביבסה לכ לע תיברמ הטילשו ךלש תכרעמה יעוציבל תונידע ןונווכ תורדגה םע הקזח םירתא חוריא תמרופטלפל וטנ'ג תא ךופהל לוכי התא וישכע$ sudo /etc/init.d/apache2 restart
CGI קשממ רשפא :3 בלש
$ sudo nano /etc/conf.d/apache2
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI"
<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>
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>
<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>
$ sudo nano /var/www/gentoo.lan/env.pl
#!/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
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "---------------------------------------------------------------------------------"
./env.pl
echo "---------------------------------------------------------------------------------"
$ 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