目前是最新的稳定版的lamp包安装程序,昨天测试刚刚通过一切Ok。希望对大家有一定帮助~哈哈
更多技术分享:
关注我的微博 http://weibo.com/beyond1600
一、安装前准备:
1、修改yum源为光盘
#修改文件名,让yum不去网上寻找yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
#编辑CentOS-Media.repo 文件
vi /etc/yum.repos.d/CentOS-Media.repo
name=CentOS-$releasever - Media
baseurl=file://mnt/cdrom 改为光盘的挂载点
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=1 改为1
3、卸载低版本的apache、mysql、php
#停止进程
service httpd stop
service mysql stop
#卸载
yum remove httpd
yum remove mysql
4、关闭SELinux,清空防火墙
1)关闭SELinux
vi /etc/selinux/config
SELINUX=disabled 将enforcing 改为disabled 修改后需重新启动
2)关闭防火墙iptables
iptables -F 清空防火墙
service iptables save 防火墙策略写到/etc/sysconfig/iptables
开始安装
#安装libxml2
cd /lamp/libxml2-2.6.30
./configure --prefix=/usr/local/libxml2/
make
make install
#安装libmcrypt
cd /lamp/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt/
make
make install
#安装libltdl
cd /lamp/libmcrypt-2.5.8/libltdl
./configure --enable-ltdl-install
make
make install
#安装zlib
cd /lamp/zlib-1.2.3
./configure
make
make install
Makefile文件 找到文件中的CFLAGS ,在这个参数后面加上 -fPIC
#安装libpng
cd /lamp/libpng-1.2.31
./configure --prefix=/usr/local/libpng/
make
make install
#安装jpeg6
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
cd /lamp/jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install
make: ./libtool:命令未找到
make: *** [jcapimin.lo] 错误 127
1.检查有没有安装libtool-ltdl 及 libtool-ltdl-devel
rpm -qa|grep libtool
2.进入jpeg-6b的源码目录,把libtool的2个文件COPY到当前目录并覆盖,注意后面的点(.)。文件目录为libtool的下载解压后的目录
cp /usr/src/libtool/config.sub .
cp /usr/src/libtool/config.guess .
也就是把 libtool里面的两个配置文件拿来覆盖掉jpeg-6b目录下的对应文件
make clean
再配置configure就可以
#安装freetype
cd /lamp/freetype-2.3.5
./configure --prefix=/usr/local/freetype/
make
make install
#安装autoconf
cd /lamp/autoconf-2.61
./configure
make
make install
源码编译方式,在centos 6.0 下可能会报错,可用 yum -y install autoconf* 来解决
#安装GD 库
cd /lamp/gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
make
make install
#安装Apache
cd /lamp/httpd-2.4.4
./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/conf/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make
make install
apache配置出错
执行配置安装httpd时出错
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
需要下载apr和apr-utils 并解压到./srclib/, 再进行编译
#wget http://apache.etoak.com/apr/apr-util-1.4.1.tar.gz
#wget http://apache.etoak.com/apr/apr-1.4.6.tar.gz
#tar zxvf apr-1.4.6.tar.gz
#tar zxvf apr-utli-1.4.1.tar.gz
#cp -rf apr-1.4.6 httpd-2.4.1/srclib/apr
#cp -rf apr-util-1.4.6 httpd-2.4.1/srclib/apr-util
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz
./configure && make && make install
启动 Apache 测试
/usr/local/apache2/bin/apachectl start
查看apache进程
ps -le | grep httpd
设置apache开机启动(任选其一)
1.把/usr/local/apache2/bin/apachectl start 写入开机启动脚本
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
#cd /lamp/ncurses-5.6
./configure --with-shared --without-debug --without-ada --enable-overwrite
make
make install
#mysql 5.5.31
# mkdir -p /usr/local/mysql/
mkdir -p /data/mysql/
# groupadd mysql
# useradd -g mysql mysql
# chown mysql.mysql -R /data/mysql/
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# tar zxvf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
#.configure
# make && make install
cd mysql-5.5.31
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_DEBUG=0
make
make install
8,复制配置文件
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
9,初始化数据库
bash scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
10,启动mysql服务
/etc/init.d/mysqld start
11,启动完成之后用ps -ef |grep mysql 命令查看是否启动
12,/usr/local/mysql/bin/mysql -u root -p
通过命令行登录管理MySQL服务器 初始密码为空
13,修改root密码
mysql>;use mysql ;
mysql>; update user set password=PASSWORD("root") where user='root';
mysql>; FLUSH PRIVILEGES;
#php
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-openssl
错误:
In file included from /root/php-5.3.6/ext/gd/libgd/gd_compat.c:8:
/usr/local/jpeg/include/jpeglib.h:938: error: expected declaration specifiers or ‘...’ before ‘FILE’
/usr/local/jpeg/include/jpeglib.h:939: error: expected declaration specifiers or ‘...’ before ‘FILE’
make: *** [ext/gd/libgd/gd_compat.lo] Error 1
解决:
修改php-5.3.25/ext/gd/libgd/gd_compat.c 把png.h 改成绝对路径(这个在编译gd库的时候应该就碰到了,同样的路径即可)
并在# include 前面增加一行 #include
make
make install
生成php.ini配置文件
cp php.ini-dist /usr/local/php/etc/php.ini
使apache能解析php文件
echo "Addtype application/x-httpd-php .php .phtml" >> /usr/local/apache2/conf/httpd.conf
重启apache
/usr/local/apache2/bin/apachectl restart
或 service httpd restart
#redis
tar zxf redis-2.4.11.tar.gz && cd redis-2.4.11
make
make install
也可以不执行make install,可以自己建立redis管理目录,当然我喜欢让redis放在系统默认目录下.
cp redis.conf /etc/
vi /etc/redis.conf
daemonize no
daemonize yes
将no改为yes,让redis后台运行
加入自启动
echo "/usr/local/bin/redis-server /etc/redis.conf">>/etc/rc.local
测试:
redis-cli -a elain
redis 127.0.0.1:6379>set elain 123456
OK
redis 127.0.0.1:6379>get elain
“123456″
安装redis php扩展
https://github.com/nicolasff/phpredis#installation
我的php是编译安装的所以执行
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-zts-20090626/
vim /usr/local/php/php.ini
加上 extension=redis.so
重启apache
查看phpinfo中是否已经有了此扩展;
//$redis = new Redis();
//$redis->connect('127.0.0.1',6379);
//$redis->set('test','hello world!');
//echo $redis->get('test');
#APC -php 扩展
wget http://pecl.php.net/get/APC-3.1.13.tgz
tar APC-3.1.13.tgz
tar -zxvf APC-3.1.13.tgz
cd APC-3.1.13
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make test
make install
vi /usr/local/php/etc/php.ini
extension=apc.so
重启apache
查看phpinfo中是否已经有了此扩展;
lamp包下载:
http://pan.baidu.com/share/link?shareid=451959&uk=4110727625
一切OK 哈哈