今天安装Apache httpd web服务器,安装过程分为三部分:
(1)./configure
(2)make
(3)make install (需要root权限)
我的apache 安装在/home/web/apache/ 目录下
安装好php和apache后
apache 的httpd.conf 配置
apache 默认加载配置是 /etc/apache2/目录或者 /etc/httpd/httpd.conf 目录下。
1、加载php模块。
LoadModule php5_module modules/libphp5.so
2、修改服务器的web访问目录。
DocumentRoot "/web"
<Directory "/web">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
3、设置默认访问主页
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
4、在<IfModule mime_module> ... </IfModule>标签中添加apache解析类型。
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php .html
(以上只是粗略的步骤,详细的日后慢慢完善。)
以下是安装过程遇到的一 些问题。
执行apachectl start时候,提示如下错误:
httpd: apr_sockaddr_info_get() failed for shiwei
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
原因:这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。
解决办法:
(1)可以设定httpd.conf文件中的 ServerName,如下:ServerName localhost:80
(2)在 /etc/hosts 中填入自己的主机名称 bogon,如下:127.0.0.1 shiwei (用户名称)
2、 如何指定apache主配置文件httpd.conf的位置
若仅是想在启动时指定特定的文件,可以使用apachectl -f /etc/httpd/httpd.conf
3、我在httpd.conf中添加了:LoadModule php5_module modules/libphp5.so
结果在启动httpd服务时,系统提示:
Cannot load /home/web/apache/modules/libphp5.so into server: /home/web/apache/modules/libphp5.so: cannot open shared object file: No such file or directory
selinux禁用了也不行
解答:
我apache安装目录是/home/web/apache/ 然后我查看了/home/web/apache/modules/下确实没有libphp5.so文件
find / -name libphp5.so
找到libphp5.so 文件后把它复制到/home/web/apache/modules/下就可以了。
cp libphp5.so /home/web/apache/modules/libphp5.so
4、我执行了cp libphp5.so /home/web/apache/modules/libphp5.so 后报如下 错误
httpd: Syntax error on line 57 of /etc/httpd/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: failed to map segment from shared object: Permission denied
其中
failed to map segment from shared object: Permission denied 表示权限不够。也就是说没有操作libphp5.so的权限
执行 chmod -R 777 /usr/local/apache2/modules/libphp5.so 命令后,此错误消失。