当前位置: 首页 > 后端技术 > PHP

使用vmware搭建php开发环境

时间:2023-03-29 19:37:12 PHP

既然买不起MACPRO,想研究下windows下开发php的最佳方法。打算探索使用vmware搭建php开发环境的方法;使用docker搭建php开发环境。在网上看到很多vagrant的问题,所以不打算尝试这种方法。本文介绍如何使用Vmware搭建php开发环境。特别推荐宝塔面板,很给力。可以在面板上随意切换php版本。更厉害的是你还可以切换web服务器。如果你想使用apache,你可以使用apache。如果apache不行,可以直接在面板卸载apache,安装nginx。.第一种方式是使用vmware的文件夹共享方式安装VMwareTools。安装方法一:通过虚拟机安装(或升级)VMwareTools。确保kernel、kernel-devel和kernel-headers的版本相同,否则会报错:Thepath""isnotavalidpathtothe3.10.0-229.7.2.e17.x86_64kernelheaders。如果kernel-devel和kernel、kernel-headers的版本不同,可以先卸载,再安装:yum-yremovekernel-devel*yum-yinstallkernel-devel*也可以直接上网站比如rpmfind找到版本对应的包安装。可以参考本站文章VMmware解决安装VMwareTools的问题。安装方法二、安装open-vm-tools这个安装很简单,直接yuminstallopen-vm-tools但是如果你的内核版本是4以下,一定要用特殊方式启动,否则apache无法访问共享文件夹目录.特殊启动方式:/usr/bin/vmhgfs-fuse.host://mnt/hgfs-osubtype=vmhgfs-fuse,allow_other具体原因见:https://github.com/vmware/ope...这里还有缺点虽然这种方式实现文件共享很方便,但是因为是从windows共享到li??nux,windows的文件系统是ntfs,linux不能很好的识别。所以共享文件夹不能创建软链接,所以Laravel开发不适合这种方式。Wordpress和Thinkphp项目可以成功运行。二是安装配置基于samba文件共享服务的sambaYum软件仓库安装Samba服务程序。yuminstallsambaSamba服务程序中的参数及作用:[global]#Globalparameters。workgroup=MYGROUP#Workgroupnameserverstring=SambaServerVersion%v#服务器介绍信息,参数%v是显示SMB版本号logfile=/var/log/samba/log.%m#定义存放位置日志文件和Name,参数%m为来访主机的名称maxlogsize=50#定义日志文件的最大容量为50KBsecurity=user#共有4种安全验证方式#share:来访主机不需要验证密码;更方便但安全性能差#user:需要验证访问主机提供的密码才能访问;提高安全性#server:使用独立的远程主机验证访问主机提供的密码(集中管理账户)#domain:使用域控制器进行身份验证passdbbackend=tdbsam#定义用户后台的类型,有3种#smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码#tdbsam:创建数据库文件,使用pdbedit命令建立Samba服务程序的用户#ldapsam:基于LDAP服务的账号verificationloadprinters=yes#设置Samba服务启动时是否共享打印机设备cupsoptions=raw#Printeroptions[homes]#Sharedparametercomment=HomeDirectories#Descriptioninformationbrowseable=no#指定共享信息是否可见在“网上邻居”中writable=yes#定义是否可以进行写操作,与“只读”相反[printers]#打印机共享参数comment=AllPrinterspath=/var/spool/samba#共享文件的实际路径(重要)。browseable=noguestok=no#是否所有人可见,相当于“public”参数。writable=noprintable=yes配置共享资源打开配置文件vim/etc/samba/smb.conf没有设置共享目录的配置文件:#更详细的配置文件见smb.conf.example或者#阅读smb.conf联机帮助页。#修改后运行'testparm'以验证配置是否正确。[global]workgroup=SAMBAsecurity=userpassdbbackend=tdbsamprinting=cupsprintcapname=cupsloadprinters=yescupsoptions=raw[homes]comment=HomeDirectoriesvalidusers=%S,%D%w%Sbrowseable=Noreadonly=Noinheritacls=Yes[printers]comment=AllPrinterspath=/var/tmpprintable=Yescreatemask=0600可浏览=No[print$]comment=PrinterDriverspath=/var/lib/samba/driverswritelist=@printadminrootforcegroup=@printadmincreatemask=0664directorymask=0775写入配置后:#Seesmb.conf.exampleforamor详细的配置文件或#阅读smb.conf联机帮助页。#运行'testparm'以验证配置是否正确#你修改了它。[global]workgroup=SAMBAsecurity=userpassdbbackend=tdbsamprinting=cupsprintcapname=cupsloadprinters=yescupsoptions=raw#共享民称[share]#注释comment=shareDirectories#共享目录path=/www/wwwroot#关闭所有人可见public=no#允许写入操作writable=yes[homes]comment=主目录有效用户=%S,%D%w%S可浏览=无只读=无继承acls=是[打印机]注释=所有打印机路径=/var/tmp可打印=是创建掩码=0600可浏览=否[print$]comment=PrinterDriverspath=/var/lib/samba/driverswritelist=@printadminrootforcegroup=@printadmincreatemask=0664目录掩码=0775修改配置后重启samba:systemctlrestartsmb启动systemctlenablesmb创建访问共享资源的账户信息在RHEL7系统中,Samba服务程序默认使用用户密码认证方式(user)。这种认证方式可以保证只让信任的有密码的用户访问共享资源,认证过程也非常简单。但是,用户密码认证方式只有在建立了账户信息数据库后才能使用。另外,Samba服务程序的数据库要求该账号必须在当前系统中已经存在,否则以后创建文件时,会混淆文件的权限属性,从而导致错误。pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit[option]account”。-a参数在账户信息第一次写入数据库时??需要使用,以后执行修改密码、删除账户等操作时不再需要该参数。pdbedit命令中使用的参数和函数如下表所示。参数功能-a用户名创建一个Samba用户-x用户名删除一个Samba用户-L列出用户列表-Lv列出用户详情列表我这里创建samba共享服务是为了方便php开发,所以我创建samba作为www用户帐户[root@localhost~]#idwsuid=1000(www)gid=1000(www)groups=1000(www)[root@localhost~]#pdbedit-a-uwwwnewpassword:retypenew密码:Unix用户名:wwwNT用户名:帐户标志:[U]用户SID:S-1-5-21-3548489930-144868596-3428749032-1001主要组SID:S-1-5-21-3548489930-144868596-3428749032-513DirectorNamey:主页localhostwwwHomeDir驱动器:登录脚本:配置文件路径:\localhostwwwprofileDomain:LOCALHOSTAAccountdesc:工作站:Munged拨号:登录时间:0注销时间:2036年2月6日星期三23:06:39CST启动时间:2036年2月6日星期三23:06:39CSTPassword上次设置:2019年4月17日星期三17:23:10CST密码可以更改:2019年4月17日星期三17:23:10CST密码必须更改:neverLastbadpassword:0Badpasswordcount:0Logonhours:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF打开防火墙windows访问samba的共享目录如果只需要开发tcp端口445,iptables开发端口iptables-IINPUT-ptcp--dport445-jACCEPTserviceiptablessavefirewallddevelopmentportfirewall-cmd--permanent--zone=public--add-port=445/tcpfirewall-cmd--reload 映射网盘右键此电脑,映射网盘文件夹,填入:\192.168.231.136share映射成功,右侧会出现一个映射的网络驱动器:参考文章第12章使用Samba或NFS实现文件共享。本文是作者总结的一篇文章。由于作者水平所限,难免有错误。欢迎指正,万分感谢。