lizongbo at 618119.com 工作,生活,Android,前端,Linode,Ubuntu,nginx,java,apache,tomcat,Resin,mina,Hessian,XMPP,RPC

2014年09月15日

在Linode VPS上安装配置Apache James 3.0

Filed under: Java,Linux — 标签:, , — admin @ 14:50

在Linode VPS上安装配置Apache James 3.0,服务器是Linode的VPS,操作系统是Ubuntu 14.04 64位
1.先下载

http://mirrors.ibiblio.org/apache//james/apache-james/3.0beta4/apache-james-3.0-beta4-app.tar.gz

来自:http://james.apache.org/download.cgi#Apache_James_Server

root@618119.com:/usr/local/app# wget http://mirrors.ibiblio.org/apache//james/apache-james/3.0beta4/apache-james-3.0-beta4-app.tar.gz

2.解压:

root@618119.com:/usr/local/app# tar -zxvf ./apache-james-3.0-beta4-app.tar.gz

3.修改配置文件:
进入/usr/local/app/apache-james-3.0-beta4/conf 目录。
先把配置文件模板复制一份成配置文件

root@618119.com:/usr/local/app/apache-james-3.0-beta4/conf# cp ./dnsservice-template.conf ./dnsservice.conf
root@618119.com:/usr/local/app/apache-james-3.0-beta4/conf# cp ./domainlist-template.conf ./domainlist.conf
root@618119.com:/usr/local/app/apache-james-3.0-beta4/conf# cp ./smtpserver-template.conf ./smtpserver.conf

然后分别编辑这三个文件。
dns server 增加
<server>8.8.8.8</server>
<server>114.114.114.114</server>

domainlist.conf修改为:
<!– XML based implementation for DomainList –>
<domainlist class=”org.apache.james.domainlist.xml.XMLDomainList”]] >
<domainnames>
<domainname>mail.lizongbo.com</domainname>
<domainname>lizongbo.com</domainname>
</domainnames>
<autodetect>true</autodetect>
<autodetectIP>true</autodetectIP>
<defaultDomain>mail.lizongbo.com</defaultDomain>
</domainlist>

(实际发现这个没效果,还是通过命令加域名比较靠谱)
smtpserver.conf
增加如下配置:
<authRequired>announce</authRequired>
<verifyIdentity>true</verifyIdentity>

4.由于服务器用的jdk版本较高,会触发一个bug。

因此需要下载 http://jaxb.java.net/2.1.13/JAXB2_20100510.jar 提取jaxb-impl.jar 放到 james 的lib目录下面:
quickli-nb:lib lizongbo$ scp ./jaxb-impl.jar root@lizongbo.com:/usr/local/app/apache-james-3.0-beta4/lib

参考:
http://james.apache.org/server/3/install.html

5.运行测试

启动还是出错
于是下载最新的SNAPSHOT版本:

http://repository.apache.org/content/repositories/snapshots/org/apache/james/james-server-app/3.0.0-beta5-SNAPSHOT/james-server-app-3.0.0-beta5-20140913.003752-643-app.tar.gz

参考:http://stackoverflow.com/questions/16154201/start-apache-james-with-jdk-1-7

root@618119.com:/usr/local/app# wget http://repository.apache.org/content/repositories/snapshots/org/apache/james/james-server-app/3.0.0-beta5-SNAPSHOT/james-server-app-3.0.0-beta5-20140913.003752-643-app.tar.gz

root@618119.com:/usr/local/app# tar -zxvf ./james-server-app-3.0.0-beta5-20140913.003752-643-app.tar.gz

把改好的配置同步过去

root@618119.com:/usr/local/app# cp /usr/local/app/apache-james-3.0-beta4/conf/dnsservice.conf  /usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/conf
root@618119.com:/usr/local/app# cp /usr/local/app/apache-james-3.0-beta4/conf/domainlist.conf /usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/conf
root@618119.com:/usr/local/app# cp /usr/local/app/apache-james-3.0-beta4/conf/smtpserver.conf /usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/conf

