PHP JSP and MySQL en Windows XP Pro

Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Install & Configure Apache with PHP,

JSP and MySQL on Windows XP Pro


Jeff Lundberg [email protected]

This is a quick guide to install and configure the Apache web-server with PHP and JSP support
on a Windows XP Pro machine. Let me know if this helps you out! Feedback is appreciated.
This is my first published guide. I made it for my own reference. Why not share?

Table of Contents
Install & Configure Apache with PHP, JSP and MySQL on Windows XP Pro................................ 1
Download the Components.......................................................................................................... 2
Install Components ...................................................................................................................... 3
Apache ..................................................................................................................................... 3
PHP.......................................................................................................................................... 9
JSP......................................................................................................................................... 11
MySQL.................................................................................................................................... 21
Resources.................................................................................................................................. 28

Versions used:
Apache 2.0.39
PHP 4.2.1
Tomcat 4.0.4
j2sdk 1.4.0.01
MySQL 3.23.51
MyODBC 2.50.39
PHPMyAdmin 2.2.6

Change Log:
2002/08/01 Changed workers.properties file the ajp14 stuff was removed

Modified php.ini. Changed the following:
include_path = ".;c:\php\includes"
session.save_path = C:\Temp
session.cookie_path = \
2002/07/31 Modified workers.properties file some paths were for older versions of Tomcat
2002/07/26 Modified step 5 of JSP install - hardcoded the Tomcat
configuration into the Apache httpd.conf file.
Also added MySQL installation instructions.
Download the Components
Before you can begin, you must first download all the required components. The components
used in this tutorial are listed below. You may want to download the latest versions. The
versions used in the tutorial are listed.


Apache Web Server
http://httpd.apache.org/
http://httpd.apache.org/dist/httpd/binaries/win32/
apache_2.0.39-win32-x86-no_ssl.msi

PHP
PHP Win32 Binaries
http://www.php.net/
http://www.php.net/downloads.php
php-4.2.1-Win32.zip
PHP > Apache connector
http://FReemIRC.com/miki/php4apache2.dll
or http://Rafigh.com/miki/php4apache2.dll
or http://IRan4You.com/miki/php4apache2.dll
php4apache2.dll

