安装环境及软件版本:
OS: Ubuntu 14.10
openssl: 1.0.1f
cyrus-sasl: 2.1.26 http://cyrusimap.org/index.php
Berkeley DB: 5.2.36 http://www.oracle.com/technetwork/cn/database/database-technologies/berkeleydb/downloads/index-086374-zhs.html
openldap: 2.4.42 http://www.openldap.org/software/download/
一、openssl的安装
openssl是所有软件的依赖,所以必须要装好。直接使用 apt-get
安装。
openssl:
sudo apt-get install openssl
libssl-dev,各种头文件,cyrus-sasl的依赖库:
sudo apt-get install libssl-dev
如果这时提示 "Unable to locate package libssl-dev"
,先更新安装库,执行
sudo apt-get update
libssl1.0.0,安装前可以用 sudo apt-cache search libssl
来查看最新的版本号:
sudo apt-get install libssl1.0.0
二、cyrus-sasl的安装
解压安装包
tar -zxf cyrus-sasl-2.1.26.tar.gz
进入目录
cd cyrus-sasl-2.1.26
配置环境
env CPPFLAGS="-I/usr/include/openssl" ./configure
前半句 env CPPFLAGS="-I/usr/include/openssl"
很重要,是用来包含编译时需要用到的头文件,不包含会报错。若前面没有安装 libssl-dev, libssl1.0.0 也会出错,没有相应目录。
编译生成
make
安装到系统
sudo make install
默认是安装到 /usr/local/lib/sasl2
目录
添加到系统环境
sudo ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
若不添加,系统会找不到sasl
三、BerkeleyDB的安装
解压安装包
tar -zxf db-5.2.36.gz
进入build_unix目录
cd db-5.2.36/build_unix
配置环境
../dist/configure --prefix=/usr/local/BerkeleyDB --enable-cxx
其中 –enable-cxx
是编译C++库,这句话不是必须的
编译生成安装
make
sudo make install
添加到系统环境(要切换到root用户执行)
echo "/usr/local/BerkeleyDB/lib" > /etc/ld.so.conf.d/slapd.conf
ldconfig
这2句的作用就是通知系统Berkeley DB的动态链接库在 /usr/local/BerkeleyDB/lib/
目录
四、openldap的安装
安装openldap建议在一个独立的Terminal中执行,因为需要设置临时环境变量。
解压安装包
tar -zxf openldap-2.4.42.tgz
进入目录
cd openldap-2.4.42/
安装openldap前准备:配置环境变量,参考openldap install文件
export CPPFLAGS="-I/usr/local/BerkeleyDB/include -D_GNU_SOURCE"
注:不设置make时报 getpeereid.c:65: error: storage size of ‘peercred’ isn’t known
错误。
export LDFLAGS="-L/usr/local/BerkeleyDB/lib"
注:不设置configure时报 configure: error: BDB/HDB: BerkeleyDB not available
错误。
export LD_LIBRARY_PATH="/home/XXX(当前用户名)/Download/db-5.2.36/build_unix/.libs"
注:不设置configure时报 configure: error: Berkeley DB version mismatch
错误。在这里直接使用安装包中的依赖库,而不是软件目录中的依赖库,防止出错。
安装依赖库。若没有此步,执行configure时会报错 configure: error: could not locate libtool ltdl.h
。
sudo apt-get install libtool
配置、生成
./configure --enable-modules --enable-monitor
make depend
make
生成之后测试软件
make test
安装
su root -c 'make install'
该命令的作用是切换到root用户执行安装