天天看點

安裝apache2虛拟主機并支援ssl(debian)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

<code>我的部落格已遷移到xdoujiang.com請去那邊和我交流</code>

<code>debian下安裝apache2+ssl支援</code>

<code>一、虛拟主機</code>

<code>1、目前版本</code>

<code>cat</code> <code>/etc/debian_version</code> 

<code>5.0.1</code>

<code>2、本機ip</code>

<code>ifconfig</code><code>|</code><code>awk</code> <code>-</code><code>v</code> <code>RS=</code><code>"Bcast:"</code> <code>'{print $NF}'</code><code>|</code><code>awk</code> <code>-F: </code><code>'/addr/{print $2}'</code>

<code>10.1.10.250</code>

<code>3、安裝apache2的prefork模式</code>

<code>apt-get -y </code><code>install</code> <code>apache2-mpm-prefork</code>

<code>apache2 -l|</code><code>grep</code> <code>prefork.c</code>

<code>  </code><code>prefork.c</code>

<code>4、支援php</code>

<code>apt-get -y </code><code>install</code> <code>php5-cli</code>

<code>apt-get -y </code><code>install</code> <code>libapache2-mod-php5</code>

<code>5、修改虛拟主機監聽位址和端口 </code>

<code>cat</code> <code>/etc/apache2/ports</code><code>.conf</code>

<code>NameVirtualHost 10.1.10.250:80</code>

<code>Listen 10.1.10.250:80</code>

<code>6、我這裡準備的是aaa.bbb.com域名(配置裡注釋掉的目前不用 根據情況使用 是以保留着)</code>

<code>cat</code> <code>/etc/apache2/sites-available/aaa</code><code>.bbb.com</code>

<code>&lt;VirtualHost 10.1.10.250:80&gt;</code>

<code>    </code><code>ServerAdmin webmaster@localhost</code>

<code>    </code><code>ServerName aaa.bbb.com</code>

<code>    </code><code>DocumentRoot </code><code>/var/www</code>

<code>    </code><code>&lt;Directory /&gt;</code>

<code>        </code><code>Options FollowSymLinks</code>

<code>        </code><code>AllowOverride None</code>

<code>    </code><code>&lt;</code><code>/Directory</code><code>&gt;</code>

<code>    </code><code>&lt;Directory </code><code>/var/www/</code><code>&gt;</code>

<code>        </code><code>Options -Indexes FollowSymLinks MultiViews</code>

<code>        </code><code>Order allow,deny</code>

<code>        </code><code>allow from all</code>

<code>#   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/</code>

<code>#   &lt;Directory "/usr/lib/cgi-bin"&gt;</code>

<code>#       AllowOverride None</code>

<code>#       Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch</code>

<code>#       Order allow,deny</code>

<code>#       Allow from 127.0.0.1 localhost 10.1.0.0/24</code>

<code>#   &lt;/Directory&gt;</code>

<code>    </code><code>ErrorLog </code><code>/var/log/apache2/aaa</code><code>.bbb.com_error.log</code>

<code>    </code><code># Possible values include: debug, info, notice, warn, error, crit,</code>

<code>    </code><code># alert, emerg.</code>

<code>    </code><code>LogLevel warn</code>

<code>    </code><code>CustomLog </code><code>/var/log/apache2/aaa</code><code>.bbb.com_access.log combined</code>

<code>Alias </code><code>/jimmy</code> <code>/var/www/ccc/</code>

<code>&lt;Directory </code><code>/var/www/ccc/</code><code>&gt;</code>

<code>AllowOverride FileInfo AuthConfig Limit Indexes</code>

<code>Options MultiViews SymLinksIfOwnerMatch IncludesNoExec</code>

<code>&lt;Limit GET POST OPTIONS PROPFIND&gt;</code>

<code>Order Allow,Deny</code>

<code>Allow from 10.0.0.0</code><code>/8</code>

