Usually scheduled to meet customer needs or run as a private course. Please email for details
This course is intended for staff who are new to Open Source technologies
and will be responsible for the installation, support and maintenance of Web applications
The first part of the course gives you an overview of Linux / Unix / OSX operating systems
(they're all similar) as a user, and also the administration functions. It then goes on to
cover the aspects of networks and the web you'll need to know about if you're responsible
for looking after web applications in Perl, PHP or Python on these platforms.
We have a brief look at the Perl and PHP languages, but this isn't a programming course -
we concentrate on explaining, installing and configuring the languages and the various
associated technologies. You'll
learn how to troubleshoot problems even if you're not deep into the coding itself.
Web applications in Perl and PHP usually run via the Apache web server.
Apache is a highly configurable pieces of software, and
our course studies
its sourcing, configuration and deployment and the
deployment of application within it. Administration tasks such as monitoring logs,
and setting up and watching security issues are also covered.
The final part of the course introduces relational databases, and taking MySQL as an example
shows how it is added to the mix of technologies to provide a complete solution. Once again, we
have a brief overview of the language (SQL) and we concentrate on installation, configuration,
security, use in association with other technologies, data backup, and similar topics.
You must be a competent computer user. Further experience is helpful, but this
course is run for small groups and is tailored to fill in gaps in your knowledge.
More Internet domains are run using LAMP (Linux, Apache, MySQL, PHP)
servers that any other technology. And if you have staff who are responsible
for looking after these servers, or helping configure them, then this course
provides an ideal knowledge level without turning them into knowledgeable
programmers. It's ideal if they're going to be installing software written
by others - for example using some of the wide range of Open Source applications
which are available.
|The Components of a Web-Based Solution (module A100) Server System Components.
Linux for Users
|Linux -An Introduction For Users (module A101) Logging in and accounts.
Copying and deleting files.
Packing and unpacking archives.
Transferring files with FTP.
Logging in to remote machines.
X Windows, KDE and Gnome.
|HTML - An Overview (module Q624) Tags.
Structure of a page.
Special characters and new lines.
Some common tags.
Lists, tables, frames, forms, applets, images, etc.
Which HTML standard?
|Linux Utilities (module A166) Introduction.
Piping and redirection of utilities.
Options and related commands.
Grep, sort, awk, sed cut and Perl.
Find, man and info.
|Shell Programming (bash) (module A167) What is shell programming?
Running a shell program from the command line.
Conditional statements and variables.
Shell comparisons and arithmentic.
Functions and other features.
Bourne Again Shell scripts on a web page.
|Compiler and development tools (module A168) Compiling and development tools for Linux.
The gcc Gnu Compiler Collection.
CVS - the Concurrent Version system.
Linux Admin for Web Site deployers
|Users and Groups (module A161) What are users and groups.
The root account.
Real and effective id.
Adding and managing user accounts.
Ownership and permissions, files and processes.
|Backups and File System Management (module A162) Backup schemes and the need to backup.
Mounting file systems and monitoring usage.
|Structure of Networks and Webs (module W601) The Internet and intranets.
The components of the Web and other network services such as mail.
IP, TCP, and the Domain Name Service.
Browsers and servers.
|Network Configuration and Security (module A163) IP addressing and DNS naming.
Putting your Linux system on a network.
Using outgoing services.
Testing tools - ping, telnet, etc
|Services and Regular Jobs (module A164) Provision of services via Daemons.
Controlling the startup and shutdown of Daemons.
Regular jobs via crontab.
|Installing Software (module A165) Installation via RPM packages.
configure, make, cc and others.
Installation from tar or tgz files.
|Linux Server Admin - Exercise (module A171) Create a new user account.
Download and Install Analog (a web access log analyser).
Set up Analog to run regularly from that account.
Take a backup on conclusion of the install and test.
Web Site structure under LAMP
|Server Side Technologies (module W603) CGI and fast CGI.
ASP, JSP and PHP.
Apache modules, Jserv, Jrun, Tomcat, etc.
Perl, C, Tcl, Java and others.
Cookies, sessions and shopping carts.
|HTML for Web Application Authors (module Q625) Frames and Images.
Applets and other Objects.
|HTTP (module A207) HTTP Headers, Heads and bodies.
GET, POST and other methods.
MIME Types, Cache Controls and other headers.
Hidden fields and Cookies.
The Apache httpd web server
|Apache httpd - an overview (module A601) What is "Apache" and what does it do?
Other web servers.
Versions of Apache.
|Apache httpd - Sourcing, Installation, Testing (module A602) Downloading Apache.
Selecting a user account under which to run Apache.
Initial mandatory configuration.
Testing your installation.
Running apache as a daemon.
|Further httpd Configuration (module A603) Available Modules and turning them on and off.
Assosciating file extensions with modules.
Deploying MySQL under LAMP
|Introduction to SQL and MySQL (module S151) Information organisations.
What is a relational database?
What are the parts of a relational database?
What relational databases are there?
MySQL, MySQL-Max and MySQL-GUI.
What is MySQL? Why choose it?
|SQL Primer as Used in MySQL (module S152) The structure of a database as seen by MySQL.
"Hello SQL World".
Databases, tables, fields, rows and columns.
Field types and modifiers.
Initial administration and error handling.
Commands to enter and edit rows of data - Insert, replace and load.
Enquiry (select) commands.
Conditional clauses and writing conditions.
Command to modify and delete rows.
DROP, SHOW and others.
|Sourcing, Running and Configuring MySQL (module S153) Sources of SQL.
The mysqld daemon process.
How MySQL fits into your scheme - stand-alone clients.
How MySQL fits into your scheme - Web users.
The mysqladmin and mysql client programs.
Managing user accounts and priviledges.
Backing up your database.
Table types MyIsam, Isam, Hash, InnoDb and BDB.
Accessing mysqld from around your network.
LAMP Web Application deployment - integration
|XML, DTD, XSLT, XHTML and More (module A301) What is XML? When should it be used?
Structure of an XML document.
Alternatives to XML.
|Web Application Design and Deployment (module A211) Choosing the right technologies.
Server side and client side elements.
Design principles - design for the customer.
Development server, test server, live server.
How on line payment applications work.
|Secure Service and Credit Cards (module A212) Why use a secure server.
Getting a secure server certificate.
Sharing a secure server certificate.
Security issues not addressed by a secure server.
|Commercial and Legal Aspects (module A213) Why discuss this on a technical course?
Privacy and credit card security.
Unsolicited commercial emailing and mailing lists.
Marketing and visibility.
Reading code in PHP, Perl and Python
|Introduction (module P201) What is Perl?
What computers does Perl run on?
Is Perl loaded on my computer (and if not, where do I get it?)
Versions of Perl.
Examples of Perl in use.
|Perl on the Network (module P252) How Perl can be used on a network.
Programming for networks.
Server embedded applications.
Client side applications.
Data Munging for the Web.
|The Common Gateway Interface (module P403) The mechanism of the Web.
The need for server-side programming.
Web server structure.
Your first CGI program.
Checking with your ISP or webmaster.
Encoding the returned page.
|Introduction to PHP (module H101) What is PHP?
What hardware and software do I need?
Examples of PHP in use.
Whys use PHP rather than the alternatives?
When and where is PHP available?
Versions of PHP (3 v 4).
|A First PHP Web Page (module H102) How do I enter and edit a PHP script?
Adding PHP within an HTML page.
How do I run a PHP Script?
First Script - including the day of the week in a web page.
Sequences of statements.
Editing and debugging your PHP.
Commenting your PHP.
|Designing PHP-Based Solutions: Best Practice (module H115) Analysing the requirement and designing the Application.
The batchlet model and multi-task PHP scripts.
Writing maintainable code.
Error checking and data integrity in a multiuser environment.
Good use of functions and include files.
Keeping databases, directories and shopping carts tidy.
Portability issues (databases, operating systems, PHP releases and installation).
The four layer model - separating the look and feel from the business logic.
|Introduction to Python (module Y101) What is Python?
Running Python from the command line.
Running Python from a script file.
Hello Python World.
Sourcing and installing Python.
- our own
purpose fitted training centre and business hotel / conference centre in
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
(£1836.00 inc VAT)
(£1500.00 inc VAT)
| With hotel rooms
(£3612.00 inc VAT)
(£2940.00 inc VAT)
| With hotel rooms
(£5388.00 inc VAT)
(£4380.00 inc VAT)
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.
If you're writing your own Open Source applications, you might also want
to attend our
courses (we also offer courses in these
languages for those with prior programming experience -
Upon completion of your course, you'll have online access to the source code of
all the examples from the course, and you'll have access to the
"Ask the Tutor" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropriate.
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Covering topics such as delegate substitution, payment, cancellation policy and other matters.