Sep 15, 2013

பைத்தானில் CGI நிரல் (CGI Programming in Python)

நீங்கள் ஒரு  Workshop அல்லது Seminar நடத்தகிறீர்கள்  என வைத்துக்கொள்ளுவோம் அந்த நிகழ்ச்சியில் கலந்து கொள்ளும் பங்கேற்பாளர்கள் தங்களுடைய வருகையை அவர்களின் முழு விபரங்களோடு  முன்பதிவு செய்யவேண்டும் அந்த விபரங்கள் அனைத்தும் தகவல்தளத்தில்(Database) சேமித்து வைக்கப்பட்டு தேவைப்படும் நேரத்தில் எடுத்துக்கொள்ள வேண்டும். இது போன்ற தேவைகளை பைத்தான் CGI நிரல் மூலமாக மிக எளிதாக செய்யலாம்.

பைத்தானில் CGI(Common Gateway Interface) நிரலை எழுதி எப்படி இயக்குவது? எனப் பார்ப்போம். கீழ்காணும் வழிமுறைகள் அனைத்தும் Ubuntu 12.04 LTS இயங்குதளத்தில் செய்துபார்க்கப்பட்டது. விண்டோஸ் இயங்குதளத்திற்கு இந்த வழிமுறைகள் அனைத்தும் பொருந்தாது.

CGI என்றால் என்ன?

Common Gateway Interface(CGI) என்பது HTML இடைமுகப்பை பயன்படுத்தி Programs or Scripts களோடு தொடர்புகொள்வதற்கு பயன்படுத்தப்படும் பொதுவான முறையாகும்.

இதில் மூன்று நிலைகள் உள்ளது அவை:

1.பயனாளர் கொடுக்கும் தகவல்களை HTML Page மூலமாக பெறுதல்
2.Web Server Software (இணைய வழங்கி மென்பொருள்) - HTTP Protocol பயன்படுத்தி பயனர் விடுக்கும் வேண்டுகோளுக்கு தேவையான பக்கங்களை வழங்குதல்.
3.நிரல் மொழிகள் (Programming languages) C, Perl, PHP, Java, Python.  CGI ன் சிறப்பே என்னவென்றால் எந்த நிரல் மொழிகளையும்  Webpage Developement உடன் பயன்படுத்தி பயனருடன் Dynamic க்காக தொடர்புகொள்ளலாம்.

மற்ற மொழிகளுடன் ஒப்பிடுகையில் Python CGI Programming மிகவும் எளிதானது. இங்கு நாம் Apache Web Server ஐ பயன்படுத்த இருக்கிறோம். Apache Server ஆனது பெரும்பான்மையான நிரல் மொழிகளோடு சிறப்பாக வேலை செய்கிறது.

நிரலை இயக்கத் தேவையானவை

1.Python
2.Apache Server
3.MySql (Optional)
4.Web Browser (Google Chrome, Mozilla Firefox)

Python, Internet Browser(Mozilla Firefox) இவையிரண்டும் உபுண்டு லினக்ஸை பொறுத்தளவில் இருப்பியல்பாகவே நிறுவப்பட்டு இருக்கும்.  ஆகையால் இவையிரண்டையும் நாம் தனியாக நிறுவத் தேவையில்லை.

Apache Server நிறுவப்பட்டிருக்காது அதனால் நாம்தான் நிறுவிக்கொள்ள வேண்டும். அதற்கு முனையத்தைத்(Terminal) திறந்து கீழ்காணும் கட்டளையை இயக்கவும்.

sudo apt-get install lamp-server^

இந்தக் கட்டளையினை நீங்கள் இயக்கினால் Apache Server, MySQL Database ஆகிய இரண்டும் சேர்த்தே நிறுவப்பட்டுவிடும். LAMP(Linux Apache Mysql Php) தெரிந்து கொள்ள இங்கு செல்லவும்.

Apache Server வெற்றிகரமாக நிறுவப்பட்டுவிட்டதா எனத் தெரிந்து கொள்ள இணைய உலாவி ஏதாவது ஒன்றினை திறந்து முகவரிப்பட்டையில் http://localhost எனத் தட்டச்சு செய்து இயக்கவும். 'It Works' என்ற செய்தி கிடைத்தால் வெற்றிகரமாக நிறுவப்பட்டுள்ளது என அர்த்தம்.



CGI Python நிரல் எழுத தொடங்குதல்

முதலில் நாம் Apache Server னினுடைய Conf கோப்பில் python நிரலை இயக்குவதற்குண்டான வரிகளை சேர்க்க வேண்டும். அதற்கு முனையத்தை திறந்து

sudo gedit /etc/apache2/sites-available/default



எனக் கொடுத்து இயக்கவும் கோப்பு திறக்கப்படும் அதில்

AddHandler cgi-script .cgi .py



எனும் வரிகளை சேர்க்கவும்.  கோப்பினை சேமிக்கவும்.

அதன் பின்பு /usr/lib/cgi-bin/ அடைவை அணுக அனுமதியளித்தல்




CGI Python நிரல் எழுதுதல் 


மேற்கண்ட நிரலை உங்களுக்கு பிடித்தமான Text Editor -ல் எழுதி /usr/lib/cgi-bin/ அடைவிற்குள் சேமிக்கவும். நிரலுக்கு நான் example.py என்று பெயரிட்டுள்ளேன்.  நீங்கள் உங்களுக்கு பிடித்தமான பெயரினைக் கொடுத்துக்கொள்ளலாம்.

நிரலை Executable ஆக மாற்றுதல் 

முனையத்தை திறந்து sudo chmod +x /usr/lib/cgi-bin/example.py எனக் கொடுத்து இயக்கவும்.



நிரலை இணைய உலாவியில் காணுதல்

உங்களுக்கு பிடித்தமான ஏதாவதொரு இணைய உலாவியினைத் திறந்து  அதனுடைய முகவரிப்பட்டையில்  http://localhost/cgi-bin/example.py எனக்கொடுத்து இயக்கவும்.


மேலும் தெரிந்து கொள்ள இங்கு செல்லவும்.


2 comments:

mani said...

wow.. it's really simple and awesome.. thanks bro

இரா.கதிர்வேல் said...

நன்றி Mani