
 
 | 
| 技术资料  > PHP技术 > 经典文章 : Linux简明系统维护手册(三) |  
Linux简明系统维护手册(三) March 23,2004 |  
(3)安装DHCP服务器 
  1、源程序下载地址是:ftp://ftp.isc.org/isc/dhcp/dhcp-3.0.tar.gz ,我们的版本是:dhcpd-3.0 
  2、复制到:/usr/local/scr后解压:tar zxvf dhcp-3.0.tar.gz 
  3、cd /usr/local/src/dhcp-3.0.tar.gz 
  4、./configure 
  5、make(如果不是第一次编译,先make clean) 
  6、make install 
  7、cp ./server/dhcpd.conf /etc 
  8、编辑这个文件,看起来类似下面这样:(要更改的地方用粗体标出) 
 
 
 
 
  # dhcpd.conf 
  # 
  # Sample configuration file for ISC dhcpd 
  # 
 
  # option definitions common to all supported networks... 
  option domain-name "rd.xxx.com"; 
  option domain-name-servers compaq.rd.xxx.com; 
 
  default-lease-time 86400; 
  max-lease-time 172800; 
 
  ddns-update-style ad-hoc; 
 
  # If this DHCP server is the official DHCP server for the local 
  # network, the authoritative directive should be uncommented. 
  #authoritative; 
 
  # Use this to send dhcp log messages to a different log file (you also 
  # have to hack syslog.conf to complete the redirection). 
  log-facility local7; 
 
  # No service will be given on this subnet, but declaring it helps the 
  # DHCP server to understand the network topology. 
 
  # This is a very basic subnet declaration. 
 
  subnet 21.9.22.0 netmask 255.255.255.224 { 
    range 21.9.22.2 21.9.22.6; 
    option routers 21.9.22.1; 
  } 
 
  # This declaration allows BOOTP clients to get dynamic addresses, 
  # which we don't really recommend. 
 
  #subnet 10.254.239.32 netmask 255.255.255.224   { 
    #  range dynamic-bootp 10.254.239.40 10.254.239.60; 
    #  option broadcast-address 10.254.239.31; 
    #  option routers rtr-239-32-1.example.org; 
  #} 
 
  # A slightly different configuration for an internal subnet. 
  #subnet 10.5.5.0 netmask 255.255.255.224 { 
  #  range 10.5.5.26 10.5.5.30; 
  #  option domain-name-servers ns1.internal.example.org; 
  #  option domain-name "internal.example.org"; 
  #  option routers 10.5.5.1; 
  #  option broadcast-address 10.5.5.31; 
  #  default-lease-time 600; 
  #  max-lease-time 7200; 
  #} 
 
  # Hosts which require special configuration options can be listed in 
  # host statements.   If no address is specified, the address will be 
  # allocated dynamically (if possible), but the host-specific information 
  # will still come from the host declaration. 
 
  #host passacaglia { 
  #  hardware ethernet 0:0:c0:5d:bd:95; 
  #  filename "vmunix.passacaglia"; 
  #  server-name "toccata.fugue.com"; 
  #} 
 
  # Fixed IP addresses can also be specified for hosts.   These addresses 
  # should not also be listed as being available for dynamic assignment. 
  # Hosts for which fixed IP addresses have been specified can boot using 
  # BOOTP or DHCP.   Hosts for which no fixed address is specified can only 
  # be booted with DHCP, unless there is an address range on the subnet 
  # to which a BOOTP client is connected which has the dynamic-bootp flag 
  # set. 
  #host fantasia { 
  #  hardware ethernet 08:00:07:26:c0:a5; 
  #  fixed-address fantasia.fugue.com; 
  #} 
 
  # You can declare a class of clients and then do address allocation 
  # based on that.   The example below shows a case where all clients 
  # in a certain class get addresses on the 10.17.224/24 subnet, and all 
  # other clients get addresses on the 10.0.29/24 subnet. 
   
  #class "foo" { 
  #  match if substring (option vendor-class-identifier, 0, 4) = "SUNW"; 
  #} 
 
  #shared-network 224-29 { 
  #  subnet 10.17.224.0 netmask 255.255.255.0 { 
  #    option routers rtr-224.example.org; 
  #  } 
  #  subnet 10.0.29.0 netmask 255.255.255.0 { 
  #    option routers rtr-29.example.org; 
  #  } 
  #  pool { 
  #    allow members of "foo"; 
  #    range 10.17.224.10 10.17.224.250; 
  #  } 
  #  pool { 
  #    deny members of "foo"; 
  #    range 10.0.29.10 10.0.29.230; 
  #  } 
 
  上面这个文件中后面都是注释,是原来系统给你的配置做的例子,可以不要。当然除非你用到它们,并且清楚它们的含义。 
  9、建立空文件:touch /var/state/dhcp/dhcpd.leases空文件 
  10、检查内核编译选项:Networking options-----Packet socket: mmapped IO和Socket Filtering选项是否被选中(不知道怎么看?看看前面的文章,用make menuconfig呀),如果没有就需要重新编译内核了。 
  11、route add -host 255.255.255.255 dev eth0 
  12、roote add -host localhost dev eth0 
  13、在/etc/rc.d/rc.local最后增加一行route add -host 255.255.255.255 dev eth0 
  14、reboot系统 
  15、用dhcpd命令启动DHCP,用其他的机器试试看能不能自动配置网络了。 
(4) 安装apache+mysql+php+gd+png+zlib+jpeg+freetype+sslmod  
  这么一大堆东西为什么要一块说呢?因为他们中间是有紧密联系的,尤其是那个PHP,用到其他所有的模块。要想PHP功能全,只能一步步来了。 
  1、首先安装MYSQL:从http://www.mysql.com/downloads/index.html下载自己觉得合适的版本。这里用3.23.42版本。 
  2、进入目录/usr/local/src(这个以后就不用说了吧?)解压缩:tar zxvf mysql-3.23.42.tar.gz 
  3、cd mysql-3.23.42/ 
  4、configure --prefix=/usr/local/mysql 
  5、make 
  6、make install 
  7、useradd mysql ; groupadd mysql ; su mysql ;(建立命名为mysql的用户和组,并切换为mysql身份) 
  8、scripts/mysql_install_db (建立数据库结构) 
  9、cd /usr/local/mysql/bin 
  10、./safe_mysqld & (启动了) 
  11、./mysqladmin -u root password "new-password"(你的新密码,记住MYSQL的密码核系统密码是独立的,缺省是没有密码) 
  12、用mysql程序试试看。 
  下面的步骤都很程式化,我尽量简洁地写出。 
  13、下载相关的软件包:地址表格如下 
 
 
 
 
  软件               版本            地址 
