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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

H5 프로젝트를 실행하는 방법 H5 프로젝트를 실행하는 방법 Apr 06, 2025 pm 12:21 PM

H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

XML로 PDF를 내보내는 방법 XML로 PDF를 내보내는 방법 Apr 03, 2025 am 06:45 AM

XML을 PDF로 내보내는 두 가지 방법이 있습니다 : XSLT 사용 및 XML 데이터 바인딩 라이브러리 사용. XSLT : XSLT 스타일 시트를 만들고 XSLT 프로세서를 사용하여 XML 데이터를 변환 할 PDF 형식을 지정하십시오. XML 데이터 바인딩 라이브러리 : XML 데이터 바인딩 라이브러리 가져 오기 PDF 문서 객체로드 XML 데이터 내보내기 PDF 파일을 만듭니다. PDF 파일에 더 나은 방법은 요구 사항에 따라 다릅니다. XSLT는 유연성을 제공하지만 데이터 바인딩 라이브러리는 구현하기가 간단합니다. 간단한 변환의 경우 데이터 바인딩 라이브러리가 더 좋으며 복잡한 변환의 경우 XSLT가 더 적합합니다.

아파치 문제 해결 : 일반적인 오류 진단 및 해결 아파치 문제 해결 : 일반적인 오류 진단 및 해결 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 헬퍼 플러그인을 사용하여 pom.xml 파일을 생성하기위한 명령을 제공하십시오. 프로젝트의 pom.xml 파일을 사용자 정의하려면 수동으로 만듭니다.

부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 Apr 07, 2025 pm 12:00 PM

서버 측에서 문자 인코딩을 설정하려면 Bridble Bootstrap 테이블을 해결하려면 다음 단계를 따라야합니다. 서버 문자 인코딩을 확인하십시오. 서버 구성 파일 편집; 인코딩을 UTF-8로 설정하십시오. 서버를 저장하고 다시 시작합니다. 인코딩을 확인하십시오.

XAMPP에서 MySQL을 시작할 수 없습니다 XAMPP에서 MySQL을 시작할 수 없습니다 Apr 08, 2025 pm 03:15 PM

XAMPP가 포트 충돌, 구성 파일 오류, 불충분 한 시스템 권한, 서비스 종속성 문제 및 설치 문제를 포함하여 MySQL을 시작하지 않는 데는 여러 가지 이유가 있습니다. 문제 해결 단계는 다음과 같습니다. 1) 포트 충돌 확인; 2) 구성 파일 확인; 3) 시스템 권한을 점검하십시오. 4) 서비스 종속성을 점검합니다. 5) MySQL을 다시 설치하십시오. 다음 단계를 따르면 MySQL 시작이 실패하게하는 문제를 찾고 해결할 수 있습니다.

부트 스트랩 페이지를 미리 보는 방법 부트 스트랩 페이지를 미리 보는 방법 Apr 07, 2025 am 10:06 AM

부트 스트랩 페이지의 미리보기 방법은 다음과 같습니다. 브라우저에서 직접 HTML 파일을 엽니 다. 라이브 서버 플러그인을 사용하여 브라우저를 자동으로 새로 고치십시오. 온라인 환경을 시뮬레이션하기 위해 로컬 서버를 구축하십시오.

phpmyadmin 취약성 요약 phpmyadmin 취약성 요약 Apr 10, 2025 pm 10:24 PM

Phpmyadmin 보안 방어 전략의 핵심은 다음과 같습니다. 1. Phpmyadmin의 최신 버전을 사용하고 정기적으로 PHP 및 MySQL을 업데이트합니다. 2. 액세스 권한을 엄격하게 제어하고, .htaccess 또는 웹 서버 액세스 제어 사용; 3. 강력한 비밀번호와 2 단계 인증을 활성화합니다. 4. 데이터베이스를 정기적으로 백업하십시오. 5. 민감한 정보를 노출하지 않도록 구성 파일을주의 깊게 확인하십시오. 6. WAF (Web Application Firewall) 사용; 7. 보안 감사를 수행하십시오. 이러한 조치는 부적절한 구성, 이전 버전 또는 환경 보안 위험으로 인해 PhpmyAdmin으로 인한 보안 위험을 효과적으로 줄이고 데이터베이스의 보안을 보장 할 수 있습니다.

See all articles