CentOS5全功能服务器搭建全教程将搭建教程划分阶段以适应不同需要。加入程序优化,程序安全,加入memcache,squid,mod_security等高级应用,安装vBulletin+vBseo,服务器安全设置,以及日常管理功能。V2.02007年10月18日操作系统更新为centos5.0apache更新为2.2.6版本,php更新为5.2.5,mysql更新为5.0.46,ZendOptimizer更新为3.3.0。解决新平台下的一些问题。修正文字错误。v1.22007年2月12日apache更新为2.2.4版本,增加mod_ssl和openssl支持,增加apr和apr-util的编译,php更新为5.2.1,增加集成Suhosin补丁,mysql更新为5.0.33,ZendOptimizer更新为3.2.2,增加phpmyadmin。修改一些文字错误。v1.02007年1月11日V3.0版本文字文明在长期在线维护。欢迎转帖,转帖时请勿删除本说明。By二戒先声明,以下的这些文字个人的安装笔记,是参考了网上许多高手的成功经验组合而成的,说实话我自己的东西不多:)我想把这些经验写下来,既可以对其他跟我一样摸索的兄弟一个经验,也可以防止以后自己都忘记了,嘿嘿。所以如果某个大虾看到我借用了你的资源,请不要生气。同时欢迎大家指出错误。一、基本系统安装1、下载CentOS5我是下载的DVD版本,大家也可以下载服务器CD安装版本,其实都差不多。大家可以到这儿下载,速度很快的。建议在windows下用BT或迅雷下载,速度会快很多。下载后刻录成光盘。我建议你刻录DVD啦,如果是菜鸟,把图形界面也装上,可以在图形界面进行学习,当然强烈不建议在服务器上装桌面。Centos5系列任何一个版本就行了,安装后可以通过yumupgrade直接更新为最新版本。2、安装CentOS5作为服务器,不安装不需要的组件,所以在选择组件的时候,除了选择FTPSERVER外取消所有组件的选择。也不要选web服务器。因为我们后面要手动编译安装。系统约定RPM包和源码包存放位置RPM包和源码包存放位置/usr/local/src源码包编译安装位置(prefix)/usr/local/xxx脚本以及维护程序存放位置/usr/local/sbinMySQL数据库位置/var/lib/mysqlApache网站根目录/usr/local/apache2/htdocsApache虚拟主机日志根目录/data/logs/包信息文件/etc/yum.list3、系统环境部署及调整(1)检查系统是否正常#more/var/log/messages//检查有无系统内核级错误信息#demesg//检查硬件设备是否有错误信息#ifconfig//检查网卡设置是否正确#ping检查网络是否正常(2)关闭不需要的服务#exportLANG='en_US'//设置语言#setup//选择启动的服务进入systemservice选项。以space键选定所需服务。以下仅列出需要启动的服务,未列出的服务一律关闭:crondirqbalance仅当服务器CPU为S.M.P架构或支持双核心、HT技术时,才需开启,否则关闭。microcode_ctlnetworkiptablesvsftpdsshdsyslogyum-updatesd(3)修改/etc/yum.repos.d/CentOS-Base.repo,将镜象站点地址改为在中国的镜象站点地址。不然我们通过yum安装软件速度会极慢。修改如下:#CentOS-Base.repo##ThisfileusesanewmirrorlistsystemdevelopedbyLanceDavisforCentOS.#ThemirrorsystemusestheconnectingIPaddressoftheclientandthe#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand#geographicallyclosetotheclient.YoushouldusethisforCentOSupdates#unlessyouaremanuallypickingothermirrors.##Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe#remarkedoutbaseurl=lineinstead.##[base]name=CentOS-$releasever-Basebaseurl==1gpgkey==1#releasedupdates[updates]name=CentOS-$releasever-Updatesbaseurl==1gpgkey==1#packagesused/producedinthebuildbutnotreleased[addons]name=CentOS-$releasever-Addonsbaseurl==1gpgkey==0#additionalpackagesthatmaybeuseful[extras]name=CentOS-$releasever-Extrasbaseurl==1gpgkey==0#additionalpackagesthatextendfunctionalityofexistingpackages[centosplus]name=CentOS-$releasever-Plusbaseurl==1enabled=0gpgkey==1#contrib-packagesbyCentosUsers[contrib]name=CentOS-$releasever-Contribbaseurl==1enabled=0protect=0gpgkey=保存文件。(4)更新系统,我们使用yum,运行:#yumupgrade建议更新所有列出的程序,包括内核,rhel5.X的稳定性还要继续努力呢。(5)定时校正服务器时间#yuminstall–yntp#crontab-e023***/usr/sbin/ntpdate210.72.145.44以上命令设置好后存盘。#/sbin/servicecrondreload重载计划任务配置您的机器将在每天的23:00根据中国国家授时中心的NTP服务器时间自动校准时间。(6)FTP服务器的配置vi/etc/vsftpd/vsftpd.conf把anonymous_enable=YES修改为anonymous_enable=No不允许匿名登录。添加两句chroot_local_user=yeslisten_port=2121将用户锁定在主目录,并将FTP监听端口修改为2121把ftpd_banner=*前的注释去掉。后面改成你的欢迎信息(这样设置可以避免显示ftp服务器的版本信息)然后保存,servicevsftpdstart就可以了。这时应当添加用户,因为root默认不能通过FTP方式登录,也不安全。groupadduploaduseraddupload-gupload-d/usr/local/apache2/htdocs/-M如果FTP登录时出现ftp服务器连接失败,错误提示:500OOPS:cannotchangedirectory:/home/*******500OOPS:childdied解决方法:#setseboolftpd_disable_trans1#servicevsftpdrestart这样对于我们上传一些文件到系统中很方便。大家有兴趣的可以看下这篇文章对vsftpd进行一个比较详细的了解、重新启动系统#init6此时系统启动成功,可以删除老的内核二、安装mysql,apache,php,ZendOptimizer等基本环境5.使用yum程序安装所需开发包(以下为标准的rpm包名称)#yuminstallgccgcc-c++gcc-g77flexbisonautoconfautomakebzip2-develzlib-develncurses-devellibjpeg-devellibpng-devellibtiff-develfreetype-develpam-developenssl-devellibxml2-develgettext-develpcre-devel#这里我们将编译GD所必须的一些小软件比如libpng,libtiff,freetype,libjpeg,gettext-devel等先用RPM的方式一并安装好,避免手动编译浪费时间,同时也能避免很多错误,这几个小软件的编译很麻烦。这几个小软件编译错误了,GD当然安装不了,php5的编译当然也没戏了。所以我们抓大放小,对这些小牛鬼蛇神采取快速简洁的方式进行安装。并且对服务器的性能也不能产生什么影响。另外libxml2系统已经默认安装了,所以我们不需要手工编译了,直接安装它的开发包就行了。6.源码编译安装所需包(Source)(1)GD2#cd/usr/local/src#wget=i686-pc-linux-gnuCFLAGS=-O3-msse2-mmmx-Wall-W-mfpmath=sse-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointerCXXF