Duration: 4 days
• Price: $2490.00 or £1530.00 +VAT
(with hotel room), or
$2050.00 or £1250.00 +VAT
(without room), •
Venue: Melksham, England
COURSE START DATES
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.
Getting the most from your Well House Consultants course
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) Elements of an IT solution under LAMP or Java.
Linux, Unix, Solaris and OS X.
Key features of an operating system.
NCSA server, Apache httpd, Apache Tomcat, IIS.
MySQL, PostGREsql, Oracle, SQL Server, Access.
Perl, PHP, Java and other languages.
Some standard applications.
Linux for Users
|Linux -An Introduction For Users (module A101) Logging in and user accounts.
Files and directories.
File name matching and specifying multiple files.
Commands for examining file contents.
Manipulating the file system.
Copying, moving and deleting files and directories.
Changing the contents of a file.
Summary of vi commands.
The most basic.
Second level vi commands.
File permissions and some other useful commands.
Metacharacters in Nix commands.
Other useful commands.
Combining commands with shell programming.
Distribution and archive files and file transfers.
Handling tar and gzip files.
Transferring files using FTP.
Logging in to remote machines.
|HTML - An Overview (module Q624) Tags.
Structure of a page.
Special characters and new lines.
Some common tags.
Lists, tables, etc..
Which HTML standard?.
Validating your page.
|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.
Setting up a user account.
Ownership and permissions, files and processes.
Control of processes.
|Backups and File System Management (module A162) Backup schemes and the need to backup.
Dump and restore.
CPIO, dd and other tools.
Mounting file systems and monitoring usage.
Some more useful commands.
|Structure of Networks and Webs (module W601) Internet and Intranets.
The need for someone to manage the data.
Company networks and intranets.
An example intranet.
Home page service.
Virtual Private Networks.
Components of the Web.
The Client/Server model.
Extra accesses to a server.
Extra machines involved.
Extra actions of the server.
What the browser does.
Server programs to receive email.
Receiving email at your desk.
For the Web Programmer.
Other services and their components.
IP, TCP, and the Domain Name Service.
IP, and the Domain Name Service.
|Network Configuration and Security (module A163) IP addressing and DNS naming.
Putting your Linux system on a network.
Testing with ping.
Using outgoing services.
|Services and Regular Jobs (module A164) Provision of services via daemons.
Controlling the startup and shutdown of Daemons.
Run states and init.
Automating daemon controls via chkconfig.
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) Integrating various admin tasks.
Web Site structure under LAMP
|Server Side Technologies (module W603) When do I want to use server side technologies?.
Anatomy of a Web Server.
Web Server Security.
Web Server support for page authors.
Server upload technologies.
FTP / Telnet.
Disk Networking system.
Serverside Interface Methods.
The HTTP standard.
The Common Gateway Interface (CGI).
Server Side Includes.
Active Server Pages.
Your own server.
Other Interfacing methods and a comparison.
Cookies, sessions and shopping carts.
Scale of use.
Further Serverside examples.
|HTML for Web Application Authors (module Q625) Tables.
Element types within a form.
The script used.
Objects and images within a web page.
|HTTP (module A207) HTTP Headers, Heads and Bodies.
GET, POST and other methods.
MIME Types, Cache Controls and other headers.
Uses of Cookies.
The Apache httpd web server
|Apache httpd - an overview (module A601) What is Apache?.
Apache httpd capabilities.
Authentication and secure service.
Other Web Servers.
|Apache httpd - Sourcing, Installation, Testing (module A602) Sourcing Apache httpd.
The user account under which to run the web server.
The address of the web site administrator.
Changing the location of files on the web site.
Allowing more than just serving files!.
Allowing individual users their own web sites.
Configuring log files.
Setting up a separate cgi-bin directory.
Changing your error report pages.
Getting server status reports through the web.
Installing and Configuring httpd on Windows.
Testing your installation.
Testing the basic web directory and home page location.
Testing the userŐs home directory web sites are working.
Testing the server status and server info pages.
Testing your error page.
Testing for the presence and operation of a PHP script.
Testing for the presence and operation of server side includes.
Testing the operation of a .cgi program (written in Perl).
Testing the cgi-bin directory.
Testing wider services.
|Further httpd Configuration (module A603) Automatic Start-up.
Name-based Virtual Hosts.
IP-based virtual hosts.
Deploying MySQL under LAMP
|Introduction to SQL and MySQL (module S151) Information organisations.
The structure of a typical RDBMS.
Accessing a relational database from the Web.
Database access protocols.
Distributions and licenses.
Component parts of MySQL.
Versions of MySQL.
When should I choose MySQL?.
|SQL Primer as Used in MySQL (module S152) The structure of a database as seen by SQL.
Hello SQL World.
Initial administration and error handling.
Field types and modifiers in MySQL.
Floating point (real) numbers.
Whole (Integer) numbers.
One or more values from a pre-defined list.
Dates and Times.
A note on reserved words.
Commands to enter new rows of data.
The INSERT command.
The REPLACE command.
The LOAD command.
Returning table report information.
Commands to modify existing rows of data.
The UPDATE command.
The DELETE command.
Commands to modify the metadata.
The ALTER Command.
The DROP command.
The SHOW command.
On limiting selection.
Joining tables when selecting rows.
Extra use of SELECT.
Some more advanced SQL.
Loading data from file.
More on joining.
A regular "join".
A left join.
Joining across databases?.
|Sourcing, Running and Configuring MySQL (module S153) Overview.
A potted installation procedure.
For use on our training systems.
Installing MySQL onto your laptop.
Install the Perl DBD and DBI modules.
Testing your Installation.
Running the MySQL daemon.
Programs for the user and administrator.
Using the mysqladmin program.
Using the mysql client program.
Managing user accounts and privileges.
Adding an account.
Adding Additional privileges on a per-database basis.
Additional access on a per-host, per table and per-column basis.
Disk structure of data held in a MySQL database.
The data directory.
Setting up security and levels of access.
O/S level and web-level access.
Log in access to MySQL.
Four levels of access within MySQL.
Backing up your database.
Dumping by table.
Accessing mysqld from around your network.
LAMP Web Application deployment - integration
|XML, DTD, XSLT, XHTML and More (module A301) What is XML?.
The structure of an XML document.
Examples of XML documents.
Alternatives to XML.
When to choose XML and when to use a database.
Defining data types with DTD and XML schema.
Parsing XML - SAX and DOM.
SAX code example.
DOM code example.
Formatting XML data with XSLT descriptors.
Accessing XSLT from programs.
|Web Application Design and Deployment (module A211) Planning your application.
The store front page.
Under the hood.
Adding to the shopping cart.
The final phase.
Complete carter.php4 file.
|Secure Service and Credit Cards (module A212) Using a secure server for credit card details.
What is SSL and https?.
How can you use https?.
Programming implications for using a secure service.
Programming to use an electronic payment system.
Credit card agreements.
|Commercial and Legal Aspects (module A213) Why discuss this on a technical course?.
Data Protection Act, 1998.
Freedom of Information Act, 2000.
Privacy and credit card security.
Unsolicited commercial emailing and mailing lists.
Other content issues.
Who is the publisher?.
Registration agencies - the shady dealers.
Backups and security.
Ease of use.
Marketing and visibility.
Reading code in PHP, Perl and Python
|Introduction (module P201) What is Perl?.
Perl is a computer language.
What does Perl cost?.
What is Perl used for?.
What computer do I need to run Perl?.
Is Perl loaded onto my computer?.
Perl on Unix (including Solaris and Mac OS X).
Perl on Linux.
Perl on Windows.
How do I find what version I have?.
Macintosh OS X.
Windows 98 / Windows 2000 / Windows NT / Windows XP.
Macintosh OS 9 and earlier.
Loading Perl (Windows XP).
Examples of Perl in use.
Screen locator and counter.
A changing web page.
|Perl on the Network (module P252) Network structure.
Programming for networks.
Providing your own client.
Providing your own server.
Providing your own service.
Building in to an existing service - email.
Building in to an existing service - the web.
|The Common Gateway Interface (module P403) The mechanism of the web.
The need for Server Side Programming.
The structure of the server.
Your first CGI program.
Use perl -c.
Check with your ISP.
|Introduction to PHP (module H101) What is PHP?.
What hardware and software do I need?.
Linux and Unix.
Windows (98, NT, 2000, Millennium, XP).
What does PHP cost?.
|A First PHP Web Page (module H102) Writing and uploading.
The structure of a PHP page.
Sequences of statements.
|Designing PHP-Based Solutions: Best Practice (module H115) Thinking through your design.
Tools to help you design.
Designing a smaller application example.
A note on using PHP in a Web environment.
Writing maintainable code.
Use of functions and include files.
And all the languages in one file?.
Writing code for different databases.
Error handling and software testing.
Expect the unexpected and check everything.
Error numbering and handling.
Data validation, sessions, XML/XSLT, SQL.
|Introduction to Python (module Y101) What is Python?.
Running Python from the command line.
Running Python from a file - "Hello Python World".
Obtaining and installing Python.
Downloading from www.python.org.
Downloading from ActiveState.
Downloading from Plone.
What is Python good for?.
Where did the Python name come from?.
TUTOR and COURSE AUTHOR
Graham Ellis - firstname.lastname@example.org
] [about Graham
, England. A taxi transfer can be arranged if you'll be arriving by air
from United States.
can be arranged on site in your country.
Public courses run at
Well House Manor
- our own
purpose fitted training centre and business hotel / conference centre in
• Download Melksham Map - [pdf file (750k)
] • Google Map - [Link
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
($2988.00 inc VAT) or
(£1836.00 inc VAT)
($2460.00 inc VAT) or
(£1500.00 inc VAT)
| With hotel rooms
($5916.00 inc VAT) or
(£3612.00 inc VAT)
($4860.00 inc VAT) or
(£2940.00 inc VAT)
| With hotel rooms
($8844.00 inc VAT) or
(£5388.00 inc VAT)
($7260.00 inc VAT) or
(£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 Learning to program in Perl
, Learning to program in Python
, or Learning to program in PHP
courses (we also offer courses in these
languages for those with prior programming experience - Perl Programming
, PHP Programming
and Python Programming
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.
Certification? - [Link
FOR FURTHER INFORMATION
Public (scheduled) courses
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.
Terms and Conditions
Covering topics such as delegate substitution, payment, cancellation policy and other matters.