Ubuntu 14.04의 Apache2.4.7은 Python cgi 파일을 실행하지 않습니다. 사이트는 대신 파이썬 코드를 표시합니다.

이삭

문제에 대한 설명:

127.0.0.1/cgi-bin/test.cgi브라우저에서 로드 test.cgi하면 파이썬 파일 대신 텍스트 파일처럼 취급됩니다.

파이썬 코드와 관련된 오류 가능성을 배제합니다.

  • 파이썬 코드에 무엇을하든 의도적 인 500 오류를 얻을 수 없습니다.

  • 그리고 .NET을 통해 cgi 파일을 실행 가능하게 만들었습니다 sudo chmod +x.

  • 이전 버전의 Ubuntu에서 문제없이이 작업을 수행했습니다.

이론:

문제는 내 구성에 있다고 생각합니다. 아래는 두 파일 apache2.conf000-default.

나는 기회가있을 때마다 구성 파일이 작동하도록 여러 가지를 붙여 넣었습니다. 이것은이 두 파일이 작성 당시의 모습을 보여주는 스냅 샷입니다.

미리 감사드립니다!

/etc/apache2/apache2.conf:

Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf

<Directory /home/isaac/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

AccessFileName .htaccess

<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


IncludeOptional conf-enabled/*.conf


IncludeOptional sites-enabled/*.conf

/etc/apache2/sites-available/000-default:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /home/isaac/www
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

ScriptAlias /cgi-bin/ /home/isaac/www/cgi-bin/
    <Directory "/home/isaac/www/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
        AddHandler cgi-script .py
        AddHandler default-handler .html .htm
    </Directory>
무루

첫 번째 문제는 CGI 모듈이 활성화되지 않았기 때문에 Apache가 CGI로 아무것도 처리하지 않기 때문입니다. 활성화 :

sudo a2enmod cgi

Apache2.4에서는 구성이 상당히 정리되었으며 default사이트 정의의 항목이 conf-available. 무엇보다도 default이전 버전 사이트 에서 볼 수있는 CGI 관련 구성 라인도 포함 됩니다. 다음이 포함 된로 이동되었습니다 /etc/apache2/conf-available/serve-cgi-bin.conf.

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

이로 인해 두 번째 문제가 발생합니다. 해당 파일을 수정하거나 해당 구성을 비활성화하십시오.

sudo a2disconf serve-cgi-bin

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관