Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2470972
  • 博文数量: 867
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 9800
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 14:44
文章分类

全部博文(867)

文章存档

2007年(6)

2006年(861)

我的朋友

分类: LINUX

2006-09-14 10:53:12

 
TAG:System(FreeBSD)

  一:网络环境
  —— ——
  |  |(eth0:192.168.11.  |  |(eth0:a.b.c.d)
  | A |——————--------------| B |------------->ISP 
  —— (eth1:192.168.11.5)——
  web.company.com  firewall.company.com
  
  
  A是局域网内部的一台WEB服务器,安装Redhat Linux 6.X,编译Apache+PHP4+MySQL
  B是公司防火墙,外部地址为a.b.c.d,是通向Internet的唯一路径。B上也运行Apache做反向代理到内部机器B。假设公司的域名为@company.com,B是该域的域名服务器。
  
  二:WEB目录的组织结构
  我们计划把WEB服务器数据文件置于一单独的目录/www下面,再在其下面建立相应的子目录,如果我们计划设置WEB服务器web.company.com,则建立目录
  /www/web.company.com ,结构如下:
  
  /www/web.company.com/public/htdocs
                             /cgi-bin
  /www/web.company.com/staging/htdocs
                              /cgi-bin
  /www/web.company.com/developer/htdocs
                                /cgi-bin
  三: 访问方法与虚拟主机
  对staging和developer目录用基于端口的虚拟主机来访问,分别对应端口81,82。
  下面是apache的配置文件/usr/local/apache/conf/httpd.conf中虚拟主机部分的配置:
  Listen 80
  Listen 192.168.11.8:81
  Listen 192.168.11.8:82
  
  〈VirtualHost 192.168.11.8:81>
  documentroot /www/web.company.com/staging/htdocs/
  scriptalias /cgi-bin /www/web.company.com/staging/cgi-bin/
  transferlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/staging/%Y/%m/%d/access_log"
  errorlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/staging/%Y/%m/%d/error_log"
  〈/VirtualHost>
  
  〈VirtualHost 192.168.11.8:82>
  documentroot /www/web.company.com/developer/htdocs/
  scriptalias /cgi-bin /www/web.company.com/developer/cgi-bin/
  transferlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/developer/%Y/%m/%d/access_log"
  errorlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/developer/%Y/%m/%d/error_log"
  〈/VirtualHost>
  
  注:上面是基于端口的虚拟主机设置,要访问测试服务器,用开发服务器用上面的transferlog and errorlog用了不是默认的格式,而是Apache网站上建议的这种每天一个文件的年/月/日格式,可从下载编译后安装在/usr/local/apache/bin/cronolog,可查看Apache网站获得更多信息。
  
  
  如还有其它主页需要在此服务器上服务,如在/www下再创建子目录hr.company.com(人事部门),可为主机A创建IP别名,如192.168.11.9,再做同样的基于端口的虚拟主机设置
  
  个人主页的情况
  假定Apache以用户组身份nobody运行,且用户主目录为/home/jephe,则在此目录下创建目录public_html
  a.设置用户主目录/home/jephe要给nobody组以读和执行的权限
     chmod 750 -R /home/jephe
  b.设置用户主目录/home/jephe下public_html目录的权限
     chmod -R 2770 /home/jephe/public_html
  
  c.设置用户主目录的拥有者
     chown -R jephe.nobody /home/jephe/public_html用户可FTP上传主页文件至自己的目录中,要设置/etc/inetd.conf中的FTP上载的umask默认值为u002,
  ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.ftpd -l -a -u002
  然后用killall -HUP inetd生效。
  最后用~jephe/ 访问个人主页。
  
  四:防火墙机器B上的Apache反向代理
  设置如下:
  
  NameVirtualHost a.b.c.d
  
  〈VirtualHost a.b.c.d>
  servername web.company.com
  errorlog "|/usr/local/apache/bin/cronolog /var/log/httpd/web/%Y/%m/%d/error_log"
  transferlog "|/usr/local/apache/bin/cronolog /var/log/httpd/web/%Y/%m/%d/access_log"
  rewriteengine on
  rewriterule ^(/.*)$  [P,L]
  proxyrequests off
  〈/VirtualHost>
  
  五:备份
  用Rsync备份主目录/www/web.company.com/public/htdocs整个目录
阅读(3518) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~