我是靠谱客的博主 健忘棒球,最近开发中收集的这篇文章主要介绍MAC配置apache,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文地址: http://note.rpsh.net/posts/2013/11/27/osx-10-9-apache-server-php-mysql/

http://www.cnblogs.com/yjmyzz/p/3920361.html

-------------------------------------------------------------

1、启动

sudo apachectl start

启动后,访问 http://localhost/ 应该能看到"It works!"的初始页面,如果对初始页面的内容感到好奇,可以打开"/etc/apache2/httpd.conf",197行可以看到如下代码片段:

复制代码
 1 <Directory "/Library/WebServer/Documents">
 2 
#
 3 
# Possible values for the Options directive are "None", "All",
 4 
# or any combination of:
 5 
#
Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
 6 
#
 7 
# Note that "MultiViews" must be named *explicitly* --- "Options All"
 8 
# doesn't give it to you.
 9 
#
10 
# The Options directive is both complicated and important.
Please see
11 
# http://httpd.apache.org/docs/2.2/mod/core.html#options
12 
# for more information.
13 
#
14 
Options Indexes FollowSymLinks MultiViews
15
16 
#
17 
# AllowOverride controls what directives may be placed in .htaccess files.
18 
# It can be "All", "None", or any combination of the keywords:
19 
#
Options FileInfo AuthConfig Limit
20 
#
21 
AllowOverride None
22
23 
#
24 
# Controls who can get stuff from this server.
25 
#
26 
Order allow,deny
27 
Allow from all
28
29 </Directory>
复制代码

It works的内容,就在/Library/WebServer/Documents/index.html.en这个文件里,这是apache的默认页,相当于windows下IIS的C:inetpubwwwrootiisstart.htm


2、重启/停止

sudo apachectl restart

sudo apachectl stop


文件根目录

系统级的根目录

http://localhosts/

对应的文件目录是:

/Library/WebServer/Documents/

用户级根目录

另一个 Web 根目录默认是 ~/Sites ,10.9 中你需要手动创建这个Sites目录。

image

检查这个目录下是否有 username.conf 文件

/etc/apache2/users/

如果没有,则需要新建一个,username 需要是你的账户名字,建议使用终端创建这个文件:

cd /etc/apache2/users

sudo vi username.conf

贴入以下内容,注意修改 username 为你的账户名字

<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>

这个文件的权限应该是:

-rw-r--r-- 1 root wheel 298 Jun 28 16:47 username.conf

如果不是,请修改

sudo chmod 644 username.conf

编辑 /etc/apache2/httpd.conf 文件,删除下列这些代码前的注释符号: #

Include /private/etc/apache2/extra/httpd-userdir.conf
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so

编辑 /etc/apache2/extra/httpd-userdir.conf 文件,删除下列这些代码前的注释符号: #

