Какие шаги нужно выполнить, чтобы запустить стандартный CGI-скрипт Hello World?

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

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

Как мне установить и настроить Apache для обслуживания веб-страницы «Hello world» с http: // localhost , используя этот скрипт?

7
задан 11 December 2011 в 23:09

1 ответ

Быстрый путь

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

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

sudo apt-get install apache2

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

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

chmod 755 $HOME/test.sh

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

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

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

Apache будет служить test.sh- сгенерированный HTML по http://localhost/cgi-bin/test.sh. Если 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

Как с Быстрым Путем, вывод CGI должен быть подан по http://localhost/test-cgi/test.sh (замените "localhost" доменом сервера, если Вы разрабатываете удаленно).

Поиск и устранение неисправностей

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

10
ответ дан 11 December 2011 в 23:09

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

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