Mac Apache WebServer 服务器配置

前言

  • Apache 目前世界上使用最为广泛的一种 Web 服务器,可以支持各种脚本的执行。

1、配置准备工作

  • 1)配置服务器需要做的工作

    • 在 Finder 中创建一个 “ApacheWebServer” 的文件夹,可直接创建在 /Users/qianchia(当前用户名)目录下。
    • 修改配置文件中的 “两个路径”,指向刚刚创建的文件夹。
    • 修改一个 Options 配置项。
    • 反注释一个文件路径配置。
    • 拷贝一个文件。
  • 2)配置服务器时的注意事项

    • 关闭中文输入法。
    • 命令和参数之间需要有 “空格”。
    • 修改系统文件一定记住 “sudo”,否则会没有权限。
    • 目录要在 /Users/qianchia(当前用户名)目录下。
  • 3)示例配置环境

    • macOS 10.11.6
    • macOS 10.13.3
  • 4)WebServer 服务器测试文件

    • 下载文件解压后直接放在新创建的 ApacheWebServer 文件夹中。

2、配置服务器

  • 打开终端,按照下面的操作开始配置,$ 开头的,可以直接拷贝,但是不要拷贝 $。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    # 创建 ApacheWebServer 文件夹
    $ mkdir ApacheWebServer

    # 切换工作目录
    $ cd /etc/apache2

    # 备份文件,以防不测,只需要执行一次就可以了,格式 cp (copy 的缩写) (源文件) (目标文件)
    # 如果后续操作出现错误,可以使用以下命令恢复 $ sudo cp httpd.conf.bak httpd.conf
    $ sudo cp httpd.conf httpd.conf.bak

    # 用 vim 打开 httpd.conf 文件(sudo 操作需要输入系统密码)
    $ sudo vim httpd.conf

    # 查找 DocumentRoot,命令模式下输入 /(查找内容),区分大小写,回车跳转到查找的内容处
    /DocumentRoot

    # 将光标移动到 DocumentRoot 所在行

    DocumentRoot "/Library/WebServer/Documents"
    <Directory "/Library/WebServer/Documents">

    # 进入编辑模式,将光标移动到 DocumentRoot 所在行,直接按键盘上的 i 键
    i

    # 修改引号中的路径为上面在 Finder 中创建的路径,如下

    DocumentRoot "/Users/qianchia/ApacheWebServer"
    <Directory "/Users/qianchia/ApacheWebServer">

    # 往下滑动找到 Options FollowSymLinks Multiviews 行
    # Mac 10.10+ 系统的 Apache 需要修改这一行

    Options FollowSymLinks Multiviews

    # 在 Options 与 FollowSymLinks 之间插入 Indexes

    Options Indexes FollowSymLinks Multiviews

    # 进入命令模式,直接按键盘上的 esc 键
    esc

    # 查找 php,命令模式下输入 /(查找内容),区分大小写,回车跳转到查找的内容处
    /php

    # 将光标移动到 #LoadModule php5_module libexec/apache2/libphp5.so 行首
    # 高版本系统为 #LoadModule php7_module libexec/apache2/libphp7.so 行首
    # 命令模式下直接按键盘上的 0 键
    0

    #LoadModule php5_module libexec/apache2/libphp5.so 或
    #LoadModule php7_module libexec/apache2/libphp7.so

    # 删除行首注释 #,命令模式下直接按键盘上的 x 键
    x

    LoadModule php5_module libexec/apache2/libphp5.so 或
    LoadModule php7_module libexec/apache2/libphp7.so

    # 保存并退出,命令模式下输入 :wq ,不保存退出为 :q!
    :wq

    # 切换工作目录,etc 目录有点类似于 windows/system32,存放配置文件的目录
    $ cd /etc

    # 拷贝 php.ini 文件
    $ sudo cp php.ini.default php.ini

    # 重新启动 apache 服务器
    $ sudo apachectl -k restart

    # 如果出现以下提示,表示配置完成

    httpd: Could not reliably determine the server's fully qualified domain name, using
    MacBookAir.local. Set the 'ServerName' directive globally to suppress this message

    # 设置开机自动启动
    $ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

    # 将服务器脚本文件放到前面设置的 ApacheWebServer 文件夹中。
    # 打开浏览器,在浏览器地址栏中输入服务器地址
    # 如 http://127.0.0.1
    # 或者输入 http://localhost
    # 或者输入 http://本机 IP 地址 进行测试,
    # 能够进入到 “Index of /” 页面表示配置成功。

3、常见问题

3.1 如果点击服务器网站资源中的 info.php 文件,出现下载,或者只是显示一小段文字

1
2
3
4
5
在终端中输入以下两个命令:

$ sudo apachectl -k stop // 关闭 apache 服务器

$ sudo apachectl -k start // 重新再次启动 apache 服务器

3.2 每次启动计算机,Apache 服务器默认是不会自动启动

1
2
3
4
5
6
7
8
9
10
11
可以启动计算机之后,打开终端,输入以下命令:

$ sudo apachectl -k start // 启动 apache 服务器

设置开机启动:

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

关闭开机启动:

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

3.3 执行脚本的时候,显示没有权限,拒绝访问。或者在 “Index of /” 页面无法显示具体内容。

  • 用 NTFS 格式的 U 盘拷贝网络素材,会把文件本身的权限过滤掉。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    在终端中修改文件的权限:

    将指定的文件权限修改为 -rw-r--r-- -读写-只读-只读-,644(110 100 100)

    $ ls -la // 查看当前文件夹中的文件访问权限

    $ chmod 644 info.php (没有权限的文件名) // 将指定的文件权限修改为 -rw-r--r--

    $ chmod 644 *.* // 将所有的文件权限修改为 -rw-r--r--
文章目录
  1. 1. 前言
  2. 2. 1、配置准备工作
  3. 3. 2、配置服务器
  4. 4. 3、常见问题
    1. 4.1. 3.1 如果点击服务器网站资源中的 info.php 文件,出现下载,或者只是显示一小段文字
    2. 4.2. 3.2 每次启动计算机,Apache 服务器默认是不会自动启动
    3. 4.3. 3.3 执行脚本的时候,显示没有权限,拒绝访问。或者在 “Index of /” 页面无法显示具体内容。
隐藏目录