Строка хижины Python

Я пытаюсь выполнить сценарий в Python как cgi сценарий с помощью apache2. Однако вместо выполнения, файл загружается. Я позволил моему файлу Python быть исполняемым файлом. Я думаю, что это происходит, потому что моя строка хижины является неправильной. Таким образом, как делают я знаю то, что является корректной строкой хижины для добавления. У меня есть Ubuntu 16.04 и Python 3.5.2 установленных. Любая справка/направление имела бы большую большую справку.Спасибо

Править

Добавление сценария Python

#!/usr/bin/env python

import cgi
form = cgi.FieldStorage() 
query = form.getvalue('query')
print("Content-type:text/html")
print()
print("<html>")
print("<head>")
print("<title>search results</title>") 
print("</head>")
print("<body>")
print("\
<div style = 'position:absolute;text-align:center;width:100%;left:0%;top:0%;margin:0%;padding:0%;'>\
<h4 style = 'font-family:Arial;font-size:24px;color:dodgerblue;'>muGoogle</h4>\
<form class='form-wrapper' action='hello.py' method='get'>\
    <input type='text' id='search' placeholder='Search docs related to...' required name = 'query' style = 'font-family:Arial;font-\size:14px;width:60%;height:40px;'/>\
    <input type='submit' value='Submit' id='submit' style = 'height:40px'>")
print("<p> search results for: %s </p>" % query)
print("</body>")
print("</html>")

РЕДАКТИРОВАНИЕ 2

Добавление HTML

<html>
<head>
<title>muGoogle</title>
<link type = 'stylesheet' ref = 'style.css'>
</head>
<body>
<div style = 'position:absolute;text-align:center;width:100%;left:0%;top:15%;margin:0%;padding:0%;'>
<h4 style = 'font-family:Arial;font-size:48px;color:dodgerblue;'>muGoogle</h4>
<form class='form-wrapper' action='query.py' method='get'>
    <input type='text' id='search' placeholder='Search docs related to...' required name = 'query' style = 'font-family:Arial;font-size:14px;width:60%;height:40px;'/>
    <input type='submit' value='Submit' id='submit' style = 'height:40px'>
</form>
</div>
</body>
</html>

РЕДАКТИРОВАНИЕ 3

добавление файла конфигурации по умолчанию

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks MultiViews
        AllowOverride None
    </Directory>

    <Directory /var/www/>
        Options ExecCGI Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all 
        AddHandler cgi-script .py
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
    <Directory "/usr/lib/cgi-bin/">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
0
задан 16 March 2017 в 07:48

1 ответ

Если файл загружается вместо того, чтобы быть выполненным Apache, то модуль, необходимый для выполнения его, не был загружен Apache. Для Python существует несколько модулей, которые могут использоваться. Кажется, что тот, используемый здесь, является простым модулем CGI, сделайте:

sudo a2enmod cgi
sudo service apache2 restart
1
ответ дан 3 November 2019 в 15:06

Другие вопросы по тегам:

Похожие вопросы: