Apache2에서 cgi가 작동 할 때까지

2386 단어 Cgicgi-binApache2.4

환경


  • 웹 서버: Apache2
  • OS : Ubuntu

  • cgi 모듈 설치



    cgid 설치
    $ sudo apt install cgid
    

    cgi 설정 확인
    $ cd /etc/apache2/conf-available
    $ ls 
    #serve-cgi-bin.confに設定が書いてある
    harset.conf  localized-error-pages.conf  other-vhosts-access-log.conf  security.conf  serve-cgi-bin.conf
    

    serve-cgi-bin.conf
    <IfModule mod_alias.c>
            <IfModule mod_cgi.c>
                    Define ENABLE_USR_LIB_CGI_BIN
            </IfModule>
    
            <IfModule mod_cgid.c>
                    Define ENABLE_USR_LIB_CGI_BIN
            </IfModule>
    
            <IfDefine ENABLE_USR_LIB_CGI_BIN>
                    #URLで/cgi-bin/以下のファイルが/usr/lib/cgi-bin配下のファイルと結びつく
                    ScriptAlias /cgi-bin/ "/usr/lib/cgi-bin/"
                    <Directory "/usr/lib/cgi-bin">
                            AllowOverride None
                            #+ExecCGIがオプションとして書かれているのでCGIが動く
                            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                            Require all granted
                   #.cgiの拡張子がつくファイルがcgiスクリプトが書かれているファイルであることを設定
                            AddHandler cgi-script .cgi
                    </Directory>
            </IfDefine>
    </IfModule>
    
    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    
    

    cgi 파일 설치


    $ cd /usr/lib/cgi-bin
    $ vi hello.cgi
    

    hello.cgi
    #!/bin/bash
    
    echo "Content-Type: text/html;charset=utf-8\n"
    echo ""
    echo '<html><body>Hello cgi.</body></html>'
    

    파일 권한으로 실행 권한 부여
    $ sudo chmod 755 hello.cgi
    

    확인



    좋은 웹페이지 즐겨찾기