自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Gentoo Linux中創(chuàng)建虛擬主機并生成SSL證書及密鑰

譯文
安全 數(shù)據(jù)安全
本教程探討了LAMP環(huán)境的額外設(shè)置,比如在Apache上創(chuàng)建虛擬主機、生成SSL證書文件及密鑰、針對HTTP事務(wù)啟用安全SSL協(xié)議,以及使用Apache CGI網(wǎng)關(guān),那樣你就可以在自己的網(wǎng)站上運行Perl腳本或Bash腳本。

在Gentoo中創(chuàng)建Apache虛擬主機

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

本教程探討了LAMP環(huán)境的額外設(shè)置,比如在Apache上創(chuàng)建虛擬主機、生成SSL證書文件及密鑰、針對HTTP事務(wù)啟用安全SSL協(xié)議,以及使用Apache CGI網(wǎng)關(guān),那樣你就可以在自己的網(wǎng)站上運行Perl腳本或Bash腳本。

第1步:創(chuàng)建Apache虛擬主機

這個話題使用一個虛假的域名:gentoo.lan,通過本地主機文件來啟用,網(wǎng)站文件從/var/www/gentoo.lan來提供――沒有有效DNS記錄的DocumentRoot命令用來演示如何在使用Apache Web Server的Gentoo上啟用多個虛擬主機。

1. 首先,打開Gentoo主機文件進行編輯,用你的域名添加新的一行。

$ sudo nano /etc/hosts

在文件末尾,讓它看起來如同這樣。

127.0.0.1 localhost gentoo
192.168.1.13 gentoo.lan

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

在主機文件中添加域名

2. 使用ping命令測試你的虛假域,該域應(yīng)該會使用其IP地址來回應(yīng)。

$ ping -c2 gentoo.lan

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰 

驗證域名

3. 激活A(yù)pache虛擬主機的過程相當(dāng)簡單。只要打開位于/etc/apache2/vhosts.d/路徑的Apache默認虛擬主機文件,在最后一個語句前面,輸入你新的虛擬主機定義,該定義在…命令下圍起來。

包含你的自定義設(shè)置,比如ServerName和DocumentRoot路徑。使用下列文件模板作為新虛擬主機的指南,并將它添加到00_default_vhost.conf文件上(用于非SSL網(wǎng)站)。

  1. $ sudo nano /etc/apache2/vhosts.d/00_default_vhost.conf  
  2. ## 以</VirtualHost>結(jié)尾的另一個虛擬主機語句###  
  3. <VirtualHost *:80> 
  4.         ServerName gentoo.lan  
  5.         DocumentRoot "/var/www/gentoo.lan"  
  6.                         <Directory "/var/www/gentoo.lan"  
  7.                 Options Indexes FollowSymLinks ExecCGI MultiViews  
  8.          # AllowOverride控制什么命令可以放在.htaccess文件中。    
  9.                         AllowOverride All  
  10.         # 控制誰能從該服務(wù)器文件中獲得內(nèi)容  
  11.                         Order allow,deny  
  12.                         Allow from all  
  13.         </Directory> 
  14.         <IfModule mpm_peruser_module> 
  15.                 ServerEnvironment apache apache  
  16.         </IfModule> 
  17. </VirtualHost> 
  18. ## 另一個虛擬主機語句###  
  19. ## 結(jié)束虛擬主機文件的最后一個語句##  
  20. </IfDefine> 

 

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

在Gentoo中創(chuàng)建Apache虛擬主機

你可能從該文件內(nèi)容圖形中看出,文件使用了大量的說明注釋,還保留了本地主機虛擬主機的定義――你可以將它用作指南。

4. 使用自定義的虛擬主機完成文件編輯后,重啟Apache,讓設(shè)置生效,并確保你創(chuàng)建了DocumentRoot目錄,以防你更改了該指令,路徑在默認情況下并不存在(這種情況下路徑改成/var/www/gentoo.lan)。我還創(chuàng)建了一個小巧的PHP文件,以測試Web服務(wù)器的配置。

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

5. 想進行驗證,打開瀏覽器,將其指向你的虛擬域名http://gentoo.lan/info.php。

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

驗證PHP配置

使用這個方法,你可以使用Apache虛擬主機,想添加幾個非SSL網(wǎng)站,就能添加幾個;但是就一個真實的面向互聯(lián)網(wǎng)的機器而言,要確保你的域已注冊,并且使用有效的DNS服務(wù)器記錄。

想刪除虛擬主機,只要注釋掉或刪除00_default_vhost.conf文件中…下圍起來的指令。#p#

第2步:為虛擬主機生成SSL證書和密鑰

