Fedora 38
Sponsored Link

Apache httpd : CGI स्क्रिप्ट का उपयोग करें2023/10/17

 
CGI (Common Gateway Interface) स्क्रिप्ट का उपयोग करें।
[1] डिफ़ॉल्ट रूप से, CGI को [/var/www/cgi-bin] निर्देशिका के अंतर्गत अनुमति है।
निर्देशिका के अंतर्गत रखने के लिए सीजीआई स्क्रिप्ट का उपयोग करना संभव है। इसके अंतर्गत सभी फ़ाइलें CGI के रूप में संसाधित की जाती हैं।
# निर्देशिका के अंतर्गत CGI की अनुमति है

[root@www ~]#
grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf

252: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
# परीक्षण स्क्रिप्ट बनाने के लिए कार्य को सत्यापित करें
# सीजीआई स्क्रिप्ट के लिए कोई भी भाषा ठीक है (नीचे उदाहरण Python3 है)

[root@www ~]# cat > /var/www/cgi-bin/index.cgi <<'EOF'
#!/usr/bin/python3
print("Content-type: text/html\n")
print("CGI Script Test Page")
EOF
[root@www ~]#
chmod 755 /var/www/cgi-bin/index.cgi

[root@www ~]#
curl localhost/cgi-bin/index.cgi

CGI Script Test Page
[2] यदि आप अन्य निर्देशिकाओं में CGI को अनुमति देना चाहते हैं, तो निम्नानुसार कॉन्फ़िगर करें।
उदाहरण के लिए, [/var/www/html/cgi-enabled] में अनुमति दें।
[root@www ~]#
vi /etc/httpd/conf.d/cgi-enabled.conf
# नया निर्माण
# उन एक्सटेंशन को निर्दिष्ट करें जिन्हें [AddHandler cgi-script] लाइन पर CGI के रूप में संसाधित किया जाता है

<Directory "/var/www/html/cgi-enabled">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl .py .rb
</Directory> 

[root@www ~]#
mkdir /var/www/html/cgi-enabled

[root@www ~]#
systemctl reload httpd

[3] यदि SELinux सक्षम है और ऊपर की तरह डिफ़ॉल्ट स्थान को छोड़कर CGI भी सक्षम है, तो निम्नानुसार नियम जोड़ें।
[root@www ~]#
semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled

[root@www ~]#
restorecon /var/www/html/cgi-enabled
[4] एक CGI परीक्षण पृष्ठ बनाएं और वेब ब्राउज़र वाले किसी भी क्लाइंट कंप्यूटर से उस तक पहुंचें।
[root@www ~]#
vi /var/www/html/cgi-enabled/index.cgi
#!/usr/bin/python3

print("Content-type: text/html\n")
print("<html>\n<body>")
print("<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">")
print("CGI Script Test Page")
print("</div>")
print("</body>\n</html>")

[root@www ~]#
chmod 755 /var/www/html/cgi-enabled/index.cgi

मिलान सामग्री