关于MacOS12 Monterey安装虚拟机
如题,升级到最新系统MacOS12 Monterey后,网上很多资料已经不适合用了,因此花费了很长时间进行一一测试。
一、曾经尝试的方法(可能是本人配置问题吧):
1、Mac自带Apache,但是最新的MacOS12已经不支持内置PHP了,安装PHP修改配置依旧无效
2、安装brew,通过brew来重新安装httpd Apache服务器,再安装PHP环境,最后修改配置到自己工作目录,全部启动,依旧没有运行成功,有兴趣的同学可以尝试,
二、符合本人项目的虚拟机 - XAMPP(尝试过小皮PHPstudy MAc版,配置无效)
下载对应的PHP版本哦,低PHP版本好操作,网上教程多是低PHP版本,适合新人。之前盲目下载最新版本导致一度配置后无法访问问题。
因为项目最低PHP版是7.1,因此我找打7.1.30版本MAc下载,虽然界面老了一点,但是没很实用,不需要全开,只需要开启apache服务就可,开启时可以实时看日志,server Events 或 Log
这里面可以找到对应的PHP版本,点击进去,不要点上面绿色下载按钮,看列表中的安装文件installer.dmg,可以看下载量,点击下载,然后一直next安装即可。
该低版本的XAMPP会在应用程序中新建一个XAMMP文件夹,里面就是相关的配置文件
快捷进入方法:
1、点击访达 -》 应用程序 -》找到文件夹 XAMPP -> etc (建议分栏模式,层级关系)
2、打开XAMPP软件,第一页Welcome,点击右下方第二按钮 open Application Folder,找到当前同级的etc即可
XAMPP第二页面Manage Servers
选择 Apache Web Server,选择右边Start,只需要开启这即可
XAMPP第三页面Server Events 是监控Manager Servers开启关闭状态日志,可以更加日志定位问题
修改配置
可以直接修改etc中http.conf,建议自己先备份一份,也可以修改etc -> extra中的httpd-xampp.conf文件,
这里说一下,httpd-xampp-conf是对http.conf配置的覆盖,目的是不想用户直接修改http.conf原件,其实没必要,可以直接修改随意。修改的配置的网上很多
1、修改host
1.1、打开终端输入: sudo vim /etc/hosts
1.2、按A,开始移动光标修改、添加,127.0.0.1 xx
1.3、修改完成后,按一下ESC,然后按住shift + :(冒号),再输入wq(保存退出)
注:也可以使用第三方插件,如utools、火绒,本人用utools,因为其插件真丰富,自己也会写着玩,utools中搜hosts,安装后在开发环境输入127.0.0.1 xx,最后右键开发环境选择应用此文件即可
2、修改虚拟机映射 https-vhosts.conf
应用程序 -》XAMPP -》etc -》extra -》https-vhosts.conf
最下面添加自己的项目
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/Users/myMac/work/test" ServerName test.com ErrorLog "logs/test.com-error_log" CustomLog "logs/test.com-access_log" common
</VirtualHost>
3、修改 httpd-conf
3.1、引入httpd-vhosts.conf
找到 Virtual hosts,去掉下面一行的 #
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
3.2、修改用户,防止403报错,没有权限
User xiaoming // 这是xiaoming表示是自己的用户名,不能有空格,如果格式不对,请修改自己用户名,可自行百度Mac修改用户名即可 Group daemon
3.3 如果直接修改httpd-conf,请在最后一行中,即 # XAMPP 下面引入的覆盖文件注释掉,前面加#即可
# XAMPP Include etc/extra/httpd-xampp.conf # Include /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf
3.4、修改DcumentRoot,路径和相关配置
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# blocks below.
#
AllowOverride All
Require all granted
Order deny,allow
Allow from all
DocumentRoot "/Users/work/test" <directory " users="" work="" test"> <="" directory <="" div=""> # # Possible values for the Options directive are None, All, # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that MultiViews must be named *explicitly* --- Options All # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/trunk/mod/core.html#options # for more information. # #Options Indexes FollowSymLinks # XAMPP Options Indexes FollowSymLinks ExecCGI Includes # # AllowOverride controls what directives may be placed in .htaccess files. # It can be All, None, or any combination of the keywords: # Options FileInfo AuthConfig Limit # #AllowOverride None # since XAMPP 1.4: AllowOverride All # # Controls who can get stuff from this server. # Require all granted Order deny,allow Allow from all
3.5、配置完这些,在XAMPP第二页面Manage Servers,选中apache web server,点击restart即可,如果有报错,请看第三页面Server Events的日志,哪个地方配置问题