[实践证明整理系列]CentOS 6中简单架设Apache James邮件服务器(续1)——用户和邮件存到数据库
参考
1. james+mysql? ??http://godchenmeng.iteye.com/blog/5166802.?MYSQL用户权限管理(Grant,Revoke)? ??http://read.newbooks.com.cn/info/197474.html
序网络上资源丰富,但不知为什么,当我按照网上一些技术文章一步一步操作后,得到的结果总是失败,问题重出。而且天下文章一大抄,通过搜索找来的结果大多完全相同。于是决定记录自己一步一步明确的操作,总结成文章,以方便自己日后查阅,也许也能对其他人有所帮助。
本篇序在上篇《CentOS 6中简单架设Apache James邮件服务器》中已经搭建好James邮件服务,但用户和邮件都是保存在文件中的,不便于管理和查询。为此本篇将配置James服务,把用户和邮件信息保存在数据库中。
目的在CentOS中配置James邮件服务,使用数据库(MySQL)存储用户和邮件信息。
操作环境服务器硬件 : EeePC 701(超烂配置)服务器系统 : CentOS 6Java : java?1.7.0James :?James Mail Server 2.3.2
步骤1. 下载并安装MySQL需要MySQL请到Oracle的网站下载,这怎么听来怪怪的?呵呵,其实不用啦。
#yum mysql-server mysql?运行这条命令就搞定了。
#service mysqld start?启动MySQL数据库服务,再通过mysql命令进入mysql管理工具。为了方便管理,在MySQL创建一个数据库“maildb”,再新建MySQL用户“maildbuser”。
#mysql -u root -pmysql>create database maildb;mysql>create user maildbuser;mysql>use maildb;mysql>grant SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP on maildb to maildbuser@localhost identified by '1234';?下载MySQL的JDBC驱动包,并放在James目录中的lib目录下。
2. 配置用户到MySQL数据库打开James的config.xml配置文件
#vi james_home/apps/james/SAR-INF/config.xml?找到
……<repository name="LocalUsers" name="code">……<repository name="LocalUsers" destinationURL="db://maildb/users"> <sqlFile>file://conf/sqlResources.xml</sqlFile></repository>……?3. 配置邮件到MySQL数据库在config.xml找到
……<inboxRepository> <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/></inboxRepository>……?注释之,添加如下配置
……<inboxRepository> <repository destinationURL="db://maildb/inbox/" type="MAIL"/></inboxRepository>……?4. 配置SPOOL到MySQL数据库(SPOOL到底是什么?)在config.xml找到
……<spoolrepository destinationURL="file://var/mail/spool/" type="SPOOL"/>……?注释之,添加如下配置
……<spoolrepository destinationURL="db://maildb/spool/spool" type="SPOOL"/>……?5. 配置数据库信息再在文件中搜索“data-source”,找到如下配置
……<data-source name="maildb" name="code">#./run.sh?OK,James会在maildb数据库中创建表,“users”、“inbox”、“spool”表。同样可以telnet丑陋的文字控制台adduser,创建用户后再到MySQL数据库中select一下。
mysql>select * from users;?在users表中就有了刚刚创建的用户,同样,也可以通过insert记录到users表中来创建新用户。
mysql>select * from inbox;mysql>select * from spool;?