本文目的是实现在VirtualBox中运行Ubuntu Server来做为Ruby on Rails的环境,然后通过Samba来共享Ubuntu下的文件供Windows编辑,用KiTTY通过SSH来连接Ubuntu Server进行系统常规操作。

另外,关于如何在Ubuntu中搭建Ruby On Rails环境,请参考《在Ubuntu Server下搭建Ruby on Rails + MongoDB + Redis环境》,软件的安装过程就不再详细说明,请自行Google(如:Ubuntu Server 安装、VirtualBox安装)。

软件下载:

VirtualBox使用桥接连接方式:

在用Virtual创建Ubuntu Server系统时, 设置 -> 网络 中的连接方式应改为 Bridged Adapter (桥接连接方式) ,这样才能使Ubuntu系统与Windows系统处于同一网段,便于使用SSH连接。

这里还要说明一下,如果你处在公司网络,IP地址分配有严格控制,不方便桥接,也可以用NAT连接方式,只不过要使用VirtualBox自带的VBoxManage来映射端口到127.0.0.1,可以把如下代码保存为批处理文件方便执行:
创建映射,需修改对应的virtualbox安装目录,ubuntu_server是虚拟机名称,–natpf1中的1,是网卡编号,2222是映射后的端口,做好后,用Kitty通过127.0.0.1的2222端口连接即可。(连接前需关闭虚拟机)

cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage modifyvm ubuntu_server --natpf1 "sshpf,tcp,,2222,10.0.2.15,22"

取消映射:

cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage modifyvm "ubuntu_server" --natpf1 delete sshpf

设置Ubuntu Server安装包:

进行到 选择安装包 时,应选中 OpenSSH server 和 Samba file server。

Ubuntu Server相关设置:

# 开启并使用root帐户
$ sudo passwd root
# 输入当前用户密码,然后再输入两次root新密码
# 注销当前用户
$ logout
# 就可以使用root登录了

# 中文支持
$ apt-get install language-pack-zh-hans language-pack-zh-hans-base \
language-pack-zh-hant language-pack-zh-hant-base

# Ubuntu Server静态IP地址及DNS设置
$ vim /etc/network/interfaces
# 将iface eth0 inet dhcp注释掉
# 请下面的代码写入,注意事先用ifconfig命令看一下你的网卡是eth0还是eth1
# 根据自己路由器网段自行修改address(IP)和gateway(网关),保存退出
iface eth0 inet static
address 192.168.1.6
netmask 255.255.255.0
gateway 192.168.1.1
# 重启网络
$ /etc/init.d/networking restart
# 修改DNS
# vim /etc/resolv.conf

Samba设置共享文件夹让Windows匿名访问:

# 如果在安装ubuntu server时没有选择samba file server包,可以用如下命令安装,如果安装了可跳过这一步。
$ apt-get install samba smbclient
# 选择需要共享的文件夹,并设置为最高权限,这里使用 /var/workspace
# 切记不要在/root下面设置共享目录,会导致windows下无法访问
$ chmod 777 -R /var/workspace
# 备份samba配置文件
$ cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# 编辑samba配置文件,设置共享
$ vim /etc/samba/smb.conf
# 将smb.conf替换成下面内容,[workspace]段的路径自行更换
[global]
security = share
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
guest account = nobody
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
[workspace]
comment = ubuntu workspace
path = /var/workspace
public = yes
writable = yes
browseable = yes
guest ok = yes
create mask = 0777
directory mask = 0777
# 重启samba服务
$ /etc/init.d/smbd restart
# 在Windows的资源管理器中,在地址栏直接输入Ubuntu Server的IP,即可访问。

KiTTY相关设置:

参考《KiTTY常用设置