Homestead 是 Laravel (PHP 框架) 准备好的开发环境
它是个虚拟机, 用 VirtualBox + Vagrant 运行
(其实 Vmware 也行, 但 Vagrant 是必须)
1) 安装 VirtualBox + Vagrant + SSH
$ sudo apt install ssh virtualbox vagrant
2) 安装 Homestead Vagrant Box
(我网速 10Mbps 也花了几次才能成功安装, 安装完要 1 个小时多)
$ vagrant box add laravel/homestead
3) 安装 / 初始化 / 配置 Homestead Vagrant Box
3.1) 安装
$ cd ~
$ git clone https://github.com/laravel/homestead.git Homestead
$ cd ~/Homestead
# 去官网检查现在的最新版本号 https://github.com/laravel/homestead/releases
$ git checkout v7.6.0
3.2) 初始化 Homestead
$ bash init.sh
3.3) 研究下 Homestead 配置
$ gedit Homesstead.yaml
4) 有用到 SSH, 本地需生成公钥与私钥 (~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub)
$ ssh-keygen -t rsa -P ""
5) 启动 Homestead Vagrant Box 虚拟机
$ cd ~/Homestead
$ vagrant up
网卡部分可能会界面不是 eth1 而出现错误,
进去虚拟机安装 ifupdown 后, 问题就可解决了
mesg: ttyname failed: Inappropriate ioctl for device
bash: line 4: /sbin/ifdown: No such file or directory
bash: line 20: /sbin/ifup: No such file or directory
$ vagrant ssh
vagrant@homestead:~$ sudo apt install ifupdown
vagrant@homestead:~$ exit
6) larabbs 例子
6.1) 下载
$ cd ~ && mkdir -p code
$ cd ~/code
$ git clone https://github.com/summerblue/larabbs
6.2) Homestead 配置改后, 重载之..
$ cd ~/Homestead
$ gedit Homestead.yaml
folders:
- map: ~/code/larabbs/
to: /home/vagrant/larabbs
sites:
- map: larabbs.test
to: /home/vagrant/larabbs/public
databases:
- larabbs
$ vagrant reload
6.3) 安装扩展包 ~/code/larabbs/vendor,
会映射到虚拟机 /home/vagrant/larabbs/vendor
6.3.1) 本地安装, 但先要安装 composer
$ cd ~/code/larabbs
$ composer install
PHP - composer 命令安装
https://jasonmun.blogspot.my/2018/05/php-composer.html
6.3.2) 虚拟机上安装 (可以跳去 6.5 上安装)
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ composer install
vagrant@homestead:~$ exit
6.4) 准备 .env 文件 (里面配置了 mysql 用户与密码)
6.4.1) 本地安装
$ cd ~/code/larabbs
$ cp .env.example .env
6.4.2) 虚拟机上安装 (可以跳去 6.5 上安装)
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ cp .env.example .env
vagrant@homestead:~$ exit
6.5) 进入 Homestead 虚拟机, 准备秘钥 / 数据库 / 数据
$ cd ~/Homestead
$ vagrant ssh
vagrant@homestead:~$ mysql -u homestead -psecret
mysql> show databases;
mysql> create database larabbs;
mysql> exit
vagrant@homestead:~$ cd /home/vagrant/larabbs
vagrant@homestead:~$ php artisan key:generate
vagrant@homestead:~$ php artisan migrate --seed
vagrant@homestead:~$ exit
* 秘钥也可以在本地生成, 如果本地也有安装 php7
6.6) 在 /etc/hosts 文件添加 (192.168.10.10 也就是 homestead 虚拟机)
$ echo "192.168.10.10 larabbs.test" | sudo tee -a /etc/hosts
6.7) 浏览
http://larabbs.test
6.8) 关闭虚拟机
$ cd ~/Homestead
power off 关闭虚拟机 (再启动, 用 vagrant up 即可继续)
$ vagrant halt
已不再要了(再启动, 用 vagrant up, 但需要再安装 ifupdown / 数据库 / 数据 )
$ vagrant destroy
没有评论:
发表评论