[LTMP搭建] Centos 6.5 安装常用库文件
接上篇 http://www.cnblogs.com/antarctican/p/3747420.html
环境是本地虚拟机下 32位的CentOS 6.5 + php 5.3.5, 以及VPS的 64位CentOS 7 + php 5.4.32。 会遇到不同的error折腾。
一 、有一些必要的如 gcc 、gcc-c++ 以及一些可选的扩展,手动安装很麻烦,所以集中安装
yum -y install gcc gcc-c++ autoconf libxml2 libxml2-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 openldap openldap-devel nss_ldap openldap-clients openldap-servers
二、以下我手动编译安装到指定位置, 首先 cd /usr/local/src/
1. 安装PCRE (约2M)。 PCRE非常重要,后面有几个程序openssl、rewrite等要依赖于它
[root@localhost src]# wget -c http://jaist.dl.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz [root@localhost src]# tar -zvxf pcre-8.35.tar.gz [root@localhost pcre-8.35]# ./configure --prefix=/usr/local/lib/pcre --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
2. 安装 zlib 。 可到 http://www.zlib.net 找版本
[root@localhost pcre-8.35]# wget -c http://cznic.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz
[root@localhost pcre-8.35]# tar -zvxf zlib-1.2.8.tar.gz
[root@localhost zlib-1.2.8]# ./configure --shared
[root@localhost zlib-1.2.8]# make test
[root@localhost zlib-1.2.8]# make install
[root@localhost zlib-1.2.8]# cp zutil.h zutil.c /usr/local/include # 复制到include
3. 安装 openssl, —— 这是一个很慢的过程。版本列表: http://www.openssl.org/source/
[root@localhost src]# wget -c http://www.openssl.org/source/openssl-1.0.1i.tar.gz
[root@localhost src]# cd openssl-1.0.1i
[root@localhost openssl-1.0.1i]# ./config --prefix=/usr/local/openssl --shared zlib-dynamic enable-camellia // 参数带不带--的区别不清楚
[root@localhost openssl-1.0.1i]# ./config t # 可忽略
[root@localhost openssl-1.0.1i]# make depend
[root@localhost openssl-1.0.1i]# make test # 可忽略
[root@localhost openssl-1.0.1i]# make && make install
### 安装完毕, 设置软连接和补充ssl路径
[root@localhost openssl-1.0.1i]# cd /usr/local/
[root@localhost local]# ln -s openssl ssl
[root@localhost local]# cd /etc/ld.so.conf.d
[root@localhost ld.so.conf.d]# touch www-lib.conf # 当前目录的所有 .conf 文件都会被载入
[root@localhost ld.so.conf.d]# echo '/usr/local/openssl/lib' > www-lib.conf # 注:此处 ‘/usr/local/openssl/lib’ 目录为 libssl.so.x.x.x 的所在目录。
[root@localhostld.so.conf.d]# ldconfig
当我运行 # openssl version , 版本号仍然是之前的版本, 继续搜索
@ 关于环境变量(这是一个山寨网站上看到的——虽然我没有尝试其他方法,但我想这方法有点迂):
# vi /root/.bash_profile, 打开文件有以下这么一段:
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
添加openssl/bin路径到PATH: i 编辑如下:
PATH=/usr/local/openssl/bin:$PATH:$HOME/bin
:wq 保存退出。
@附: 执行 # ldd /usr/local/openssl/bin/openssl 可看到输出 核心文件及路径
4. 安装 libiconv 。 这个手动安装主要是我rpm库里没有。 http://www.gnu.org/software/libiconv/
wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar -zvxf libiconv-1.14.tar.gz cd libiconv-1.14
./configure --prefix=/usr/local/libiconv make && make install cd ../
make install 步骤可能出现以下错误:
./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
解决方法是在 make 之前运行
# sed -i '/gets is a security hole/d' srclib/stdio.h
接着make 搞定。
5. 安装 libmcrypt。 ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt
# ./configure /**** --prefix=/usr/local/libmcrypt ***/ // *注意: 再次在centos 7.x86_64 + php 5.4.下安装是总找不到。建议安装libmcrypt时不要用 --prefix
# make && make install
建立符号链接, 不明觉厉。
[root@localhost src]# ls -al /usr/local/libmcrypt/lib/libmcrypt* [root@localhost src]# ln -s /usr/local/libmcrypt/lib/libmcrypt.la /usr/lib/libmcrypt.la [root@localhost src]# ln -s /usr/local/libmcrypt/lib/libmcrypt.so /usr/lib/libmcrypt.so [root@localhost src]# ln -s /usr/local/libmcrypt/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4 [root@localhost src]# ln -s /usr/local/libmcrypt/lib/libmcrypt.so.4.4.7 /usr/lib/libmcrypt.so.4.4.7
6. 安装 libmhash 。 http://sourceforge.net/projects/mhash/
[root@localhost src]# wget -c http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2
[root@localhost src]# tar -jvxf mhash-0.9.9.9.tar.bz2
[root@localhost src]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ./configure
[root@localhost mhash-0.9.9.9]# make && make install
[root@localhost mhash-0.9.9.9]# cd ../
#### 查看/usr/local/lib下 libmhash文件, 建立符号链接到 /usr/lib/
[root@localhost src]# ls -al /usr/local/lib/libmhash*
[root@localhost src]# ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
[root@localhost src]# ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
[root@localhost src]# ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
[root@localhost src]# ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
[root@localhost src]# ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
接下篇: http://www.cnblogs.com/antarctican/p/3748427.html
(本文仅个人经验, 不作教程, 仅供参考)