资讯专栏INFORMATION COLUMN

利用vmware搭建php开发环境

wuyangnju / 2704人阅读

摘要:打算探索方式,利用搭建开发环境利用搭建开发环境。第二种,基于文件共享服务安装并配置软件仓库来安装服务程序服务程序中的参数以及作用全局参数。是否所有人可见,等同于参数。

由于买不起MAC PRO,所以想研究下在windows下进行php开发的最佳方式。
打算探索方式,

利用vmware搭建php开发环境;

利用docker搭建php开发环境。

在网上看到vagrant问题颇多,所以不打算尝试这种方式。
本篇文章介绍如何利用Vmware搭建php开发环境。特别推荐宝塔面板,非常强大,可以在面板任意切换php版本,更强大的是还能切换web服务器,你想用apache就用apache,apache用着不爽了,你可以直接在面板卸载apache,安装nginx。

第一种,利用vmware的文件夹共享

这种方式需要安装VMware Tools,

安装方式1:

通过虚拟机 > 安装(或升级)VMware Tools
这种方式安装,要确保kernel,kernel-devel,kernel-headers版本一样,如果不一样,会出现错误:

The path "" is not a valid path to the 3.10.0-229.7.2.e17.x86_64 kernel headers.

如果是kernel-devel与kernel,kernel-headers版本不一样,可以先卸载,再安装:

yum -y remove kernel-devel*
yum -y install kernel-devel*

也可以直接到rpmfind这类网站找版本对应的包安装,可以参考本站文章VMmware安装VMware Tools问题解决。

安装方式2,安装open-vm-tools

这种安装很简单,直接yum install open-vm-tools
但是如果你内核版本在4以下,就要以特殊方式启动,否则apache无法访问共享文件夹目录。特殊启动方式:

/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other

具体原因见:https://github.com/vmware/ope...

优缺点

这种方式虽然很方便地实现了文件共享,但由于是从windows共享到linux,windows的文件系统是ntfs,linux不能很好识别。所以,在共享文件夹无法创建软链接,因此Laravel开发是不适合这种方式。Wordpress以及Thinkphp项目能成功运行。

第二种,基于samba文件共享服务 安装并配置samba

Yum软件仓库来安装Samba服务程序
yum install samba

Samba服务程序中的参数以及作用:
[global] #全局参数。
workgroup = MYGROUP #工作组名称
server string = Samba Server Version %v #服务器介绍信息,参数%v为显示SMB版本号
log file = /var/log/samba/log.%m #定义日志文件的存放位置与名称,参数%m为来访的主机名
max log size = 50 #定义日志文件的最大容量为50KB
security = user #安全验证的方式,总共有4种
#share:来访主机无需验证口令;比较方便,但安全性很差
#user:需验证来访主机提供的口令后才可以访问;提升了安全性
#server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)
#domain:使用域控制器进行身份验证
passdb backend = tdbsam #定义用户后台的类型,共有3种
#smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码
#tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户
#ldapsam:基于LDAP服务进行账户验证
load printers = yes #设置在Samba服务启动时是否共享打印机设备
cups options = raw #打印机的选项
[homes] #共享参数
comment = Home Directories #描述信息
browseable = no #指定共享信息是否在“网上邻居”中可见
writable = yes #定义是否可以执行写入操作,与“read only”相反
[printers] #打印机共享参数
comment = All Printers
path = /var/spool/samba #共享文件的实际路径(重要)。
browseable = no
guest ok = no #是否所有人可见,等同于"public"参数。
writable = no
printable = yes
配置共享资源

打开配置文件
vim /etc/samba/smb.conf
未设置共享目录的配置文件:

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run "testparm" to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775               

写入配置后:

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run "testparm" to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
        
# 共享民称
[share] 
     # 注释
     comment = share Directories
     # 共享目录
     path = /www/wwwroot
     # 关闭所有人可见
     public = no
     # 允许写入操作
     writable = yes

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775                       

修改配置后重启samba:
systemctl restart smb
开机启动
systemctl enable smb

创建用于访问共享资源的账户信息

