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

Исполняемые файлы могут войти в /bin или /usr/local/bin и т. д.

Чтобы получить точное местоположение, где вы можете найти исполняемые файлы, откройте терминал и введите

Аналогично, библиотеки (аналогичные DLL-файлам Windows) входят во что-то вроде /lib. /usr/lib и т. д.

Иерархия файловой системы отличается в Linux, и нет папки «Program files» как таковая, хотя вы можете ее дополнительно установить вручную (кроме программного центра, синаптического или кв).

7
задан 12 December 2011 в 01:09

1 ответ

Быстрый путь

Установите веб-сервер 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/

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

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> следующее: [!d12 ]

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

Как и в случае Ubuntu (и другие операционные системы на базе Debian), это , вывод CGI должен быть отправлен на http: //localhost/cgi-bin/test.sh (замените «localhost» с доменом сервера, если вы разрабатываете удаленно).

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

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

9
ответ дан 25 May 2018 в 16:03
  • 1
    Примечание для дружественных гуру Apache: было бы неплохо, если бы этот ответ охватывал еще несколько конфигураций помимо / usr / lib / cgi_bin и / var / www / test_cgi / (например, параметр $ HOME / public_html). – Jjed 12 December 2011 в 01:04

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

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