我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文的写作环境是mac,全新安装的mac系统自带的apache,在此基础上安装piwik。其实知识点都很基础,本文就是冷饭组合拼盘,希望大家能够通过阅读本文,感受到新的组合味道。

苏南大叔:apache如何配置基于php的vhost网站? - apache-php-vhost
apache如何配置基于php的vhost网站?(图13-1)

修改httpd.conf

mac系统自带的apache配置文件位置是:/etc/apache2/

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
<Directory />
    AllowOverride all
    #Require all denied
    allow from all
</Directory>

苏南大叔:apache如何配置基于php的vhost网站? - 000
apache如何配置基于php的vhost网站?(图13-2)

苏南大叔:apache如何配置基于php的vhost网站? - 001
apache如何配置基于php的vhost网站?(图13-3)

苏南大叔:apache如何配置基于php的vhost网站? - httpd
apache如何配置基于php的vhost网站?(图13-4)

注意这里的libphp5.so,对于最新版的mac来说,可能应该是libphp7.so

修改httpd-vhost.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/www/mine/piwik/"
    ServerName piwik
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
    <Directory /www/mine/piwik/>
      Options FollowSymLinks
      AllowOverride All
      Order deny,allow
      Allow from all
    </Directory>
</VirtualHost>

苏南大叔:apache如何配置基于php的vhost网站? - 004
apache如何配置基于php的vhost网站?(图13-5)

其中需要注意的是:

  • apache的比较变态的设定,初始状态下,是拒绝所有请求的,所有的请求,都显示403 forbidden。(Allow from all)而且没有开始,几乎每个程序都使用的.htaccess功能。(AllowOverride All)
  • http-vhosts.conf中,要修改的路径,有2个。一个是DocumentRoot,一个是Directory
  • Allow from all的地方,有两个。一个在httpd.conf中的设置"/",另外一个在httpd-vhost.conf中,设置对应的虚拟目录。

苏南大叔:apache如何配置基于php的vhost网站? - 003
apache如何配置基于php的vhost网站?(图13-6)

测试conf配置,重启apache

sudo apachectl -t
sudo apachectl restart

苏南大叔:apache如何配置基于php的vhost网站? - 099
apache如何配置基于php的vhost网站?(图13-7)

苏南大叔:apache如何配置基于php的vhost网站? - 005
apache如何配置基于php的vhost网站?(图13-8)

根据需要配置php.ini

mac系统自带的php,是没有对应的php.ini文件的,而是在对应位置放置了个php.ini.default,那么需要你自己创建一个php.ini即可。

cd /etc/
cp php.ini.default php.ini
vi php.ini

苏南大叔:apache如何配置基于php的vhost网站? - 020
apache如何配置基于php的vhost网站?(图13-9)

苏南大叔:apache如何配置基于php的vhost网站? - 021
apache如何配置基于php的vhost网站?(图13-10)

处理根目录文件夹权限

这里处理源码文件夹权限,并非必须的。当且仅当您的程序,需要"写权限"的时候,才会需要配置这条项目。

sudo chown -R _www:_www ./
sudo chmod -R 755 ./

其中的属主组合为 group:user ,来自 apache的httpd.conf设置。

苏南大叔:apache如何配置基于php的vhost网站? - 010
apache如何配置基于php的vhost网站?(图13-11)

苏南大叔:apache如何配置基于php的vhost网站? - 011
apache如何配置基于php的vhost网站?(图13-12)

苏南大叔:apache如何配置基于php的vhost网站? - 014
apache如何配置基于php的vhost网站?(图13-13)

当然你也可以简单的给与777权限也可以,看你自己的需求了。

结论

剩下的事情,就是你自己设置其余的网站相关的事情了,这里不做赘述。如果你还想查看,有关苏南大叔写的更多关于apache的文章,请点击这里查看:https://newsn.net/tag/apache/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   piwik    apache