Web Site Development Using LAMP
Duration: 5 Days
Background and Intended Audience
The 'LAMP' stack of open-source technologies (Linux, Apache, MySQL/MariaDB and PHP) is a widely used platform for web content delivery. This course covers the development of a dynamic, commercial web site using LAMP. The site itself is built using PHP5, but the newer features introduced in PHP7 are also discussed. The course itself is based on a Centos Linux system but is not tied to any particular Linux distribution. As well as covering the building of the site essential site and Linux administration details are also covered.
Prerequisites
Attendees should have basic Linux command-line competence including knowledge of file system commands, users and groups, and file permissions. Prior exposure to the relevant technologies (Databases, SQL, HTML, and a programming language) would be helpful but is not essential. No prior specific knowledge of Apache, MySQL or PHP is assumed.
Key topics covered
- Installing and configuring Linux, Apache, MySQL and PHP onto a bare machine
- Configuring apache to support virtual hosting, authenticated login, and SSL
- Designing, creating and populating a relational database using MySQL/MariaDB
- Intensive introduction to designing and running of database queries and updates using SQL
- Practices and precautions needed to keep web servers and web applications secure
- Creation of web pages and web forms using HTML and CSS
- Use of PHP for server-side processing and database access within a web application
Detailed Course Outline
- Context, Scenarios and Use Cases
- The architecture of web applications
- The case study
- Installing Linux
-
- Installation Methods
- Partitioning
- Account creation
- Configuration options
- Essential Linux
- Key command line tools
- File system management commands
- File permissions
- System activity reporting tools
- Tour of the filesystem
- Installing and configuring Apache
- Installation
- Basic configuration
- Virtual Hosting
- Access control
- Creating secure connections with SSL
- Essential HTML
- Basic tags and attributes
- Tables
- Forms
- Cascading style sheets
- PHP core language
- Creating a stand-alone script
- Data types and variables
- Arithmetic operators
- Relational operators
- Flow control
- PHP advanced features
- Functions
- Arrays
- String manipulation
- Object-oriented programming
- New features added in PHP7
- Processing web forms with PHP
- Embedding PHP into a web page
- Accessing form data from PHP
- Maintaining state in web applications
- Relational Databases - Intensive Introduction
- Tables, columns and keys
- Data types
- Data relations
- Designing the database
- Structured Query Language - SQL
- Creating tables
- Inserting data
- Querying the database
- Deleting data
- Installing and configuring MySQL
- Installation
- Administration using the mysql command line tool
- MySQL Workbench
- Granting rights to users
- Creating, populating and querying tables
- Using MariaDB as an alternative to MySQL
- Accessing a database using PHP
- Connecting to the database
- Building and executing a query
- Accessing the results of a query
- Returning the results to the user
- Essential Security
- Applying the principal of least privilege
- Hardening linux
- Protecting the database
- Authentication and authorisation in web applicactions
- Validating user input
Call us:
Technical enqiries: 020 8669 0769
Sales enquiries: 020 8647 1939, 020 77681 40786