版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33867131/article/details/85120880
vagrant常用命令:
vagrant up 启动虚拟机
vagrant halt 关闭虚拟机
vagrant reload --provision 如果修改了yaml文件,需要重新编译Homestead.yaml文件
1、安装 VirtualBox:
Centos:
Ubantu:自带的商店就能搜索安装
2、安装 vagrant (虚拟机管理工具):
输入下列命令,你就可以安装指定的版本
wget -c https://releases.hashicorp.com/vagrant/2.2.2/vagrant_2.2.2_x86_64.deb
dpkg -i vagrant_2.2.2_x86_64.deb
vagrant plugin install vagrant-vbguest
3、添加homestead虚拟机的box:
在线添加homestead虚拟机(因为是国外网站,网速有可能慢,你还可以选择离线安装,我是忍了,等了30多分钟)
输入命令添加:vagrant box add laravel/homestead
离线添加homestead虚拟机(下载metadata.json和virtualbox.box)
metadata.json 放在用户目录下;
virtualbox.box 位置随便放,但是要在metadata.json文件中,修改到正确url地址;
输入命令添加:vagrant box add metadata.json
4、克隆Homestead源码到本地:
安装Homestead:git clone https://github.com/laravel/homestead.git
5、初始化homestead
cd ~/Homestead(进入Homestead文件夹下)
bash init.sh
6、修改配置文件Homestead.yaml(只需修改两处):
folders:
- map: ~/code/Taskmanager # 主机文件夹(需要先建好空文件夹)
to: /home/vagrant/code/Taskmanager # 映射到虚拟机的文件夹(会自动生成,不用新建文件夹)
sites:
- map: taskmanage.local # 站点域名
to: /home/vagrant/code/Taskmanager/public # 域名映射到站点
7、将域名写入host文件,这样以后浏览器上输入taskmanage.local,就能对应到虚拟机的ip了:
输入命令:
kai@kai:~$ sudo gedit /etc/hosts
将这一行加到最后,并保存
192.168.10.10 taskmanage.local
8、启动虚拟机
启动虚拟机:vagrant up (以后启动homestead虚拟机,直接进入Homestead文件执行此命令)
9、如果出现报错:check your Homestead.yaml file, the path to your private key does not exist,
执行命令:ssh-keygen(生成一下密匙,一路默认)
10、如果还报错:You are running composer as "root", while "/home/vagrant/.composer" is owned by "vagrant"
利用VirtualBox虚拟机启动:输入账号:vagrant 密码:vagrant
11、主机连虚拟机:
ssh [email protected]
账号密码都是:vagrant
12、新建Laravel项目:
走到这里,你的环境就已经搭建好了,下面就要去下载Laravel框架包了,因为需要用到composer去下载包,
有可能你的主机里没用安装composer,你可别忘了咱们的Homestead虚拟机里已经安装了所有需要的包了,
所以直接去虚拟机里执行下载命令,主机里自动就会映射到下载的文件(有可能没有root权限,所以我就直接在
主机中下载了包,映射进了虚拟机)
(1)因为composer在国外,直接下载网速会很慢,建议使用国内镜像,输入下面两条命令
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer global require hirak/prestissimo
(2)下载Laravel框架包,进入到code文件夹下(项目的目录之上),输入命令:
composer create-project laravel/laravel Taskmanager(项目名)
13、更新Laravel版本:
(1)修改框架,composer.json -> require -> "laravel/framework": "5.7.*"
(2)执行命令 composer update
14、为虚拟机创建root账户(参考文章:https://blog.csdn.net/sqc157400661/article/details/70228493/)
按Esc进入设置模式 -> Ubantu, with Linux 3.5.0-23-generic(recovery mode)
-> 执行2条命令 chown root:root /usr/bin/sudo -> chmod 4755 /usr/bin/sudo
-> 创建root登陆密码命令:sudo passwd root -> 退出重启
15、关于Ubuntu拒绝root用户ssh远程登录
#sudo vim /etc/ssh/sshd_config
找到并用#注释掉这行:PermitRootLogin prohibit-password
新建一行 添加:PermitRootLogin yes
重启服务
#sudo service ssh restart
解读一下这两句话吧!
PermitRootLogin yes
允许root登录,设为yes。
PermitRootLogin prohibit-password
允许root登录,但是禁止root用密码登录
16、使用composer安装了laravel之后没有vendor文件夹怎么办
(1)Laravel对php版本要求很高需要大于7.1,所以有可能是你php版本过低,升级php版本即可
直接输入下列命令升级php版本:
add-apt-repository ppa:ondrej/php
apt-get update
apt-get upgrade php
升级后安装对应的扩展
apt-get install php-mbstring
apt-get install php-gd
apt-get install php-dom
apt-get install php-mysql
apt-get install php-curl
(2)开启php.ini里面的mbstring extension=php_mbstring.dll
(3)实在不行你可以下载安装包,解压到本地用