首页 > 代码库 > Mac OS X原 Apache 删除后重装方法
Mac OS X原 Apache 删除后重装方法
网上一直有说不建议删除OSX自带的Apache,我也是手贱了
不过既然已经删掉了,要用就得装回来吧,顺带也更新升级
好吧,开动
直接上brew安装吧,省时省力,如果喜欢手动也建议先弄个brew
先弄Apache吧,当时百度了半天不知道在哪里下载
后来才知道原来这货本名叫 httpd (卧槽……)
第一步:
--------------------------------------------------手动操作控--------------------------------------------------
Apache httpd:
下载链接:http://httpd.apache.org/download.cgi
这是PHP的,要下旧版本如 5.3 之类点右边的 Old archives
下载链接:http://php.net/downloads.php
httpd 的安装,先终端跑这句,32位的系统 host 用 i386
sudo ./configure --prefix=/usr/local/apache2 --with-apr=/usr/sbin/apr --with-apr-util=/usr/sbin/apr-util --host=amd64
运气好肯定没 error,运气不好就先用 brew 装那个 apr 和 apr-util 吧,缺什么就 brew install 什么
然后就 make && make install 吧,完事后文件都跑到 /usr/local/apache2里面去了
打开 conf 里面的 httpd.conf 配置ServerRoot、Listen Port、Module等
-----------------------------------------------------------------懒人控-----------------------------------------------------------------
缺什么就 brew install 什么
brew install httpd24回车等待
然后添加PHP扩展库
brew tap homebrew/dupes brew tap homebrew/php brew tap josegonzalez/homebrew-php
如果有问题就先 brew update 一次再添加扩展
最后安装 php,需要 5.4 就写 php54,5.5 就 php55,会自动下载当前最新的子版本
例如我安装 php53 就会下载 5.3.29
brew install php53回车等待
如果报错提示什么 apxs,Apache 没有使用 --enable-so,/usr/share/httpd/build 什么的
先创建一个httpd的软链接到 /usr/share,然后cd 到 httpd 的目录下,接着
ln -s ./ /usr/share/httpd再次安装错误就解决了
brew 安装的 httpd 配置文件在 /usr/local/etc/apache2/2.x/ 里
-----------------------------------------------------------------控尾行-----------------------------------------------------------------
别高兴得太早,还有很多细节得处理
第二步:
我们先来编辑编辑 httpd.conf 文件
这里有几个我们需要修改的地方
1. ServerRoot,值为httpd所在目录,一定不能错
2. Listen,端口号,我习惯80
3. LoadModule,如果是手动安装的php自己cp那个so文件到httpd里面的libexec目录下;如果是brew安装的
应该会自动添加一条类似LoadModule php5_module /usr/local/Cellar/php53/5.3.29/libexec/apache2/libphp5.so的
4. 看到 User Daemon 和 Group Daemon,Daemon 改成 _www 吧
5. ServerAdmin,管理员邮箱,可改可不改
6. ServerName,如果前面加了#号一定去掉,改成 localhost 或者 127.0.0.1
7. DocumentRoot,就是 Windows 下的 www 文件夹,建议改到 /Users/用户名/Sites,没有Sites新建一个,
修改后下面的 <Directory 也要改成和 DocumentRoot 同样值
改好了保存,这个时侯我们还是访问不了php的网页,不信在Sites目录里写个php文件内容
<?php phpinfo(); ?>当然在打开之前我们先终端跑一句:
sudo apachectl start
然后浏览器打开localhost,是不是直接出来 php 代码了 - -
好了,别被玩儿坏了,我们来解决这个问题
新建一个文件吧,内容如分割线内:
--------------------------------------------------------------------------------------------------------------------
#
# Additional PHP Apache directives,
# part of the entropy.ch PHP package for Mac OS X
#
# For more information, go to http://www.entropy.ch/software/macosx/php/
#
# 这里的 php module 路径改成自己的 so 文件所在位置
LoadModule php5_module /usr/local/Cellar/php53/5.3.29/libexec/apache2/libphp5.so
# 这个就是解决 php 显示代码的
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# 这个是设置允许默认访问 index.php
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
--------------------------------------------------------------------------------------------------------------------
保存为 php.conf,手动安装 httpd 的孩纸把文件放到 /etc/ 下吧
brew 的孩纸放到 /usr/local/etc/php/5.x/ 里
然后再次编辑 httpd.conf 文件
把 LoadModule 里的 php5_module 这一行注释掉(前面加上#)
在文件末尾添加一句:
Include /etc/php.conf 或
Include /usr/local/etc/php/5.x/php.conf
然后保存
第三步:
打开 php 目录里面的 php.ini 文件,找到 [Date],下边有一行 ;date.timezone =
改为 date.timezone = PRC 保存
可解决 PHP Warning: phpinfo(): It is not safe to rely on the system 问题
Mac OS X原 Apache 删除后重装方法