CentOS编译安装.docx
《CentOS编译安装.docx》由会员分享,可在线阅读,更多相关《CentOS编译安装.docx(20页珍藏版)》请在冰豆网上搜索。
CentOS编译安装
窗体底端
CentOS编译安装Apache+PHP+MySQL+Zend+eaccelerator+PHPMyAdmin
CentOS4.4编译安装apache2.2.4(mod_ssl)+php5.2.1withSuhosin-Patch+mysql5.0.33+ZendOptimizerv3.2.2+eaccelerator-0.9.5+phpmyadmin2.10笔记v1.2
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日
先声明,我绝对是个Linux的菜鸟,以下的这些文字个人的安装笔记,是参考了网上许多高手的成功经验组合而成的,说实话我自己的东西不多:
)我想把这些经验写下来,既可以对其他跟我一样摸索的兄弟一个经验,也可以防止以后自己都忘记了,嘿嘿。
所以如果某个大虾看到我借用了你的资源,请你不要生气。
也欢迎大家进行指点。
1.下载centos4.4
我是下载的DVD版本,大家也可以下载服务器CD安装版本,其实都差不多。
大家可以到这儿下载,速度很快的。
下载后当然就刻录成光盘。
我建议你刻录DVD啦,如果是菜鸟,也可以在图形界面进行学习,不会这么抓不住头脑。
2.1安装CentOS4.4
作为服务器,不安装不需要的组件,所以在选择组件的时候,除了选择FTPSERVER外取消所有组件的选择。
也不要选web服务器。
因为我们后面要手动编译安装。
系统约定RPM包和源码包存放位置
RPM包和源码包存放位置/usr/local/src
源码包编译安装位置(prefix)/usr/local/xxx
脚本以及维护程序存放位置/usr/local/sbin
MySQL数据库位置/var/lib/mysql
Apache网站根目录/home/www
Apache虚拟主机日志根目录/data/logs/www
yumRPM包信息文件/etc/yum.list
2.2更新系统,此处我们使用up2date,先修改up2date镜像。
vi/etc/sysconfig/rhn/sources
我把源修改成这样了:
yumcentos4-Base
yumcentos4-Updates
yumcentos4-extras
yumcentos4-contrib
yumcentos4-addons
yumcentos4-centosplus
然后执行:
#up2date-l//列出更新
#up2date-uf//更新包括版本的所有程序。
如果不包括内核,则用up2date-u
3、系统环境部署及调整
(1).检查系统是否正常
#more/var/log/messages//检查有无系统内核级错误信息
#demesg//检查硬件设备是否有错误信息
#ifconfig//检查网卡设置是否正确
#ping//检查网络是否正常
(2).关闭不需要的服务
#exportLANG='en_US'//设置语言
#setup//选择启动的服务
进入systemservice选项。
以space键选定所需服务。
以下仅列出需要启动的服务,未列出的服务一律关闭:
crond
irqbalance仅当服务器CPU为S.M.P架构或支持双核心、HT技术时,才需开启,否则关闭。
microcode_ctl
network
vsftpd
sshd
syslog
(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-Base
baseurl=
.hk/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http:
//mirror.centos.org/centos/RPM-GPG-KEY-centos4
#releasedupdates
[update]
name=CentOS-$releasever-Updates
baseurl=
.hk/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http:
//mirror.centos.org/centos/RPM-GPG-KEY-centos4
#packagesused/producedinthebuildbutnotreleased
[addons]
name=CentOS-$releasever-Addons
baseurl=
.hk/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http:
//mirror.centos.org/centos/RPM-GPG-KEY-centos4
#additionalpackagesthatmaybeuseful
[extras]
name=CentOS-$releasever-Extras
baseurl=
.hk/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http:
//mirror.centos.org/centos/RPM-GPG-KEY-centos4
#additionalpackagesthatextendfunctionalityofexistingpackages
[centosplus]
name=CentOS-$releasever-Plus
baseurl=http:
//mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http:
//mirror.centos.org/centos/RPM-GPG-KEY-centos4
#contrib-packagesbyCentosUsers
[contrib]
name=CentOS-$releasever-Contrib
baseurl=http:
//mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http:
//mirror.centos.org/centos/RPM-GPG-KEY-centos4
保存。
然后导入key升级相应yum数据
#rpm--import/usr/share/doc/centos-release-4/RPM-GPG-KEY-centos4
#yumlisttee/etc/yum.list//读取yumlist数据,将其输出到/etc/yum.list。
(4)、定时校正服务器时间
#yuminstallntp
#crontab-e
023***root/usr/sbin/ntpdate210.72.145.44>/dev/null2>&1
以上命令设置好后存盘。
您的机器将在每天的23:
00根据中国国家授时中心的NTP服务器时间自动校准时间。
(5).对TCP/IP网络参数进行调整,加强抗SYNFlood能力
#echo'net.ipv4.tcp_syncookies=1'>>/etc/sysctl.conf//将net.ipv4.tcp_syncookies=1写入sysctl.conf文件
#sysctl-p//查看
(6)、FTP服务器的配置
vi/etc/vsftpd/vsftpd.conf
把anonymous_enable=YES注释掉不允许匿名登录。
把chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
前的注释去掉。
把ftpd_banner=*前的注释去掉。
后面改成你的欢迎信息(这样设置可以避免显示ftp服务器的版本信息)
然后保存,servicevsftpdstart就可以了。
这时应当添加用户,因为root默认不能通过FTP方式登录。
#adduserusername
#passwduserpassword
这样对于我们上传一些文件到系统中很方便。
4.重新启动系统
#init6
5.使用yum程序安装所需开发包(以下为标准的RPM包名称)
#yuminstallgccgcc-c++gcc-g77flexbisonautoconfautomakebzip2-develzlib-develncurses-devellibjpeg-devellibpng-devellibtiff-develfreetype-develpam-devel
#这里我们将编译GD所必须的一些小软件比如libpng,libtiff,freetype,libjpeg等先用RPM的方式一并安装好,避免手动编译浪费时间,同时也能避免很多错误,这几个小软件的编译很麻烦。
这几个小软件编译错误了,GD当然安装不了,php5的编译当然也没戏了。
所以我们抓大放小,对这些小牛鬼蛇神采取快速简洁的方式进行安装。
并且对服务器的性能也不能产生什么影响。
6.源码编译安装所需包(Source)
(1)GD2
#cd/usr/local/src
#wget
#tarxzvfgd-2.0.33.tar.gz
#cdgd-2.0.33
#./configure--prefix=/usr/local/gd2--mandir=/usr/share/man//./configure配置。
#make//make是用来编译的,它从Makefile中读取指令,然后编译。
#makeinstall//makeinstall是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
(2)Apache日志截断程序
#cd/usr/local/src
#wgethttp:
//cronolog.org/download/cronolog-1.6.2.tar.gz
#tarxzvfcronolog-1.6.2.tar.gz
#cdcronolog-1.6.2
#./configure--prefix=/usr/local/cronolog
#make
#makeinstall
(3)libxml库程序
#cd/usr/local/src
#wgethttp:
//ftp.gnome.org/pub/gnome/sources/libxml2/2.6/libxml2-2.6.26.tar.gz
#tarzxvflibxml2-2.6.26.tar.gz
#cdlibxml2-2.6.26
#./configure--prefix=/usr/local/libxml2
#make
#makeinstall
7、编译mysql5.0.33
cd/usr/local/src
#wgethttp:
//mysql.oss.eznetsols.org/Downloads/MySQL-5.0/mysql-5.0.33.tar.gz
#tarxzvfmysql-5.0.33.tar.gz
#cdmysql-5.0.33
修改mysql客户端最大连接数,默认的只有100,远远达不到我们的要求。
#visql/mysqld.cc
搜索找到下面一行:
{"max_connections",OPT_MAX_CONNECTIONS,
"Thenumberofsimultaneousclientsallowed.",(gptr*)&max_connections,
(gptr*)&max_connections,0,GET_ULONG,REQUIRED_ARG,100,1,16384,0,1,
0},
将其中的100改为1500,当然小点也可以,根据你的需要来,不建议改的太大。
{"max_connections",OPT_MAX_CONNECTIONS,
"Thenumberofsimultaneousclientsallowed.",(gptr*)&max_connections,
(gptr*)&max_connections,0,GET_ULONG,REQUIRED_ARG,1500,1,16384,0,1,
0},
保存。
#CHOST="i686-pc-linux-gnu"CFLAGS="-O3-msse2-mmmx-mfpmath=sse-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer"CXXFLAGS="-O3-msse2-mmmx-mfpmath=sse-funroll-loops-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer"./configure--prefix=/usr/local/mysql--localstatedir=/var/lib/mysql--with-comment=Source--with-server-suffix=-Community-Server--with-mysqld-user=mysql--without-debug--with-big-tables--with-charset=latin1--with-collation=latin1_swedish_ci--with-extra-charsets=all--with-pthread--enable-static--enable-thread-safe-client--with-client-ldflags=-all-static--with-mysqld-ldflags=-all-static--enable-assembler--without-innodb--without-ndb-debug--without-isam
配置成功会提示:
MySQLhasaWebsiteatwhichcarriesdetailsonthe
latestrelease,upcomingfeatures,andotherinformationtomakeyour
workorplaywithMySQLmoreproductive.Thereyoucanalsofind
informationaboutmailinglistsforMySQLdiscussion.
Remembertochecktheplatformspecificpartofthereferencemanualfor
hintsaboutinstallingMySQLonyourplatform.Alsohavealookatthe
filesintheDocsdirectory.
ThankyouforchoosingMySQL!
//注意,CHOST=”i686-pc-linux-gnu”CFLAGS=”-O3-msse2-mmmx-mfpmath=sse-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer”CXXFLAGS=”-O3-msse2-mmmx-mfpmath=sse-funroll-loops-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer”这个环境参数只针对intelP4芯片,如果你的CPU是AMD的,注意不能使用。
请查看相应的编译优化参数。
否则程序会无法编译,即使编译成功也无法运行,嘿嘿。
#make
编译的时间可能会比较长,毕竟优化的比较厉害。
#makeinstall
编译安装完成后执行后续操作:
#useraddmysql//添加mysql用户
#cd/usr/local/mysql
#bin/mysql_install_db--user=mysql
#chown-Rroot:
mysql.//设置权限,注意后面有一个"."
#chown-Rmysql/var/lib/mysql//设置mysql目录权限
#chgrp-Rmysql.//注意后面有一个"."
#cpshare/mysql/my-f/etc/f
#cpshare/mysql/mysql.server/etc/rc.d/init.d/mysqld//开机自动启动mysql。
#chmod755/etc/rc.d/init.d/mysqld
#chkconfig--addmysqld
#/etc/rc.d/init.d/mysqldstart//启动MySQL
#bin/mysqladmin-urootpassword"password_for_root"
#servicemysqldstop//关闭MySQL
8.编译安装Apache
#cd/usr/local/src
#wget
#tarzxvfhttpd-2.2.4.tar.gz
#cdhttpd-2.2.4
依次安装apr和apr-util
#cdsrclib/apr
#./configure--prefix=/usr/local/apr--enable-threads--enable-other-childUSE=ipv6
#make&&makeinstall
#cd../apr-util
#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr/--with-mysql=/usr/local/mysql
#make&&makeinstall
cd/usr/local/src/httpd-2.2.4
#CHOST="i686-pc-linux-gnu"CFLAGS="-O3-msse2-mmmx-mfpmath=sse-funroll-loops-mcpu=pentium4-march=pentium4-p