首页 php教程 php手册 Linux简明系统维护手册(三)

Linux简明系统维护手册(三)

Jun 21, 2016 am 09:08 AM
apache make tar usr

(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文件包含下列内容:


  
    phpinfo();
  ?>



  29、在别的机器上用浏览器看一下这个机器:http://xxx.xxx.xxx.xxx/test.php会出现php的配置总汇,看看前面编译的模块都在不在。

  30、检验ssl很麻烦,需要用apachectl startssl启动apache然后还要生成一大堆证书。这里就不讨论了。

  31、把/usr/local/apache/bin/apachectl文件复制到/etc/rc.d/init.d中,然后在/etc/rc.d/rd3.d中建立个符号连接指向/etc/rc.d/init.d中的上述文件:


  ln -s ../init.d/apachectl S70apachectl



  这样系统启动的时候就可以自动启动apache和她的哪一大堆模块了。

  呼~~~~(喘口气)到这里,就基本上完成了一个功能很全的WEB服务器系统了。

  (5)安装 ftp 服务器

  (6)安装 pop3服务器

  有的邮件服务器自己带pop3功能(比如Qmail、Xmail),如果你用这几种邮件服务器软件,当然就不用安装pop3了。目前,常用的邮件服务器里面不带pop3的好象只有sendmail和postfix等少数几种。这几种邮件服务器软件使用的都是系统用户,而我们安装的pop3也只是对系统用户的邮件进行弹出操作的。这里我们使用的版本和下载地址是:


  qpopper4.0.3.tar.gz   
  http://www.eudora.com/qpopper_general/



  同样的,把文件下载到/usr/local/src中,按照下列步骤安装:


  tar zxvf qpopper4.0.3.tar.gz
  cd qpopper4.0.3
  ./configure
  make
  make install



  完成后,qpopper安装在/usr/local/sbin中(如果你愿意把它放在其他地方,可以在前面用./configure –prefix=/your_path指定),文件名叫作popper。通常情况下,popper是作为一个inetd(超级网络服务进程)的子进程加载的。这样需要编辑文件/etc/inetd.conf并做下面改动: ...


  # POP3 mail server

  #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
  pop-3 stream tcp nowait root /usr/local/sbin/popper qpopper –s
  ...



  增加黑体的这一行,注释掉原来的(上面这一行),注意,如果你的安装路经不同,记着改过来呀。然后,用下面的命令得到inetd的进程号:


  ps –ax | grep inetd



  得到结果类似:


  248 ? S 0:00 inetd



  什么?哪个是进程号?就是最前面那个数字。然后用下面的命令重新启动inetd:


  kill –HUP 248



  用下面的命令看看pop3是不是启动了。


  netstat -ln|grep 110



  如果结果是这样,就恭喜了。


  tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN



  这里还要补充一点,少数情况下,pop3进程需要独立的监听端口,也就是不作为inetd的子进程装载,上面过程需要做如下改动:

  ./configure的时候加上--enable-standalone参数。

  编辑/etc/inetd.conf不增加黑体一行,但需要注释掉原来的pop-3一行(如果有的话)。

  启动的时候,直接运行/usr/local/sbin/popper xxx.xxx.xxx.xxx:110即可。后面的参数是本地需要几监听的IP地址和端口。注意,没有特殊需要,端口必须是110。最后要说的是:其实最简单的办法就是用你使用的Linux发行包带的pop3软件,安装的时候直接选上即可。



本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

h5项目怎么运行 h5项目怎么运行 Apr 06, 2025 pm 12:21 PM

运行 H5 项目需要以下步骤:安装 Web 服务器、Node.js、开发工具等必要工具。搭建开发环境,创建项目文件夹、初始化项目、编写代码。启动开发服务器,使用命令行运行命令。在浏览器中预览项目,输入开发服务器 URL。发布项目,优化代码、部署项目、设置 Web 服务器配置。

xml怎么导出pdf xml怎么导出pdf Apr 03, 2025 am 06:45 AM

导出 XML 为 PDF 有两种方法:使用 XSLT 和使用 XML 数据绑定库。XSLT:创建 XSLT 样式表,指定 PDF 格式使用 XSLT 处理器转换 XML 数据XML 数据绑定库:导入 XML 数据绑定库创建 PDF 文档对象加载 XML 数据导出 PDF 文件哪种方法更好取决于需求。XSLT 提供灵活性,而数据绑定库实现简单;对于简单转换,数据绑定库更好,对于复杂转换,XSLT 更合适。

Apache故障排除:诊断和解决常见错误 Apache故障排除:诊断和解决常见错误 Apr 03, 2025 am 12:07 AM

Apache错误可以通过查看日志文件来诊断和解决。1)查看error.log文件,2)使用grep命令过滤特定域名的错误,3)定期清理日志文件并优化配置,4)使用监控工具实时监控和告警。通过这些步骤,可以有效地诊断和解决Apache错误。

pom.xml怎么生成 pom.xml怎么生成 Apr 03, 2025 am 06:00 AM

生成 pom.xml 文件有以下方法:使用 Maven Archetype,提供预定义的项目模板,自动生成特定类型项目的 pom.xml 文件。使用 Maven Helper 插件,提供生成 pom.xml 文件的命令。手动创建,自定义构建项目的 pom.xml 文件。

如何在服务器端设置字符编码以解决Bootstrap Table乱码 如何在服务器端设置字符编码以解决Bootstrap Table乱码 Apr 07, 2025 pm 12:00 PM

要在服务器端设置字符编码以解决 Bootstrap Table 乱码,需要按以下步骤进行:检查服务器字符编码;编辑服务器配置文件;设置字符编码为 UTF-8;保存并重启服务器;验证编码。

无法在 xampp 中启动 mysql 无法在 xampp 中启动 mysql Apr 08, 2025 pm 03:15 PM

XAMPP启动MySQL失败的原因有多种,包括端口冲突、配置文件错误、系统权限不足、服务依赖问题和安装问题。排查步骤如下:1)检查端口冲突;2)检查配置文件;3)检查系统权限;4)检查服务依赖;5)重新安装MySQL。遵循这些步骤,您可以找到并解决导致MySQL启动失败的问题。

Bootstrap页面如何预览 Bootstrap页面如何预览 Apr 07, 2025 am 10:06 AM

Bootstrap页面的预览方法有:直接在浏览器中打开HTML文件;使用Live Server插件自动刷新浏览器;搭建本地服务器模拟线上环境。

phpmyadmin漏洞汇总 phpmyadmin漏洞汇总 Apr 10, 2025 pm 10:24 PM

PHPMyAdmin安全防御策略的关键在于:1. 使用最新版PHPMyAdmin及定期更新PHP和MySQL;2. 严格控制访问权限,使用.htaccess或Web服务器访问控制;3. 启用强密码和双因素认证;4. 定期备份数据库;5. 仔细检查配置文件,避免暴露敏感信息;6. 使用Web应用防火墙(WAF);7. 进行安全审计。 这些措施能够有效降低PHPMyAdmin因配置不当、版本过旧或环境安全隐患导致的安全风险,保障数据库安全。

See all articles