LAMP 编译安装全过程   
 
 
 
 
 
先安装常用的依赖包:
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel  nss_ldap openldap-clients openldap-servers
 
一、编译安装apache (这里用的是2.4.1版本):
[root@svnshangde home]# tar zxvf httpd-2.4.1.tar.gz -C /usr/src/
[root@svnshangde home]# cd /usr/src/httpd-2.4.1/
[root@svnshangdehttpd-2.4.1]#./configure--prefix=/usr/local/apache--enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/lib --enable-auth-digest --enable-cgi --enable-suexec --with-suexec-caller=daemon--with-suexec-docroot=/usr/local/apache/htdocs
 
1 、报如下错误:
Configuring Apache Portable Runtime library ...
 
checking for APR... no
configure: error: APR not found. Please read the documentation.
 
yum –y install apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs (解决如上错误!)
 
2 、又报错:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
 
yum –y install  pcre pcre-devel (解决如上问题)
 
3 、再次报错:
checking for APR version 1.3.0 or later... no
configure: error: APR version 1.3.0 or later is required  ( apr-util 版本太低)
 
yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs (删除之前安装的东东)
 
4 、下载:(apr-1.4.5.tar.gz apr-util-1.3.12.tar.gz )
[root@yahoo home]# tar -zxf apr-1.4.5.tar.gz
[root@yahoo apr-1.4.5]# ./configure --prefix=/usr/local/apr
[root@yahoo apr-1.4.5]# make
[root@yahoo apr-1.4.5]# make install
 [root@yahoo home]# tar -zxf apr-util-1.3.12.tar.gz
[root@yahoo apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with- apr=/usr/local/apr/bin/apr-1-config
[root@yahoo apr-util-1.3.12]# make
[root@yahoo apr-util-1.3.12]# make install
5 、再次安装OK:
[root@svnshangde apr-util-1.3.12]# cd /usr/src/httpd-2.4.1
[root@svnshangdehttpd-2.4.1]#./configure--prefix=/usr/local/apache--enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/lib --enable-auth-digest --enable-cgi --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/usr/local/apache/htdocs--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ (加上 apr apr-util 的路径)
 
[root@svnshangdehttpd-2.4.1]# make && make install
 
[root@svnshangde httpd-2.4.1]# vi /usr/local/apache/conf/httpd.conf
 
ServerName localhost ( 不修改也行默认是#注释的)
 
[root@svnshangde httpd-2.4.1]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 
[root@svnshangde httpd-2.4.1]# vi /etc/init.d/httpd
#!/bin/sh
# chkconfig: 35 85 15
# description: zhi shi apache server!      (加上chkconfig支持和注释)
[root@svnshangde httpd-2.4.1]# chkconfig --add httpd      (添加chk 服务支持)
[root@svnshangde httpd-2.4.1]# chkconfig httpd on  (开机将会运行无需再手动启动)
[root@svnshangde httpd-2.4.1]# service httpd start
http://localhost IP/ (验证)
It works!
6 、http压力测试:系统自带的ab 工具:
格式: ab [-q] –c 并发数 –n 总请求书数 [http://] 域名 [:端口]/路径
修改最大请求数:
[root@svnshangde bin]# ulimit -a | grep "open files" (查看、默认为 1024)
open files                       (-n) 1024
[root@svnshangde bin]# ulimit -n 10000 (修改为 1万)
[root@svnshangde bin]# /usr/local/apache/bin/ab -q -c 2000 -n 6000 http://localhost/
二、编译配置mysql(这里是5.5版本):
1 、安装 bison cmake
提示: MySQL 5.5 版本的安装需要这两个软件, bison 我们可以用方便的 yum 直接安装好, cmake 则用编译安装的办法。
[root@svnshangde home]# yum -y install bison
(CP cmake 到 /usr/bin 下)
[root@svnshangde mysql-5.5.15]# cp /usr/local/bin/cmake /usr/bin
  2 、解压安装mysql:
 [root@svnshangde home]# tar zxvf mysql-5.5.15.tar.gz -C /usr/src/
[root@svnshangde bin]# cd /usr/src/mysql-5.5.15
3 、(创建用户)
[root@svnshangde mysql-5.5.15]# useradd -M -s /sbin/nologin mysql
4 、(在根目录下创建mysql库)
[root@svnshangde mysql-5.5.15]# mkdir /data/mysql/ 
 
[root@svnshangde mysql-5.5.15]# chown -R mysql:mysql /data/mysql
 
[root@svnshangde mysql-5.5.15]# chown –R root:mysql /usr/local/mysql
5 、(编译)
[root@svnshangde mysql-5.5.15]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/         
6 、(安装)
[root@svnshangde mysql-5.5.15]# make &&  make install          
7 、(复制配置文件模板为配置文件)
[root@svnshangde mysql-5.5.15]# cp support-files/my-medium.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y   
8 、(编辑my.cnf)
[root@svnshangde mysql]# vi /etc/my.cnf 
9 、(在 [mysqld] 段增加)
datadir = /data/mysql
wait-timeout = 30
max_connections = 512
max_connect_errors = 10000000
default-storage-engine = MyISAM
10 、在 [mysqld] 段修改
max_allowed_packet = 16M
11 、(启动文件CP到service启动支持)
[root@svnshangde mysql-5.5.15]# cp support-files/mysql.server /etc/init.d/mysqld
cp: overwrite `/etc/init.d/mysqld'? y      
12 、(编辑mysqld)
[root@svnshangde mysql-5.5.15] vi /etc/init.d/mysqld
把basedir=编辑成basedir=/usr/local/mysql
把datadir=编辑成datadir=/data/mysql
 
[root@svnshangde mysql-5.5.15]# chmod a+x /etc/init.d/mysqld
[root@svnshangde mysql-5.5.15]# chkconfig --add mysqld
[root@svnshangde mysql-5.5.15]# chkconfig --level 3 mysqld on
 
[root@svnshangde mysql-5.5.15]# cd /usr/local/mysql/
[root@svnshangde mysql]# ./scripts/mysql_install_db --user=mysql
[root@svnshangde ~]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
 
[root@svnshangde mysql]# service mysqld start
Starting MySQL[ OK ]
13 、(写入变量方便命令实用)
[root@svnshangde ~]# export PATH=$PATH:/usr/local/mysql/bin/
[root@svnshangde ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
14 、(设置root密码)
 [root@svnshangde ~]# mysqladmin -uroot password "123456"
15 、(创建mysql用户)
mysql>  GRANT ALL PRIVILEGES ON *.* TO yhby@'%' IDENTIFIED BY "123456";
Query OK, 0 rows affected (0.07 sec)
 
 
三、编译安装PHP(这里是5.4版本的):
 
 
[root@svnshangde home]# tar zxvf php-5.4.0.tar.gz -C /usr/src/
[root@svnshangde php-5.4.0]# cd /usr/src/php-5.4.0/
1 、开始编译:
[root@svnshangde php-5.4.0]# ./configure --prefix=/usr/local/php --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php
 
[root@svnshangde php-5.4.0]# make && make install
[root@svnshangde php-5.4.0]# cp php.ini-production /usr/local/php/php.ini
 
[root@svnshangde php-5.4.0]# vi /usr/local/apache/conf/httpd.conf
LoadModule php5_module         modules/libphp5.so (必须有 木有的话从新编译PHP)
1-2 、添加:
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php
2 、建立测试页:
[root@svnshangde php-5.4.0]# vi /usr/local/apache/htdocs/xxoo.php
<?php
phpinfo();
?>
3 、测试:
http://localhost /xxoo.php
看到后ok