<br/ >

本文已停止更新,点击此链接查看本文最新内容 !!!

前言

  • Apache 是目前使用最广的 Web 服务器,可以支持各种脚本的执行。
  • Mac 系统自带,无需单独安装,只需要修改几个配置就可以,简单,快捷。
  • 有些特殊的服务器功能,Apache 都能很好的支持。例如:HTTP PUT/DELETE 等操作。

1、配置准备工作

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

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

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

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

2、配置服务器

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

    # 创建 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、常见问题

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

    在终端中输入以下两个命令:
    
      $ sudo apachectl -k stop        // 关闭 apache 服务器
    
      $ sudo apachectl -k start       // 重新再次启动 apache 服务器
  • 2)每次启动计算机,Apache 服务器默认是不会自动启动

    可以启动计算机之后,打开终端,输入以下命令:
    
      $ 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)执行脚本的时候,显示没有权限,拒绝访问。或者在 “Index of /” 页面无法显示具体内容。

    • 用 NTFS 格式的 U 盘拷贝网络素材,会把文件本身的权限过滤掉。
    在终端中修改文件的权限:
    
      将指定的文件权限修改为 -rw-r--r--  -读写-只读-只读-,644(110 100 100)
    
      $ ls -la                                // 查看当前文件夹中的文件访问权限
    
      $ chmod 644 info.php (没有权限的文件名)    // 将指定的文件权限修改为 -rw-r--r-- 
    
      $ chmod 644 *.*                         // 将所有的文件权限修改为 -rw-r--r--

Mac Apache WebServer 服务器配置的更多相关文章

  1. iOS - Mac Apache WebServer 服务器配置

    前言 Apache 是目前使用最广的 Web 服务器,可以支持各种脚本的执行. Mac 系统自带,无需单独安装,只需要修改几个配置就可以,简单,快捷. 有些特殊的服务器功能,Apache 都能很好的支 ...

  2. Mac Apache WebDav 服务器配置

    1.WebDav 服务器 基于 http 协议的 "文件" 服务器. 实现文件的上传/下载/修改/删除. WebDav 权限 授权信息的格式 BASIC (用户名:口令)base6 ...

  3. iOS - Mac Apache WebDav 服务器配置

    前言 Apache 服务器: Web 服务器,可以支持各种脚本(PHP)的执行,目前世界上使用最为广泛的一种 Web 服务器 WebDav 服务器: 基于 http 协议的 "文件" ...

  4. Mac Apache Tomcat WebServer 服务器配置

    1.配置准备工作 1)配置服务器准备工作 在 Finder 中创建一个 "workspace" 的文件夹,可直接创建在 /Users/QianChia(当前用户名)目录下. 下载相 ...

  5. Linux命令详解-Apache网站服务器配置和管理

    1.Apache网站服务器配置和管理 1.源码包安装 2.rpm包安装 rpm –a | grep httpd 3.启动服务 service httpd start 4.配置文件: /etc/http ...

  6. iOS - Apache Tomcat WebServer 服务器配置

    前言 提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提前准备好的软件: apache-tomcat-6.0.45.tar.gz eclip ...

  7. MAC apache配置

    启动 apache:在terminal中输入命令,sudo apachectl start 启动成功后访问lcoalhost会显示“It works”. 更改默认路径:命令行输入“sudo vim / ...

  8. os mac apache+php+mysql环境配置

    1.启用系统自带的apache 服务 打开终端(terminal) #sudo apachectl start #sudo vi /etc/apache2/httpd.conf 修改 LoadModu ...

  9. macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)

    macOS 中已经内置了 PHP.Python.Ruby.Perl 等常用的脚本语言,以及 Apache HTTP 服务器,所以使用起来非常方便.本文以最新的 macOS Sierra 10.12 配 ...

随机推荐

  1. python学习之for循环

    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 实例: #!/usr/bin/env python for letter in 'Python': # 第一个实例 prin ...

  2. zstu 4247-萌新的旅行

    题目大意: zstu的萌新们准备去自助旅行,他们租了一辆吉普车,然后选择了n个城市作为游览地点.然后他们惊喜的发现他们选择的城市刚好绕城一个环. 也就是说如果给所有城市按照0,1,2,……,n-1编号 ...

  3. BZOJ1042 [HAOI2008]硬币购物 完全背包 容斥原理

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1042 题目概括 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了t ...

  4. P3144 关闭农场 并查集 反向

    FJ和他的奶牛们正在计划离开小镇做一次长的旅行,同时FJ想临时地关掉他的农场以节省一些金钱. 这个农场一共有被用M条双向道路连接的N个谷仓(1<=N,M<=3000).为了关闭整个农场,F ...

  5. Frosh Week HDU3743(逆序数)

    离散化加 求逆序数: 求逆序数的方法 一个是归并排序  一个是树状数组 #include<bits/stdc++.h> using namespace std; int n; struct ...

  6. What Are You Talking About HDU1075

    一开始我也想用map  但是处理不好其他字符.. 看了题解   多多学习! 很巧妙  就是粗暴的一个字符一个字符的来 分为小写字母和非小写字母两个部分  一但单词结束的时候就开始判断. #includ ...

  7. 021 使用join()将数组转变为字符串

    1.定义用用法 join() 方法用于把数组中的所有元素放入一个字符串. 元素是通过指定的分隔符进行分隔的. 语法 arrayObject.join(separator) 返回值 返回一个字符串.该字 ...

  8. 在VS Code中对Python进行单元测试

    在VS Code中对Python进行单元测试 Python扩展支持使用Python的内置unittest框架以及pytest和Nose进行单元测试.要使用pytest和Nose,必须将它们安装到当前的 ...

  9. Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)

    Visual Studio Code -GO 使用过程中发现,如果要编译输出某个文件需要去cmd窗口才行,感觉特别麻烦网上一直没找到解决办法,这几天查看Visual Studio Code文档发现它提 ...

  10. Angular features and services overview

    模块(Modules) 组件(Components) 模板(Templates) 元数据(Metadata) 数据绑定(Data binding) 指令(Directives) 服务(Services ...