jpegsrc.v6b.tar.gz  6b        ftp://ftp.uu.net/graphics/jpeg 
zlib.tar.gz            1.1.3        ftp://ftp.uu.net/graphics/png/src 
freetype-2.0.8.tar.gz  2.0.8       http://www.freetype.org 
libpng-1.0.10.tar.gz   1.0.10        ftp://ftp.uu.net/graphics/png/src 
gd-1.8.4.tar.gz             1.8.4         http://www.boutell.com/gd 
apache_1.3.23.tar.gz   1.3.23         http://www.apache.org 
php-4.1.1.tar.gz             4.1.1         http://www.php.net 
number4.tar.gz              4        http://www.php.net/extra 
rsaref20.tar.Z              2.0        ftp://ftp.ai.mit.edu/pub/deberg 
openssl-engine-0.9.6c.tar.gz  0.9.6c         http://www.openssl.org/source 
mod_ssl-2.8.6-1.3.23.tar.gz   2.8.6      http://www.modssl.org 
 
  下齐了就放在/usr/local/src目录下,除了number4.tar.gz和rsaref20.tar.Z以外,其他一律用tar zxvf XXXX.tar.gz解压缩。(过瘾吧?) 
  特殊的,rsaref20.tar.Z 需要先建立一个rsaref-2.0目录,然后把rsaref20.tar.Z复制到改目录下用tar zxvf rsaref30.tar.Z释放压缩。Number4.tar.gz需要复制到php-4.1.1目录内,然后用tar zxvf number4.tar.gz解压缩。 
  下面的描述我想简单一点,只写出进入目录后执行的命令。那些目录都是释放的时候自己建立的,如果你这些操作都在/usr/local/src下面执行,所有的目录就都在这里面。最好按照顺序执行。再罗嗦一句:如果不是第一次编译,一般情况请执行一次make clean后再编译。 
  14、[jpeg-6b]:生成JPEG图像的函数库。 
 
 
 
 
  ./configure 
  make 
  make test 
  make install 
 
  15、[zlib-1.1.3]:压缩算法库,是PNG和JPEG需要的 
 
 
 
 
  make test 
  make install 
 
  16、[freetype-2.0.8]:字体库,在图像上使用字体的时候需要用到, 
 
 
 
 
  ./configure --prefix=/usr/local 
  make 
  make install 
 
  17、[libpng-1.0.10]:生成PNG图像的函数库 
 
 
 
 
  cp scripts/makefile.linux makefile 
  make test 
  pngtest pngnow.png  
  (如果都通过测试了,请继续。否则,看看错误提示,改正错误) 
  make install 
 
  18、[gd-1.8.4]:GD库,用来动态生成图像用,这里主要是配合PHP生成图像。 
  编辑Makefile 文件: 
  把下列行取消注释符号(#): 
 
 
 
 
  CFLAGS=-O -DHAVE_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG  
      -DHAVE_LIBFREETYPE -DHAVE_LIBTTF 
  LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm -lttf 
 
  注释下列行(增加#): 
  CFLAGS=-O -DHAVE_LIBPNG -DHAVE_LIBJPEG 
  LIBS=-lgd -lpng -lz -lm 
 
  修改下列行: 
  INCLUDEDIRS=-I. -I/usr/local/include/freetype2 -I/usr/include/X11  
    -I/usr/X11R6/include/X11 -I/usr/local/include 
     -I/usr/include/freetype 
 
  保存后执行: 
 
 
 
 
  make 
  make install 
 
  19、[apache_1.3.23]:步骤一 ./configure --prefix=/usr/local/apache 
  20、[php-4.1.1]: 
  如果不是第一次安装,请删除:config.cache文件,然后执行先执行make clean 
  接下来配置环境,输入一个比较长的命令: 
 
 
 
 
  ./configure  
    --with-apache=/usr/local/src/apache_1.3.23  
    --with-config-file-path=/local/apache/conf  
    --with-enable-versioning  
    --with-mysql=/usr/local/mysql  
    --with-ftp  
    --with-gd=/usr/local/src/gd-1.8.4  
    --with-enabled-bcmath=yes  
    --with-disable-debug  
    --enable-memory-limit=yes  
    --enable-track-vars  
    --with-zlib  
    --with-jpeg-dir=/usr/local/src/jpeg-6b  
    --with-png-dir=/usr/local/src/libpng-1.0.10  
    --with-freetype-dir=/usr//local/src/freetype-2.0.8 
 
  当然你也可以实现准备一个含有上述命令的sh文件,这样改起来方便些。我就是这样做的。 
 
 
 
 
  make 
  make install 
 
  21、[rsaref-2.0]:RSA加密模块 
  前面说过,这个目录的释放是特殊的,先见目录后释放,希望你是这样做的。 
 
 
 
 
  cp -rp install/unix local 
  cd local 
  make 
  mv rsaref.a librsaref.a 
 
  22、[openssl-engine-0.9.6c]:openssl引擎 
 
 
 
 
  ./config -prefix=/usr/local/ssl -L`pwd`/../rsaref-2.0/local/ rsaref –fPIC 
  make 
  make test 
  make install 
 
  23、[mod_ssl-2.8.6-1.3.23] 
 
 
 
 
  ./configure --with-apache=../apache_1.3.23 
 
  24、[apache_1.3.23]步骤二 
 
 
 
 
  ./configure --prefix=/usr/local/apache --enable-shared=ssl 
     --enable-module=ssl --activate-module=src/modules/php4/libphp4.a 
  make 
  make certificate TYPE=custom(回答一些问题) 
  make install 
 
  25、收尾工作: 
  编辑/usr/local/apache/conf/httpd.conf文件,增加一行: 
 
 
 
 
  AddType application/x-httpd-php .php 
 
  26、用命令/usr/local/apache/bin/apachectl configtest检查一下配置文件的正确性。 
  27、用/usr/lcoal/apache/bin/apachectl start启动apache服务器 
  28、在/usr/local/apache/htdocs建立一个test.php文件包含下列内容: 
 
 
 
 
   |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved