下载Ubuntu镜像文件:http://www.ubuntu.org.cn/download/desktop
![](https://i-blog.csdnimg.cn/blog_migrate/48f0ac26c510aa5003360486c2654623.png)
创建新的虚拟机:
![](https://i-blog.csdnimg.cn/blog_migrate/65c95c85eb38282c41b8bbdc4c92785f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/088e286769c03e97950e6489b01d3899.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fa41846ae01363f922d8e80089267dbb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/62be96a3a90b507d368ed5d686e62348.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c6e16b37216e581979a0b56c7ec1a753.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0bfce7519edc530377006d333c311964.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba6b385282844e6c634f6f01bd8bf0fe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/593a92e5367c769f365c45566590d0f6.png)
点击完成
等待。。。永久的等待。。。
![](https://i-blog.csdnimg.cn/blog_migrate/58a53445d5e1ce7c7e0ab95571eb1779.png)
终于加载成功,进入界面,鼠标右键,打开终端:
![](https://i-blog.csdnimg.cn/blog_migrate/f54a701152f02342fcd64ad92250f516.png)
1‘’换源:
在终端输入: lsb_release -a
![](https://i-blog.csdnimg.cn/blog_migrate/6ee011360eb212767749edc8892bbdab.png)
codename的值在换源的时候要用到
找到并打开源文件
![](https://i-blog.csdnimg.cn/blog_migrate/ebb055fbd37182b1e7e03b1aba9a64d6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e0068254a0bce183d8efc65823cb185c.png)
把原来的用“ # ”注释
具体操作方法: 移动上下箭头找到需要注释的行,按键盘上的 “ i ”输入“#”,按esc退出编辑模式,粘贴过去准备好的源(可以是阿里巴巴或者网易的源)
把下面的Codename换成上面查到的:xenial
deb http://mirrors.aliyun.com/ubuntu/ $Codename main multiverse restricted universe 4 deb http://mirrors.aliyun.com/ubuntu/ $Codename-backports main multiverse restricted universe 5 deb http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main multiverse restricted universe 6 deb http://mirrors.aliyun.com/ubuntu/ $Codename-security main multiverse restricted universe 7 deb http://mirrors.aliyun.com/ubuntu/ $Codename-updates main multiverse restricted universe 8 deb-src http://mirrors.aliyun.com/ubuntu/ $Codename main multiverse restricted universe 9 deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-backports main multiverse restricted universe10 deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main multiverse restricted universe11 deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-security main multiverse restricted universe12 deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-updates main multiverse restricted universe ">sources.list
我用到的源:
deb https://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
## Not recommended
# deb https://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
输入 “ :wq ”;按enter保存并退出
更新源:
![](https://i-blog.csdnimg.cn/blog_migrate/cd2388f187345872fbf670ba59ed1c9b.png)
2、安装nvm(node版本管理工具)
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash
![](https://i-blog.csdnimg.cn/blog_migrate/9710beb41b532855f34aaef57e0feb41.png)
检查安装是否成功(此处需要重启终端才能生效,我测试时候是重启了虚拟机):
使用 nvm -- help 查看是否安装成功
![](https://i-blog.csdnimg.cn/blog_migrate/ca710096a19db4663ac847e305696ab7.png)
3、安装 nodejs :
运行: nvm install v8.9.1
![](https://i-blog.csdnimg.cn/blog_migrate/8c54c758479eead39eebdeee7052b3f8.png)
检查安装是否成功:
![](https://i-blog.csdnimg.cn/blog_migrate/fdc3af8d9d51469d62973f21fcd7f403.png)
4、安装git:sudo apt install git
![](https://i-blog.csdnimg.cn/blog_migrate/8ef450ee427b22d5ca48b35888cedc6f.png)
检验: git --version
![](https://i-blog.csdnimg.cn/blog_migrate/ad3eb5e6d69dde6359312afeb3c71b84.png)
5、安装rbenv(管理ruby版本):
依次运行下列命令:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
用来编译安装 ruby
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
# 用来管理 gemset, 可选, 因为有 bundler 也没什么必要
git clone git://github.com/jamis/rbenv-gemset.git ~/.rbenv/plugins/rbenv-gemset
# 通过 rbenv update 命令来更新 rbenv 以及所有插件, 推荐
git clone git://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update
# 使用 Ruby China 的镜像安装 Ruby, 国内用户推荐
git clone git://github.com/AndorChen/rbenv-china-mirror.git ~/.rbenv/plugins/rbenv-china-mirror
![](https://i-blog.csdnimg.cn/blog_migrate/b2cca0ca9683c3fea7d089a2a8042078.png)
![](https://i-blog.csdnimg.cn/blog_migrate/857e5e4b2f0255e582e73f7dd988b3ba.png)
修改 /.bashrc文件
![](https://i-blog.csdnimg.cn/blog_migrate/bf64ab4c8ad8eebafa229482a49f4fd1.png)
把下图的代码放到上述的文件里:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
运行命令,装rbenv: sudo apt install rbenv
![](https://i-blog.csdnimg.cn/blog_migrate/7ada26a69b551694fcaa5a817ac4a2ef.png)
6、安装ruby:
运行命令:rbenv install --list
显示所有ruby的版本
![](https://i-blog.csdnimg.cn/blog_migrate/92c06919b9f6bccbafee8e2a1466f16d.png)
安装2.3.1版本:rbenv install 2.3.1(这个等待时间有点长不要着急)
测试: ruby -v
![](https://i-blog.csdnimg.cn/blog_migrate/897fabd1cbef1a48e3568363e2731a23.png)
设置默认版本:rbenv global 2.3.1
7、 ruby on rails
查看并更改gem的源地址
![](https://i-blog.csdnimg.cn/blog_migrate/2af58526f792bffabef3ebdf192c2796.png)
运行:sudo gem install rails -v 4.2.6
![](https://i-blog.csdnimg.cn/blog_migrate/c898a2cdd60eefe6f6079c2e03d580b1.png)
验证:rails -v
8、安装vsftpd:
![](https://i-blog.csdnimg.cn/blog_migrate/545c7397f96357d040a4ab3a46aaaea7.png)
修改配置文件
sudo vi /etc/vsftpd/vsftpd.conf
保证下面3项为YES
anonymous_enable=YES
![](https://i-blog.csdnimg.cn/blog_migrate/c0fd6eec146001b140759484ad53b2c3.png)
anon_upload_enable=YES
![](https://i-blog.csdnimg.cn/blog_migrate/9d898c567cf4b3898964f5fe08210788.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d1b306e4c2ac21a407e89880320f837.png)
anon_mkdir_write_enable=YES
![](https://i-blog.csdnimg.cn/blog_migrate/65a84346bf84322b7e091eeff192c2b9.png)
关闭防火墙:sudo ufw states
![](https://i-blog.csdnimg.cn/blog_migrate/fe2b25d92b92621fe533ef74161491bc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/20ff1e90888a2597964da0e17529422c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8de2ef4adde10bce84fa7e3481341dd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/54ad5666a5400684591ab80cc3a821df.png)
9、安装Teamviewer ( 作者:王老头
1. 首先到https://www.teamviewer.com/zhcn/download/linux/下载相应linux版本的Teamviewer,版主选择的是ubuntu版本,下载完成之后,在你的下载路径中会有软件安装包teamviewer_12.0.85001_i386.deb。
2. 安装依赖包,ternimal终端进入到下载路径中,执行命令:(博主是64位系统没有执行这个命令也成功,假如是32位的系统则需要执行)
sudo apt-get install libjpeg62:i386 libxinerama1:i386 libxrandr2:i386 libxtst6:i386 ca-certificates
3. 安装deb软件包,执行命令:
sudo dpkg -i teamviewer_12.0.76279_i386.deb
10、安装mysql:
依次运行下列命令
1. sudo apt-get install mysql-server
运行期间会提示输入密码
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
![](https://i-blog.csdnimg.cn/blog_migrate/d03989921a434a05fd5733e7dc15b40c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/072b9053134907c98e07ea2ab282a738.png)
检验数据库安装是否成功:
![](https://i-blog.csdnimg.cn/blog_migrate/eb7c64a24c98eeab5a7713d81384554d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a25ea91ed569d673595801e627e44032.png)
遇到的问题:
1、虚拟机连不上网
![](https://i-blog.csdnimg.cn/blog_migrate/0e38eb4cdc38dade591038bca274c0a4.png)
2、安装ruby时报错:
![](https://i-blog.csdnimg.cn/blog_migrate/e218bb53efcd96a52fe8cf3332570490.png)
解决办法: 根据提示信息,运行:sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev
![](https://i-blog.csdnimg.cn/blog_migrate/fd1128ff8e0cbcee3f37ad659cf45c16.png)
3、安装rails时报错
![](https://i-blog.csdnimg.cn/blog_migrate/d4371d26dec40df3bc896bd6f2f3ab62.png)
解决方法:
运行 : sudo apt install ruby-railties
![](https://i-blog.csdnimg.cn/blog_migrate/6450bbaa5a22e45b1ae4db7629f10f8b.png)
重新验证:
![](https://i-blog.csdnimg.cn/blog_migrate/6c07640217625ecd96170ddf1d903b9a.png)
4、sudo apt update 时,卡在“正在等待报头” 【waiting for headers】
![](https://i-blog.csdnimg.cn/blog_migrate/da41615e4e2b9d2e4766c9c50d6702dc.png)