Какие шаги я выполняю для запуска скрипта Hello World CGI?

7

Предположим, что я закончил установку современной версии Ubuntu и имеет следующий скрипт.

#!/bin/sh
echo "Content-type: text/html\n"
echo "<html><body>Hello world</body></html>"

Как установить и настроить Apache для обслуживания веб-страницы «Hello world» с Ссылка с помощью этого скрипта?

    
задан Jjed 10.12.2011 в 23:08
источник

1 ответ

9

Быстрый путь

Установите веб-сервер Apache

В приложении командной строки (Terminal):

sudo apt-get install apache2

Сделайте свой скрипт исполняемым файлом Apache

В этом примере мы предположим, что сценарий CGI называется test.sh и сохраняется в вашей личной домашней папке. Чтобы Apache использовал test.sh , сценарий сначала должен иметь исполняемые разрешения:

chmod 755 $HOME/test.sh

Также его нужно перенести в папку CGI, назначенную Apache. Для Ubuntu (и других операционных систем на базе Debian) это /usr/lib/cgi-bin/ , а HTML и другое содержимое хранятся в /var/www .

sudo mv $HOME/test.sh /usr/lib/cgi-bin/

Посетите выход на локальном сервере

Apache будет обслуживать test.sh -генерированный HTML на ссылке . Если Apache находится где-то помимо вашей собственной машины, замените localhost на URL или IP-адрес сервера.

Сохранение скриптов CGI в / var / www / test-cgi, а не / usr / lib / cgi-bin /

Вам нужно изменить конфигурацию Apache в ваниле для хранения сценариев CGI в другой папке.

sudoedit /etc/apache2/sites-enabled/000-default

Добавьте в директиву <VirtualHost> следующее:

ScriptAlias /test-cgi/ /var/www/test-cgi/
<Directory "/var/www/test-cgi">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
</Directory>

Затем в командной строке:

sudo mkdir /var/www/test-cgi
sudoedit /var/www/test-cgi/test.sh

Затем в командной строке перезапустите Apache:

sudo apachectl restart

Как и в случае с The Quick Way , вывод CGI должен выполняться на ссылке (замените «localhost» с доменом сервера, если вы разрабатываете удаленно).

Устранение неполадок

Если у вас есть проблемы, обратитесь к официальной документации Apache .

    
ответ дан Barbarrosa 11.12.2011 в 00:37
источник