Include /private/etc/apache2/users/*.conf

重启 Apache

sudo apachectl restart

这时,这个网址应该已经可以用了:

http://localhost/~username/


3、创建个人站点目录

cd ~/

mkdir Sites

echo "hello" >> index.html

sudo apachectl restart

然后再访问 http://localhost/~jimmy/ 应该就能看到"hello"的个人目录初始页面(注:~jimmy需换成~你的用户名

如果失败,请检查"/etc/apache2/users"目录下,是否有名为“jimmy.conf”的配置文件(同样:jimmy需换成你的用户名),如果没有,手动创建一个,内容参考下面:

复制代码
1 <Directory "/Users/jimmy/Sites/">
2 
Options FollowSymLinks Indexes MultiViews
3 
AllowOverride All
4 
Order allow,deny
5 
Allow from all
6 </Directory>
复制代码

如果好奇目录名为什么是Sites? 可以查看"/etc/apache2/extra/httpd-userdir.conf"

复制代码
 1 # Settings for user home directories
 2 #
 3 # Required module: mod_userdir
 4
 5 #
 6 # UserDir: The name of the directory that is appended onto a user's home
 7 # directory if a ~user request is received.
Note that you must also set
 8 # the default access control for these directories, as in the example below.
 9 #
10 UserDir Sites
11
12 #
13 # Users might not be in /Users/*/Sites, so use user-specific config files.
14 #
15 Include /private/etc/apache2/users/*.conf
16 <IfModule bonjour_module>
17 
RegisterUserSite customized-users
18 </IfModule>
复制代码

第10行就是答案


4、启用虚拟主机

默认情况下,apache的虚拟主机功能是关闭的,在“/etc/apache2/httpd.conf”中找到下面这行:

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

将前面的#去掉,然后再打开“/etc/apache2/extra/httpd-vhosts.conf”,内容修改成类似下面的样子:

复制代码
 1 NameVirtualHost *:80
 2
 3 <VirtualHost *:80>
 4 
DocumentRoot "/Users/jimmy/Sites"
 5 
ServerName www.yjmyzz.com
 6 
ErrorLog "/Users/jimmy/Sites/log/error.log"
 7 
CustomLog "/Users/jimmy/Sites/log/access.log" common
 8
<Directory />
 9 
Options Indexes FollowSymLinks MultiViews
10 
AllowOverride None
11 
Order deny,allow
12 
Allow from all
13
</Directory>
14 </VirtualHost> 
复制代码

注:

a) /Users/jimmy/Sites/log/ 日志文件目录,必须存在,否则apache启动将失败,而且不会有任何错误提示

b) 虚拟主机的站点根目录,建议放在~/Sites/下,否则mac环境中会报类似“无权限访问”的错误。

这段配置绑定了一个不存在的域名www.yjmyzz.com到站点http://localhost/~jimmy/,为了验证域名绑定的效果,手动修改下hosts文件

sudo vi /etc/hosts 以管理员身份打开hosts文件,追加一行

127.0.0.1       www.yjmyzz.com

保存退出,重启apache,再次浏览 http://www.yjmyzz.com 应该ok了,看到的内容跟http://localhost/~jimmy/ 一样


--------------------------------------------------------


在终端中运行“sudo vi /etc/apache2/httpd.conf”,打开Apache的配置文件。

找到“#LoadModule php5_module libexec/apache2/libphp5.so”,把前面的#号去掉,保存并退出vi(在命令行输入:w!:q)。

这样就能在自带的apache中运行php代码了。


--------------------------------------------

最后附两篇apache和tomcat的区别:

tomcat对静态资源的请求效率太低,一般使用ngxin/lighttpd(apache)做前端,只是把jsp的请求转发给tomcat。

http://blog.csdn.net/naughty610/article/details/7414991

---------------------------------------------

因为我写jsp,所以必须还要装tomcat。直接从官网下了binary distribution(直接解压就可以用)

我把它放到了~目录下。

mrgaodeMacBook-Pro:Library gao$ cd ~
mrgaodeMacBook-Pro:~ gao$ ls
Applications
IdeaProjects
Public
Desktop
Library
Sites
Documents
Movies
apache-tomcat-8.0.28
Downloads
Music
Dropbox
Pictures

启动tomcat只要startup.sh即可。

mrgaodeMacBook-Pro:~ gao$ cd apache-tomcat-8.0.28
mrgaodeMacBook-Pro:apache-tomcat-8.0.28 gao$ ls
LICENSE
RUNNING.txt	lib
webapps
NOTICE
bin
logs
work
RELEASE-NOTES	conf
temp
mrgaodeMacBook-Pro:apache-tomcat-8.0.28 gao$ cd bin
mrgaodeMacBook-Pro:bin gao$ ls
bootstrap.jar
setclasspath.sh
catalina-tasks.xml
shutdown.bat
catalina.bat
shutdown.sh
catalina.sh
startup.bat
commons-daemon-native.tar.gz	startup.sh
commons-daemon.jar
tomcat-juli.jar
configtest.bat
tomcat-native.tar.gz
configtest.sh
tool-wrapper.bat
daemon.sh
tool-wrapper.sh
digest.bat
version.bat
digest.sh
version.sh
setclasspath.bat
mrgaodeMacBook-Pro:bin gao$ startup.sh
Using CATALINA_BASE:
/Users/gao/apache-tomcat-8.0.28
Using CATALINA_HOME:
/Users/gao/apache-tomcat-8.0.28
Using CATALINA_TMPDIR: /Users/gao/apache-tomcat-8.0.28/temp
Using JRE_HOME:
/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
Using CLASSPATH:
/Users/gao/apache-tomcat-8.0.28/bin/bootstrap.jar:/Users/gao/apache-tomcat-8.0.28/bin/tomcat-juli.jar
Tomcat started.
打开http://localhost:8080/ 成功。

$shutdown.sh 即可关闭tomcat。


然后去IntelliJ IDEA中 

Preferences-->Plugins-->看Tomcat是否禁用

Preferences--》Buildxxxxx-->Application Servers-->添加Tomcat,将刚刚装的tomcat放进去即可。





最后

以上就是健忘棒球为你收集整理的MAC配置apache的全部内容,希望文章能够帮你解决MAC配置apache所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部