Ubuntu server上安装Git server(with gitolite)

上次在Windows7上通过copssh配置了一个git server(参考这里)。头几天用的其实还算稳定,也就麻烦点,每次同步的时候都需要重新导入公钥。这两天却死活也无法同步,用git extensions, git bash都不行,后来用github内置的git却sync成功了,总之用Windows做git看来还是不太靠谱。

今天花了点时间在Ubuntu server上部署了git server,下面是我的步骤。综合多篇文章才搞定,谢谢这些好人先:

http://blog.csdn.net/xiqobai/article/details/8112068;

http://blog.csdn.net/markddi/article/details/8287978;

http://blog.csdn.net/sheismylife/article/details/7204345;

http://no001.blog.51cto.com/1142339/1084552;

阅读更多Ubuntu server上安装Git server(with gitolite)

Ubuntu用postfix发邮件

在Ubuntu中输入sendmail,如果你还没有安装sendmail,系统会提示你安装几种不同的客户端,其中第一个就是postfix。

之前我一直用的就是sendmail,发现发送一份邮件总需要几十秒;安装postfix后,不到一秒就发送完成,性能的改进可真是天翻地覆。

下面就简单复习下安装配置的命令: 部分参考(http://www.kuqin.com/linux/20120907/330217.html)

阅读更多Ubuntu用postfix发邮件

Android应用中发email

今天折腾Android应用中发email,遇到的问题不少啊!累的半死,写个总结,洗洗睡!

Android应用中发邮件一般有这几种方式:

(1)通过intent Email客户端来发,虽然简单,但会弹出邮箱窗口,在应用中不友好;

(2)通过调用第三方的Java mail库来发,参考这两篇:

http://stackoverflow.com/questions/2020088/sending-email-in-android-using-javamail-api-without-using-the-default-built-in-a

http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_(no_Intents)_in_Android

(3)第一第二中方法的结合,需要在客户端安装第三方应用。这样可以避免弹出发邮件对话框,但需要配置这个客户端也不方便。参考:http://tools.jackersoft.com/jmail/api.html

(4)通过网络服务器来发,Android中将需要发送的内容(比如通过JSON)POST出去。服务器端收到后执行发邮件操作。服务器可选的就很多了,比如PHP、JBOSS、GWT、PYTHON。

PHP可参考:

How to Handle JSon POST Request Using PHP

Ubuntu安装sendmail可参考:

http://sunnycoolboy.blog.sohu.com/182319658.html

Python可参考:(Python + CGI)

一种小公司省钱的网络共享配置

优点: 便宜+无线

缺点: 配置时必须考虑适配性,包括3G网卡的适配、打印机和路由器的视频;

 

  1. 为了节约宽带使用费,使用上海电信的3G上网流量包,60G包年400元;
  2. 需要购买一个3G无线路由器和适配的3G上网卡(或者自带modem的路由器),300-400元;
  3. 最便宜的不带网络的激光传真一体机,最便宜的大概1600块。不带传真在1000能搞定;
  4. 需要一个带USB共享功能的路由器用于连接打印机,大概200块;

全部花费:

带传真: 400+400+200+1600=2600

不带传真: 2000 ,其实传真也可以通过网络传真服务”手机传真邮”代替;

 

目前暂未发现带两个USB接口,同时支持3G上网和USB共享的路由器!其实有这样功能的路由器,可惜只有一个USB接口!不知道是否支持USB HUB多路接入???

ubuntu上安装bugzilla问题

之前按照这篇文章: http://www.cnblogs.com/silvercici/archive/2012/08/25/2655827.html(沐沐cici)

配置了bugzilla,可惜登录的时候遇到问题:

Forbidden

You don’t have permission to access /bugzilla/ on this server.

后来幸好发现了这篇文章:http://blog.csdn.net/lifangning/article/details/8220297 (lifangning)

才发现少做了一个操作:(修改目录权限)

sudo chown -R root:www-data /var/www/bugzilla

Windows7配置VPN/ssh/git/http/php

想配置个server,刚开始装了个试用版server2008,操作复杂不说,一周后就因为试用版原因自动关机了。无奈重新拾起Windows7专业版(正版哦),充当服务器的角色来。下面是配置http/ssh/vpn/git的记录,过程还是挺顺利的。对于小公司内部使用来说,Windows7做服务器完全胜任。

1. VPN

VPN是平衡移动办公的安全方案。之前冲着VPN买了个cisco的rv042,结果quickVPN实在太垃圾,几乎没法用!

Windows7的VPN配置却着实简单,参考这篇文章:http://www.win7china.com/html/15202.html,这边补充下防火墙和路由器设置。

(1)建立VPN: “网络和共享中心”-》“更改适配器设置”-》“文件”-》“新建传入连接”-》选择用户和密码-》指定IP。

(2)防火墙设置:“控制面板”-》“管理工具”-》“高级安全防火墙”-》“入站规则”-》“新建规则”-》“端口”。这边只需要配置一条规则,TCP/1723(这个就是PPTP)就行了。

(3)路由器设置: 在路由器“转发规则”中增加一个PPTP(TCP/1723)到你的服务器IP就好了。

配置完成后,重启下服务器就好了。至于VPN的使用,就更简单了。

2. http和php:

http是最基本的服务了,php+mysql更是很大开源工具的首选。

http服务只需要在Windows组建中选择IIS就可以了,而PHP也很简单,到PHP官网下载一个x86的包,然后选择fastCGI。有时候需要设置文件夹的权限,只需要在“安全”选项中增加iis_user的fullcontrol。

最后就是在防火墙设置中增加一条http的入站规则。

需要注意的是,配置完成后需要重启电脑。

3. ssh和git

git是个很好用的版本控制工具,非常感谢这篇文章(by JINWeijie):http://www.codeproject.com/Articles/296398/Step-by-Step-Setup-Git-Server-on-Windows-with-CopS,具体的步骤有点区别。

(1)安装msysgit,并配置环境变量;

(2)配置ssh服务。到CopSSH官方下载安装一个免费版本,然后选择“activateUser”激活一个用户,可以在安装文件夹的/home中得到一个user.key文件(私钥)。然后记得配置一下profile:

export PATH="/bin:$syspath:$winpath:/cygdrive/c/git/bin:/cygdrive/c/git/libexec/git-core"

(3)通过puttygen加载这个user.key得到一个putty使用的密钥文件*.ppk。

(4)服务器端通过GitExtensions创建一个新的档案库,客户端通过GitExtensions克隆这个档案库,地址就是ssh的地址啦。客户端在克隆的时候记得加载这个ppk密钥文件。

LinearLayout的一些小道道

平板的UI设计和手机的一般不一样,平板因为可视面积大,希望尽量多放一些东西。这时候最好用的就是LinearLayout了,因为其中一个layout_weight属性,可以按照比例分布,非常实用。

但是有时候却出现不是你希望的比例,怎么回事呢?其实这个Layout有一些这样的约定:

比如横向排列horizontal的Linear,这个layout_weight是受到layout_width约束的,

(1) layout_width 为 0 dp,则按照layout_weight的比例显示;

(2) layout_width 为 xx dp,则以这个确定的xx显示,layout_weight无效;

(3) layout_width 为match_parent/fill_parent, 则充满它的容器,layout_weight无效;

(4) layout_width 为wrap_content, 如果widget小,layout_weight有效,否则以wrap_content为准;