此时不需要更新jaxb也能正常启动了。

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james start
Starting Apache James :: Server :: App…
./james: 1: eval: /usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin/./wrapper-linux-x86-32: not found
root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# sudo apt-get install libc6 libc6-dev

6.通过命令来加东西

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 adddomain email.lizongbo.com
adddomain command executed sucessfully in 262 ms.

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 listdomains
email.lizongbo.com
localhost.
96.126.96.170
127.0.0.1

listdomains command executed sucessfully in 3571 ms.

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 adddomain mail.lizongbo.com
adddomain command executed sucessfully in 253 ms.

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 listdomains
email.lizongbo.com
mail.lizongbo.com
localhost.
96.126.96.170
127.0.0.1

listdomains command executed sucessfully in 165 ms.

7.先添加域名,再添加测试账号

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 adduser postmaster 618119
Error while execute command:
Given Username needs to contain a @domainpart
root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 adduser postmaster@mail.lizongbo.com 618119
adduser command executed sucessfully in 171 ms.

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 adduser admin@mail.lizongbo.com lizongbo
adduser command executed sucessfully in 164 ms.

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james-cli.sh  -h 127.0.0.1 -p 9999 listusers
admin@mail.lizongbo.com
postmaster@mail.lizongbo.com

8.配置wrapper.conf,替换 wrapper-linux-x86-32。

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# vi ../conf/wrapper.conf
(指定了java 启动命令来源:)
wrapper.java.command=/usr/local/app/jdk/bin/java

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# cp ./wrapper-linux-x86-64  ./wrapper-linux-x86-32
root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./wrapper-linux-x86-32

不替换的话,启动会报错,因为服务器是64位的:

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin# ./james start
Starting Apache James :: Server :: App…
./james: 1: eval: /usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin/./wrapper-linux-x86-32: not found

9.然后再安装成系统服务:

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT# ln -s /usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin/james /etc/init.d/james
root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT# ls /etc/init.d/james  -alh
lrwxrwxrwx 1 root root 62 Sep 14 04:38 /etc/init.d/james -> /usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT/bin/james
root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT# service james start

root@618119.com:/usr/local/app/james-server-app-3.0.0-beta5-SNAPSHOT# service james restart
Stopping Apache James :: Server :: App…
Stopped Apache James :: Server :: App.
Starting Apache James :: Server :: App…

这样就成了系统服务了。

10.再在name.com  添加mx记录,将mail.lizongbo.com 的域名指向运行Apache James的服务器,就可以了。

2014年08月18日

Linode VPS从 Ubuntu 12.04 升级到 Ubuntu 14.04

Filed under: Linux — 标签:, , — admin @ 10:40

Linode VPS从 Ubuntu 12.04 升级到 Ubuntu 14.04

linode官网现在还是只有升级到Ubuntu 12.04的步骤
参考:
https://www.linode.com/docs/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise
升级到Ubuntu 14.04的步骤是一样的,但是升级过程中出现个错误信息,出错信息如下:

Error in sys.excepthook:
Traceback (most recent call last):
File “/tmp/update-manager-Ik4Dhk/DistUpgrade/DistUpgradeViewText.py”, line 108, in _handleException
“\n”.join(lines))
File “/tmp/update-manager-Ik4Dhk/DistUpgrade/DistUpgradeViewText.py”, line 142, in error
print(twrap(summary))
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-5: ordinal not in range(128)