<code>#AuthName "by Restricted Area"</code>

<code>#AuthType basic</code>

<code>#AuthUserFile /etc/apache2/securepw</code>

<code>#require user www61com</code>

<code>&lt;</code><code>/Limit</code><code>&gt;</code>

<code>&lt;LimitExcept GET POST OPTIONS PROPFIND&gt;</code>

<code>Order deny,allow</code>

<code>Deny from all</code>

<code>&lt;</code><code>/LimitExcept</code><code>&gt;</code>

<code>&lt;</code><code>/Directory</code><code>&gt;</code>

<code>&lt;</code><code>/VirtualHost</code><code>&gt;</code>

<code>7、建立網站目錄ccc</code>

<code>mkdir</code> <code>/var/www/ccc</code> <code>-p</code>

<code>8、建立1個php測試檔案   </code>

<code>cat</code> <code>/var/www/ccc/test</code><code>.php</code>

<code>&lt;?php</code>

<code>phpinfo();</code>

<code>?&gt;;  </code>

<code>9、激活站點</code>

<code>cd</code> <code>/etc/apache2/sites-available</code>

<code>a2ensite aaa.bbb.com </code>

<code>Enabling site aaa.bbb.com.</code>

<code>Run </code><code>'/etc/init.d/apache2 reload'</code> <code>to activate new configuration!</code>

<code>10、修改</code><code>/etc/hosts</code><code>在最後添加二行</code>

<code>cat</code> <code>/etc/hosts</code>

<code>10.1.10.250 aaa.bbb.com</code>

<code>aaa.bbb.com 10.1.10.250</code>

<code>11、根據情況修改php配置檔案(可以不修改)</code>

<code>cat</code> <code>/etc/php5/apache2/php</code><code>.ini</code>

<code>expose_php = Off            </code><code>#關閉版本号 </code>

<code>display_errors = Off        </code><code>#不顯示錯誤 </code>

<code>log_errors on               </code><code>#提供錯誤日志</code>

<code>12、全部配置完後需要重新開機apache2</code>

<code>/etc/init</code><code>.d</code><code>/apache2</code> <code>restart</code>

<code>13、使用域名通路測試</code>

<code>如果在windows機器上測試的話 可以修改hosts我這邊修改過了</code>

<code>通路aaa.bbb.com</code><code>/ccc/test</code><code>.php就可以看到以下圖檔了</code>

<a href="http://s3.51cto.com/wyfs02/M01/6E/54/wKioL1V5bPbDVAWUAAFL7vJjcNI649.jpg" target="_blank"></a>

<code>二、支援ssl</code>

<code>1、建立ssl目錄</code>

<code>mkdir</code> <code>/etc/apache2/ssl</code> <code>-p</code>

<code>2、建立一個證書(時間365天)并填寫相關一些資訊</code>

<code>openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout </code><code>/etc/apache2/ssl/aaa</code><code>.bbb.com.key -out </code><code>/etc/apache2/ssl/aaa</code><code>.bbb.com.crt </code>

<code>Generating a 2048 bit RSA private key</code>

<code>......+++</code>

<code>....+++</code>

<code>writing new private key to </code><code>'/etc/apache2/ssl/aaa.bbb.com.key'</code>

<code>-----</code>

<code>You are about to be asked to enter information that will be incorporated</code>

<code>into your certificate request.</code>

<code>What you are about to enter is what is called a Distinguished Name or a DN.</code>

<code>There are quite a few fields but you can leave some blank</code>

<code>For some fields there will be a default value,</code>

<code>If you enter </code><code>'.'</code><code>, the field will be left blank.</code>

<code>Country Name (2 letter code) [AU]:cn</code>

<code>State or Province Name (full name) [Some-State]:sh</code>

<code>Locality Name (eg, city) []:shanghai</code>

<code>Organization Name (eg, company) [Internet Widgits Pty Ltd]:aaa</code>

