欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

配置mac的php开发环境(homestead)

程序员文章站 2024-02-19 18:08:22
...

一、安装virtualbox、vagrant

    这两个都有客户端,直接在官网上找到对应mac操作系统的版本安装即可。并且安装程序上还带有卸载的脚本。



二、添加laravel/homestead盒子

    打开终端输入命令:

vagrant box add laravel/homestead

    这个命令会提示你选择你安装的虚拟机,选择virtualbox对应的编号即可。然后程序会加载远程镜像,如果失败会提示你无法连接到某个网址,这个时候需要*,把这个网址添加到白名单即可。


三、加载homestead配置环境

    这一步需要安装git,在终端输入git回车,如果没有安装,系统会自动弹出安装选项,可以选择只安装命令行工具,这样就不用安装xcode这个占地方的软件了。

    安装完git,可以提前配置一下ssh**。这样在后面启动虚拟机的时候就不会报错。用户家目录下输入命令:    

ssh-******
    这个命令输入有几个提示,一路回车即可,这个命令会在用户家目录下生成一个.ssh的隐藏文件夹,里面有生成好的公钥和私钥。

    然后在用户家目录下,用git命令同步github上的homestead配置环境:

git clone https://github.com/laravel/homestead.git Homestead

    这个命令在家目录下生成一个Homestead文件夹,但是里面还缺少Homestead.yaml这个配置文件。进入到这个Homestead文件夹,输入一个bash命令来生成这个配置文件:

bash init.sh
    .sh格式的文件是bash脚本文件,这个命令的意思是运行Homestead文件夹里的init.sh这个脚本文件。这个脚本文件会生成Homestead.yaml等若干个文件,我们要操作的就是Homestead.yaml这个配置文件。



四、配置Homestead.yaml文件

    用vi打开这个Homestead.yaml文件

ip: "192.168.10.10"

    这个是虚拟机的地址,一切都配置好后可以通过这ip地址查看虚拟机的网页。并且,可以配置hosts文件来通过域名的形式访问虚拟机。mac的hosts文件位置是/etc/hosts,可以通过sudo vi命令编辑这个文件。

memory: 2048
cpus: 1
provider: virtualbox

    这三个一般不用配置,字面理解就行:占用的内存、cpu核心数、虚拟机种类。

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

    这两个就是登陆虚拟机时需要的共钥和私钥,默认是不存在的,没有这两个ssh**,后面虚拟机是登不上去的。不过我们在上面一步安装完git后已经配置好ssh了。

folders:
    - map: ~/code
      to: /home/vagrant/code

    map:对应的文件夹是本机上的,默认是不存在的,你可以按照上面的提示在用的家目录下新建一个code文件夹。

    to:对应的文件夹是虚拟机上的,虚拟机启动后,这个目录默认是存在的,并且这个目录被配置为nginx的根目录,后面框架文件就是安装在这个目录下。

    这两个目录是相互映射的,也就是你在本机上的~/code文件夹里做了什么,等同于在虚拟机上的/home/vagrant/code的文件夹里做了什么,反之亦然。这就方便了我们在本机上用ide操作虚拟机上的文件。

sites:
    -map: homestead.test
     to: /home/vagrant/code/public 

    这个是配置域名快捷访问的。用过laravel框架的都知道,public是网站入口文件所在的文件夹,也就是网站根目录所在。这里默认的配置就相当于想象我们在虚拟机的/home/vagrant/code文件夹下生成好了一个框架,用homestead.test这个域名指向了这个框架的public文件夹。   

    但实际学习过程中,我们会在网站的根目录下生成若干个框架文件用于学习不同的网站形式,这时我们可以这样配置:

sites:
    -map: foo.test
     to: /home/vagrant/code/foo/public
    -map: bar.test
     to: /home/vagrant/code/bar/public
    这样,我们可以用不同的域名访问不同的框架入口。

    注意:这里的域名还要在本机hosts文件中设置好,ip地址都设置为192.168.10.10

database:
    -homestead
    这个homestead数据库是虚拟机上默认就建好的,laravel的.env文件中关于数据库默认配置就是连接的这个数据库,用户名是homestead,密码是secret。我刚开始学laravel框架时还纳闷上面的默认配置是怎么回事,原来就是为了配合laravel官方推荐的开发环境。

    这个配置文件还可以有更加深入的配置语句,但上面这些已经足够让我们使用homestead开发环境了。

    注意,最重要的一点,在修改并保存了这个配置文件后,一定要在~/Homestead文件夹下输入这个命令:

vagrant provision
    这个命令是用来使配置文件生效的。


五、启动虚拟机

    在~/Homestead文件夹下输入命令:

vagrant up
    就可以启动虚拟机了。

    然后登陆虚拟机:

vagrant ssh
    稍等片刻进入虚拟机后,pwd一下,可以发现所在的目录就是/home/vagrant,这个目录下面只有一个code目录,也就是被默认配置为nginx的根目录,在这个code目录下运行composer命令,安装框架即可,别忘了修改composer的镜像地址。

    如果你想在code文件夹下新建若干个文件夹用来安装不同的项目,别忘了在配置文件homestead.yaml中及Hosts中自定义域名指向不同项目的入口文件夹。

    关闭虚拟机的命令是:

vagrant halt

    重启虚拟机的命令是:

vagrant reload

    销毁当前虚拟机的命令是(这个销毁命令我还没用过,用过之后再来补充吧):

vagrant destroy --force
    这几个命令都要在~/Homestead文件夹下运行,否则会报错。

    


六、配置虚拟机

    登陆到虚拟机后,除了修改composer的镜像地址为国内的镜像地址,还要把虚拟机的时区修改为国内时区。在虚拟机内输入命令date可以看到,默认的时间是UTC时间。如果不修改的话,即便修改laravel的app配置文件上的时区为PRC,时间还是不准。因为虚拟机默认的系统是ubuntu,我们就可以用ubuntu的专用的时区调整命令:

sudo dpkg-reconfigure tzdata
    这条命令需要管理员权限,所以要加上sudo。这个命令会调出一个图形界面,首先用键盘上下键选择所在洲(Asia),回车后选择城市(上海shanghai)即可。最后重启虚拟机以使设置生效。
相关标签: homestead mac php