Original exception was:
Traceback (most recent call last):
File “/tmp/update-manager-Ik4Dhk/trusty”, line 10, in <module>
sys.exit(main())
File “/tmp/update-manager-Ik4Dhk/DistUpgrade/DistUpgradeMain.py”, line 230, in main
app = DistUpgradeController(view, options, datadir=options.datadir)
File “/tmp/update-manager-Ik4Dhk/DistUpgrade/DistUpgradeController.py”, line 126, in __init__
self._view.updateStatus(_(“Reading cache”))
File “/tmp/update-manager-Ik4Dhk/DistUpgrade/DistUpgradeViewText.py”, line 122, in updateStatus
print(msg)
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-5: ordinal not in range(128)
=== Command detached from window (Fri Aug 15 11:42:55 2014) ===
=== Command terminated with exit status 1 (Fri Aug 15 11:42:55 2014) ===

在网上找资料看了说是没设置LC_ALL导致的。
参考:
http://blueecho.info/wp/?p=78

修改/root/.bashrc文件

命令 vi /root/.bashrc

按A,然后在文件末尾添加

export LC_ALL=C

按Esc,再按冒号和W和Q,

再运行  source /root/.bashrc 使修改后的文件生效。

然后再运行screen命令,再运行 sudo do-release-upgrade。

 

 

2010年10月20日

在linode.com购买vps部署Ubuntu Server 10.04 LTS 64bit

Filed under: Linux,nginx — 标签:, , , — lizongbo @ 23:08

在购买linode的VPS之前,先做了一些准备工作:
首先参考 http://www.blogkid.net/linode 等关于linode的文章介绍,对linode的各方面特点进行了了解。
知道了可以部署Ubuntu等Linux版本,并且自己控制操作系统的root帐号。
购买linode的VPS付款方式主要支持美元信用卡,因此特意在招商银行申请了招商银行双币信用卡,是VISA卡支持美元支付。
招行的个人信用卡从申请到收到卡大概需要三个星期左右。
在申请信用卡期间:则主要浏览linode知识库里的文章,参考: http://library.linode.com/
并在本地的Ubuntu 10.04 操作系统上编译安装nginx和resin等服务器程序。
在拿到信用卡之后,对信用卡的网上支付知识又进行了了解,重点关注CVV码(在信用卡背面签名栏的最后的三位数字)。

