Training Description:
Linux, Apache, MySQL and PHP (known as LAMP for short) has
been the best technology stack of choice of millions of
dynamic web sites and applications.
This training focuses on using LAMP and also on how to do so
in a way where the applications developed are massively
scalable. We focus on read only clustering, horizontal clustering, session management
in a distributed environment and load balancing.
Training Objectives:
-
To install and configure all the software used (Linux,
Apache, MySQL and PHP).
-
To perform Linux administrative functions.
- To write PHP web sites/applications.
- To debug PHP code
- To use MySQL and access using PHP.
- To implement a read only MySQL cluster.
- To design and implement horizontally scalable web applications.
- To manage sessions in a clustered environment.
- To balance the load across servers using software load balancers.
Target Groups:
-
Those who are interested in using Linux, Apache, MySQL and
PHP to develop dynamic web sites and applications also with
scalability in mind.
Prerequisites:
- General computer literacy
-
Familiarity with a computer programming language will be
advantageous.
-
Familiarity with using a relational database will also be
advantageous.
Communication Language:
English
Duration:
3 days (24 hours)
Facilitator:
Kamal Wickramanayake (Profile)
Notes:
- This training is done with hands-on lab exercises.
-
This training does not cover all the features found in LAMP
stack. The training focuses on the most useful features.
Training Content:
- Introduction To Linux
- What is Linux and a GNU/Linux distribution?
- Selecting a distribution
- Installation of Linux
- Linux File System Overview
- Home directory
- Typical locations of executables (/bin, /usr/bin, /usr/local/bin, /sbin, /usr/sbin, /usr/local/sbin)
- Typical locations of configuration files (Dot files, /etc)
- Other important files and locations (/boot, /proc, /dev, /var, /tmp)
- Some System Administration
- Managing user accounts and user groups
- Package management
- Starting/stopping services
- Switching between users
- File Editing
- GUI based editors
- Console based editors
- Useful Linux Tools
- Telnet
- Secure Shell (SSH)
- VNC
- FTP
- SCP
- ping
- traceroute
- telnet
- nmap
- Installation and Administration Of MySQL
- General overview
- Managing databases
- User management
- Getting familiar with the mysql command line
- Table types
- Transaction related options
- Operational administration of MySQL (Backups, recovery,...)
- Getting Started With Apache Web Server
- Installation
- Configurations
- PHP
- Basics of PHP
- PHP API documentation
- Writing object oriented code
- Session management
- Interacting with a MySQL database
- Using database transactional features
- Working with XML
- Debugging PHP code
- Implementing Scalability
- Implementing a MySQL read only cluster
- Implementing a software load balancer using Apache
- Partitioning an application horizontally
- Session management in a horizontally scaled cluster
- Do's and dont's in a scalable application