说明:在本帖中,#代表shell的提示符,所有操作均在root环境变量下面执行

一,系统的安装

系统安装的是centos6.0版本,磁盘大小300G

  1. /boot         300
  2. /swap         2
  3. /             30
  4. /usr/local    80
  5. /var          80G   //lvm分区 
  6. /home         20
  7. /tmp          10

安装好之后,配置ip地址,ssh,iptables等服务,安装系统的原则:最小化安装,尽量不安装图形界面和不必要的软件包。

二,软件包的准备

mysql-5.6.2-m5,php-5.3.6,httpd-2.2.21

下载地址

  1. #cd /usr/local/src
  2. #wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.2-m5.tar.gz 
  3. #wget http://mirrors.sohu.com/php/php-5.3.6.tar.gz 
  4. #wget http://mirrors.sohu.com/apache/httpd-2.2.21.tar.gz 

三,本机yum源的配置

  1. #vim /etc/yum.repos.d/myyum.repo
  2. [Packages] 
  3. name=CentOS-$releasever - Plus 
  4. baseurl=file:///mnt/cd/  #本地文件路径,如果是网络源,请更改
  5. gpgcheck=1  #gpg校验
  6. enabled=1  #yum的开关
  7. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 
  8. #yum clean all
  9. #yum list


四,安装系统编译环境所需要的软件包
for base in gcc gcc-c++ make cmake apr apr-util postgresql-libs zlib* openssl openssl-devel autoconf automake ncurses* libtool* libxslt libxslt-devel libxml* curl* bzip2* gd gd-devel freetype freetype-devel libpng* cairo-devel libxml2-devel pango pango-devel libmcrypt libpng jpeg bison mysql-devel

do rpm -qa |grep $base;retval=$?

[ "$retval" != 0 ] && yum install $base done

注意,以上步骤需要把yum源等配置好,然后复制紫色字体到脚本运行 (主要是安装gcc make以及GD及库相关 curl  libpng zlib freetype libxslt jpegsrc gd libxml )

五,apache的编译安装

  1. #service httpd stop //为了防止系统安装的时候默认安装过apache         
  2. #rpm -e --nodeps httpd   
  3. #tar xvf httpd-2.2.21.tar.gz      
  4. #cd httpd-2.2.21      
  5. #groupdel Apache     
  6. #groupdel apache    
  7. #userdel apache  
  8. #groupadd --gid=48 apache   
  9. #useradd -s /sbin/nologin -d /usr/local/apache2 -g apache --uid=48  apache   
  10.  
  11. #./configure --prefix=/usr/local/apache2  --enable-deflate --enable-headers --enable-so  --with-mpm=worker  --enable-rewrite     --enable-cgi  --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-static-ab --enable-static-htpasswd --enable-expires --enable-authn-dbm --with-ssl --enable-ssl  --disable-userdir --disable-cgid   --enable-expires --enable-speling      
  12. #make && make install   
  13. #ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd    
  14. #chown -R apache:apache /usr/local/apache2    
  15. #service httpd restart  
  16. ------------------------------------------------------ 
  17. #echo 'service httpd restart' >> /etc/rc.d/rc.local 如果前面有ln -s 此处去掉 
  18. ------------------------------------------------------    
  19. #sed -i 's/User\ daemon/User\ apache/g' /usr/local/apache2/conf/httpd.conf    
  20. #sed -i 's/Group\ daemon/Group\ apache/g' /usr/local/apache2/conf/httpd.conf  
  21. #cd ..  

六,mysql的安装过程

  1. #tar xvf mysql-5.6.2-m5.tar.gz    
  2. #cd mysql-5.6.2-m5    
  3. #mkdir /usr/local/mysql     
  4. #groupdel mysql     
  5. #userdel mysql     
  6. #groupadd mysql    
  7. #useradd -d /var/lib/mysql -s /bin/bash -g mysql mysql
  8. -----------------------------------------------------------------
  9. #wget http://googletest.googlecode.com/files/gtest-1.5.0.tar.gz    
  10. #cp gtest-1.5.0.tar.gz mysql-5.6.2-m5/source_downloads 
  11. ------------------------------------------------------------------
  12. **********此处需要注意的是如果没有下载gtest,安装的过程会自动去下载gtest,需要将以下的参数改变成这样-DENABLE_DOWNLOADS=1   
  13. #  cmake . -DINSTALL_LIBDIR=/usr/local/mysql -DMYSQL_DATADIR=/var/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_ COLLATION=utf8_general_ci -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=0 -DENABLED_LOCAL_INFILE=1 -DWITH_MY ISAM_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_LIBWRA P=1 -DWITH_DEBUG=0
  14. #chown -R mysql /usr/local/mysql     
  15. #chgrp -R mysql /usr/local/mysql       
  16. #make && make install      
  17. #cp support-files/my-medium.cnf /etc/my.cnf       
  18. #cp support-files/mysql.server /etc/init.d/mysqld       
  19. #chmod  755  /etc/init.d/mysqld        
  20. #chown -R root:mysql /usr/local/mysql/        
  21. #chown -R mysql:mysql /usr/local/mysql/data       
  22. #sed  -i '/^\[mysqld\]$/a set-variable=max_connections=2000' /usr/local/mysql/etc/my.cnf      
  23. #cp extra/my_print_defaults /usr/local/mysql/bin/    
  24. #mkdir -p /var/lib/mysql/data       
  25. #mkdir /var/run/mysqld       
  26. #chown -R mysql:mysql /var/run/mysqld    
  27. #chmod 755 -R /var/mysql/data/      
  28. #chkconfig --add  mysqld      
  29. #chkconfig mysqld on     
  30. #/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/var/mysql/data      
  31. #/usr/local/mysql//bin/mysqld_safe &       
  32. #ln -s /usr/local/mysql/bin/mysql /bin/mysql     
  33. #service mysqld restart  &&      
  34. #cd ..    
  35. 需要注意的是:本处只是把mysql安装好了,对系统参数并没有做设置,大家可以参考其他mysql调优 
  36. 资源进行相关的设置 

