• linux下apache的使用


    Linux安装配置apache

    http://www.cnblogs.com/fly1988happy/archive/2011/12/14/2288064.html

    1.获取软件: http://httpd.apache.org/  httpd-2.2.21.tar.gz

    2.安装步骤:

    解压源文件:

    1 tar zvxf httpd-2.2.21.tar.gz 
    2 cd httpd-2.2.21
    3 ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite
    4 make
    5 make install

    运行./configure 命令进行编译源代码,

    --prefix=/usr/local/apach2 是设置编译安装到的系统目录,

     --enable-s  参数是使httpd服务能够动态加载模块功能,

    --enable-rewrite  是使httpd服务具有网页地址重写功能。

    3.启动apache:

    /usr/local/apache2/bin/apachectl start

    4.将apache加入到系统服务,用service命令来控制apache的启动和停止

    •  首先以apachectl脚本为模板生成Apache服务控制脚本:

      grep -v "#" /usr/local/apache2/bin/apachectl  > /etc/init.d/apache

    • 用vi编辑Apache服务控制脚本/etc/init.d/apache:

      vi /etc/init.d/apache

    • 在文件最前面插入下面的行,使其支持chkconfig命令:

      #!/bin/sh              

      # chkconfig: 2345 85 15              

      # description: Apache is a World Wide Web server.

    • 保存后退出vi编辑器,执行下面的命令增加Apache服务控制脚本执行权限:    

      chmod  +x  /etc/init.d/apache

    • 执行下面的命令将Apache服务加入到系统服务:    

      chkconfig --add apache

    • 执行下面的命令检查Apache服务是否已经生效:    

      chkconfig --list apache              

    • 命令输出类似下面的结果:              

      apache          0:off 1:off 2:on 3:on 4:on 5:on 6:off       

      表明apache服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制Apache的启动和停止。  

    • 启动Apache服务:   service apache start   
    • 停止Apache服务:        service apache stop   
    • 执行下面的命令关闭开机自启动:      chkconfig apache off

    Apache遇到的问题:APR not found

    http://www.cnblogs.com/JemBai/archive/2012/11/07/2759139.html

    #./configure --prefix……检查编辑环境时出现:

    checking for APR... no
    configure: error: APR not found .  Please read the documentation.

    可以用./configure –help | grep apr 查看帮助。
    --with-included-apr     Use bundled copies of APR/APR-Util
    --with-apr=PATH         prefix for installed APR or the full path to apr-config
    --with-apr-util=PATH    prefix for installed APU or the full path to
    安装APR(Apache Portable Runtime )
    下载:http://apr.apache.org/download.cgi

    #cd /tmp/52lamp/ //源码存放位置
    #tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip
    #cd apr-1.4.2
    #./configure
    #make
    #make install

    再次检查编译环境出现

    checking for APR-util... no
    configure: error: APR-util not found .  Please read the documentation.

    #./configure –help | grep apr-util
    --with-apr-util=PATH    prefix for installed APU or the full path to

    下载:http://download.chinaunix.net/download/0001000/472.shtml
    #tar -zxvf apr-util-1.3.9.tar.gz
    #cd apr-util-1.3.9
    #./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    #make
    #make install

    ./configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util后出现
    configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

    #./configure –help | grep pcre
    --with-pcre=PATH        Use external PCRE library

    下载:http://sourceforge.net/projects/pcre
    #unzip -o pcre-8.10.zip
    #cd pcre-8.10
    #./configure --prefix=/usr/local/pcre
    #make
    #make install

    继 续安装Apache/httpd,./configure 时加上参数 --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre,这个问题就解决了

    注意:Apache在安装时不会检查参数是否正确,错误的参数会直接被丢弃,不会报告给用户。但可以使用echo $?命令检查是否有错误,当输出结果为0时表示没有错误。

    #echo $?
    0

    #make
    #make install

    复制Apache启动文件
    #cp /usr/local/httpd/bin/apachectl /sbin/

    启动Apache
    #apachectl start

    设置Apache开机自启动
    #vi /etc/rc.d/rc.local
    增加一行 /sbin/apachectl start

    或者将httpd服务添加到ntsysv服务管理工具
    #apachectl stop //关闭Apache以免不必要的麻烦
    #cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
    #vi /etc/rc.d/init.d/httpd
    修改为
    #!/bin/sh
    #
    #chkconfig: 345 85 15 //#不能省略,注意空格
    #description: httpd for 52lamp 20101016 21:54 //任意字符串
    #
    ......

    第二行中345的含义:
    #       0 - operation completed successfully
    #       1 -
    #       2 - usage error
    #       3 - httpd could not be started
    #       4 - httpd could not be stopped
    #       5 - httpd could not be started during a restart

    修改有关权限
    #cd /etc/rc.d/init.d/
    #chmod a+x httpd
    #chkconfig --add httpd

    #ntsysv
    httpd已经在列表中,按F1可以看到刚才编写的服务描述httpd for 52lamp 20101016 21:54。

    #apachectl start
    #ps -e |grep httpd
    23247 ?        00:00:00 httpd
    23248 ?        00:00:00 httpd
    23249 ?        00:00:00 httpd
    23251 ?        00:00:00 httpd
    23252 ?        00:00:00 httpd

    在浏览器中输入127.0.0.1,看起来一切正常;但是局域网内其他电脑不能访问!

    #service iptables stop

    如果不想关闭防火墙,放开80端口即可。

    #vi /etc/sysconfig/iptables
    增加一行-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    #service iptables restart //重启防火墙

  • 相关阅读:
    c++字符串
    iOS调用相册
    cocos2d-x中有一个JniHelper类详细使用
    iOS 字符串应用
    c++调用java
    iOS调用相册、相机、上传等问题
    win32中GBK、UTF8的互转
    SQL Server海量数据查询代码优化建议
    JSON中的[]和{}
    数据库范式
  • 原文地址:https://www.cnblogs.com/jingzhishen/p/3370052.html
Copyright © 2020-2023  润新知