FreeBSD平台下Web服务器架设攻略

    [多云 November 5, 2007 11:31 | by ]
在FreeBSD系统中,网络能力十分重要,对于一个标准的FreeBSD系统,至少要有一个网络界面以便与其他计算机通信。它支持Token Ring和FDDI,以及普通电话拨号连接、ISDN、ATM等广域网连接方式。关于FreeBSD系统的安装,前面已为读者朋友作过介绍,本文要讨论的是基于此系统平台下的WEB服务的组建情况,FreeBSD的使用版本为4.7。
  
  一.接入Internet
  
  配置的第一步就是让FreeBSD接入Internet并设置好代理服务。我们知道,本机使用ADSL接入Internet有两种情况,即通过拨号获取的动态ip或ISP提供的静态ip。以下主要介绍动态IP的配置过程。
  
  方法很简单,通过直接编辑“/etc/ppp/ppp.conf”文件和“/etc/rc.conf”文件即可实现接入Internet并支持NAT方式的透明代理。
  
  打开PPP.conf文件对其实施配置时,使用以下命令:
  
  # vi /etc/ppp/ppp.conf
  
  一个简单的配置实例(注意set前要有空格):
  default:
  set log Phase tun command
  set ifaddr 10.0.0.1/0 10.0.0.2/0
  adsl:           # 配置代号
  set device PPPoE:vr0   # vr0 改成你连接ADSL modem的网卡名
  set mru 1492
  set mtu 1492
  set authname username   # username是拨号用户名
  set authkey password    # password是拨号密码
  set dial
  set login
  add default HISADDR
  
  然后打开rc.conf文件对其实施配置时,使用以下命令:
  
  # vi /etc/rc.conf
  
  一个简单的配置实例:
  # -- sysinstall generated deltas -- # Tue Jul 15 21:20:28 1997
  # Created: Tue Jul 15 21:20:28 1997
  # Enable network daemons for user convenience.
  # Please make all changes to this file, not to /etc/defaults/rc.conf.
  # This file now contains just the overrides from /etc/defaults/rc.conf.
  hostname="www.usweb.com"         # 你的主机域名
  ifconfig_fxp0="inet 192.168.0.1 netmask 255.255.255.0"  #内网网卡ip地址,fxp0是网卡名
  inetd_enable="YES"            # 开机加载inetd
  kern_securelevel_enable="NO"
  linux_enable="YES"
  nfs_reserved_port_only="NO"
  sendmail_enable="NO"
  sshd_enable="YES"
  usbd_enable="NO"
  gateway_enable="YES"
  firewall_enable="YES"          #启用防火墙
  firewall_script="/etc/rc.firewall"
  firewall_type="open"
  firewall_quiet="YES"
  firewall_logging_enable="YES"
  ppp_enable="YES"             # 开机自动拨号
  ppp_mode="ddial"
  ppp_nat="YES"               # 启用透明代理
  ppp_profile="adsl"            # 配置代号
  # -- sysinstall generated deltas --  # Wed Jul 16 06:52:13 1997
  
  通过对以上两个文件的个性修改并重新启动后,就可以拨号上网并实现透明代理了。客户端需要将DNS设置为服务商提供的DNS地址,网关设成代理服务器的内网卡IP地址,本例为“192.168.0.1”。并把IE的“Internet选项”里关于连接设置的所有复选框清除。如果解析不了域名,就检查“/etc/resolv.conf”文件是否正确的配置了DNS服务器地址。
  
  二.安装并设置web服务器
  
  Web服务器的安装与设置请按参照以下步骤进行:
  
  第一步:关掉Squid服务,删除Ipfw的透明代理端口转发语句,命令组成为:
  # cd /usr/local/etc/rc.d
  # ./squid.sh stop
  # mv squid.sh squid.sh.bak
  # ipfw del 500 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80
  
  第二步:安装ports。使用它,可让FreeBSD安装各种软件变得很轻松。(如果已经有/usr/ports目录则证明已经安装过了),命令格式为:
  # /stand/sysinstall
  然后依次选择“Configure—Distributions—ports”,ports即被安装在“/usr/ports”目录中。
  
  第三步:接着安装apache1.3.27 + modssl(关于软件的安装版本大家可以根据实际情况选择,下同)。安装后系统会自动产生启动脚本apache.sh,在/usr/local/etc/rc.d目录中。可以通过运行apache.sh start|stop来启动或停止apache。命令格式为:
  # cd /usr/ports/www/apache13-modssl
  # make install              #FreeBSD会自动从网络下载并安装
  
  第四步:安装mysql3.23。完成后将建立启动脚本“/usr/local/etc/rc.d/mysql-server.sh”。命令格式为:
  # cd /usr/ports/databases/mysql323-server
  # make install
  
  第五步:安装apache模块mod_php4,命令格式为:
  # cd /usr/ports/www/mod_php4      #FreeBSD会自动从网络下载并安装
  接着编辑scripts目录下的“configure.php”文件,加入对OpenSSL的支持,命令格式为:
  # vi scripts/configure.php
  打开此文件后,找到这一句:OpenSSL "OpenSSL support" ON 然后将其改为:OpenSSL "OpenSSL support" YES 修改完成“configure.php”后,再编辑apache的配制文件
  /usr/local/etc/apache/httpd.conf ,添加如下内容:
  DirectoryIndex index.php index.html       # 设置默认可以使用的主页名称
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps  # 这2句需要手工添加
  
  第六步:开始测试
  
  重新启动并以root身份登录,然后执行命令“top”(线程查看命令),如果看到如下内容,表示一切装备就绪:
  PID USERNAME PRI NICE SIZE RES STATE COMMAND
  69 root 2 0 440K 296K select natd     # 网络地址转换进程
  132 root 2 0 3692K 3052K select httpd   # apache进程
  166 mysql 2 0 27480K 4824K poll mysqld  # mysql进程
  
  在浏览器地址栏输入http://192.168.0.1 ,如果显示apache的欢迎页面,证明web服务器安装成功!web页面文件存放在/usr/local/www/data目录中,只要把自己的网页拷贝到这个目录,就可以访问自己的主页了!
Technology | Comments(0) | Trackbacks(0) | Reads(6526)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive