Wirtual Hostlary döretmek, SSL şahadatnamalaryny we açarlaryny dörediň we Gentoo Linux-da CGI şlýuzasyny açyň


Gentoo Linux-da LAMP gurmak iň soňky sapak, diňe domenleriňizi has gowy dolandyrmak üçin Apache üçin goşmaça sazlamalar bolmazdan esasy gurnama işini öz içine aldy.

Bu gollanma Gentoo LAMP daky öňki bilen berk baglanyşyklydyr we Apache-de Wirtual Hostlar döretmek, LAMP gurşawy üçin goşmaça sazlamalary ara alyp maslahatlaşýar. > SSL Şahadatnama faýllary we açarlary, HTTP amallary boýunça ygtybarly SSL protokolyny işlediň we Perl işledip bilersiňiz, Apache CGI şlýuzy ulanyň. Web sahypaňyzda Baş skriptleri.

  1. Gentoo Linux-da LAMP guruň

1-nji ädim: Apache wirtual hostlaryny dörediň

Bu mowzuk, ýerli host faýly arkaly işlenip düzülen we /var/www/gentoo.lan - DocumentRoot sahypasyndan ýasalan galp domen adyny ulanýar - gentoo.lan görkezmesi, dogry DNS ýazgysyz, Apache web serwerini ulanyp, Gentoo-da näçe wirtual hostyň işledilip bilinjekdigini görkezmek.

1. Başlamak üçin, Gentoo host faýlyny redaktirlemek üçin açyň we domen adyňyz bilen täze setir goşuň.

$ sudo nano /etc/hosts

Faýlyň soňundaky ýaly görünýär.

127.0.0.1 localhost gentoo
192.168.1.13  gentoo.lan

2. Galp domeniňizi ping buýrugy bilen barlaň we domen IP adresi bilen jogap bermeli.

$ ping -c2 gentoo.lan

3. Apache Wirtual Hostlary işjeňleşdirmek prosesi gaty ýönekeý. Diňe /etc/apache2/vhosts.d/ ýolunda ýerleşýän Apache deslapky wirtual host faýlyny açyň we soňky beýanyndan öň -iň aşagyndaky täze Wirtual Host kesgitlemesini giriziň.… görkezmeleri. c

ServerName we DocumentRoot ýoly ýaly aýratyn sazlamalaryňyzy öz içine alýar. Aşakdaky faýl şablonyny täze Wirtual Host üçin gollanma hökmünde ulanyň we ony 00_default_vhost.conf faýlyna goşuň (SSL däl web sahypalary üçin).

$ 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>

Bu faýlyň mazmunyny göz öňüne getirip görşüňiz ýaly, faýl düşündirişler bilen ýokary teswirlenýär we gollanma hökmünde ulanyp boljak localhost Wirtual Host kesgitlemesini saklaýar.

4. customörite Wirtual Host bilen redaktirleme faýlyny gutaranyňyzdan soň, sazlamalary ulanmak üçin Apache-i täzeden açyň we bu direktiwany üýtgeden bolsaňyz we ýol adaty ýagdaýda ýok bolsa, DocumentRoot katalogyny döredýändigiňize göz ýetiriň. bu ýagdaý /var/www/gentoo.lan üýtgedildi). Şeýle hem, web serweriniň konfigurasiýalaryny barlamak üçin kiçijik PHP faýly döretdim.

$ sudo mkdir /var/www/gentoo.lan
$ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php"
$ sudo /etc/init.d/apache2 restart

5. Muny barlamak üçin brauzeri açyň we wirtual domen adyňyzy görkeziň http://gentoo.lan/info.php .

Bu prosedurany ulanyp, Apache Wirtual Host-laryny ulanmak isleýänleriňiz ýaly SSL däl web sahypalaryny goşup bilersiňiz, ýöne hakyky internete ýüz tutýan maşyn üçin domenleriňiziň hasaba alnandygyny we dogry DNS serwer ýazgylaryny ulanýandygyňyzy kepillendiriň.

Wirtual Hosty aýyrmak üçin diňe 00_default_vhost.conf faýlyndaky aşagyndaky görkezmelerini düşündiriň ýa-da pozuň.

2-nji ädim: Wirtual öý eýeleri üçin SSL şahadatnamalaryny we açarlaryny dörediň

SSL şahadatnamalary we simmetrik/asimmetrik açarlary ulanyp, internetde ýa-da içerki ulgamlarda ygtybarly aragatnaşyk kanaly arkaly maglumat alyşmak üçin ulanylýan kriptografik protokoldyr.

6. Şahadatnamalary we düwmeleri öndürmek prosesini ýönekeýleşdirmek üçin buýruk hökmünde hereket edýän we SSL domen ady sazlamalaryňyz bilen zerur zatlary awtomatiki döredýän aşakdaky Baş skriptini ulanyň.

