热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

安装和配置berkeleydb.4.5+sendmail-8.14.2

我在安装sendmail时,使用makemap生成数据库文件,出现过以下问题:makemaphash/etc/mail/access/etc/mail/access出错:makemap:Needtorecompilewith-DNEWDBforhashsupport!”使用whichmakemap命令查找,没有make

我在安装sendmail时,使用makemap生成数据库文件 ,出现过以下问题:

makemap hash /etc/mail/access makemap: Need to recompile with -DNEWDB for hash support!”

 使用which makemap 命令查找,没有makemap可执行文件。我的运行环境是:

操作系统:CentOS 5.1
安装软件:Sendmail.8.14.2  cyrus-sasl-2.1.15 m4-1.4.2

  首先分析原因,使用makemap生成数据库出错,系统给出的理由是如果需要hash支持,需要重新编译时,加上-DNEWDB选项。

加上-DNEWDB选项

    那么“-DNEWDB”选项指的是什么?在什么文件里加上这个选项呢?我需要首先解决这两个问题。我到网上搜索,还是一无所获,忽然想起可以使用man命令,查找makemap帮助。我马上在终端窗口键入man makemap,浏览完毕,有一条信息给了我很大的启发,“hash   Hash format maps.  This also requires the Berkeley DB library.”,原来Hash依赖Berkeley DB library库,那么加上-DNEWDB选项,就是要告诉系统编译时须加上Berkeley DB library库的支持。我赶紧在网上down了一个db-4.5.20.tar.gz,具体的安装步骤为:

$tar zxvf db-4.5.20.tar.gz
$cd db-4.5.20/build_unix
$../dist/configure
$make
$su
#make install

    默认的安装路径为/usr/local/ BerkeleyDB.4.5/,头文件在/usr/local/BerkeleyDB.4.5/include/*,库文件在/usr/ local/BerkeleyDB.4.5/lib/*。

   BerkeleyDB.4.5库安装完后,下一步便是该如何配置文件,如何让sendmail编译时gcc自动搜索到BerkeleyDB.4.5库的头文件和库文件。

如何配置BerkeleyDB.4.5库

    我在配置sasl2时,需要使用sendmail源代码目录下的devtools/Site/site.config.m4文件,我想加载BerkeleyDB.4.5库也需要在这里配置。我首先打开devtools/Site/site.config.m4.sample文件,这是site.config.m4配置文件的一个样本,里面告诉你怎样配置site.config.m4文件。令我惊喜的是,我从里面查找到“how to add support for a particular map class.”并告诉我具体的方法:

dnl ### Changes for PH_MAP support.
APPENDDEF(`confMAPDEF',`-DPH_MAP')
APPENDDEF(`confLIBS', `-lphclient')
APPENDDEF(`confINCDIRS', `-I/opt/nph/include')
APPENDDEF(`confLIBDIRS', `-L/opt/nph/lib')

  那么如果我希望hash支持,只需要更改一下参数即可。由于没有site.config.m4文件,我们需要重新创建一个。使用vi  site.config.m4命令,加入:

APPENDDEF(`confMAPDEF',`-DNEWDB')
APPENDDEF(`confLIBS', `-ldb')
APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.5/include')
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.5/lib')

sendmail-8.14.2下载及安装

Sendmail的最新版本为:8.14.2,文件大小为1.2MB。
1.解压缩
# tar -zxvf Sendmail-8.14.2.tar.gz
#cd Sendmail-8.14.2
如果软件包是rpm格式,则解压安装如下:
#rpm -ivh Sendmail-8.14.2-src.rpm
2.编译
#sh Build
如果不出什么问题,编译通过,编译完成后会自动生成目录:obj.linux.2.2.18.i686(这是笔者的核心名称,也许你的内核名称与此不同)。
3.安装
#sh Build install
如果是rpm 格式的软件包,则应编译如下:
# rpm -ba Sendmail-8.14.2.spec
#rpm -ivh Sendmail*.rpm
至此编译、安装完成

# cd cf/cf

# cp generic-linux.mc sendmail.mc

# make install-cf

# cp sendmail.mc /etc/mail

# cd /etc/mail

# touch aliases access

# echo "主机域名">local-host-name(或直接打开local-host-name对其进行编辑)

# echo "localhost    RELAY">>access

# makemap hash access.db

# /usr/lib/sendmail -bd -q30m

# /sbin/server sendmail start 这样就可以正常运行sendmail了

附;如出来找不以libdb-*.*.so错误,可到/usr/local/BerkeleyDB.*.*/lib找到所对应的文件,把对应的文件拷至/usr/lib就可以把问题解决了


推荐阅读
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在Linux系统中设置文件ACL权限的方法和使用说明,包括在centos7.3和centos6.9中开启ACL权限的两种方法:在挂载时指定打开ACL权限和修改默认的属性信息。同时提供了对ACL权限的详细解释和应用场景。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
author-avatar
黄初伦伟彦宜婷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有