Зачем нужна папка cgi-bin, и как ее надо использовать?
Обычно в эту папку помещают CGI-скрипты (т.е. сценарии, исполняющиеся на стороне сервера), чаще всего, это скрипты написанные на языке Perl. Сейчас используется все реже из-за все большей популярности PHP и ASP (для них отдельная папка не нужна, т.к. код этих сценариев можно встраивать в HTML-код (если говорить просто))
Там кажись надо располагать файлы со скриптами, которые написанны на Perl
P.S. Я ТАК ДУМАЮ.
Похожие вопросы
Что такое CGI, и для чего cgi-bin
Вы можете сталкиваться с сокращением CGI, занимаясь разработкой сайтов, размещая сайт на хостинге или администрируя выделенный или виртуальный сервер. В этой статье мы расшифруем данное сокращение, расскажем о CGI и окунемся в историю его создания. Также не обойдем стороной и директорию cgi-bin, которая зачастую является спутником технологии CGI.
CGI – что это? Определение и история
CGI (Commom Gateway Interface) – это спецификация интерфейса веб-сервера, которая позволяет выполнять консольные программы для генерации динамических страниц веб-серверов. Данные программы принято называть CGI-скриптами или CGI-приложениями. CGI по сути позволяет использовать консоль ввода и вывода для взаимодействия с клиентом через окно интернет-браузера. Обычно скрипт CGI выполняется во время получения запроса и в результате генерирует ответ для использования совместно с html, или сразу генерирует готовый html-код.
Интерфейс CGI позволяет передавать запросы методом GET или POST, которые попадают на обработку скрипом CGI через стандартный ввод – stdin; также CGI позволяет получать данные из переменных окружения. Результат обработки запроса CGI выводит в стандартный поток вывода — stdout.
Особенностью данного интерфейса является возможность использования различных языков программирования, которые могут работать со стандартным вводом-выводом, что позволяет для обработки данных использовать даже bash.
История создания CGI
Интерфейс CGI был разработан в 1993 году командой Национального центра суперкомпьютерных приложений (NCSA), который изначально был назван спецификацией для вызова исполняемых файлов командной строки в списке рассылки www-talk. В ноябре 1997 года была основана рабочая группа под председательством Кена Коара, которая и присвоила официальное название новому интерфейсу – CGI (версия 1.1).
Особый вклад в разработку спецификации CGI/1.1 внесли:
- — Роб МакКул;
- — Джон Фрэнкс;
- — Ари Луотонен;
- — Тони Сандерс;
- — Джордж Филлипс.
Для чего нужна директория cgi-bin
Зачастую скрипы CGI могут запускаться только из директорий, которые определены в настройках веб-сервера, как директории поддерживающие запуск CGI-скриптов. Стандартными директориями являются папки с именем cgi и cgi-bin, причем последний вариант получил большую популярность в процессе становления CGI.
Хостинг-провайдер Xost.SU предоставляет хостинга сайтов с поддержкой CGI, где также используется директория cgi-bin для скриптов CGI. Директория cgi-bin создается в корне сайта и его поддоменов.
Путь до директории cgi-bin для сайта:
/domains/domain.tld/public_html/cgi-bin
Для поддомена name.domain.tld:
/domains/domain.tld/public_html/name/cgi-bin
Где domain.tld – это адрес сайта, а name – префикс имени его поддомена.
Простейший CGI-скрипт
Данный CGI-скрипт написан на Perl. Код скрипта, отвечающий за обработку данных, производит вывод введенного в форму имени на экран. Если имя не введено, то на экран выводится форма. Обратите внимание, что для работы скрипта в системе должна быть установлена библиотека CGI.pm.
use strict;
use warnings;
use CGI;
unless (my $username = $cgi->param(‘username’) ) print
My first CGI-script
EndOfHTML
>
else
print «Your name is $username.
«;
>
Вопрос / ответ

Панель управления хостингом

- Управление E-mail аккаунтами
- MX-записи
- Почтовый веб-клиент: Roundcube
- Перенаправления
- Автоответчики
- Списки рассылок
- Черный список E-Mail
- Сообщения об отсутствии
- Универсальный почтовый адрес

Базы данных MySQL
- phpMyAdmin
- Создание базы данных
- Удаление базы данных
- Добавление пользователей
- Изменение пароля базы данных

SSL защита сайта
- Установка сертификата Let’s Encrypt
- Установка купленного сертификата
- Использование сертификатов сервера
- Создание самоподписанного сертификата
- Загрузка файлов на защищенный сайт

Управление DNS
- DNS записи
- Изменение параметров DNS
- Информация для новичков

FTP аккаунты
- Создание FTP аккаунта
- Изменение и удаление FTP аккаунтов
- Создание FTP аккаунта с доступом к конкретному поддомену

Поддомены
- Создание поддоменов
- Удаление поддоменов
- Статистика поддоменов
- Лог использования и лог ошибок
- Создание FTP аккаунта с доступом к конкретному поддомену

Резервные копии
- Создание резервной копии
- Хранение резервных копий
- Выбор того, что необходимо сохранить в резервной копии
- Восстановление из резервной копии

Менеджер файлов
- Навигация
- Загрузка файлов
- Создание новых папок и файлов
- Копирование и перемещение файлов
- Редактирование файлов
- Переименование файлов
- Изменение прав доступа к файлам
- Удаление файлов и папок

