• 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 命令后,此错误消失。


     
  • 相关阅读:
    详细版Jmeter随机参数的接口并发测试总结
    Windows下MQTT代理服务器的搭建
    关于使用elascticsearch的两个小技巧
    解决easyswoole的swServer_start_check: onTask event callback must be set at报错
    解决使用宝塔安装的swoole扩展,运行项目出现的3个常见问题
    浅谈一下ThinkPHP5.1实现事务嵌套的特性
    资源出现多个 "Access-Control-Allow-Origin"
    Mac 制作系统启动盘
    深入剖析分布式一致性共识算法
    分布式系统限流算法分析与实现
  • 原文地址:https://www.cnblogs.com/longhs/p/4444282.html
Copyright © 2020-2023  润新知