<code>Organizational Unit Name (eg, section) []:aaa</code>

<code>Common Name (eg, YOUR name) []:aaa</code>

<code>Email Address []:[email protected]</code>

<code>3、aaa.bbb.com的ssl域名</code>

<code>cat</code> <code>/etc/apache2/sites-available/aaa</code><code>.bbb.com-ssl</code>

<code>&lt;VirtualHost 10.1.10.250:443&gt;</code>

<code>    </code><code>SSLEngine On</code>

<code>    </code><code>SSLCertificateKeyFile </code><code>/etc/apache2/ssl/aaa</code><code>.bbb.com.key</code>

<code>    </code><code>SSLCertificateFile </code><code>/etc/apache2/ssl/aaa</code><code>.bbb.com.crt</code>

<code>    </code><code>&lt;Directory </code><code>/var/www/ccc/</code><code>&gt;</code>

<code>        </code><code>Options FollowSymLinks +Execcgi</code>

<code>        </code><code>AllowOverride None </code>

<code>        </code><code>Order deny,allow</code>

<code>        </code><code>Deny from all</code>

<code>        </code><code>Allow from 10.0.0.0</code><code>/8</code>

<code>    </code> 

<code>    </code><code>ErrorLog </code><code>/var/log/apache2/aaa</code><code>.bbb.com_ssl.error.log</code>

<code>    </code><code>CustomLog </code><code>/var/log/apache2/aaa</code><code>.bbb.com_ssl.access.log combined</code>

<code>4、開啟ssl子產品支援</code>

<code>cd</code> <code>/etc/apache2/mods-available</code>

<code>a2enmod ssl</code>

<code>Enabling module ssl.</code>

<code>See </code><code>/usr/share/doc/apache2</code><code>.2-common</code><code>/README</code><code>.Debian.gz on how to configure SSL and create self-signed certificates.</code>

<code>Run </code><code>'/etc/init.d/apache2 restart'</code> <code>to activate new configuration!</code>

<code>5、開啟aaa.bbb.com-ssl站點</code>

<code>a2ensite aaa.bbb.com-ssl </code>

<code>Enabling site aaa.bbb.com-ssl.</code>

<code>6、配置443端口</code>

<code>cat</code> <code>/etc/apache2/ports</code><code>.conf </code>

<code>NameVirtualHost 10.1.10.250:443</code>

<code>&lt;IfModule mod_ssl.c&gt;</code>

<code>    </code><code># SSL name based virtual hosts are not yet supported, therefore no</code>

<code>    </code><code># NameVirtualHost statement here</code>

<code>    </code><code>Listen 10.1.10.250:443</code>

<code>&lt;</code><code>/IfModule</code><code>&gt;</code>

<code>7、全部配置完後需要重新開機apache2</code>

<code>8、檢視監聽端口</code>

<code>netstat</code> <code>-tupnl |</code><code>grep</code> <code>apache2</code>

<code>tcp        0      0 10.1.10.250:80          0.0.0.0:*               LISTEN      5460</code><code>/apache2</code>    

<code>tcp        0      0 10.1.10.250:443         0.0.0.0:*               LISTEN      5460</code><code>/apache2</code> 

<code>9、使用域名通路測試</code>

<code>通路https:</code><code>//aaa</code><code>.bbb.com</code><code>/ccc/test</code><code>.php就可以看到以下圖檔了</code>

<a href="http://s3.51cto.com/wyfs02/M01/6E/58/wKiom1V5a23ilMvDAAI9kiDVhvY001.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/6E/58/wKiom1V5a4DjLExPAAEABjqJ1ls956.jpg" target="_blank"></a>

<code>三、參考文檔</code>

<code>http:</code><code>//httpd</code><code>.apache.org</code><code>/docs/2</code><code>.2/</code>

本文轉自 xdoujiang 51CTO部落格,原文連結:http://blog.51cto.com/7938217/1660979,如需轉載請自行聯系原作者