美文网首页
Apache开始第一个cgi程序

Apache开始第一个cgi程序

作者: Andy周 | 来源:发表于2016-08-04 19:32 被阅读253次
    服务器OS: Centos 6.5 x64
    本机OS: Ubuntu 14.04 x64
    

    基于源码安装配置

    准备

    #下载地址  http://apr.apache.org/download.cgi
    apr-1.5.2.tar.gz
    apr-util-1.5.4.tar.gz
    #官网  http://www.pcre.org/
    pcre-8.38.tar.gz
    #官网  http://httpd.apache.org/
    httpd-2.4.23.tar.gz
    

    进入服务器
    首先安装gcc和个g++(如果没有的话)

    yum install -y gcc gcc-c++
    

    1.安装apr

    tar -vxzf apr-1.5.2.tar.gz
    cd apr-1.5.2
    ./configure --prefix=/usr/local/apr
    make
    make install
    

    2.安装apr-util

    tar -vxzf apr-util-1.5.4.tar.gz
    cd apr-util-1.5.4
    ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr
    make
    make install
    

    3.安装pcre

    tar -vxzf pcre-8.38.tar.gz
    cd pcre-8.38
    ./configure --prefix=/usr/local/pcre
    make
    make install
    

    4.安装Apache

    tar -vxzf httpd-2.4.23.tar.gz
    cd httpd-2.4.23
    ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-ssl --with-ssl=/usr/local/openssl
    make
    make install
    

    安装好之后修改配置文件

    vi /usr/local/apache/conf/httpd.conf
    找到#ServerName www.example.com:80 去掉注释改为
    ServerName localhost:80
    
    #找到如下一行,去掉注释
    Loadmodule cgid_module modules/mod_cgid.so
    #找到<Directory /usr/local/apache/cgi-bin>修改为
    <Directory /usr/local/apache/cgi-bin>
          Require all granted
          AllowOverride None
          Options +ExecCGI
          Order allow,deny
          Allow from all
    </Directory>
    

    保存退出

    进入/usr/local/apache/cgi-bin目录
    新建文件main.cpp添加下列内容

    #include <iostream>
    
    using namespace std;
    
    int main() {
        cout << "Content-type:application/json\r\n\r\n";
        cout << "Welcome...\n";
        return 0;
    }
    

    然后编译

    g++ -o welcome main.cpp
    

    进入bin目录开启Apache服务

    #启动
    ./apachectl start
    #重启
    ./apachectl restart
    #停止
    ./apachectl stop
    

    如果访问不了,记得要关闭端口,或者关闭防火墙

    vi /etc/sysconfig/iptables 
    #在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT之后添加
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    #重启防火墙
    service iptables restart
    #或者直接关闭防火墙
    service iptables stop
    

    浏览器输入
    http://192.168.1.200/cgi-bin/welcome
    如图所示

    第一个cgi程序终于玩出来了

    相关文章

      网友评论

          本文标题:Apache开始第一个cgi程序

          本文链接:https://www.haomeiwen.com/subject/ramcsttx.html