起
Linux提供HTTP服务的组件是apache,现在SUSE11自带的组件版本是apache2 。
先说一下架设环境
硬件:虚拟机
IP地址:192.168.1.102
主机名:robinzs
首先安装组件,图形界面或字符界面亦可。
zypper install –y apache2
suse的zypper 与redhat的yum 功能类似,前题是都需设置好安装源,因为是拿虚拟机做的测试,所以我的安装源是镜像。
安装之后开始部署,为什么要部署虚拟主机。因为虚拟主机能够架设多个站点在同一台服务器,且都可以从80 端口通迅数据,所以本次实验部署虚拟主机
Apache2的配置文件目录在/etc/apache2/ 下,需用到的文件有:
/etc/apache2/httpd.conf 主配置文件
/etc/apache2/listen.conf 监听端口配置文件
/etc/apache2/vhosts.d/*.conf 虚拟主机配置文件
说到这里简单提一下suse11下的apache2目录结构 。与红帽不同,红帽是将 大部份配置文件内容都在httpd.conf 中;而suse11的apache2是将httpd.conf 文件打散 成若个文件,在httpd.conf中有Include 标签可以加载打散这些文件的内容,所以在suse11下配置站点需要修改多个文件。
承
现在开始配置apache2,首先在/etc/apache2/vhosts.d/ 目录下创建文件*.conf , 文件名随便,可以以站点域名命名,我创建的叫virtual1.conf 与virutual2.conf
vim /etc/apache2/vhosts.d/virtual1.conf
添加如下内容:(添加的内容可以参考同级目录下的vhost.template 文件)
ServerAdmin webmaster@robinzs.com
DocumentRoot /srv/www/htdocs/virtual1/
ServerName virtual1.robinzs.com
ErrorLog /var/log/apache2/virtual1/error_log
CustomLog /var/log/apache2/virtual1/access_log combined
上述配置文件内容与虚拟主机创建要求一一对应:
ServerAadmin —虚拟主机管理员邮箱
DocumentRoot —虚拟主机文件目录
ServerName —服务名称,就是访问地址
ErrorLog —错误日志
CustomLog —访问日志,combined 是日志格式的一种,兼容所有日志格式
用同样方法配置virtual2.conf 文件
修改apache2的主配置文件添加站点信息
vim /etc/apache2/httpd.conf
找到Include /etc/apache2/vhosts.d/*.conf 这一行,这一行是代表加载所有虚拟主机配置信息。
在这一行下边添加:(其不在这里写也行,为了维护方便)
Options Indexes FollowSymlinks
AllowOverried All
Order allow,deny
Allow from all
Options Indexes FollowSymlinks
AllowOverried All
Order allow,deny
Allow from all
在 内是对站点内容的权限设置:
Options -站点目录的权限设置
Indexes -如果在此目录下找不到"首页文件",就列出整个目录的文件,相反如果不例出目录文件则为-Indexes ;
FollowSymLinks -让在此目录开放的连接文件可以连接出此目录外。
Allow Overried -表示是否允许额外配文件".htaccess"的权限复写,用户自己的个人网页若要修改权限时会用到。
Order -安全设置,是否可被浏览的权限,默认为allow,deny以allow优先处理,没有写入规则的默认为deny即不可浏览,allow见下述。
Allow from -默认为all,即全部客户都可浏览
其实上述内容不写在httpd.conf,写在vhost.conf内也可以:
ServerAdmin webmaster@robinzs.com
ServerName virtual1.robinzs.com
DocumentRoot /srv/www/vhosts/
Options All
AllowOverride All
Order deny,allow
Allow from all
但如此做,有可能会出现无法访问的问题,也许会花长时间排错,自己测试无所谓。在生产环境我们应选择安全的方法来完工作,所以此配置方法不建议。
转
创建相应站点文件与目录
a 虚拟主机站点目录
mkdir /srv/www/htdocs/virtual1
mkdir /srv/www/htdocs/virtual2
b 虚拟主机主页
vim /srv/www/htdocs/virtual1/index.html
vim /srv/www/htdocs/virtual2/index.html
内容随便,为了方便我没用html写,直接就写的Test1 for virtual1与Test2 for virtual2
c 日志目录
mkdir /var/log/apache2/virtual1
mkdir /var/log/apache2/virtual2
修改/etc/hosts 文件
添加内容:
192.168.1.102 virtual1.robinzs.com
192.168.1.102 virtual2.robinzs.com
因为两个虚拟主机都用的是80端口访问,上述操作都做完之后并不能正常访问,只能访问 virtual1.robinzs.com的页面,输入virtual2.robinzs.com也是一样.这时需要修改参数使所有虚拟主机都能够使用80端口.
修改/etc/apache/listen.conf 文件
将NameVirtualHost *:80 的注释去掉即可.
这里顺道提一句apache2的访问优先级 。当有外部访问需求进来时,apache2优先会访问第一个虚拟主机;如果访问域名是其它虚拟主机则会指向该域名的虚拟主机,若该访问域名的虚拟主机不存在,则会指向第一个虚拟主机;如果没有虚拟主机才会指向默认站点!
重启服务
rcapache2 restart
设置apaceh2开机自启
chkconfig apache2 on
结
用浏览器访问测试
输入域名
virtual1.robinzs.com
virtual2.robinzs.com
输入IP
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com