本教程探讨了LAMP环境的额外设置,比如在Apache上创建虚拟主机、生成SSL证书文件及密钥、针对HTTP事务启用安全SSL协议,以及使用Apache CGI网关,那样你就可以在自己的网站上运行Perl脚本或Bash脚本。
第1步:创建Apache虚拟主机
这个话题使用一个虚假的域名:gentoo.lan,通过本地主机文件来启用,网站文件从/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中创建虚拟主机并生成SSL证书及密钥
在主机文件中添加域名
2. 使用ping命令测试你的虚假域,该域应该会使用其IP地址来回应。
$ ping -c2 gentoo.lan
在Gentoo中创建虚拟主机并生成SSL证书及密钥
验证域名
3. 激活Apache虚拟主机的过程相当简单。只要打开位于/etc/apache2/vhosts.d/路径的Apache默认虚拟主机文件,在最后一个语句前面,输入你新的虚拟主机定义,该定义在…命令下围起来。
包含你的自定义设置,比如ServerName和DocumentRoot路径。使用下列文件模板作为新虚拟主机的指南,并将它添加到00_default_vhost.conf文件上(用于非SSL网站)。
$ sudo nano /etc/apache2/vhosts.d/00_default_vhost.conf
## 以</VirtualHost>结尾的另一个虚拟主机语句###
<VirtualHost *:80>
ServerName gentoo.lan
DocumentRoot "/var/www/gentoo.lan"
<Directory "/var/www/gentoo.lan"
Options Indexes FollowSymLinks ExecCGI MultiViews
# AllowOverride控制什么命令可以放在.htaccess文件中。
AllowOverride All
# 控制谁能从该服务器文件中获得内容
Order allow,deny
Allow from all
</Directory>
<IfModule mpm_peruser_module>
ServerEnvironment apache apache
</IfModule>
</VirtualHost>
## 另一个虚拟主机语句###
## 结束虚拟主机文件的最后一个语句##
</IfDefine>
在Gentoo中创建虚拟主机并生成SSL证书及密钥
在Gentoo中创建Apache虚拟主机
你可能从该文件内容图形中看出,文件使用了大量的说明注释,还保留了本地主机虚拟主机的定义――你可以将它用作指南。
4. 使用自定义的虚拟主机完成文件编辑后,重启Apache,让设置生效,并确保你创建了DocumentRoot目录,以防你更改了该指令,路径在默认情况下并不存在(这种情况下路径改成/var/www/gentoo.lan)。我还创建了一个小巧的PHP文件,以测试Web服务器的配置。
$ sudo mkdir /var/www/gentoo.lan
$ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php"
$ sudo /etc/init.d/apache2 restart
5. 想进行验证,打开浏览器,将其指向你的虚拟域名http://gentoo.lan/info.php。
在Gentoo中创建虚拟主机并生成SSL证书及密钥
验证PHP配置
使用这个方法,你可以使用Apache虚拟主机,想添加几个非SSL网站,就能添加几个;但是就一个真实的面向互联网的机器而言,要确保你的域已注册,并且使用有效的DNS服务器记录。
想删除虚拟主机,只要注释掉或删除00_default_vhost.conf文件中…下围起来的指令。
第1步:创建Apache虚拟主机
这个话题使用一个虚假的域名:gentoo.lan,通过本地主机文件来启用,网站文件从/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中创建虚拟主机并生成SSL证书及密钥
在主机文件中添加域名
2. 使用ping命令测试你的虚假域,该域应该会使用其IP地址来回应。
$ ping -c2 gentoo.lan
在Gentoo中创建虚拟主机并生成SSL证书及密钥
验证域名
3. 激活Apache虚拟主机的过程相当简单。只要打开位于/etc/apache2/vhosts.d/路径的Apache默认虚拟主机文件,在最后一个语句前面,输入你新的虚拟主机定义,该定义在…命令下围起来。
包含你的自定义设置,比如ServerName和DocumentRoot路径。使用下列文件模板作为新虚拟主机的指南,并将它添加到00_default_vhost.conf文件上(用于非SSL网站)。
$ sudo nano /etc/apache2/vhosts.d/00_default_vhost.conf
## 以</VirtualHost>结尾的另一个虚拟主机语句###
<VirtualHost *:80>
ServerName gentoo.lan
DocumentRoot "/var/www/gentoo.lan"
<Directory "/var/www/gentoo.lan"
Options Indexes FollowSymLinks ExecCGI MultiViews
# AllowOverride控制什么命令可以放在.htaccess文件中。
AllowOverride All
# 控制谁能从该服务器文件中获得内容
Order allow,deny
Allow from all
</Directory>
<IfModule mpm_peruser_module>
ServerEnvironment apache apache
</IfModule>
</VirtualHost>
## 另一个虚拟主机语句###
## 结束虚拟主机文件的最后一个语句##
</IfDefine>
在Gentoo中创建虚拟主机并生成SSL证书及密钥
在Gentoo中创建Apache虚拟主机
你可能从该文件内容图形中看出,文件使用了大量的说明注释,还保留了本地主机虚拟主机的定义――你可以将它用作指南。
4. 使用自定义的虚拟主机完成文件编辑后,重启Apache,让设置生效,并确保你创建了DocumentRoot目录,以防你更改了该指令,路径在默认情况下并不存在(这种情况下路径改成/var/www/gentoo.lan)。我还创建了一个小巧的PHP文件,以测试Web服务器的配置。
$ sudo mkdir /var/www/gentoo.lan
$ su "echo '<?php phpinfo(); ?>' > /var/www/gentoo.lan/info.php"
$ sudo /etc/init.d/apache2 restart
5. 想进行验证,打开浏览器,将其指向你的虚拟域名http://gentoo.lan/info.php。
在Gentoo中创建虚拟主机并生成SSL证书及密钥
验证PHP配置
使用这个方法,你可以使用Apache虚拟主机,想添加几个非SSL网站,就能添加几个;但是就一个真实的面向互联网的机器而言,要确保你的域已注册,并且使用有效的DNS服务器记录。
想删除虚拟主机,只要注释掉或删除00_default_vhost.conf文件中…下围起来的指令。