Duration:
4 days • Price:
$2680.00 or £1340.00 +VAT (with hotel room), or
$2200.00 or £1100.00 +VAT (without room), •
Venue:
Melksham, England
COURSE START DATES
| • Tuesday 26 August 2008 | • Monday 8 December 2008 |
This course is offered under our
options program. Early booking is recommended.
DESCRIPTION
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
using them.
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.
PREREQUISITES
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
[
Link]
SUBJECT BACKGROUND
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.
COURSE CONTENT
Shorter description available: [Link]
| 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.
Scripting languages.
Compiled languages.
Embedded languages.
Java.
.NET.
Applications.
Some standard applications.
YaBB.
phpBB.
SMF.
osCommerce.
PHP-Nuke.
Zope.
Plone.
Summary.
|
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.
vi basics.
Summary of vi commands.
The most basic.
Second level vi commands.
File permissions and some other useful commands.
File permissions.
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) Utilities in Linux.
A typical utility: grep - the Global Regular Expression Processor.
Piping and redirecting Linux utilities.
Regular Expressions.
Options and related commands.
sort - re-order input lines.
awk - Aho, Kernighan, and WeinbergerŐs pattern scanning language.
sed - Stream Editor.
cut - remove columns.
perl - Practical Extraction and Reporting Language.
find - locating a file system object.
finding out about commands.
|
| Shell Programming (module A167) What is shell programming?.
Running a shell program from the command line.
Setting the PATH.
Setting file permissions.
Setting the interpreter for a script.
Setting a script in another language up as being executable.
Conditional statements and variables in shell.
Shell Variables.
Reading the command line and the environment.
loops - while, until and for.
Bourne again shell comparisons and arithmetic.
Functions and other shell features.
Bourne again shell script on a web page.
Other shells.
|
| Compiler and Development Tools (module A168) Compiling and development tools for Linux.
The gnu compiler collection.
make.
CVS - the concurrent versions system.
Starting to use CVS.
A CVS Edit session.
Planning for CVS.
|
Linux Admin for Web Site deployers |
| Users and Groups (module A161) What are users and groups?.
The root account.
Other accounts.
Real and effective id.
Adding and managing user accounts.
Setting up a user account.
Forgotten passwords.
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.
Tar.
CPIO, dd and other tools.
Backup strategies.
Mounting file systems and monitoring usage.
Symbolic links.
Hard links.
Finding files.
Some more useful commands.
|
| Structure of Networks and Webs (module W601) Internet and Intranets.
Why network?.
Time-shared computers.
The need for someone to manage the data.
Distributed computing.
Company networks and intranets.
An example intranet.
The Internet.
Home page service.
Commercial service.
Dedicated server.
Virtual Private Networks.
Components of the Web.
The Client/Server model.
Web components.
Extra accesses to a server.
Extra machines involved.
Extra actions of the server.
What the browser does.
Email components.
Originating email.
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.
TCP.
|
| Network Configuration and Security (module A163) IP addressing and DNS naming.
Putting your Linux system on a network.
Testing with ping.
Using outgoing services.
Incoming services.
Be aware.
|
| Services and Regular Jobs (module A164) Provision of services via daemons.
Controlling the startup and shutdown of Daemons.
System shutdown.
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.
Web.
Email.
FrontPage.
Serverside Interface Methods.
The HTTP standard.
Interface methods.
The Common Gateway Interface (CGI).
Server Side Includes.
PHP.
Active Server Pages.
Java Servlets.
Apache Modules.
Your own server.
Other Interfacing methods and a comparison.
Serverside languages.
Perl.
Java.
PHP.
VBScript.
JScript/JavaScript.
C.
C++.
Shell languages.
Others.
Packages.
Programming techniques.
Multiuser.
Cookies, sessions and shopping carts.
Data Filtering.
Scale of use.
Further Serverside examples.
|
| HTML for Web Application Authors (module Q625) Tables.
Frames.
Forms.
Element types within a form.
The script used.
Objects and images within a web page.
Style sheets.
JavaScript.
|
| HTTP (module A207) HTTP Headers, Heads and Bodies.
GET, POST and other methods.
MIME Types, Cache Controls and other headers.
Maintaining state.
Cookie examples.
Uses of Cookies.
|
The Apache httpd web server |
| Apache httpd - an overview (module A601) What is Apache?.
Apache httpd capabilities.
Basic operation.
Executable programs.
Authentication and secure service.
Virtual servers.
Logs.
Other Web Servers.
|
| Apache httpd - Sourcing, Installation, Testing (module A602) Sourcing Apache httpd.
Configuring 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.
Adding Handlers.
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.
Per-directory control.
Virtual Hosts.
Name-based Virtual Hosts.
IP-based virtual hosts.
|
Deploying MySQL under LAMP |
| Introduction to SQL and MySQL (module S151) Information organisations.
Plain files.
Directory structure.
Table.
Relational database.
Relational databases.
The structure of a typical RDBMS.
Accessing a relational database from the Web.
Database access protocols.
SQL.
MySQL.
Distributions and licenses.
Component parts of MySQL.
Versions of MySQL.
Production Version.
Development Version.
MySQL- Max.
When should I choose MySQL?.
The use and future of MySQL - David Axmark and Monty Widenius.
A commercial comparison - MySQL v Oracle.
|
| SQL Primer as Used in MySQL (module S152) The structure of a database as seen by SQL.
SQL introduction.
Hello SQL World.
Initial administration and error handling.
Field types and modifiers in MySQL.
Floating point (real) numbers.
Whole (Integer) numbers.
Text Strings.
One or more values from a pre-defined list.
Dates and Times.
Blobs.
Other Modifiers.
Example.
Indexes.
Other matters.
A note on reserved words.
Commands to enter new rows of data.
The INSERT command.
The REPLACE command.
The LOAD command.
Enquiry commands.
Conditional Clauses.
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.
Other commands.
The SHOW command.
On limiting selection.
Joining tables when selecting rows.
Extra use of SELECT.
Other commands.
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.
mysqlaccess.
Configuring MySQL.
Server configuration.
Client configuration.
Disk structure of data held in a MySQL database.
The data directory.
Database subdirectories.
Table Types.
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.
Plain files.
Directory structure.
Table.
Relational database.
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.
XHTML.
|
| Web Application Design and Deployment (module A211) Planning your application.
The store front page.
Under the hood.
Adding to the shopping cart.
User details.
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.
Commercial matters.
Credit card agreements.
Data Protection.
|
| Commercial and Legal Aspects (module A213) Why discuss this on a technical course?.
Data Protection.
Data Protection Act, 1998.
Freedom of Information Act, 2000.
Privacy and credit card security.
Unsolicited commercial emailing and mailing lists.
Page content.
Copyright.
Advertising standards.
Other content issues.
Who is the publisher?.
Registration agencies - the shady dealers.
Accessibility.
Backups and security.
Attracting customers.
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 platforms.
Perl on Unix (including Solaris and Mac OS X).
Perl on Linux.
Perl on Windows.
Perl versions.
Older Versions.
How do I find what version I have?.
Macintosh OS X.
Linux.
Solaris.
Windows 98 / Windows 2000 / Windows NT / Windows XP.
Macintosh OS 9 and earlier.
Loading Perl (Windows XP).
Examples of Perl in use.
Calculator.
Screen locator and counter.
A talker.
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.
Static documents.
Executable programs.
Your first CGI program.
Error Handling.
Use perl -c.
Check with your ISP.
Forms.
Error handling.
URL Encoding.
Input.
Output.
|
| 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?.
PHP versions.
|
| 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.
Code documentation.
Use of functions and include files.
Version issues.
Coding Standards.
And all the languages in one file?.
Writing code for different databases.
Miscellany.
Error handling and software testing.
Bad characters.
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.
Python versions.
What is Python good for?.
Where did the Python name come from?.
Other resources.
|
TUTOR and COURSE AUTHOR
Graham Ellis -
graham@wellho.net [
email] [
about Graham]
VENUE
Melksham, Wiltshire
, England. A taxi transfer can be arranged if you'll be
arriving by air
from United States.
Private Courses 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
Melksham.
• Download Melksham Map - [
pdf file (750k)] • Google Map - [
Link]
PRICE
| 1 student |
2 students |
3 students |
For 4 or more students
from the same company,
please consider a private course. |
With hotel room $2680.00 ($3149.00 inc VAT) or £1340.00 (£1574.50 inc VAT) Without room $2200.00 ($2585.00 inc VAT) or £1100.00 (£1292.50 inc VAT) |
With hotel rooms $5160.00 ($6063.00 inc VAT) or £2580.00 (£3031.50 inc VAT) Without rooms $4200.00 ($4935.00 inc VAT) or £2100.00 (£2467.50 inc VAT) |
With hotel rooms $7640.00 ($8977.00 inc VAT) or £3820.00 (£4488.50 inc VAT) Without rooms $6200.00 ($7285.00 inc VAT) or £3100.00 (£3642.50 inc VAT) |
Notes:
• 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.
|
FOLLOW UPS
If you're writing your own Open Source applications, you might also want
to attend our
Learning to Program in Perl / Perl Programming,
Using Perl on the Web,
PHP Programming or
MySQL courses.
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 "Opentalk" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropropriate.
Certification? - [
Link]
FOR FURTHER INFORMATION
Public (scheduled) courses --
http://www.wellho.net/course/ctc.html
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 --
http://www.wellho.net/net/terms.html
Covering topics such as delegate substitution, payment, cancellation policy and other matters.