在苹果的snow leopard上通过rvm安装ruby 1.9.2 和 rails 3 beta
sudo gem install rvm mate .bash_profile
编辑.bash_profile文件在文件尾加上:
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
rvm-install rvm install ruby-1.9.2 rvm use ruby -v 1.9.1 gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n gem install rails --pre gem install sqlite3-ruby rvm 1.9.2-head rake db:migrate
在ubuntu上使用gitosis管理git
本来我已经配好http方式的git库了,不过http方式的效率远远不如git连接。因此就需要gitosis来做git的权限管理。
首先,相信你和我一样已经安装好了git了。如果没有的话就用apt安装一下吧。安装命令如下
sudo apt-get install git-core
接下来就要安装gitosis了
sudo apt-get install gitosis sudo chmod 755 /srv/gitosis/repositories/gitosis-admin.git/hooks/post-update
#添加用户git,用户目录在/var/git
#sudo adduser –system –shell /bin/sh –gecos ‘git version control’ –group –disabled-password –home /var/git git
#如果已经有/var/git目录的话就要修复权限
#sudo chown git:git /var/git
#sudo chmod 777 /var/git
gitosis安装文件已经生成了一个gitosis用户,用户目录在”cd /srv/gitosis/”。具体可以参考:“/usr/share/doc/gitosis/README.Debian”
#生成ssh密钥 ssh-keygen -t dsa #用密钥初始化Gitosis配置 sudo -H -u gitosis gitosis-init < ~/.ssh/id_dsa.pub git clone gitosis@localhost:gitosis-admin.git
cd gitosis-admin nano gitosis.conf
添加用户组和用户权限
[group gdwt] writable = yourprojectname members = user01 user02 [repo iphone_project] daemon = yes
在客户机中生成ssh key并把他上传到服务器中
ssh-keygen -t dsa scp ~/.ssh/id_dsa.pub username@yourserver.com:/tmp
在服务器上把id_dsa.pub考到gitosis-admin的keydir目录中,并把它改为配置文件中的相应用户名
mv /tmp/id_dsa.pub keydir/user01.pub git add keydir/user01.pub
最后,把修改提交回服务器
git commit -am 'add csc_project and gdwt group' git push
gitosis服务是使用ssh端口的,因此如果服务器不是网关的话记得在网关上映射22端口到服务器上
gitosis的使用方式很简单,在刚才的客户机上:
git clone gitosis@yourserver.com:yourprojectname
apache 2 中把81端口转到80端口
开启端口映射模块:
sudo a2enmod proxy sudo a2enmod proxy_http #sudo a2enmod proxy_balancer
创建新的网站文件
sudo nano /etc/apache2/sites-available/81to80
ProxyRequests off
<VirtualHost *:81>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.2.102:80/
ProxyPassReverse / http://192.168.2.102:80/
ProxyPreserveHost on
</VirtualHost>
#添加监听端口 sudo nano /etc/apache2/ports.conf #在文件中添加: NameVirtualHost *:81 Listen 81
# enable site sudo a2ensite 81to80 # disable site #sudo a2dissite 81to80 # force reload the server: sudo /etc/init.d/apache2 reload
在ubuntu服务器上安装独臂pptpd服务
环境信息:
服务器系统:ubuntu 10.04
ip: 192.168.2.102
网关:192.168.2.1
网关上做端口映射:网关:1723(tcp) -> 服务器:1723
安装pptp服务
sudo apt-get install pptpd
编辑配置文件
sudo nano /etc/pptpd.conf
在文件的最后添加:
localip 192.168.2.102 remoteip 192.168.2.230-240
localip 是 VPN 连通后服务器的 ip 地址,而 remoteip 则是客户端的可分配 ip 地址。
sudo nano /etc/ppp/pptpd-options
这里需要添加ms-dns的值,为登录上来的客户端指定dns。
ms-dns 202.96.128.86 ms-dns 202.96.128.166
然后我们需要更改chap-secrets文件,添加登录的用户名和密码
sudo nano /etc/ppp/chap-secrets
# Secrets for authentication using CHAP # client server secret IP addresses 用户名 pptpd 密码 *
把用户名密码用你自己的替代吧。
好了,pptpd部分搞掂了。重启pptpd服务。
sudo /etc/init.d/pptpd restart
这时候在外网的xp上新建一个pptp vpn 应该可以连接的上了,不过只能ping的通服务,ping不通局域网内的其他主机。这是因为服务上的arp转发还没打开。
接下来我们要开启 ipv4 forward
打开系统的ARP转发
sudo nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
syscrl.conf的修改要重启才能应用,要马上应用的话执行:
#echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
在ubuntu 10.04下安装rails和sqlite3安装错误
在ubuntu 10.04下用默认的ruby和rubygem1.8安装rails没有问题,但是安装sqlit3-ruby的时候就提供出错,显示
/usr/bin/ruby1.8 extconf.rb
extconf.rb:10:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:10
这是因为没有安装ruby-dev包导致的,ruby-dev包中有编译插件必须的一些头文件。
但是SQLite3很特别,即使安装了ruby-dev还是会报错:
1 gem installed
Installing ri documentation for sqlite3-ruby-1.3.0...
Enclosing class/module 'mSqlite3' for class Statement not known
No definition for libversion
Installing RDoc documentation for sqlite3-ruby-1.3.0...
Enclosing class/module 'mSqlite3' for class Statement not known
No definition for libversion
只有用ubuntu预编译的libdbd-sqlite3-ruby包才可以。命令很简单:
sudo apt-get install libdbd-sqlite3-ruby
