网络安全 频道

用FreeBSD+Windows架设个人WEB服务器

作者 cheentong

硬件 two PC
操作系统 FreeBSD-4.7 release
Windows 2000 professional

所需软件 for FreeBSD

apache_1.3.27.tar.gz for UNIX
php-4.3.1.tar.gz
mysql-3.23.56.tar.gz for FreeBSD
mod_gzip_1.3.19.1a.tar.gz
ZendOptimizer-2.1.0a.tar.gz for FreeBSD
ez-ipupdate-3.0.10.tar.gz
samba-2.2.8.tar.gz

for Win32

apache,php,mysql,ZendOptimizer,phpMyAdmin的win32版本
ApacheModuleGzip.dll.zip
Macromedia Dreamweaver MX
EditPlus 2

架设示意:


因特网
-------------------------------------------------------------
|
|
|
-------------------------------------------------------------
网卡0 <-动态IP解析用ez-ipupdate

FreeBSD上

防火墙 ipfw

WEB服务器 apache<-传输加速用mod_gzip

数据库接口 php <-接口加速用ZendOptimizer

数据库服务器 mysql <-数据库管理用phpMyAdmin

文件共享服务器 samba

网卡1
-------------------------------------------------------------
|
|
|
-------------------------------------------------------------
网卡

Windows 2000 professional上

装有apache+php+mysql以及Macromedia Dreamweaver MX和EditPlus 2

是局域网中唯一的客户机

-------------------------------------------------------------


你要达到的目的:

1 用FreeBSD作带有防火墙的WEB服务器,MySQL数据库服务器及samba服务器的同时,充当局域网的网关;
2 利用建立在Windows上的WEB服务器,MySQL服务器,Macromedia Dreamweaver MX及EditPlus 2编辑调试网页;
3 利用Windows上的phpMyAdmin管理FreeBSD上的MySQL数据库;
3 利用FreeBSD上的samba服务器将调试好的网页从Windows转移到FreeBSD上,让因特网能访问到你的杰作;
4 学习和练习组网;
5 在Windows上上网冲浪。

安装和配置

之前的废话:假设你已经

1 成功地在两台机器上分别安装了FreeBSD(建议安装成以命令行形式运行)并增加了一名用户假设为:winname
和Windows 2000 professional,Windows的计算机名假设为:winname,工作组假设为:workgroup;

2 成功地安装了FreeBSD上的两张网卡和Windows上的一张网卡;

3 有一根双绞线连接FreeBSD上的内网网卡(假设为rl1,下同)和Windows上的网卡;

4 FreeBSD上的另一网卡(假设为rl0,下同)连接因特网;

5 曾经在Windows上用ADSL(动态IP分配形式)成功地连入过因特网,假设用户名:xxx,密码:yyy。

