{"id":174,"date":"2009-04-28T10:54:49","date_gmt":"2009-04-28T02:54:49","guid":{"rendered":"http:\/\/konsolscript.sf.net\/web\/?p=174"},"modified":"2009-05-21T23:13:04","modified_gmt":"2009-05-21T15:13:04","slug":"using-konsolscript-for-cgi","status":"publish","type":"post","link":"http:\/\/konsolscript.sourceforge.net\/web\/2009\/04\/28\/using-konsolscript-for-cgi\/","title":{"rendered":"Using KonsolScript for CGI"},"content":{"rendered":"<p>I was bored one time and tried to hack <a title=\"Apache HTTP Server\" href=\"http:\/\/en.wikipedia.org\/wiki\/Apache_HTTP_Server\" target=\"_blank\">Apache<\/a> on my Ubuntu box to use <a title=\"Krixware KonsolScript Engine\" href=\"http:\/\/konsolscript.wiki.sourceforge.net\/Project+Quixie\" target=\"_blank\">Quixie<\/a> as <a title=\"Common Gateway Interface\" href=\"http:\/\/en.wikipedia.org\/wiki\/Common_Gateway_Interface\" target=\"_blank\">CGI<\/a>. It turned out, I didn&#8217;t have to do much of hardcore <a title=\"Hacker not Cracker\" href=\"http:\/\/www.catb.org\/jargon\/html\/H\/hacker.html\" target=\"_blank\">hacking<\/a> to make it work.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-177\" title=\"Hello CGI\" src=\"http:\/\/konsolscript.sf.net\/web\/wp-content\/uploads\/2009\/04\/output1.png\" alt=\"Hello CGI\" width=\"588\" height=\"252\" \/><!--more--><\/p>\n<p><strong>Here are the steps of what I did:<\/strong><br \/>\n1. Make sure you already have apache<br \/>\n<strong><span class=c11>&nbsp;&nbsp;sudo<\/span><span class=c0>&nbsp;<\/span><span class=c11>apt<\/span><span class=c10>&#8211;<\/span><span class=c11>get<\/span><span class=c0>&nbsp;<\/span><span class=c11>install<\/span><span class=c0>&nbsp;<\/span><span class=c11>apache2<\/span><\/strong><\/p>\n<p>2. Copy quixie to cgi-bin<br \/>\n<strong><span class=c11>&nbsp;&nbsp;cp<\/span><span class=c0>&nbsp;<\/span><span class=c10>.\/<\/span><span class=c11>quixie<\/span><span class=c0>&nbsp;<\/span><span class=c10>\/<\/span><span class=c11>usr<\/span><span class=c10>\/<\/span><span class=c11>lib<\/span><span class=c10>\/<\/span><span class=c11>cgi<\/span><span class=c10>&#8211;<\/span><span class=c11>bin<\/span><span class=c10>\/<\/span><\/strong><\/p>\n<p>3. For testing, change permission of <strong>cgi-bin<\/strong><br \/>\n<strong><span class=c11>&nbsp;&nbsp;cd<\/span><span class=c0>&nbsp;<\/span><span class=c10>\/<\/span><span class=c11>usr<\/span><span class=c10>\/<\/span><span class=c11>lib<\/span><span class=c10>\/<\/span><BR><\/span><span class=c11>&nbsp;&nbsp;sudo<\/span><span class=c0>&nbsp;<\/span><span class=c11>chmod<\/span><span class=c0>&nbsp;<\/span><span class=c4>655<\/span><span class=c0>&nbsp;<\/span><span class=c11>cgi<\/span><span class=c10>&#8211;<\/span><span class=c11>bin<\/span><\/strong><\/p>\n<p>4. Make test file, named <strong>main.ks<\/strong><br \/>\n<span class=\"c5\">&nbsp;&nbsp;function<\/span><span class=\"c0\"> <\/span><span class=\"c11\">main<\/span><span class=\"c10\">()<\/span><span class=\"c0\"> <\/span><span class=\"c10\">{<\/span><span class=\"c0\"><br \/>\n<\/span><span class=\"c16\">&nbsp;&nbsp;&nbsp;&nbsp;Konsol<\/span><span class=\"c10\">:<\/span><span class=\"c16\">Log<\/span><span class=\"c10\">(<\/span><span class=\"c6\">&quot;Content-type:\u00a0text\/html\\n\\n&quot;<\/span><span class=\"c10\">)<\/span><span class=\"c0\"><br \/>\n<\/span><span class=\"c16\">&nbsp;&nbsp;&nbsp;&nbsp;Konsol<\/span><span class=\"c10\">:<\/span><span class=\"c16\">Log<\/span><span class=\"c10\">(<\/span><span class=\"c6\">&quot;Kisi\u00a0says,\u00a0&lt;strong&gt;Hello\u00a0CGI!&lt;\/strong&gt;&quot;<\/span><span class=\"c10\">)<\/span><span class=\"c0\"><\/span><br \/><span class=\"c10\">&nbsp;&nbsp;}<\/span><\/p>\n<p>5. Place main.ks in <strong>cgi-bin<\/strong> directory<br \/>\n<strong><span class=c11>&nbsp;&nbsp;sudo<\/span><span class=c0>&nbsp;<\/span><span class=c11>cp<\/span><span class=c0>&nbsp;<\/span><span class=c10>.\/<\/span><span class=c11>main<\/span><span class=c10>.<\/span><span class=c11>ks<\/span><span class=c0>&nbsp;<\/span><span class=c10>\/<\/span><span class=c11>usr<\/span><span class=c10>\/<\/span><span class=c11>lib<\/span><span class=c10>\/<\/span><span class=c11>cgi<\/span><span class=c10>&#8211;<\/span><span class=c11>bin<\/span><span class=c10>\/<\/span><\/strong><\/p>\n<p>6. Make sure apache service is running<br \/>\n<strong><span class=c11>&nbsp;&nbsp;sudo<\/span><span class=c0>&nbsp;<\/span><span class=c10>\/<\/span><span class=c11>etc<\/span><span class=c10>\/<\/span><span class=c11>init<\/span><span class=c10>.<\/span><span class=c11>d<\/span><span class=c10>\/<\/span><span class=c11>apache2<\/span><span class=c0>&nbsp;<\/span><span class=c11>start<\/span><\/strong><\/p>\n<p>7. Access Quixie from your browser. &#8230;viola!<\/p>\n<p>This is not to show that KonsolScript is going to compete in other CGI technologies like Perl, Python, PHP, etc. This is just to show that the KonsolScript engine, Quixie, is at the point of being usable &#8212; though further development is needed to fully support CGI.<\/p>\n<p>Using KonsolScript for CGI on Windows should have almost the same steps.<\/p>\n<p>Mj Mendoza IV<br \/>\nKonsolScript Developer<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was bored one time and tried to hack Apache on my Ubuntu box to use Quixie as CGI. It turned out, I didn&#8217;t have to do much of hardcore hacking to make it work.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[14,13],"_links":{"self":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts\/174"}],"collection":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":1,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts\/174\/revisions"}],"predecessor-version":[{"id":175,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/posts\/174\/revisions\/175"}],"wp:attachment":[{"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/media?parent=174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/categories?post=174"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/konsolscript.sourceforge.net\/web\/wp-json\/wp\/v2\/tags?post=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}