Hugh's Blog

使用 Hyper-V 配置开发环境

以前的开发环境是 WSL,最近换了台式,便决定使用 Hyper-V 安装虚拟机来作为开发环境。

系统选择的是 Ubuntu Server 18.04,安装过程很简单,添加配置安装系统就行,教程很多,例如 使用Hyper-V安装Ubuntu Server 16.10安装Ubuntu Server18.04,有个小问题是本来交换机用的是外部网络,但是虚拟机不能访问外网,后来改成内部网络了。

虚拟机用来做服务器,例如跑 PHP、MySQL、Redis 等,开发则在宿主机,IDE 用的是 PHPStorm,目录共享用的是 Samba。

配置 Samba

# 安装
sudo apt install samba

# 创建共享目录
sudo mkdir /opt/share
sudo chmod 777 /opt/share

# 创建共享账号
sudo useradd samba
# Samba 用户是独立的,需设置密码
sudo smbpasswd -a samba
# 禁止用户
sudo smbpasswd -d samba
# 激活用户
sudo smbpasswd -e samba

# 修改配置文件
cd /etc/samba
sudo cp smb.conf smb.conf.bak
sudo vim smb.conf
# 文件最后追加这几行
[share]
    comment = share directory
    path = /opt/share
    valid users = samba
    public = no
    writable = yes 
    create mask = 0777
    directory mask = 0777

# 启动
sudo service smb start

直接在 Windows 资源管理器输入 \\ip 访问,可以看到有个 share 目录,右键选择 映射网络驱动器 可以映射成盘符,然后直接在 PHPStorm 加载开发就行。

可以在 CMD 中输入 net use 查看目前的共享信息,net use * /del 删除所有连接,net use \\ip /del 删除特定连接。

另外还有个问题,为了让网站在局域网内可访问,需要设置端口转发,使用 netsh 就可以了,也许还需要开放防火墙特定端口。

# 如果没安装 ipv6
netsh interface ipv6 install
# 显示目前规则列表
netsh interface portproxy show v4tov4
# 添加转发规则
netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.137.22 connectport=80
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.137.100 connectport=80
# 删除规则
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=80

暂时就先这样吧。


参考

实现samba共享目录方案

windows 下 netsh 实现端口映射