万事具备之后,开始购买linode的VPS.
1.开始访问http://linode.com/ ,点任何一个方案下面的 Sign Up Now!(这里其实并没有选择套餐),进入 https://www.linode.com/signup/
2.在 https://www.linode.com/signup/ 需要填写内容的各项含义和作用如下:
Linode.com Username:在linode.com登录的账户名,我填写的lizongbo
Linode.com Password:在linode.com登录的密码,大写字母A到Z,小写字母a到z,数字0到9,特殊符号~!#$%^&*()_+等,至少必须有这四种字符中的两种。因此有必要仔细想好密码再注册,否则注册完之后不记得密码的话只能靠邮箱找回密码了。
E-Mail Address:非常重要,找回用户名和重置登录密码就靠它了。因此邮箱的密码也一定要牢固。
How did you hear about us?:应该是linode.com用来统计用的,因此随便填个网址即可,不介意的也可以填:http://618119.com/
Company Name:是可选项,个人就不用填了。
Billing First Name:账单上的姓,我填Li。
Billing Last Name:账单上的名,我填Zongbo。
Billing Address:账单地址,我填了个英文的,例如:
Billing Address 2 :是可选项,不用填了。
Billing City:所在城市,我填的Shenzhen。
Billing State:所在省份,我填Guangdong。
Billing Zip/Postal Code:所在地区的邮编,我填的518000
Billing Country:所在国家,按字母c,多按几次,找到 CN-China,这个选项。
Credit Card Number:输入信用卡卡号。
Expiration Date:选择信用卡上的有效期,月份在前面,年在后面。
CVV:信用卡的CVV码,很重要,在不能完全信任的网站上千万别填这个。
Select your plan,这里才是真正选linode套餐的地方,我选择的是Linode 512 这个套餐计划,内存512M,月付$19.95,磁盘总存储空间16GB,每月网络流量200GB。
Payment Term:付费方式,我选的是Month to month,即每月支付,12 months (10% discount)是一次付一年12个月的可以享受9折优惠,24 months (15% discount)是一次付两年24个月的,可以享受八五折优惠。;现在人民币对美元升值,提前付款不划算了。
Referral Code:推荐码,可填可不填,可以填我的推荐码:1feb04bc629af5b07b3eb99f8ad304d37843a056。
(注册成功之后,可以在https://manager.linode.com/profile/index查看属于自己的推荐码,linode官方对referral code的描述如下:
Referrals reward you when you refer people to Linode. If someone signs up using your referral code, you’ll receive a credit of $20.00, so long as the person you referred remains an active customer for 90 days.
意思是如果有人在购买linode的vps填写了推荐码,并且使用linode的vps超过90天以上,那么推荐码的主人就可以得到$20的优惠。
我的推荐码是 1feb04bc629af5b07b3eb99f8ad304d37843a056,可直接点击链接: http://www.linode.com/?r=1feb04bc629af5b07b3eb99f8ad304d37843a056 进行注册。
http://www.blogkid.net/linode 的张磊的Referral Code为: 2cea6fcaa1db11c5d52af67b20529505208b49fc )
Promotion Code:优惠码,这项不用填。至少我搜索了很久,根本没见到像name.com那样真正的优惠码,网上各种以linode 优惠码进行seo和宣传的文章,几乎都是骗人的,实际就是上面提到的推荐码,
打着优惠码的旗号骗大家填他的推荐码。所以这项保持为空就可以了。(也许将来某天会有linode的优惠码, 但是一定要仔细识别真假,别被忽悠了,网上说的一个优惠码是storecrowd,号称使用完一个月后返还10美元,但没见有人明确确认是否得到了优惠,因此不能确定真假)

以上信息都填写好了之后,点Continue进入下一步。

linode在校验信息ok和支付成功之后,就可以用刚刚注册的账号和密码进行登录了。

这里的第一次扣费不是按一个月扣的,而是从当前日期到月底计算的天数,按天收费的。
比如我是17号购买的,实际扣费是$9.66,(计算公式估计是: (9.66 / (31 – 16)) * 31 = 19.964001)。

选的新的Beta版linode管理界面,入口是: https://manager.linode.com/
登录之后,开始选择VPS需要部署的IDC机房,http://www.linode.com/speedtest/ 提供了每个机房的测试下载文件,可以使用单线程下载工具下载进行测速。
最好多试几次,在测试的时候发现London, UK;Newark, NJ ;Atlanta, GA ;Dallas, TX ,Fremont, CA这五个机房都可能下载速度到250k,也可能只有不到10k。
在多次测试后,感觉Dallas, TX的速度相对稳定一些。于是选择了达拉斯机房。 Dallas, TX, USA 。
然后操作系统选择的Linux版本为: Ubuntu 10.04 LTS 64bit,(都是Server版)
swap区为512m.剩下的磁盘空间都分在一起了。
点Deploy进行部署。等一会部署完成后,再到Dashboard 面板里将部署的Ubuntu 10.04 LTS启动。
再切换Remote Access的tab,在这里可以看到 ssh命令的写法,可以看到服务器的公网ip.默认没分配内网ip,需要点一下添加,才会给分配一个内网的ip。
可以点Launch Lish Ajax Console先在web上体验一下远程ssh连接上去操作的感觉。

使用uname -a查看 当前操作系统的信息为:
Linux li206-174 2.6.35.4-x86_64-linode16 #1 SMP Mon Sep 20 16:03:34 UTC 2010 x86_64 GNU/Linux.

更新升级Ubuntu Linux的命令为先运行apt-get update,然后运行apt-get dist-upgrade
root@618119.com:/usr/local/app# apt-get update
root@618119.com:/usr/local/app# apt-get dist-upgrade

Powered by WordPress