zoukankan      html  css  js  c++  java
  • linux Apache和php配置

    今天安装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 命令后,此错误消失。


     
  • 相关阅读:
    查询数据库锁的SQL
    注解学习实例(模拟hibernate,table,column注解,拼装SQL)
    mongoDB学习笔记
    拼装SQL.例子
    MySQL实现类似Oracle序列的函数
    面试总结
    linux下常用命令
    PHP 中 flush() 与 ob_flush() 的区别
    PHP 使用共享内存的资料
    移动设备的web站开发和将web封转成移动端应用的一些资料
  • 原文地址:https://www.cnblogs.com/longhs/p/4444282.html
Copyright © 2011-2022 走看看