Загрузка файлов сайта на сервер
- Структура директорий
- Загрузка через FTP
- Загрузка с помощью файлового менеджера
- Основной файл сайта (index)

Статистика сайта
- Дисковое пространство
- Системные логи
- Статистика Webalizer
- Информация об аккаунте

Выполнение скриптов
- Программные пути
- PHP скрипты
- CGI скрипты
- Установленные модули Perl
- Общие сведения о правах доступа

С чего начать
- Вход в панель управления
- Выход из панели управления

Разное
- Дополнительные домены
- Перенаправление сайта
- Доменные указатели
- Cron задачи
- Страницы ошибок
- Запароленные папки
- Mime-типы
- Обработчики Apache
- Ключи входа

Технические вопросы

SSH, FTP, SFTP
- Подключение по SSH
- Подключение по FTP
- Подключение по SFTP
- Установка composer

Базы данных MySQL
- Хост для подключения к MySQL
- Подключение к MySQL извне
- Подключение на внешний сервер Mysql
- Логин/пароль для входа в PhpMyAdmin

Почта
- Настройка отправки писем с сайта
- Пересылка почты
- Адрес авторизации в почте
- Сайт рассылает спам
- Лимит на отправку писем
- Статистика отправки писем
- Настройка почтового клиента
- Настройка заголовка From

Memcached
- Как заказать Memcached сервер
- Использование Memcached
- Memcached и WordPress
- Memcached и Joomla
- Memcached и Bitrix

Почтовый хостинг

SSL-сертификаты
- Подтверждение сертификата

Домены
- NS сервера

Оплата услуг, тарифы
- Изменение тарифного плана

CMS хостинг
- WordPress хостинг
- 1С хостинг

Партнерская программа

Бухгалтерия, документы
- Заключение бумажного договора
- Акты выполненных работ
- Отказ от услуг

БелГИЭ
- Регистрация сайта в БелГИЭ
- Изменение данных о сайте
- Удаление сайта из БелГИЭ
- Регистрация субдоменов

Другие вопросы
- Чем открыть файл PDF
CGI скрипты
Все CGI скрипты должны быть размещены в папке cgi-bin. Папка cgi-bin находится в папке public_html (например, public_html/cgi-bin). Если вы хотите запустить CGI скрипт в поддомене, поместите скрипт в папку cgi-bin поддомена.
Загрузка CGI скриптов
При использовании FTP, очень важно загружать файлы скриптов (например, .cgi и .pl) в режиме ASCII. FTP-клиенты предоставят вам возможность загрузки в ASCII, двоичном или режиме «авто». Если выбрано «авто», то убедитесь что ваши скрипты .cgi и .pl считаются ASCII-файлами вашим FTP-клиентом. Скрипты не будут выполняться должным образом, если они загружены в двоичном режиме.
BrainyCP
Здравствуйте, создал директорию домена в нем были по дефолту папка cgi-bin и index.html
могу ли. я удалить папку cgi-bin и index.html
не отразится ли это на работе сервера?
Sergey.F Сообщения: 60 Зарегистрирован: Ср июн 12, 2019 12:18 pm
Re: CGI-BIN
Сообщение Sergey.F » Ср дек 15, 2021 7:55 am
В папке cgi-bin находится файл, который запускает выбранную вами версию PHP — на работе сервера не отразится, но после удаления сайт работать не будет.
index.html — можете удалять — это заглушка, пока не размещен сайт.
fingerprint Сообщения: 15 Зарегистрирован: Пт дек 10, 2021 6:20 am
Re: CGI-BIN
Сообщение fingerprint » Ср дек 15, 2021 12:40 pm
А как он работать не будет если у меня работает?
fingerprint Сообщения: 15 Зарегистрирован: Пт дек 10, 2021 6:20 am
Re: CGI-BIN
Сообщение fingerprint » Сб дек 18, 2021 4:47 am
Ср дек 15, 2021 7:55 am
В папке cgi-bin находится файл, который запускает выбранную вами версию PHP — на работе сервера не отразится, но после удаления сайт работать не будет.
index.html — можете удалять — это заглушка, пока не размещен сайт.
ну понял это магия наверное, если у меня работает сайт без этой папки
Sergey.F Сообщения: 60 Зарегистрирован: Ср июн 12, 2019 12:18 pm
Re: CGI-BIN
Сообщение Sergey.F » Чт дек 23, 2021 7:55 am
Сб дек 18, 2021 4:47 am
Ср дек 15, 2021 7:55 am
В папке cgi-bin находится файл, который запускает выбранную вами версию PHP — на работе сервера не отразится, но после удаления сайт работать не будет.
index.html — можете удалять — это заглушка, пока не размещен сайт.
ну понял это магия наверное, если у меня работает сайт без этой папки
Если для сайта в качестве моста моста указать suphp, то будет работать без папки, но в основном сейчас все используют FastCGI
gloobus Сообщения: 4 Зарегистрирован: Вс дек 03, 2023 12:38 pm
Re: CGI-BIN
Сообщение gloobus » Пт дек 15, 2023 12:21 pm
Скажите пожалуйста, можно как то cgi-bin (и вместе с ним .user.ini) вынести за пределы корня сайта? Просто при использовании nextcloud он начинает ругаться на «посторонние» файлы.