SSL是一種加密協(xié)議,用來通過互聯(lián)網(wǎng)或使用證書以及對稱/非對稱密鑰的網(wǎng)絡(luò)里面的安全通信通道交換信息。 6. 想簡化證書和密鑰的生成過程,使用下列Bash腳本,該腳本充當(dāng)命令,可以自動創(chuàng)建你所需要的帶SSL域名設(shè)置的SSL證書和密鑰。

首先,開始使用下列命令,創(chuàng)建Bash腳本。

$ sudo nano /usr/local/bin/apache_gen_ssl

添加下列文件內(nèi)容。

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

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰 

創(chuàng)建Bash腳本,生成SSL

7. 文件創(chuàng)建完畢后,在其末尾添加執(zhí)行權(quán)限,并運行文件,生成SSL密鑰及證書。

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

 在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

生成SSL證書及密鑰

你第一次運行文件時,它會要求你輸入域名。輸入需要生成SSL設(shè)置的域名,并為證書填充必要的信息,最重要的一個信息是Common Name,使用你服務(wù)器的FQDN(完全符合標準的域名)。

使用這種方法放置所有證書和密鑰的默認位置是/etc/apache2/ssl/。

8. 現(xiàn)在可以創(chuàng)建與gentoo.lan對應(yīng)的虛擬主機SSL。使用與非SSL虛擬主機一樣的方法,不過這回編輯/etc/apache2/vhosts.d/00_default_ssl_vhosts.conf文件,需要稍加改動文件。

先打開文件進行編輯,然后進行下列改動。

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

在Listen 443命令下,添加下列內(nèi)容。

NameVirtualHost *:443

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰 

啟用HTTPS端口

針對新的虛擬主機使用下列模板,并在末尾添加新的SSL證書及密鑰路徑和名稱。

  1. ## 以</VirtualHost> 結(jié)尾的另一個虛擬主機語句###  
  2. <VirtualHost *:443> 
  3.                 ServerName gentoo.lan  
  4.     DocumentRoot "/var/www/gentoo.lan"  
  5.                 ErrorLog /var/log/apache2/gentoo.lan-ssl_error_log  
  6.                 <IfModule log_config_module> 
  7.                                 TransferLog /var/log/apache2/gentoo.lan-ssl_access_log  
  8.                 </IfModule> 
  9.                 SSLEngine on  
  10.                 SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL  
  11. ## 使用新生成的SSL證書和密鑰進行編輯,將路徑改成/etc/apache2/ssl/  
  12.         SSLCertificateFile /etc/apache2/ssl/gentoo.lan.crt  
  13.         SSLCertificateKeyFile /etc/apache2/ssl/gentoo.lan.key  
  14.                 <Directory "/var/www/gentoo.lan"> 
  15.                                 Options Indexes FollowSymLinks ExecCGI MultiViews Includes  
  16.                                 AllowOverride All  
  17.                     Order allow,deny  
  18.                     Allow from all  
  19.                 </Directory> 
  20.                 <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
  21.                                 SSLOptions +StdEnvVars  
  22.                 </FilesMatch> 
  23.                 <Directory "/var/www/gentoo.lan "> 
  24.                                 SSLOptions +StdEnvVars  
  25.                 </Directory> 
  26.                 <IfModule setenvif_module> 
  27.                                 BrowserMatch ".*MSIE.*" \  
  28.                                                 nokeepalive ssl-unclean-shutdown \  
  29.                                                 downgrade-1.0 force-response-1.0  
  30.                 </IfModule> 
  31.                 <IfModule log_config_module> 
  32.                                 CustomLog /var/log/apache2/ssl_request_log \  
  33.                                                 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"  
  34.                 </IfModule> 
  35. </VirtualHost> 
  36. ## 另一個虛擬主機語句### 

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

創(chuàng)建SSL虛擬主機

虛擬主機的定義必須在這最后三個語句之前結(jié)束。

  1. </IfModule> 
  2. </IfDefine> 
  3. </IfDefine> 

 

 

 

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰 

驗證虛擬主機

9. 完成虛擬主機文件的編輯后,重啟Apache服務(wù),將瀏覽器指向使用HTTPS協(xié)議的域:https://gentoo.lan。

$ sudo /etc/init.d/apache2 restart

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

驗證HTTPS協(xié)議

使用這個方法,就可以使用Apache虛擬主機,為SSL網(wǎng)站添加自己的證書和密鑰。想刪除SSL虛擬主機,只要注釋掉或刪除在/etc/apache2/vhosts.d/00_default_ssl_vhosts.conf文件中…下圍起來的命令。

第3步:啟用CGI接口

CGI(通用網(wǎng)關(guān)接口)讓Apache可以與外部程序進行聯(lián)系,它主要由Perl或BASH腳本組成,可以為你的網(wǎng)站添加動態(tài)內(nèi)容。

