Beginning Bioinformatics with MySQL, PHP, phpMyAdmin, PERL (for CGI) on IIS (Quick and Dirty Way!)
December 12, 2006
Guys I need to switch from FreeBSD to Windows for a while and thus I am trying to run MySQL with PHP on Windows IIS (Yes it is possible!).
Here are the steps:
1. Install MySQL from http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-essential-5.0.27-win32.msi/from/http://mirror.x10.com/mirror/mysql/ and put the mysql-install-dir/bin/ in the Windows PATH Variable. Instruction available at php site http://in.php.net/manual/en/faq.installation.php#faq.installation.addtopath .
To test installation open command-prompt and type “telnet localhost 3306″ [without quotes]. This should dump the following junk in the console:
7
4.1.14-nt#UpU;dh[n,☻8i.CJ(&'1_m(
Press ENTER and get rid of it, your MYSQL is working!
If this fails, then you might need to start the service of mysql by tryping "net start mysql" [without quotes]. Then try telnet as earlier.
Remember the password you have set up for the root login of mysql, we will need it in step3.
2. Install PHP in C:/PHP folder by downloading MSI from http://in.php.net/get/php-5.2.0-win32-installer.msi/from/www.php.net/mirror and then download http://in.php.net/get/php-5.2.0-Win32.zip/from/www.php.net/mirror and extract into the C:/php folder as well (Yes it will overwrite many files, let it do, because we need the files in EXT folder). Download and extract the dlls from http://in.php.net/get/pecl-5.2.0-Win32.zip/from/www.php.net/mirror in c:/php/ext if you plan to use those extra PHP Dll’s (not needed for our job though).
Make sure that C:/PHP/ext directory has the php_mysql.dll otherwise download this specific dll from http://dev.mysql.com/downloads/connector/php/ (Direct link: http://dev.mysql.com/get/Downloads/Connector-PHP/php_5.2.0_mysql_5.0.27-win32.zip/from/pick ) and extract the dll into C:/PHP/ext .
Add PHP to PATH as explained in http://in.php.net/manual/en/faq.installation.php#faq.installation.addtopath .
Now to test PHP installation create a file phpinfo.php inside the C:/Inetpub/wwwroot and type just the following one line and save:
<?php phpinfo(); ?>
Now open the browser and type http://localhost/phpinfo.php and you should see the PHP Version and other details about your PHP Installation. Enjoy
3. Now to manage MySQL, there is a cool tool called phpMyAdmin which can be downloaded from http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.9.1.1-all-languages-utf-8-only.zip?download . You need to extract this in a folder. For me it is C:/phpMyAdmin.
Now you need to do certain tweaks to make it work.
Create a file config.inc.php inside the C:/phpMyAdmin and type the following:
<?php
$i=0;
$i++;
$cfg['Servers'][$i]['auth_type'] = ‘config’;
$cfg['Servers'][$i]['port'] = ‘3306′;
$cfg['Servers'][$i]['user'] = ‘root’;
$cfg['Servers'][$i]['password'] = ‘password-of-mysql-for-root’;
?>
Save the config.inc.php file.
Now open the C:/WINDOWS/php.ini file and search for “extension_dir “. Replace the line with:
extension_dir = “C:/PHP/ext/”
Also uncomment the line saying extension=php_mysql.dll in the C:/WINDOWS/php.ini .
Now save the C:/WINDOWS/php.ini file.
You need to give ‘web share’ access to C:/phpMyAdmin directory by opening it in explorer and right-click on the C:/phpMyAdmin directory and go to ‘properties’ now in the pop-up window go to ‘web-sharing’ tab and select the share-this-folder radio button and this will pop-up (I know it is windows and this sounds like pop-up-video of VH1). Write phpMyAdmin in the ALIAS Text Box of pop-up and select on WRITE and SCRIPT SOURCE ACCESS box. In APPLICATION PERMISSION choose SCRIPTS radio button.
To test phpMyAdmin open http://localhost/phpMyAdmin/index.php in browser and you should see “localhost phpMyAdmin – 2.9.1.1″. You are done with this now
4. For PERL. you need http://www.activestate.com/store/activeperl/download anyways, so click and download it first. Install this in C:/PERL directory then use the instruction at http://www.visualwin.com/Perl/ .
To test the PERL – CGI installation, create a file called test.pl inside the directory C:\Inetpub\wwwroot\cgi-bin and type:
#!/usr/bin/perl
$time=time;$len=80;
print “Content-type:text/html\n\n”;
@base=qw/A T G C/;
print “>Seq$time $len random bases<p>”;
while($c<$len){
$c++;
print “@base[int(rand(4))]“;
}
Now save the test.pl and test weather the link http://localhost/cgi-bin/test.pl generates a random DNA Fasta file of 80 bases.
In the next tutorial I will lead you into creating a bioinformatics database of sequences and then using it to align using muscle and store back in MySQL db… till then bye!
powered by performancing firefox