在RHEL 7系统中,Samba服务程序默认使用的是用户口令认证模式(user)。这种认证模式可以确保仅让有密码且受信任的用户访问共享资源,而且验证过程也十分简单。不过,只有建立账户信息数据库之后,才能使用用户口令认证模式。另外,Samba服务程序的数据库要求账户必须在当前系统中已经存在,否则日后创建文件时将导致文件的权限属性混乱不堪,由此引发错误。

pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit [选项] 账户”。在第一次把账户信息写入到数据库时需要使用-a参数,以后在执行修改密码、删除账户等操作时就不再需要该参数了。pdbedit命令中使用的参数以及作用如下表所示。

参数 作用
-a 用户名 建立Samba用户
-x 用户名 删除Samba用户
-L 列出用户列表
-Lv 列出用户详细信息的列表

我这里创建samba共享服务是为了方便php开发,所以我以www用户创建samba账户

[root@localhost ~]# id www
uid=1000(www) gid=1000(www) groups=1000(www)
[root@localhost ~]# pdbedit -a -u www
new password:
retype new password:
Unix username: www
NT username:
Account Flags: [U ]
User SID: S-1-5-21-3548489930-144868596-3428749032-1001
Primary Group SID: S-1-5-21-3548489930-144868596-3428749032-513
Full Name:
Home Directory: localhostwww
HomeDir Drive:
Logon Script:
Profile Path: localhostwwwprofile
Domain: LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Wed, 06 Feb 2036 23:06:39 CST
Kickoff time: Wed, 06 Feb 2036 23:06:39 CST
Password last set: Wed, 17 Apr 2019 17:23:10 CST
Password can change: Wed, 17 Apr 2019 17:23:10 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
开放防火墙

windows访问samba的共享目录如果只需开发tcp 445端口就好,
iptables 开发端口

iptables -I INPUT -p tcp --dport 445 -j ACCEPT
service iptables save

firewalld开发端口

firewall-cmd --permanent --zone=public --add-port=445/tcp
firewall-cmd --reload
 映射网络驱动器

右键此电脑,映射网络驱动器

文件夹填写:192.168.231.136share
映射成功右边会出现映射的网络驱动器:

参考文章

第12章 使用Samba或NFS实现文件共享。

本文为作者自己总结的文章,由于作者的水平限制,难免会有错误,欢迎大家指正,感激不尽。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31164.html

相关文章

  • 从零开始搭建PHP开发环境

    摘要:最近我利用业余时间录制了一套视频,和大家分享一下我平时开发工作中使用到的一些工具,以及搭建一个的开发环境的方法。然后我们点击右下角的的按钮开始安装点击设置用户的密码然后直到安装成功后,点击按钮。重启虚拟机完成的安装。 最近我利用业余时间录制了一套视频,和大家分享一下我平时开发工作中使用到的一些工具,以及搭建一个PHP的开发环境的方法。 使用到的工具有: VMware workstat...

    ctriptech 评论0 收藏0
  • web后端本地开发(同步线上)环境搭建

    摘要:基础软件更新及静态配置安装完成后,打开虚拟机下的该系统。现在已经可以通过本地连接虚拟机环境了,连接上后,基本就不需要动虚拟机了,以后都通过或来操作了。不要再认为其是你本地的虚拟机环境了,而应该按照线上环境的克隆来看待。 本文概要 虚拟机 系统选择及安装 基础软件更新及静态IP配置        为什么要用虚拟机呢(如果工作系统为Linux各发行版的可以忽略本文章)?       ...

    libxd 评论0 收藏0
  • 使用docker搭建laravel开发环境

    摘要:已经集成需要使用的环境,只需要简单修改配置就能搭建环境提供开发,对开发及管理来说真是一味良方。目前能正常访问文件。 为何用docker? 在电脑还是window系统的时候,经常需要基于vm服务搭建一套环境才能更好地(应该是更贴近线上环境)进行开发,而现在在docker的神秘光环底下已经能实现用最小的资源搭建本地开发环境,同时能更好地迁移到其他地方。 前置知识 了解docker安装及使...

    fish 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<