七,php的安装过程

  1. #tar xvf libmcrypt-2.5.8.tar.gz 
  2. #cd libmcrypt-2.5.8 
  3. #./configure --prefix=/usr/local/ 
  4. #make && make install 
  5. #cd .. 
  6.  

  7. #tar xvf  mhash-0.9.9.9.tar.gz 
  8. #cd mhash-0.9.9.9 
  9. #./configure --prefix=/usr/local/ 
  10. #make && make install 
  11. #cd .. 
  12.  
  13. #tar xvf mcrypt-2.6.8.tar.gz
  14. #cd mcrypt-2.6.8
  15. #LD_LIBRARY_PATH=/usr/local/lib ./configure --prefix=/usr/local/
  16. #make && make install
  17. #cd ..
  18.  
  19. #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
  20. #tar xvf libiconv-1.14.tar.gz
  21. #cd libiconv-1.14
  22. # ./configure --prefix=/usr/local
  23. #make && make install
  24. #cd ..
  25.  
  26. #tar xvf freetype-2.4.0.tar.gz 
  27. #cd freetype-2.4.0 
  28. #./configure 
  29. #make && make install 
  30. #cd .. 
  31.  
  32. #  wget http://downloads.sourceforge.net/project/libpng/libpng14/older-releases/1.4.2/libpng-1.4.2.tar.gz 
  33. #tar xvf libpng-1.4.2.tar.gz 
  34. #cd libpng-1.4.2 
  35. #./configure 
  36. #make && make install 

  37. #wget http://www.netpurgatory.com/web_stuff/zeusmp_releases/jpegsrc.v6b.tar.gz 
  38. #./configure --enable-static --enable-shared 
  39. #mkdir /usr/local/man/man1 
  40.  
  41. #----If your system was install libxml2, you do not need to install it.---- 
  42. #wget ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz 
  43. #tar xvf libxml2-2.7.6.tar.gz 
  44. #cd libxml2-2.7.6 
  45. #./configure 
  46. #make && make install 
  47.  
  48. *******************************install php*********************************
  49. #tar xvf php-5.3.6.tar.gz 
  50. #cd php-5.3.6 

  51. ****************注意此处进行2处链接,同时将--with-mysql=/usr/local/mysql改为--with-mysql=/usr,防止提示configure: error: Cannot find libmysq 
  52. lclient under /usr/local/mysql的错误*******************
  53. #ln -s /usr/local/mysql/libmysqlclient_r.a  /usr/lib/libmysqlclient_r.a 
  54. #ln -s /usr/local/mysql/libmysqlclient.a  /usr/lib/libmysqlclien.a 
  55.  
  56. #./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/ --with-mysql=/usr --with-mysql-sock=/tmp/mysql. 
  57. sock --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql  --with-bz2 --with-jpeg-dir --with-png-dir --with-freetype-dir --w 
  58. ith-libxml-dir=/usr/local --with-zlib-dir --with-gd  --enable-gd-native-ttf  --with-xsl --with-openssl-dir  --with-mcrypt --e 
  59. nable-zip --enable-sqlite-utf8  --enable-sockets --enable-soap  --enable-ucd-snmp-hack --enable-ftp --enable-safe-mode --enab 
  60. le-bcmath  --enable-sysvsem && 
  61.  
  62. ***********加此参数防止make的时候报make: *** [sapi/cli/php] Error 1的错误********
  63. 用sed命令替换如下
  64. #sed -i 's/\-lm\ \-lxslt\ \-lxml2\ \-lz\ \-lm\ \-lcrypt/\-lm\ \-lxslt\ \-lxml2\ \-lz\ \-lm\ \-lcrypt\ \-liconv/g' Makefile 
  65. #make && make install 
  66. #cp php.ini-development /usr/local/php5/php.ini 
  67.  
  68. ******php测试页面的自动生成,如果各位自行定义了apche的路径,下面的语句也需要改变*****
  69.   
  70. #echo -e "<?php\nphpinfo();\n?>>/usr/local/apache2/htdocs/test.php 
  71. ********让apache对php进行支持,需要更改3个地方******
  72. #sed  -i '/AddType\ application\/x-gzip .gz \.tgz$/a \    AddType\ application\/x-httpd-php\ \.php\ \.phtml' /usr/local/apache 
  73. 2/conf/httpd.conf 
  74.  
  75. #sed  -i '/AddType\ application\/x-httpd-php\ \.php\ \.phtml$/a \    AddType\ application\/x-httpd-php-source\ \.phps' /usr/lo 
  76. cal/apache2/conf/httpd.conf 
  77.  
  78. #sed  -i '/Group\ apache$/a LoadModule php5_module libexec/libphp5.so' /usr/local/apache2/conf/httpd.conf 
  79. sed  -i '/\\ LoadModul foo_modules\ modules\/mod_foo.so$/a \  LoadModule php5_module libexec/libphp5.so' /usr/local/apache2/c 
  80. onf/httpd.conf 
  81. #service httpd restart 


八,测试调优:通过以上步骤的安装,系统框架已经可以搭建好了,接下来需要各位自己对各参数进行相关的优化设置

请大家自己设置,本文不再详述,如有不足之处,请大家指教。

itnihao 2011年9月整理,10发表,于成都