10. 在啟用CGI網(wǎng)關(guān)之前,確保Apache已經(jīng)過編譯,Portage make.conf文件:cgi cgid 上支持USE CGI模塊。想啟用GCI對Apache的支持,打開/etc/conf.d/apache2文件,在APACHE2_OPTS這一行添加CGI模塊。

$ sudo nano /etc/conf.d/apache2

確保這一行有類似的內(nèi)容。

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

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

為Apache啟用CGI

11. CGI模塊啟用后,打開你想要啟用CGI接口的網(wǎng)站定義主機,并將下列內(nèi)容添加到虛擬主機命令里面。

 

  1. <Directory "/var/www/gentoo.lan"> 
  2.     Options Indexes +ExecCGI MultiViews  
  3.         AddHandler cgi-script .cgi .pl  
  4.     DirectoryIndex index.cgi index.php index.html index.pl  
  5.         AllowOverride All  
  6.         Order allow,deny  
  7.         Allow from all  
  8. </Directory> 

 

 

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

在虛擬主機中啟用CGI

12. 如果你在DocumentRoot(/var/www/gentoo.lan/)路徑里面有一個目錄存放CGI腳本,完全可以啟用該目錄,提供動態(tài)的Perl或Bash腳本。

 

  1. ScriptAlias /cgi-bin/ /var/www/gentoo.lan/cgi-bin/  
  2. <Location /cgi-bin> 
  3.                 Options +ExecCGI  
  4. AddHandler cgi-script .cgi .pl  
  5.  DirectoryIndex index.cgi index.php index.html index.pl  
  6. </Location> 

 

 

13. 至于SSI(服務(wù)器端嵌入),在Options上添加+Includes語句,并添加.shtml文件擴展名。

 

  1. <Directory "/var/www/gentoo.lan"> 
  2.                 Options Indexes +ExecCGI +Includes  
  3.                 AddHandler cgi-script .cgi .pl  
  4.                 AddType text/html .shtml  
  5. AddOutputFilter INCLUDES .shtml  
  6.         DirectoryIndex index.shtml index.cgi index.pl index.php index.html  
  7.                 AllowOverride All  
  8.                 Order allow,deny  
  9.                 Allow from all  
  10. </Directory> 

 

 

14. 想在Aapche CGA網(wǎng)關(guān)上測試一些簡單的.cgi和.pl腳本,在虛擬主機DocumentRoot(/var/www/gentoo.lan/)里面創(chuàng)建下列腳本。

Perl腳本

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

添加下列Perl內(nèi)容。

#!/usr/bin/perl
print "Content-type: text/html\n\n"; foreach my $keys (sort keys %ENV) { print "$keys =
$ENV{$keys}<br/>\n";
}

Bash腳本

$ sudo nano /var/www/gentoo.lan/run.cgi

添加下列Bash內(nèi)容。

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

15. 上述文件創(chuàng)建完畢后,讓它們成為可執(zhí)行文件,重啟Apache后臺程序,將瀏覽器指向下列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

在Gentoo中創(chuàng)建虛擬主機并生成SSL證書及密鑰

驗證CGI配置

現(xiàn)在,你可以將Gentoo變成一個功能強大的Web主機托管平臺,可以通過一些設(shè)置對系統(tǒng)性能進行微調(diào),并且最大限度地控制你的整個環(huán)境。

原文地址: http://www.tecmint.com/create-apache-virtual-hosts-in-gentoo/

責(zé)任編輯:藍雨淚 來源: 51CTO.com
相關(guān)推薦

2017-08-15 15:24:21

2009-08-31 09:24:52

思科介紹證書樣圖

2014-06-09 10:40:05

Ubuntu 14.0虛擬主機

2009-09-04 11:03:42

2010-07-01 13:35:51

vsftpd

2013-04-02 11:21:52

Linux操作系統(tǒng)虛擬主機

2011-05-17 15:03:34

JSP

2011-03-30 15:05:41

MRTG流量圖

2009-07-27 15:59:34

ASP.NET虛擬主機

2009-11-25 10:18:25

linuxapache tomc虛擬主機

2010-03-29 16:17:07

Nginx虛擬主機

2011-02-25 12:29:25

Proftpd

2017-04-05 14:43:20

虛擬主機故障

2016-08-10 08:14:13

虛擬主機海外主機

2010-03-25 19:10:46

Nginx默認虛擬主機

2009-04-03 16:02:55

2009-06-30 15:39:05

JSP虛擬主機

2018-11-20 11:22:24

PHP虛擬主機

2009-06-10 14:00:31

Jboss虛擬主機安裝

2010-03-23 11:41:47

點贊
收藏

51CTO技術(shù)棧公眾號