Mac Apache-PHP开启及相关配置

Mac系统自带Apache环境,终端查看Apache的版本号:

sudo apachectl -v

了解下apache的三个基本命令

sudo apachectl -k start  //启动Apache
sudo apachectl -k stop  //停止Apache
sudo apachectl -k restart  //重启Apache

一、服务开启

启动apache之后,可在浏览器输入http://127.0.0.1或者localhost,若显示It works!说明服务已启动。但若未配置过,则可能出现Forbidden!字样。打开终端,继续下面的步骤:
1.cd到apache的根目录

cd /etc/apache2

2.先对原本的配置文件进行拷贝,以防配置出现错误时恢复文件。

sudo cp httpd.conf httpd.conf.bak

附:恢复文件的命令

sudo cp httpd.conf.bak httpd.conf

3.更改网站根目录
(也可设置自定义用户访问目录,参考https://www.jianshu.com/p/f56815569234)
网站根目录就是存放我们网站文件的最顶层目录,通常 URL 中域名后面的第一个斜线对应(映射)的就是网 站根目录。
默认 Apache 的网站根目录是安装目录中的 htdocs 文件夹,为了方便对网站文件的管理,一般我们会将其设置在 一个自定义目录中(如果你不介意其实不修改也无所谓)。

3.1在用户-【用户名】文件夹中,新建文件夹,命名为Sites,例如:


Mac Apache-PHP开启及相关配置_第1张图片
1532335062672.jpg

3.2终端中编辑httpd.conf 文件

sudo vim httpd.conf

输入用户密码后,如下


Mac Apache-PHP开启及相关配置_第2张图片
屏幕快照 2018-07-23 下午4.40.01.png

4.在 Apache 添加 PHP 处理模块
终端输入/php,找到:#LoadModule php5_module libexec/apache2/libphp5.so 或者 #LoadModule php7_module libexec/apache2/libphp5.so,按住i进入编辑模式后,去掉该行前面的#,然后ESC退出编辑模式


Mac Apache-PHP开启及相关配置_第3张图片
1532335853570.jpg

附:若需切换php版本,就修改这行代码。

5.继续输入/DocumentRoot 查找,出现类似下图,

Mac Apache-PHP开启及相关配置_第4张图片
屏幕快照 2018-07-23 下午4.45.20.png

终端中按住i键,进入编辑模式后
5.1更改路径,修改两个lib/WebSer/Docume改成我们自己的服务器文件夹路径(/Users/ 用户名/Sites)如下:
Mac Apache-PHP开启及相关配置_第5张图片
1532335417942.jpg

然后按ESC键退出编辑模式,继续下一步

5.2继续进行配置(也可退出编辑后,搜索options)
找到
Options FollowSymLinks Multiviews
按i进入编辑模式后,修改为

Options Indexes FollowSymLinks Multiviews

修改AllowOverride None为

AllowOverride All

如图:


Mac Apache-PHP开启及相关配置_第6张图片
1532336720131.jpg

5.3我们现在应该启用默认情况下注释掉的 mod_rewrite 。搜索mod_rewrite.so 并通过删除领先取消注释行 #:

LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

5.4修改用户与组
现在我们有阿帕奇的配置指向一个 Sites我们的主目录中的文件夹。但是,仍然存在一个问题。默认情况下,阿帕奇的作为用户运行daemon 和组 daemon。当试图访问我们的主目录中的文件时,这将导致权限问题。大约三分之一的路httpd.conf 文件有两个设置来设置 UserGroup阿帕奇将在下运行。更改这些以匹配您的用户帐户(替换your_user 与你真正的用户名),与一组 staff

User your_user
Group staff

5.5 服务器名称

阿帕奇喜欢在配置中有一个服务器名称,但默认情况下这是禁用的,所以搜索:

#ServerName www.example.com:8080

并将其替换为:

ServerName localhost

ESC退出编辑后,终端继续输入:wq进行保存并退出

此时基本配置完毕,可重启Apache后,在网站根目录中创建一个php文件,然后在浏览器中输入localhost可查看到php文件列表。

6.端口设置
http默认使用端口80,若需添加其他端口,终端继续编辑httpd.conf文件,
例如搜索/Listen后,添加8080端口


Mac Apache-PHP开启及相关配置_第7张图片
1532337237041.jpg

7.修改默认文档
当客户端访问的是一个目录而不是具体文件时,服务端默认返回这个目录下的某个文档(文件),这个文档就称之为默认文档。
默认文档可以配置多个(有前到后依次去找,找到为止,如 果没找到任何一个则启用目录浏览):
终端继续编辑配置文件,输入/DirectoryIndex进行搜索,找到DirectoryIndex index.html,一般无需修改。
修改后类似于下面


Mac Apache-PHP开启及相关配置_第8张图片
1532337613772.jpg

二、多站点开启

1.虚拟主机

如果一台机器上只有一个网站的话,没有任何问题,但是如果想要在一台机器上部署多个站点,就必须通过配置虚
拟主机的方式解决。

由于后期对虚拟主机的配置操作非常常见,所以我们一般将虚拟主机的配置单独放到一个配置文件中,然后
在主配置文件中引入,避免破坏主配置文件中的其他配置。
Include conf/extra/httpd-vhosts.conf 配置的作用就将另外一个配置文件引入(使其生效)

具体操作:
1.1 在主配置文件 httpd.conf中,终端输入/hosts,找到

# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

按i进入编辑模式后将第二行前面的#去除


Mac Apache-PHP开启及相关配置_第9张图片
1532337969011.jpg

ESC退出编辑模式后,终端输入

:wq

进行保存

1.2编辑httpd-vhosts.conf文件

sudo vim /etc/apache2/extra/httpd-vhosts.conf

按i进入编辑模式,配置想要的虚拟主机目录,

Mac Apache-PHP开启及相关配置_第10张图片
1532338346639.jpg

绿框部分是默认的示例,仿照示例编辑.另外这两个虚拟主机实际上是不存在的,需删除或在每行前面添加#。


Mac Apache-PHP开启及相关配置_第11张图片
1532338492339.jpg

退出编辑模式后,:wq退出并保存
8.3在vhosts文件中添加 127.0.0.1 主机名,配置这个的作用就是将你配置的主机地址指向127.0.0.1(本机地址)

sudo vim /etc/hosts
Mac Apache-PHP开启及相关配置_第12张图片
1532338741476.jpg

编辑完后 退出并保存。

然后重启apache,在虚拟主机目录下可新建index.html,浏览器打开进行测试。

注意:虚拟主机的目录,若是Library/WebServer/Documents,或者其他自定义目录,记得设置打开目录的权限(设置主机的权限),在http.conf文件中配置。或者httpd-vhosts.conf文件中配置虚拟主机时。

额外注意:某些时候,多站点配置以后,可能会存在The requested URL / was not found on this server.
在httpd-vhosts.conf中增加下面代码,直接用localhost就能访问。即把localhost也当成一个虚拟站点,其对应的目录即可访问。


    DocumentRoot "F:/Demo"
    ServerName localhost

https://www.imooc.com/qadetail/62113

三、mbstring扩展开启及错误日志开启

1.备份

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

2.获取php.ini文件的权限并编辑

sudo chmod 755 /etc/php.ini 
sudo vim /etc/php.ini

2.1 找到;extension=php_mbstring.dll,去除注释——将前面的;去掉


Mac Apache-PHP开启及相关配置_第13张图片
1532500211642.jpg

2.2 找到下面的对应项并修改其值如下

mbstring.language = Chinese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.detect_order = UTF-8
mbstring.encoding_translation = On
mbstring.substitute_character = none
Mac Apache-PHP开启及相关配置_第14张图片
1532501307515.jpg

2.4 退出编辑 找到display_errors 去除Default_Value:On前面的分号


Mac Apache-PHP开启及相关配置_第15张图片
1532500480599.jpg

2.5退出编辑并保存,后重启Apache

sudo apachectl -k restart

你可能感兴趣的:(Mac Apache-PHP开启及相关配置)