Apache安装

Apache开启php

1、打开终端,查看Apache版本:

httpd -v

sudo apachectl -v
Server version: Apache/2.4.28 (Unix)
Server built: Oct 9 2017 19:54:20

2、开启Apache:

sudo apachectl start
Server version: Apache/2.4.28 (Unix)
Server built: Oct 9 2017 19:54:20

3、验证是否开启:

浏览器输入:127.0.0.1或者localhost,会出现it works

4、Apache的默认根目录:

/Library/WebServer/Documents

5、复制目录文件,修改index.php内容:

cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php

复制目录/Library/WebServer/Documents下index.html.en文件,后缀名改为.php,

并编辑文件内容在it works后加上




It works!



再次访问浏览器会看到php的版本信息

6、修改Apache的httpd.conf文件,先备份该文件

sudo vi /etc/apache2/httpd.conf
编辑内容,先根据终端提示的信息来更改(brew info php),再根据网上帖子更改:
6.1、开启php,找到并取掉注释符号#号:
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
并添加:
<FilesMatch .php$>
SetHandler application/x-httpd-php

6.2、设置虚拟主机和虚拟目录,找到并取掉注释符号#号
#LoadModule authn_core_module libexec/apache2/mod_authn_core.so
#LoadModule authz_host_module libexec/apache2/mod_authz_host.so
#LoadModule authz_core_module libexec/apache2/mod_authz_core.so
#LoadModule dir_module libexec/apache2/mod_dir.so
#LoadModule userdir_module libexec/apache2/mod_userdir.so
#LoadModule alias_module libexec/apache2/mod_alias.so
并添加index.html index.php index.jsp index.htm,如果网站根目录使用虚拟目录形式,则在根目录下不能添加这些文件,否则不会出现虚拟目录,
并修改文件内容:Options FollowSymLink修改为Options Indexes FollowSymLinks

DirectoryIndex index.html index.php

#LoadModule perl_module libexec/apache2/mod_perl.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so


找到并去掉注释符号(#)
#Include /private/etc/apache2/extra/httpd-userdir.conf
#Include /private/etc/apache2/extra/httpd-vhosts.conf
#Include /private/etc/apache2/other/.conf
6.3、修改默认网站目录,以自定义文件目录作为网站目录:
DocumentRoot "/Users/comyn/Sites"
<Directory "/Users/comyn/DocumentRoot">
6.3、创建虚拟主机
sudo vim /etc/apache2/extra/httpd-vhosts.conf
6.3.1、找到并去掉注释符号(#),没有则添加
#Include /private/etc/apache2/users/
.conf
6.3.2、用#注释掉原有的两个VirtualHost并添加,ServerName对应自定义网站名称,ErrorLog和CustomLog最后一个目录名也要对应修改
<VirtualHost *:80>
DocumentRoot "/Users/comyn/Workspace"
ServerName phpserver
ErrorLog "/private/var/log/apache2/phpserver-error_log"
CustomLog "/private/var/log/apache2/phpserver-access_log" common

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
Allow from all


6.4、添加DNS解析
sudo vi /etc/hosts
添加以下内容,phpserver对应上面的ServerName
127.0.0.1 phpserver
6.5、重新以phpserver浏览器访问网站,如果出现问题,可能是权限问题、没有文件问题
6.5.1、权限修改:
sudo chmod -R 775 /Users/comyn/server
6.5.2、修改 httpd.conf,添加文件
DirectoryIndex index.html index.php index.jsp index.htm

7、配置各种PHP功能

sudo cp /etc/php.ini.default /etc/php.ini
编辑php.ini内容,根据终端提示的信息来更改(brew info php):
#比如phpMyAdmin中导入数据的最大值
upload_max_filesize = 2M
post_max_size = 8M

比如通过display_errors来控制是否显示PHP程序的报错

display_errors = Off

8、浏览器查看127.0.0.1,可看到网站目录内容

9、如果中途有错误,可命令,启动,查看错误,并解决

sudo /usr/sbin/httpd -k start

10、重启Apache

sudo apachectl restart

11、终端查看php版本:

mac系统自带的php

/usr/bin/php -v

自己安装的php

php-fpm -v ,php -v

自带的php-fpm在/usr/sbin目录下,
通过brew安装的php把php-fpm放到了/usr/local/sbin目录,
默认启动PHP-fpm时系统会找到/usr/sbin目录的文件,他的默认php-fpm.conf为/private/etc目录,默认上不存在的

which php-fpm
/usr/local/sbin/php-fpm

解决php-fpm -v 版本不一致:export PATH=/usr/local/sbin:/usr/local/bin:$PATH

Apache 配置说明:

1. Listen 命令

Listen 80 //监听本机的所有IP地址的80端口的请求
Listen 192.168.3.100 //监听本机的指定IP地址192.168.3.100的所有端口的访问
Listen 192.168.18.89:8080 //监听本机指定IP地址192.168.18.89的8080端口的访问

2. 设置网站根目录的外部的(客户端)访问权限

Options:指定服务器将启用哪些服务器特性。取值:none、All、Indexes
None:禁用启用服务器特性
All:开启所有服务器特性
Indexes:如果首页文件不存在,则显示目录列表
Order:指定Allow(允许)和Deny(禁止)的执行顺序
Order Allow,Deny 先允许访问,再禁止IP访问
Order Deny,Allow 先禁止所有访问,再开启指定IP的访问
Deny:禁止哪些IP访问主机
Deny From All 禁止所有IP访问主机,包括自己
Deny From 192.168.18.76 192.168.18.74 禁止指定IP访问你的主机。禁止客户端的IP地址
Deny From 192.168.18 禁止网段介于192.168.18.0~192.168.18.255之间所有IP访问
Allow:允许哪些IP访问主机
Allow From All 允许所有IP访问主机,包括自己
Allow From 192.168.18.76 192.168.18.74 允许指定IP访问主机
Allow From 192.168.18 允许网段介于192.168.18.0~192.168.18.255之间所有IP访问

posted @ 2018-09-06 09:55  Comyn_sheng  阅读(227)  评论(0)    收藏  举报