注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

笑遍世界@网易博客

明天还会在路上……

 
 
 

日志

 
 
关于我

Stay hungry, stay foolish. 工作用脑,生活用心! 走过山重水复,必然迎来柳暗花明! 受苦的人没有悲观的权利,远征的人没有流泪的资格。 Live each day as if we should die tomorrow.

网易考拉推荐
 
 

Ubuntu安装Apache2所遇到的问题  

2010-02-11 23:27:01|  分类: Linux技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
这里主要描述一下Ubuntu下通过sudo atp-get install apache2来安装Apache并启动的过程中遇到的问题,和说明这样安装Apache后Apache的配置和各个目录。
直接安装后,本来通过apache2 -k start是可以启动的,不过后来我修改一些配置后,就遇到挺多问题了。

在Ubuntu下sudo apt-get install apache2安装完Apache2以后,启动apache2的默认用户名是www-data, 属于www-data用户组
在shell中按如下输入
#apache2     会出现错误提示:apache2: bad user name ${APACHE_RUN_USER}
解决办法:
    1. 打开apache2的配置文件
    #sudo vi /etc/apache2/apache2.conf (本来应该改envvars这个文件的,但是不知道为什么修改了不起作用)
    2. 修改默认的用户名和组
    找到 ${APACHE_RUN_USER} 和 ${APACHE_RUN_GROUP} 替换为自己的用户名和组,然后保存退出。
    3.重启apache2
    #apache2 -k graceful
    注意,要让自己的用户对/var/www这个目录有写权限,否则你的脚本可能会出问题的。
    当然,可以打开/etc/apache2/sites-enabled/000-default修改网站文件的根目录。
   
还遇到下面的错误,在/var/logs/apache2/error.log查看:
[Wed Feb 10 23:47:23 2010] [error] (13)Permission denied: Couldn't bind unix domain socket /var/run/apache2/cgisock.3331
[Wed Feb 10 23:47:23 2010] [error] (13)Permission denied: could not create /etc/apache2/${APACHE_PID_FILE}
[Wed Feb 10 23:47:23 2010] [error] apache2: could not log pid to file /etc/apache2/${APACHE_PID_FILE}
只需要用改变这几个目录及其下面的文件的所有者,sudo chown -R yourUser:youGroup /etc/apache2
然后,这几个错误就解决了,通过http://localhost:myPort就能访问了,出现了默认的“It works!”页面。
不过,再看error.log发现,还有一个warning:
error:[Wed Feb 10 23:58:32 2010] [error] [client ::1] File does not exist: /var/www/favicon.ico
这个就是该网站,在浏览器中前面显示的那个小图标没有找到,请Google一下“favicon.ico”就会知道了;不过这个并不影响网站的使用。

ubuntu apache2配置
1.apache2.conf 是主配置文件,httpd.conf 用户配置文件
2.虚拟目录在 httpd.conf 中
<VirtualHost *>
DocumentRoot "路径"
ServerName 名称
<Directory "路径"> allow from all Options +Indexes </Directory>
</VirtualHost>
3.根设置(默认主目录)在 /etc/apache2/sites-available/default
4.重启命令 apache2 -k restart ;   stop 停止;start 启动
5.日志文件在 /var/log/apache2/

在Windows下,Apache的配置文件通常只有一个,就是httpd.conf。但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它的httpd.conf(位于/etc/apache2目录)是空的!进而发现Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单,它把各个设置项分在了不同的配置文件中,看起来复杂,但仔细想想设计得确实很合理。
严格地说,Ubuntu apt安装的Apache的配置文件是 /etc/apache2/apache2.conf,Apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件,如 httpd.conf等,则是通过Include指令包含进来。在apache2.conf中可以找到这些Include行:
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf
……
# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
结合注释,可以很清楚地看出每个配置文件的大体作用。当然,你完全可以把所有的设置放在apache2.conf或者httpd.conf或者任何一个配置文件中。Apache2的这种划分只是一种比较好的习惯。
/etc/apache2/sites-enabled是激活的site目录,而还有一个sites-available目录,这里面是放什么的呢?其实,这里面才是真正的全部可用的配置文件,而sites- enabled目录存放的只是一些指向这里的文件的符号链接。所以,如果apache上配置了多个虚拟主机,每个虚拟主机的配置文件都放在 sites-available下,那么对于虚拟主机的停用、启用就非常方便了:当在sites-enabled下建立一个指向某个虚拟主机配置文件的链接时,就启用了它;如果要关闭某个虚拟主机的话,只需删除相应的链接即可,根本不用去改配置文件。mods-available、mods-enabled的意义也差不多,就是load的模块。
ports.conf,这里面设置了Apache使用的端口。如果需要调整默认的端口设置,建议编辑这个文件。或者你嫌它实在多余,也可以先把apache2.conf中的Include /etc/apache2/ports.conf一行去掉,在httpd.conf里设置Apache端口。
参考文档:
http://echohi.blog.51cto.com/1064627/237595
http://blog.csdn.net/pureshf/archive/2009/02/27/3942189.aspx
  评论这张
 
阅读(1183)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017