为ubuntu 14.04 LTS设置固定IP

初始安装的时候,系统默认是自动获取IP地址的。

需要设置成静态IP的话,将这个文件的后面部分改为

 

 

 

 

ubuntu 14.04 LTS中安装fcitx中文输入法

其实fcitx不是一个输入法,更准确的说是一个输入法框架。ubuntu中默认的输入发框架是ibus,只不过ibus上的中文输入发非常难用,比如拼音输入法好多字和词都打不了,“确实”这个词用拼音得打qshi。fcitx相对来说就好用多了,可以安装拼音,五笔,中文输入法的体验跟windows没多大差别。 阅读全文

ubuntu 14.04 LTS下从源代码编译安装linphone

linphone是一个开源的音频, 视频通话软件, 在liblinphone框架的基础上, 可以为包括android, ios, wp8, desktop ( linux, windows, mac os ), 以及web在内的平台开发应用程序. 并且不同平台之间的应用程序可以互相通信.

本文介绍如何在ubuntu (linux) 下从源代码编译安装linphone 3.7.0. 我刚开始研究音视频通话系统, 还没有弄清楚各组件的作用, 所以本文不会解释linphone依赖的各组件有什么作用, 只是列出组件之间的依赖关系, 以及如何安装他们.

本文的主体结构和安装步骤主要来自两个资料, 一是linphone 3.7.0源码包里面的README文件, 另一个是这篇文章: Compiling Linphone 3.7.0 with TLS and ZRTP support. 除此之外, 就是由于系统环境的差异, 以及自己对linux操作还不太熟悉而碰到的问题, 我会在文章末尾列出我解决这些问题的参考资料.

阅读全文

AnyChat音视频对讲演示版本部署

如果需要测试AnyChat的视语音、视频对讲,需要运行的有一个服务器程序,以及用来两个互相通话的客户端程序。我这里将服务器程序运行在一台装有windows server 2008 R2的PC上,一个客户端程序运行在一台装有windows 7的PC上,另一个客户端程序运行在android手机上。几个设备之间只要保证客户端能和服务器通信就可以了,并不要求服务器有独立IP。AnyChat是跨平台的,你可以选择任意支持的平台部署客户端和服务器:

AnyChat支持跨平台的应用,服务器支持WindowsLinux、Unix等所有主流服务器操作系统,客户端目前支持WindowsLinux(x86、ARM)Android以及iOS(iPhone、iPad)平台等,目前正在研发Win Phone8等平台。

阅读全文

斯托克代尔悖论: 从一则故事中得到的启示

以下内容摘自从优秀到卓越, 第四章 直面残酷的现实(但决不失去信念). 这则故事应该会对我产生长期地深远的影响, 让我活得更释然.

当然,不是所有实现跨越的公司都面临如同联邦国民抵押协会一般的可怕危机;至少一半以上没有。但是每一家实现跨越公司在通往成功的道路上都是困难重重,经历这样或那样的挫折。如吉列公司面临收购战,纳科尔公司面临进口问题,富国银行遭遇银行业取消管制,皮特尼·鲍斯公司有失去垄断的危险,雅培公司面临产品撤消,克罗格公司必须改变几乎所有商店的经营模式,等等。但在每一个案例中,他们的管理队伍都显示出极大的心理承受能力。一方面,他们平静地接受了残酷的现实;另一方面,他们对自己坚信不移,相信不论道路如何险阻,前途一定是光明的。我们把这种耐力称之为“斯托克代尔悖论”。

说到这里,我们有必要谈及海军上将吉姆·斯托克代尔,他是越战激烈的时期“河内希尔顿”战俘营关押的美方最高军事指挥官。 阅读全文

利用GoAgent及SwitchySharp登陆stackoverflow.com

由于stackoverflow使用了包括google在能的js CDN, 这些CDN文件有些必须通过代理才能访问. 所以当你试图登陆stackoverflow的时候, 首先是要等很久才能加载完成, 再一个页面也变得很奇怪, 这是因为浏览器没能成功加载那些js文件. 所以登陆stackoverflow是需要翻墙的.

问题是, 虽然google的CDN是可以直接访问的, 但由于goagent代理是运行在google自己的服务器上, 所以google不允许使用goagent访问其他google服务, 包括这些CDN文件

这让我们面临一个两难的境地, . 也就是说, 如果你用goagent来翻墙, 那么虽然你可以加载stackoverflow使用的其他CDN提供的js文件, 但你不能加载google提供的js文件, 所以不管你用不用代理, 总有一些js文件没能加载. 阅读全文

部署rails应用程序 – 以及使用capistrano将部署过程自动化

这篇文章介绍如何将一个rails 4.1.0网站部署在一台ubuntu server 12.04 LTS 服务器上, rails 网站将运行在 apache 2.4.9 + phusion passenger 下, 并且使用 mysql 5.5 数据库. 部署过程最终通过capistrano自动化, 之后网站的更新操作只需要在开发机上运行一条指令就可以了.

阅读全文

apache: 文件下载配置

默认情况下, 当浏览器访问一个web服务器上的一些资源如html, txt和pdf 文件时, 会直接在浏览器页面打开显示这些文件的内容. 然而有时我们需要让浏览器直接下载保存这些文件.

之前对apache了解比较少, 上网搜了很久, 大多是用其他开发语言比如php, servelet来实现. 这种方法其实用于下载动态生成的文件比较合适, 对于静态文件, 还是直接用apache效率高一点.

以上是需求, 实现起来其实很简单. 比如要配置files目录下的文件都可以直接下载, 只需要在这个目录下创建一个名为.htaccess的文件, 文件里添加如下配置:

这个配置的意思是, apache向客户端发送当前目录下的资源是, 将Content-Type消息头的值设置为application/octet-stream

阅读全文

mysql 常用操作

create user 'name' identified by 'password';

This will create a user 'name' for host '%', with password 'password', and a row with these data is inserted in the mysql.user table.

 

grant all on 'db_name'.* to 'name';

This will grant all database privileges on dabatase 'db_name' to user 'name', and a row with these information is inserted in the mysql.db table.

 

load data local infile 'input_file_path' into table 'table_name';

Load data from local text file into the specified table, input text file is an tab seperated csv file by default, but you can specify its format by some options. For security reasons, you need to specify '–local-infile' option when connecting to mysql server using 'mysql' command line client program.

搭建ubuntu14.04下web开发环境

Install by package manager

Install from source

apache

Follow the instructions on http://httpd.apache.org/docs/current/install.html.

In the requirements step, I downloaded APR and APR-Util manully and put it into apache source as decribed, pcre has been installed already when I install apache.

In the configuration step, I run “./configure –enable-so” as documented by http://cn2.php.net/manual/en/install.unix.apache2.php.

Because option –prefix defaults to /usr/local/apache2, that is where apache2 get installed.

To start httpd server:

To stop httpd server:

 

mysql-server-5.5 can still be installed from aptitude

 

php5

After downloading the source code, run following confirutaion command as documented in http://www.php.net/manual/en/install.unix.apache2.php and http://www.php.net/manual/en/mysqli.installation.php. This selects the mysqli api and mysqlnd driver.

The make and install steps go normally after this configuration.

After installing, apache is configured to load the php module. The configuration you need to do manually is to tell apache to parse certain extensions as PHP. You can achieve this by put following configuration section at the end of apache2/conf/httpd.conf


Configuration done, you can restart apache, and check that php code file is executed correctly by apache web server.