unbuntu server 虚拟机安装全攻略

服务器

浏览数:178

2019-10-16

本文将会介绍从虚拟机的新建到ubuntu server的安装,不是桌面版,不包含GUI。并将其置于后台运行的全过程。因为操作差别很小,所以无论是使用windows还是mac系统的人都可以通过本文来快速部署一个ubuntu虚拟机。本文包含以下内容:

  • VirtualBox新建虚拟机并安装Ubuntu
  • 配置Ubuntu的远程连接
  • VirtualBox后台运行Ubutnu

新建虚拟机

VirtualBox的安装这里就不再赘述了,直接用后面的链接下载安装就行 下载 – VirtualBox ,下面讲一下如何新建一个虚拟机。

其实新建虚拟机和安装虚拟机总结一个子就是 ,过程非常简单,基本就是无脑下一步,下面我就把新建虚拟机的截图放一下,大部分都可以通过下面的图片名字知道怎么做,有需要操作的地方我会做具体讲解:

新建虚拟机

下面教程将以 mac 系统来演示,不过 windows 和 mac 的差别除了长得不一样没什么区别了。所以,做就完事了。首先打开VirtualBox,点击这个巨大醒目的 新建 按钮。

新建虚拟机

设置虚拟机名称及类型

然后这一步怕不是操作最多的一步了,填写好名字之后选择系统类型为 Linux,再选择版本为 Ubuntu(64-bit)即可,这里需要注意如下两点:

  • 该步骤并不会去具体安装虚拟机,而是 将虚拟机自动设置为最适合安装你选择的系统的状态
  • 选择的版本位数要和你下一步下载的Ubuntu镜像位数保持一致,但这都 9102 年了,我不信还有人会去安 32 位的系统。

命名虚拟机并选择版本

选择内存

选择虚拟机内存,除非电脑太弱,否则直接默认

选择内存

选择硬盘

选择虚拟机硬盘,直接默认

选择硬盘

选择硬盘类型

选择要创建的新硬盘类型,依旧默认

选择硬盘类型

选择存储方式

动态,果断动态

选择存储方式

选择存储位置

这里选择存储的位置,在 windows 下,如果你 c 盘空间太小,我才会建议你换到其他盘上,不然一律选择默认位置。

选择存储位置

创建完啦

然后就完事了,下一步咱们来装系统

创建完成

安装 ubuntu

首先去 ubuntu官网上下载稳定版LTS的镜像。链接在这 下载 – Ubuntu 18.04 Server注意!本教程安装的是Server 版本的 ubuntu!所以在网上搜的桌面版的教程或者问题解决不一定会适用!出问题了请在搜索时加上 server。然后,启动虚拟机,选择刚才下载的镜像:

选择进行