JSP
Tomcat (http://jakarta.apache.org/site/binindex.html)
jakarta-tomcat-4.0.4.exe
mod_jk
http://www.acg-gmbh.de/mod_jk/
mod_jk.dll
Java
Download the latest Java SDK (We used Java 2 Standard Edition - J2SE)
http://java.sun.com/
http://java.sun.com/j2se/1.4/download.html (get the SDK, not JRE)
j2sdk-1_4_0_01-windows-i586.exe
MySQL
MySQL Database
http://www.mysql.com/downloads/mysql.html
Download the latest stable release for Windows
mysql-3.23.51-win.zip
MyODBC
http://www.mysql.com/downloads/
Download the latest stable release of MyODBC for WinXP
myodbc-2.50.39-nt.zip
PHPMyAdmin
http://www.phpmyadmin.net/
Download the latest stable release of PHPMyAdmin (.php files)
phpMyAdmin-2.2.6-php.zip

Install Components
Now that you have the necessary files, you can begin the installation process. We will install
Apache, PHP, then the Java SDK and Tomcat.

Note to Windows2000 users:
This guide should work with Windows2000 as well. Remember to replace C:\WINDOWS with
C:\WINNT anywhere in this document.

Apache

1. Run apache_2.0.39-win32-x86-no_ssl.msi







2. Choose Run as a service for All Users Recommended when prompted.











3. Finish the installation program.



4. Test: Open http://localhost in a web browser.



PHP

1. Extract php-4.2.1-Win32.zip into C:\php
2. Replace c:\php\sapi\php4apache2.dll with the one you downloaded.
3. Copy and rename c:\php\php.ini-dist to C:\WINDOWS\php.ini
4. Open php.ini and change the following:

include_path = ".;c:\php\includes"
session.save_path = C:\Temp
session.cookie_path = \

5. Add C:\php to your PATH System Environment Variable.
6. Add the following lines to httpd.conf:

LoadModule php4_module c:\php\sapi\php4apache2.dll
AddType application/x-httpd-php .php .php3 .phtml

7. Test: Restart Apache & open http://localhost in a web browser. Hopefully you see the same
thing as before:



8. Test: Create a new document called phpinfo.php and paste the following into it:

phpinfo.php
<?php
phpinfo();
?>

Save the document under C:\Program Files\Apache Group\Apache2\htdocs. Now open
http://localhost/phpinfo.php in a web browser. You should see something like the following:




JSP

1. Run j2sdk-1_4_0_01-windows-i586.exe

















2. Run jakarta-tomcat-4.0.4.exe




3. Choose NT Service (NT/2k/XP only) on the Installation Options screen.







4. Copy mod_jk.dll to C:\WINDOWS\system32
5. Add the following at the end of your Apache httpd.conf file:

###########################################################
## JSP Support
## Copied from Tomcat auto-configuration file
## + added JkMount /*.jsp ajp13
## + removed Virtual Host

<IfModule !mod_jk.c>
LoadModule jk_module c:/WINDOWS/system32/mod_jk.dll
</IfModule>

JkWorkersFile "C:/Program Files/Apache Tomcat 4.0/conf/workers.properties"
JkLogFile "C:/Program Files/Apache Tomcat 4.0/logs/mod_jk.log"

JkLogLevel info

JkMount /manager ajp13
JkMount /manager/* ajp13

JkMount /examples ajp13
JkMount /examples/* ajp13

JkMount /tomcat-docs ajp13
JkMount /tomcat-docs/* ajp13

JkMount /webdav ajp13
JkMount /webdav/* ajp13

JkMount /*.jsp ajp13

6. Create a new text document called workers.properties. Save this document in the following
directory: C:\Program Files\Apache Tomcat 4.0\conf. Cut and paste this into the document:

workers.properties
workers.tomcat_home=C:/Program Files/Apache Tomcat 4.0
workers.java_home=C:/j2sdk1.4.0_01
ps=\

worker.list=ajp13, ajp14
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)server$(ps)lib$(ps)catalina.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)server$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr

7. Add the following to C:\Program Files\Apache Tomcat 4.0\conf\server.xml after the <Server
port="8005" ...> declaration.

<Listener className="org.apache.ajp.tomcat4.config.ApacheConfig"
modJk="c:/WINDOWS/system32/mod_jk.dll" jkDebug="info"
workersConfig="C:/Program Files/Apache Tomcat 4.0/conf/workers.properties"
jkLog="C:/Program Files/Apache Tomcat 4.0/logs/mod_jk.log"/>

8. Add the following lines after the <Service name="Tomcat-Standalone"> declaration in the
server.xml document.

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>

9. Finally in the server.xml document, after any <Host name="localhost" > declarations, add a
listener:

<Listener className="org.apache.ajp.tomcat4.config.ApacheConfig"
append="true" />

10. Note: Always start Tomcat first and then start Apache. If you have to bounce Tomcat,
remember to take down Apache first and restart it after Tomcat restarts.

Test: Start the Tomcat service. Open http://localhost:8080/ in a web browser. You should
see something like the following:



Test out the JSP Examples as well as the Servlet Examples to make sure they work. If they
do not work, something is wrong with your Tomcat installation. (Its much easier to stop the
Tomcat service, uninstall it, and start over again. Troubleshooting this is not fun as theres
little documentation available.)

Test: Start up the Apache2 service and open http://localhost/ in a web browser. Still
working?

Test: Now try http://localhost/phpinfo.php to make sure thats still in working order.

Test: Open http://localhost/examples/ in a browser, you should see something like the
following:



Follow the jsp/ link. You should recognize the page from before.




MySQL
1. Extract mysql-3.23.51-win.zip to a temporary directory and run Setup.exe.





Note: Keep the default location. It will save you from frustration later on.






You may delete the temporary setup files at this time.

2. Open a command prompt and run the following command to install mysql as a Windows
Service:

C:\mysql\bin> mysqld-max-nt install

Note: It is advisable to close the Services utility while performing the --install or --remove
operations, this prevents some odd errors.



3. Test: At the command prompt, type in NET START MySQL . This should start up the
service you just setup.



Note: If you decided to install mysql somewhere besides the default c:\mysql, you may run
into problems running it as a service. Check the mysql.err log file. It should tell you whats
going on. It most likely has something to do with the my.cfg or my.ini files.

4. Test: Type in the command mysqlshow . It should display the current databases.



5. Extract myodbc-2.50.39-nt.zip to a temporary directory and run SETUP.EXE. (Dont worry if
the Installer looks like its for Windows 3.1. Its normal.)





At this point, just click Close.





Note: You may delete the temporary installation directory at this time.

6. Extract phpMyAdmin-2.2.6-php.zip to your htdocs directory and rename it to something like
phpmyadmin (e.g. C:\Program Files\Apache Group\Apache2\htdocs\phpmyadmin).

Note: You may want to use a .htaccess file or use the following to prevent random people
from accessing PHPMyAdmin.

7. Open the config.inc.php in your favorite text editor and modify the following variables:

$cfgPmaAbsoluteUri = http://localhost/phpmyadmin/;

$cfgServers[$i]['auth_type'] = 'http';

8. Open http://localhost/ and login using root (password is blank). Make sure to change your
password.










Resources
Apache
http://www.apache.org/

PHP
http://www.php.net/

Perl
http://www.perl.com/
http://www.activestate.com/

JSP
http://www.acg-gmbh.de/mod_jk/
http://www.galatea.com/flashguides/apache-tomcat-24-win32.xml
http://www.jguru.com/faq/view.jsp?EID=853905

MySQL
http://www.mysql.com/
http://www.phpmyadmin.net/

Thanks!
Special thanks to Andrew Conrad, Rick Reumann, Dallas Thunder, and Andrei Isakov for their
helpful feedback.