mac上配置apache虚拟主机
前言:
1,mac系统下自带的Apache2的访问的默认地址是/Library/WebServer/Documents
2,Apache2的的目录是 /etc/apache2, 这里有apache2的各种配置
3,hosts文件, 是电脑的一个文件,用于解析的(目前是这么理解的)!
一,编辑你的 apache 配置文件:
vim /etc/apache2/httpd.conf
去掉这一行的注释:
Include /peivate/etc/apache2/extra/httpd-vhosts.conf
这时,apache 将会加载 httpd-vhosts.conf 这个配置文件
但是我把这个注释给去掉的时候,然后再配置httpd-vhost.conf的时候,依然是不可用的.
所以我和同学一块沟通之后,同学在httpd.conf中发现了一下代码
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
是不是很惊喜,说明mac下自带的Apache根目录,默认访问的是/Library/WebServer/Documents目录下的文件.当你打开这个目录的时候,你会发现里面有默认的 index.html.en,你在配置好的域名访问的时候总是弹出It Works! 就是这个文件.
二,配置http-vhosts.conf文件
我把laravel文件blog移动到了Apache目录下,然后再配置http-vhosts.conf文件
编辑httpd-vhost.conf 配置文件:
vim /etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/Library/WebServer/Documents/blog/public"
ServerName abc.com //abc.com是你配置的域名.
<Directory "/Library/WebServer/Documents/blog/public">
Options Indexes FollowSymLinks ExecCGI
AllowOverride All
# OSX 10.10 / Apache 2.4
Require all granted
</Directory>
</VirtualHost>
三,配置hosts文件,
sudo vim /etc/hosts
设置你本地指向abc.com这个域名
127.0.0.1 abc.com
这里的abc.com,就是你配置的域名,在浏览器能直接访问你的框架首页.
当然,你也可以查看是否配置有错误,
apachectl configtest
用来查看你的配置是否有错误.
四,然后再配置php的环境
然后再配置php的环境,这个是让Apache服务加载php模块.不然的话,加载出来的页面是源码.在httpd.conf中找到#LoadModule php7_module libexec/apache2/libphp7.so
去掉这行代码前面的#注释符.(不要整句复制搜索,只需要复制后边的代码就行.)
然后重启Apache服务器
sudo apachectl restart
然后再浏览器里输入你配置的域名,如果你没有删除之前的index.html.en文件.那么浏览器里弹出来的还是It Works!是不是又是很气人.你需要在你配置的域名后面添加上index.php路径就行了,这个时候就访问到你的laravel框架的首页了,也就是blog/public/index.php的文件.
如果还是不显示的话,很有可能是你的文件权限的问题,你需要给文件添加权限.你可以先cd到blog文件的父级目录,然后给blog整个文件权限
sudo chmod -R 777 blog
到这里,你输入你配置的域名和index.php路径,就会出现Laravel框架的欢迎页了
Hello world! Laravel.