Ilki bilen aşakdaky buýrugy ulanyp Baş skriptini döretmekden başlaň.

$ sudo nano /usr/local/bin/apache_gen_ssl

Aşakdaky faýl mazmunyny goşuň.

#!/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. Faýl döredilenden soň, oňa ýerine ýetiriş rugsatlaryny goşuň we SSL açarlary we şahadatnamalary döretmek üçin işlediň.

$ sudo chmod +x /usr/local/bin/apache_gen_ssl
$ sudo apache_gen_ssl

Ilkinji gezek işledeniňizde, domeniňizi adyňyzy girizmegiňizi haýyş eder. SSL sazlamalaryny döredýän we şahadatnamany zerur maglumatlar bilen doldurýan domeniňizi adyňyzy giriziň, iň möhümi umumy at serweriňizi FQDN ulanyň.

Bu usuly ulanyp, ähli şahadatnamalaryňyzyň we açarlaryňyzyň ýerleşýän ýeri, /etc/apache2/ssl/.

8. Indi gentoo.lan Wirtual Host SSL ekwiwalentini döretmegiň wagty geldi. SSL däl Wirtual Hostlar ýaly usuly ulanyň, ýöne bu gezek azajyk üýtgeşmeler bilen /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf faýly redaktirläň.

Ilki bilen redaktirlemek üçin faýly açyň we aşakdaky üýtgeşmeleri giriziň.

$ sudo nano /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf

Diňläň 443 direktiwasyna aşakdaky mazmuny goşuň.

NameVirtualHost *:443

Täze Wirtual Host üçin aşakdaky şablony ulanyň we täze SSL Şahadatnamasy + Esasy ýol we atlary goşuň.

## 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 ###

Wirtual Host kesgitlemeleri bu soňky üç sözlemden öň gutarmaly.

</IfModule>
</IfDefine>
</IfDefine>

9. Wirtual Host faýly redaktirläniňizden soň, Apache hyzmatyny täzeden açyň we HTTPS protokolyny https: //gentoo.lan ulanyp, brauzeriňizi domeniňize gönükdiriň.

$ sudo /etc/init.d/apache2 restart

Bu prosedurany ulanyp, Apache wirtual hostlaryny ulanyp, öz şahadatnamalary we açarlary bilen SSL web sahypalaryny goşup bilersiňiz. SSL Wirtual Hostlary aýyrmak üçin /etc/apache2/vhosts.d/00_default_ssl_vhosts.conf faýlyndaky daky görkezmelerini düşündiriň ýa-da pozuň.

3-nji ädim: CGI interfeýsini açyň

CGI ( Umumy şlýuz interfeýsi ) Apache-e web sahypaňyza dinamiki mazmun goşup biljek Perl ýa-da BASH skriptlerinden ybarat daşarky programmalar bilen täsirleşmäge mümkinçilik berýär.

10 Apache üçin GCI goldawyny açmak üçin /etc/conf.d/apache2 faýly açyň we CGI modulyny APACHE2_OPTS setirine goşuň.

$ sudo nano /etc/conf.d/apache2

Bu setiriň meňzeş mazmuna eýe bolandygyna göz ýetiriň.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D STATUS -D CGI"

11. CGI modullary açyk bolansoň, CGI interfeýsini işletmek isleýän web sahypaňyzy kesgitleýjini açyň we Wirtual Host direktiwalarynyň içinde aşakdaky mazmuny goşuň.

<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. “DocumentRoot” ( /var/www/gentoo.lan/ ) ýolunda CGI skriptlerini saklaýan bir katalogyňyz bar bolsa, diňe şol katalogy dinamiki Perl ýa-da Baş skriptlerine hyzmat edip bilersiňiz.

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 üçin (Serwer tarapy öz içine alýar) opsiýalary daky + goşýar we .shtml faýl giňeltmesini goşuň.

<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. Apache CGI şlýuzasyndaky käbir ýönekeý .cgi we .pl skriptlerini barlamak üçin içiňizde Wirtual Host DocumentRoot (/var/www/gentoo) aşakdaky skriptleri dörediň. lan/).

$ sudo nano /var/www/gentoo.lan/env.pl

Aşakdaky Perl mazmunyny goşuň.

#!/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

Aşakdaky Baş mazmunyny goşuň.

#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "---------------------------------------------------------------------------------"
              ./env.pl 
echo "---------------------------------------------------------------------------------"

15. Faýllar döredilenden soň, olary ýerine ýetiriň, Apache daemonyny täzeden açyň we brauzeriňizi aşakdaky URL-lere görkeziň.

$ 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

Indi “Gentoo” -ny ulgamyňyzyň işleýşi we daşky gurşawyňyza iň ýokary gözegçilik etmek üçin ajaýyp sazlaýyş sazlamalary bilen güýçli Web hosting platformasyna öwrüp bilersiňiz.