6 申请了希网(http://www.3322.org)动态域名,假设是test.3322.org,用户名:user,密码:passwd

7 牢记winname,workgroup,rl0,rl1,xxx,yyy,user,passwd,因为下面的说明中要用到。要根据自己的情况更改以

上内容。

1 FreeBSD上

以root身份登入FreeBSD



配置rc.conf

# ee /etc/rc.conf

加入或更改如下内容:

gateway_enable="YES"
sendmail_enable="NO"
inetd_enable="NO"
network_interfaces="rl0 rl1 lo0"
ifconfig_rl1="inet 192.168.0.3 netmask 255.255.255.0"
hostname="test.3322.org"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"
ppp_nat="YES"
#ipfw_enable="YES"
#ipfw_type="/etc/ipfw.conf"

按“Ctrl+[”,存盘退出。


配置ppp.conf

# ee /etc/ppp/ppp.conf

加入或更改如下内容,清除其它内容:

default:
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0

adsl:
set device PPPoE:rl0
set authname:xxx
set authkey:yyy
set dial
set login
enable dns
add default HIADDR

按“Ctrl+[”,存盘退出。

配置hosts.conf

# ee /etc/hosts.conf

加入或更改如下内容:

::1 localhost localhost.my.domain
127.0.0.1 localhost localhost.my.domain
test test.8866.org

按“Ctrl+[”,存盘退出。


# reboot


再次以root身份登入FreeBSD


test# ifconfig


你会发现有一些变化:

如果Windows 2000也开了机,那么rl0和rl1都处于active状态,rl1的ip被设为192.168.0.3,而且通过拨号设备tun0(ADSL)开机时自动拨了

号,你临时拥有了一个公网ip。


test# killall ppp



记录DNS服务器的ip:

test# ee /etc/resolv.conf

你会发现一些东西,是你虚拟拨号上网时用的DNS服务器的ip,把它们记录下来:

nameserver xxx.xxx.xxx.xxx
nameserver yyy.yyy.yyy.yyy
...

按“Ctrl+[”,不存盘退出。




编译和安装WEB服务器,MySQL服务器和samba服务器


最初的时候,你得想办法把apache以及其他的*.tar.gz文件弄到FreeBSD上的一个分区(比如安装FreeBSD的时候建立一个单独分区/sos)里备

用,如果重新安装FreeBSD,就可以保留/sos里的这些宝贵的*.tar.gz文件了。将/sos内所有的*.tar.gz文件解压缩在/sos里。

test# cd /sos
test# gunzip < /sos/*.tar.gz | tar xvf -


apache

编译安装(将apache安装到目录/usr/local/www,你也可以更改目录)



test# cp -R /sos/apache_1.3.27 /usr/local/apache
test# chmod -R 755 /usr/local/apache
test# ee /usr/local/apache/src/include/httpd.h


#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#elif defined(NETWARE)
#define HARD_SERVER_LIMIT 2048
#else
#define HARD_SERVER_LIMIT 2560 <===修改apache的默认最大进程数256为2560
#endif
#endif

按“Ctrl+[”,存盘退出。


test# cd /usr/local/apache
test# ./configure --prefix=/usr/local/www --enable-shared=max --enable-module=most

test# make

test# make install



mysql

安装(将mysql安装到目录/usr/local/mysql,你也可以更改目录)

test# cp -R /sos/mysql-3.23.56 /usr/local/mysql
test# chmod -R 755 /usr/local/mysql
test# cd /usr/local/mysql
test# pw groupadd mysql
test# pw useradd mysql -g mysql
test# scripts/mysql_install_db

test# chown -R root /usr/local/mysql
test# chown -R mysql /usr/local/mysql/data
test# chgrp -R mysql /usr/local/mysql



php

编译安装(将php安装到目录/usr/local/www/php,你也可以更改目录)

test# cp -R /sos/php-4.3.1 /usr/local/php
test# chmod -R 755 /usr/local/php
test# cd /usr/local/php
test# ./configure --prefix=/usr/local/www/php --with-apxs=/usr/local/www/bin/apxs --with-mysql=/usr/local/mysql

test# make

test# make install

test# cp /usr/local/php/php.ini-dist /usr/local/www/php/lib/php.ini



mod_gzip

安装

test# cp -R /sos/mod_gzip_1.3.19.1a /usr/local/mod_gzip
test# chmod -R 755 /usr/local/mod_gzip
test# cd /usr/local/mod_gzip
test# /usr/local/www/bin/apxs -i -a -c mod_gzip.c

test# mkdir /tmp/mod_gzip



ZendOptimizer

安装

test# cp -R /sos/ZendOptimizer-2.1.0a /usr/local/zend
test# chmod -R 755 /usr/local/zend
test# cd /usr/local/zend
test# ./install.sh

安装脚本会提及几个关键问题:

1 ZendOptimizer的安装目录:/usr/local/www/Zend(将ZendOptimizer安装到目录/usr/local/www/Zend,你也可以更改目录)
2 php.ini所在目录:/usr/local/www/php/lib
3 apache的bin目录:/usr/local/www/bin
4 apache的配置文件所在目录:/usr/local/www/conf
以及你的apache和php的版本是否为1.3.27和4.3.1这些问题,注意别弄错了。
最后,它问你是否重启apache,选择否后,自动退出,至此ZendOptimizer安装成功。


0
相关文章