یکی از پوشه‌هایی که در هاست لینوکس به صورت پیش فرض وجود دارد و دقیقاً در مسیر ریشهٔ هاست یعنی public_html واقع شده است، پوشهٔ cgi-bin است. نقش این پوشه چیست، کارش چیست و چه نوع اطلاعاتی را می‌توان درون آن قرار داد؟!

اگر یک سایت با زبان برنامه نویسی PHP نوشته شده باشد، در این حالت باید وب سرور از موتور پردازش PHP برخوردار بوده تا اسناد PHP قابلیت پردازش شدن داشته باشند. در این مورد اسناد و پوشه‌های سایت می‌توانند در مسیر ریشهٔ هاست که همان پوشهٔ public_html است جای گیرند و معمولاً اسناد PHP در جایی به غیر از این مسیر از پوشهٔ خانگی کاربر اجرا نمی‌گردند.

اگر فضای میزبانی که خریداری کردید، ازاین زبان‌های دیگری مثل Python و Perl هم پشتیبانی کند، قادرید برنامه های پایتون و پِرل خود را هم روی آن به اجرا درآورید. در این حالت پوشه‌ای با نام cgi-bin در مسیر ریشهٔ هاست وجود خواهد داشت.

پوشهٔ cgi-bin مخصوص قرارگیری اسناد cgi است. CGI مخفف کلمات Common Gateway Interface است. CGI خود زبان برنامه نویسی نیست بلکه یک قرارداد (پروتکل) ساده برای ایجاد ارتباط بین فرم‌های اینترنتی و برنامه‌های شماست. یک اسکریپت CGI هم می‌تواند به هر زبانی که می‌تواند STDIN را بخواند و در STDOUT بنویسد و متغیرهای محلی را هم بخواند، نوشته شود. مثل زبان‌های برنامه نویسی C, Perl, Python و یا حتی shell scripting.

کاری که یک اسکریپت CGI انجام می‌دهد بدین صورت است؛ ابتدا اطلاعات را از فرم‌های اینترنتی دریافت می‌کند. حالا کاری که باید روی آنها صورت گیرد را اعمال می‌نماید. این کار را با مفسر زبان‌های برنامه نویسی مثل پایتون و پِرل و C انجام می‌دهد. پس از آن نتیجه را به صورت HTML توسط STDOUT خروجی می‌دهد که قابل نمایش برای استفاده کننده از برنامهٔ تحت وب باشد.

پس با این توضیحات اگر سایتی با زبان‌های برنامه نویسی مثل Perl و C و Python نوشته شده باشد، اسناد این پرونده ها باید در پوشه‌ای به نام cgi-bin قرار گیرد که روی هاست شما به صورت پیش فرض در مسیر public_html واقع شده است. قابل ذکر است که برای مدیریت اطلاعات موجود در پوشهٔ cgi-bin می‌توانید از ابزار File Manager در کنترل پنل فضای میزبانی خود (سی پنل یا دایرکت ادمین) استفاده نمایید و به مانند هر سند یا پوشهٔ دیگر، ساختار آن را تبیین نمایید.

اکنون اگر نرم افزاری که روی هاست‌تان نصب می‌کنید با هیچ کدام از این زبان‌های برنامه نویسی مثل Perl و C و Python نوشته نشده است، می توانید از پوشه cgi-bin صرف نظر کنید و اسناد سایت خود را روی public_html بریزید. نهایتا می توانید cgi-bin را حذف نمایید و مشکلی برای فضای میزبانی و سایت شما پیش نخواهد آمد.