DB691 An Introduction to Building Web Sites using Apache, MariaDB and PHP
Duration: 5 Days
Intended Audience
This course is for those who will be developing real world web sites using the 'LAMP' stack of open-source technologies (Linux, Apache, MariaDB and PHP). Attendees should be familiar with basic Linux and Linux command line tools and utilities. A knowledge of file system commands, users and groups, and file permissions is assumed. Some familiarity with the relevant technologies (Databases, SQL, HTML, and a programming language) is useful, but an in depth knowledge of these technologies is not required, as the necessary concepts will be introduced as needed. Ideally this course should be followed by more in depth MariaDB and PHP programming courses.
Synopsis and Course Objectives
The core elements of the course cover
- Installation and configuration of Linux, Apache, MariaDB and PHP onto a bare machine
- Configuration of Apache to support virtual hosting, authenticated login, and SSL
- Basics of the design, creation and population a relational database using MariaDB
- The design and execution of database queries and updates using SQL
- Measures that need to be taken to secure web servers and web applications.
- The creation of web pages and web forms using HTML and CSS and basic JavaScript
- The implementation of PHP for server-side processing and database access within a web application
Course Outline
-
Setting the scene
- The development and architecture of web applications
- The design and requirements of a typical real world web application
- Installing Linux
- Installation Methods
- Disk Partitioning
- Account creation
- Linux server configuration principles
- Intensive revision of Linux Command Line Tools and Utilities
- Key command line tools
- File system management commands
- File permissions
- System activity reporting tools
- Overview of the standard Linux file system directory structure
- Apache - Installation and Configuration
- Installation
- Basic configuration
- Virtual Hosting
- Access control
- Configuring Apache for HTTPS
- An HTML Primer
- Basic tags and attributes
- Tables
- Forms
- Cascading style sheets
- Intensive introduction to Core PHP
- Creating a stand-alone script
- Data types and variables
- Arithmetic operators
- Relational operators
- Flow control
- More advanced aspects of PHP
- Functions
- Arrays
- String manipulation
- Basics of Object-oriented programming
- Processing web forms with PHP - the Essentials
- Embedding PHP into a web page
- Accessing form data from PHP
- Maintaining state in web applications
- Database Fundamentals
- Tables, columns and keys
- Data types
- Data relations
- Designing our database
- Essentials of SQL the Structured Query Language
- Creating tables
- Inserting data
- Querying the database
- Deleting data
- Installion and configuration of MariaDB
- MariaDB Installation
- Administering MariaDB using the MariaDB command line tool
- MariaDB Workbench for MariaDB Administration
- Granting rights to users
- Creating, populating and querying tables
- The Essentials of Accessing a database using PHP
- Connecting to the database
- Building and executing a query
- Accessing the results of a query
- Putting it altogether
- Security and Keeping out the Wily Hackers
- Enforcing the principal of least privilege
- Hardening linux
- Protecting the database
- Authentication and authorisation in web applicactions
- Validating user input and prevention of SQL injection attacks