之后?点回车就完事了。真的是一直点,不信就去看官方文档 [tutorial-install-ubuntu-server](https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-server?_ga=2.29582839.936945077.1561361562- 762545357.1561361562#2)。回车到下面这一步的时候你可能会发现回车不动了,按 下键 选择continue再回车。

image.png

然后就到这一步了,分别填写下面的内容之后Done一下:

  • 你的名字 随便
  • 你服务器名字 随便
  • 你的登录用户名
  • 你的密码
  • 重复你的密码

个人信息设置

安装 openssh-server

这个是用来远程连接的,安就完事了,只选第一个就行。

open-ssh

安装额外软件

然后它会让你选是不是要安装额外的常用服务器软件,想装啥装啥,我啥都不想装,所以我直接点了Done:

安装额外软件

等待安装完成

等有三五分钟,安装完成,在Reboot Now上回车:

安装完成

移除安装介质

重启之后显示如下画面,问题不大,不用回车,直接用power off关闭虚拟机,然后啥都不用干直接重启虚拟机,你就会发现,诶~进去了:

移除安装镜像
强制关闭虚拟机

然后呢,我们配置下安装好的虚拟机,让他可以进行远程连接。

ubuntu 远程连接

做一步操作是因为,在virtual box中打开的命令行窗口他真的是个纯粹的命令行窗口,平时常用的鼠标复制一行指令或者上文刷出的信息然后粘贴他就完全做不到,只能手打。这谁顶得住。而且用了远程连接之后就可以让virtual box后台运行,这样就舒服多了。

安装完成后启动虚拟机,等他刷完一大堆OK之后就可以看到停留在了如下界面:

ubuntu 18.04.2 LTS worker1 tty1

worker1 login: _

然后输入你在安装时配置的用户名,再输入密码时就可以成功登陆系统了。

安装open-ssh

这个咱们安装系统的时候已经安好了,这里也顺便提一下。远程连接需要安装open-ssh服务,依次执行下列三条命令即可。

# 切换为 root 权限 需要输入当前用户密码
sudo -s
# 安装 ssh 服务
apt-get install ssh
# 安装 openssh-server 服务
apt-get install openssh-server

开放 root 用户

首先要说的是,这个教程安装的是ubuntu server版本,网上的那些教程里用/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf或者/etc/lightdm/lightdm.conf来配置root用户的都不用看,人家是desktop版本的,咱们服务器版没这玩意。

好,下面回归正题,开放root用户首先需要配置root的密码,然后在ssh的配置文件里启用root登录就可以了。下面的命令可以修改root的密码:

sudo passwd root

回车之后他会弹出来让你输入密码并确认,正常确认即可。然后需要配置ssh连接。首先打开配置文件,这一步如果找不到的话回头看一下ssh服务有没有正确安装:

sudo vi /etc/ssh/sshd_config

然后做如下修改,如果没有找到对应配置项直接在文件末尾输入即可:

# 允许 root 登录
PermitRootLogin yes
# 允许密码登录
PasswordAuthentication yes

修改完了:wq保存退出,然后重启ssh服务即可

sudo service sshd restart

确认网络正常

ok,到此服务器中的配置就已经完成了,接下来需要确认虚拟机和宿主机之间的网络连接情况。怎么确认呢,首先要保证虚拟机可以访问到宿主机:

虚拟机访问宿主机

  1. 宿主机打开命令行,获取自己的 ip 地址。
    • windows 使用ipconfig
    • mac 使用ifconfig
  2. 打开虚拟机 ping 刚才拿到的 ip 地址。

宿主机访问虚拟机

宿主机访问虚拟机有两种方式 NAT网络地址转换桥接网卡。这里推荐第一种 NAT网络地址转换,注意!下面的配置不支持多虚拟机之间相互访问,要想完成该功能可以参考 virtualbox 虚拟机组网

  1. 关闭虚拟机,打开虚拟机配置,依次选择 网络地址转换 > 高级 > 端口转发

选择网络地址转换

  1. 在端口转发页面将 虚拟机的 22 端口 转发到宿主机的 2201 端口。之所以这么搞,是因为我们只需要虚拟机的 22 端口进行ssh连接,所以只转发这个端口即可,至于转发到宿主机的 2201 端口,这个可以随便填,只要不占用就行。

转发端口

  1. 设置完成后一路确认回去,然后重启虚拟机获取 ip 地址,如果发现虚拟机的 ip 变成了10.0.xxx.xxx的形式,就说明修改成功了。

这里要提一下,虚拟机是使用网络地址转换模式配置网络的话,宿主机是无法使用虚拟机的 ip 地址访问到对应的虚拟机的。好了下面说一下为什么不推荐使用 桥接网卡 模式配置连接。

使用桥接网卡

启用桥接网卡只需要将网络模式设置为桥接网卡即可。桥接网卡可以把虚拟机映射到局域网的一个真实 ip 地址之上,和宿主机在网络上属于同一层,所以可以相互ping通。

那为什么不用桥接网卡呢?因为,这个 ip 地址可能会随着网络环境的变化而发生改变。如果你不想之后使用过程中出现莫名其妙的访问不到的问题的话,就老老实实用网络地址转换模式就好。

桥接网卡

连接

上面这几步做完了之后就可以直接在宿主机上进行连接了,无论是puttyXshell还是SecureCRT都可以,因为新建连接的过程大同小异,所以下面就简单放出要配置的数据:

  • 登录协议:SSH2
  • IP地址(host主机):127.0.0.1 因为使用了NAT转换将虚拟机端口转发到了本机上
  • 端口号:2201 这个填上一步在端口转发里配置的主机端口,不一定是2201
  • 登录用户名:root

然后 输入密码确认连接密钥 既可成功连接:

连接成功

到此连接成功,下一步就是将虚拟机放到后台执行,这里贴一个apt换国内源的教程 apt切换为清华源 ,推荐换一下。

后台执行 ubuntu

其实VirtualBox自带了一套命令行工具,所以我们就可以通过该工具快速的进行部署,想要使用该工具:

  • windows 上需要先切换至VirtualBox根目录下,然后即可使用VBoxManage.exe调起命令行,使用VBoxManage.exe -v检查命令行是否可用
  • mac 上可以直接在全局使用VBoxManage进行操作,使用VBoxManage -v检查命令行是否可用

接下来介绍几个常用的命令,我们可以通过下述几条命令让虚拟机在后台运行,注:下列命令都是mac上的使用方式,要在windows上只需将VBoxManage替换成VBoxManage.exe即可,(注意先切换至跟目录下)

列出虚拟机

VBoxManage list vms|runningvms

使用该命令可以显示虚拟机的名字和 uuid ,使用VBoxManage list vms列出所有可用虚拟机,使用VBoxManage list runningvms来列出正在运行的虚拟机。之后我们就可以通过这两者来调用虚拟机,为了方便起见,我在下文都使用<your-vm-name>代替虚拟机名字来描述命令。

启动虚拟机

VBoxManage startvm <your-vm-name> --type headless 

startvm命令可以通过 虚拟机名称 或者 uuid 启动一台虚拟机,通过指定其typeheadless可以让虚拟机在后台运行。

关闭虚拟机

VBoxManage controlvm <your-vm-name> acpipowerbutton|poweroff

向指定虚拟机发送信号,acpipowerbutton是关机信号,poweroff是强制断电信号。

掌握了上述几条命令后就可以在后台运行虚拟机了,为了方便起见还可以将其写成脚本来一键执行,windows 可以用批处理,mac 直接做shell脚本即可,内容简单这里就不再赘述。

参考

作者:HoPGoldy