WW Web Production Services North 2
Apache, MySQL & PHP Overview
Daniel Krook Advisory IT Specialist
February 10, 2005
© 2005 IBM Corporation
WW Web Production Services North 2
Agenda
Part one: AMP Overview Part two: Web applications Part three: XAMPP Demo
© 2005 IBM Corporation
WW Web Production Services North 2
Agenda
Part one: AMP Overview Part two: Web applications Part three: XAMPP Demo
© 2005 IBM Corporation
WW Web Production Services North 2
Part one
AMP Overview
– What are Apache, MySQL and PHP? – Who’s using them? – Why should you learn about them?
© 2005 IBM Corporation
WW Web Production Services North 2
Overview
AMP in a nutshell
– A suite of independently developed open source projects that work well together – Widely used and included with many operating systems by default
• Linux, Mac OS X, the BSDs, even Solaris
– Serve the needs of the freelancer or corporate webmaster equally
© 2005 IBM Corporation
WW Web Production Services North 2
Overview
Who’s using AMP?
– MySQL
• • • • Yahoo! AP Los Alamos National Laboratory Evite
– PHP
• CBS • Sony • Mitsubishi
© 2005 IBM Corporation
WW Web Production Services North 2
Overview
Even these folks are using PHP
– Sun
• Sun Support Forums http://supportforum.sun.com/
– IBM
• The Global WebSphere Community http://websphere.org/
© 2005 IBM Corporation
WW Web Production Services North 2
Overview
Why should I know about AMP as a client manager?
– Understand how to match available technologies to client needs
– Understand the competitive landscape to emphasize our own products’ advantages – Working with limited skill sets and budgets
© 2005 IBM Corporation
WW Web Production Services North 2
Overview
Why should I know about AMP as a developer?
– Knowing what tools are available – Choosing the right tool for the job – Understanding different approaches to common problems
© 2005 IBM Corporation
WW Web Production Services North 2
Part one summary
Apache, MySQL and PHP are popular tools with increasing usage figures As a developer or client manager you should know what tools are available and which fits the job at hand Rather than view AMP tools with suspicion or remain unaware of these technologies we should embrace them as they enhance our toolset.
© 2005 IBM Corporation
WW Web Production Services North 2
Agenda
Part one: AMP Overview Part two: Web applications Part three: XAMPP Demo
© 2005 IBM Corporation
WW Web Production Services North 2
Part two
What exactly is a web application?
– What roles exist within a web application? – Where do AMP and IBM tools fit in?
© 2005 IBM Corporation
WW Web Production Services North 2
Web applications 101
What you use the web for
– Selling products
• ibm.com
– Publishing information
• cnn.com
– Web-enabling traditional applications
• w3.ibm.com/hr
© 2005 IBM Corporation
WW Web Production Services North 2
Web applications 101
What do they all have in common?
– Web server – Application layer – Database
© 2005 IBM Corporation
WW Web Production Services North 2
Web applications 101
Web server
– The waiter
• You request an item, it goes somewhere and returns it.
– Can return something “static” like a fork – Can return something “prepared” on demand, such as a ham and cheese sandwich
© 2005 IBM Corporation
WW Web Production Services North 2
Web applications 101
Application server
– The cook
• Accepts a request from the waiter to prepare something • May need to consult other resources to get information on how to prepare it
© 2005 IBM Corporation
WW Web Production Services North 2
Web applications 101
Database server
– The cook book
• Stores recipes and organizes them by categories and indices
© 2005 IBM Corporation
WW Web Production Services North 2
Competition
Web servers (the waiters)
– Apache – IBM HTTP Server
• Is Apache under the hood
Attributes
– Both share the lightweight, proven, modular core – IHS adds GUI configuration and maintenance tools
© 2005 IBM Corporation
WW Web Production Services North 2
Competition
Application layer (the cooks)
– PHP
• The Zend Engine interprets code written in PHP
– WebSphere Application Server
• WAS provides services to programs written in Java according to J2EE specifications
Attributes
– Both perform business logic such as processing orders or formatting articles
© 2005 IBM Corporation
WW Web Production Services North 2
Competition
Database servers (the cookbooks)
– MySQL – DB2 Universal Database
Attributes
– Store information – Provide access to that data based on rules
© 2005 IBM Corporation
WW Web Production Services North 2
Coexistence
You can mix and match technologies to fit each role – Apache / WAS / DB2 – IHS / PHP / MySQL – Apache / PHP / DB2
You can run them side by side
– Apache or IHS can take a look at a request and send it to either WAS or PHP
– PHP can connect to both MySQL and DB2 – Can use MySQL for logging and DB2 for customer information
© 2005 IBM Corporation
WW Web Production Services North 2
Strengths and weaknesses
Why would you mix and match or choose one over the other if they both fit the same role?
– Cost – Security – Support – Portability – Scalability – Standards – Frameworks
© 2005 IBM Corporation
WW Web Production Services North 2
Strengths and weaknesses
Why would you mix and match or choose one over the other if they both fit the same role?
– WAS vs. PHP
• • • • Licensing cost Speed of development Standards and frameworks Customization
© 2005 IBM Corporation
WW Web Production Services North 2
Strengths and weaknesses
Why would you mix and match or choose one over the other if they both fit the same role?
– DB2 vs. MySQL
• • • • Licensing cost Support Platforms Installation
© 2005 IBM Corporation
WW Web Production Services North 2
Part two summary
IBM and AMP tools compete for web application roles, but can be mixed and matched or run concurrently You can ease migration, it’s not one stack or the other Questions and answers
© 2005 IBM Corporation
WW Web Production Services North 2
Agenda
Part one: AMP Overview Part two: Web applications Part three: XAMPP Demo
© 2005 IBM Corporation
WW Web Production Services North 2
Part three
Setting up an AMP development environment
– Installing XAMPP – Starting services – Loading sample data
• Working with phpMyAdmin
– Loading sample code
• Working with PHP
© 2005 IBM Corporation
WW Web Production Services North 2
Resources
Primary sources – Apache http://apache.org/ – PHP http://php.net/ – MySQL http://mysql.com/ Secondary sources – New York PHP http://nyphp.org/ – O’Reilly’s OnLAMP http://onlamp.com/ – Learning PHP 5 by David Sklar – PHP Cookbook by Sklar and David Trachtenberg – XAMPP http://apachefriends.org/
© 2005 IBM Corporation