Cake Conventions

March 6, 2008
Filenames
Filenames are underscore. As a general rule, if you have a class MyNiftyClass, then in Cake, its file should be named my_nifty_class.php.
So if you find a
snippet you automatically know that:

  1. If it’s a Controller named KissesAndHugsController, then its filename must be kisses_and_hugs_controller.php(notice _controller in the filename)
  2. If it’s a Model named OptionValue, then its filename must be option_value.php
  3. If it’s a Component named MyHandyComponent, then its filename must be my_handy.php(no need for _component in the filename)
  4. If it’s a Helper named BestHelperEver, then its filename must be best_helper_ever.php
Model

  1. Model class names are singular.
  2. Model class names are Capitalized for single-word models, and UpperCamelCased for multi-word models.
    1. Examples: Person, Monkey, GlassDoor, LineItem, ReallyNiftyThing
  3. many-to-many join tables should be named: alphabetically_first_table_plural_alphabetically_second_table_plural ie: tags_users
  4. Model filenames use a lower-case underscored syntax.
    1. Examples: person.php, monkey.php, glass_door.php, line_item.php, really_nifty_thing.php
  5. Database tables related to models also use a lower-case underscored syntax – but they are plural.
    1. Examples: people, monkeys, glass_doors, line_items, really_nifty_things

CakePHP naming conventions are meant to streamline code creation and make code more readable. If you find it getting in your way, you can override it.

  1. Model name: Set var $name in your model definition.
  2. Model-related database tables: Set var $useTable in your model definition.
Controller

  1. Controller class names are plural.
  2. Controller class names are Capitalized for single-word controllers, and UpperCamelCased for multi-word controllers. Controller class names also end with ‘Controller’.
    1. Examples: PeopleController, MonkeysController, GlassDoorsController, LineItemsController, ReallyNiftyThingsController
  3. Controller file names use a lower-case underscored syntax. Controller file names also end with ‘_controller’. So if you have a controller class called PostsController, the controller file name should be posts_controller.php
    1. Examples: people_controller.php, monkeys_controller.php, glass_doors_controller.php, line_items_controller.php, really_nifty_things_controller.php
  4. For protected member visibility, controller action names should be prepended with ‘-’.
  5. For private member visibility, controller action names should be prepended with ‘__’.

Views

  1. Views are named after actions they display.
  2. Name the view file after action name, in lowercase.
    1. Examples: PeopleController::worldPeace() expects a view in /app/views/people/world_peace.thtml; MonkeysController::banana() expects a view in /app/views/monkeys/banana.thtml.

You can force an action to render a specific view by calling $this->render(‘name_of_view_file_without_dot_thtml’); at the end of your action.

Helpers
  1. Helper classname is CamelCased and ends in “Helper”, the filename is underscored.
    1. Example: class MyHelperHelper extends Helper is in /app/views/helpers/my_helper.php.

Include in the controller with var $helpers = array(‘Html’,'MyHelper’); in the view you can access with $myHelper->method().

Components

  1. Component classname is CamelCased and ends in “Component”, the filename is underscored.
    1. Example: class MyComponentComponent extends Object is in /app/controllers/components/my_component.php.

Include in the controller with var $components = array(‘MyComponent’); in the controller you can access with $this->MyComponent->method().

Vendors
Vendors don’t follow any convention for obvious reasons: they are thirdparty pieces of code, Cake has no control over them.

CakePHP: Basic Concept

March 6, 2008

MVC Pattern

The MVC paradigm is a way of breaking an application, or even just a piece of an application’s interface, into three parts: the model, the view, and the controller.

In Cake terms, the Model represents a particular database table/record, and it’s relationships to other tables and records. Models also contain data validation rules, which are applied when model data is inserted or updated. The View represents Cake’s view files, which are regular HTML files embedded with PHP code. Cake’s Controller handles requests from the server. It takes user input (URL and POST data), applies business logic, uses Models to read and write data to and from databases and other sources, and lastly, sends output data to the appropriate view file.

To make it as easy as possible to organize your application, Cake uses this pattern not only to manage how objects interact within your application, but also how files are stored, which is detailed next.

Overview of the Cake File Layout

When you unpack Cake on your server you will find three main folders -

  • app
  • cake
  • vendors

The cake folder is where the core libraries for Cake lay and you generally won’t ever need to touch it.

The app folder is where your application specific folders and files will go. The separation between the cake folder and the app folder make it possible for you to have many app folders sharing a single set of Cake libraries. This also makes it easy to update CakePHP: you just download the latest version of Cake and overwrite your current core libraries. No need to worry about overwriting something you wrote for your app.

You can use the vendors directory to keep third-party libraries in.

CakePHP?

March 6, 2008

What’s CakePHP?

CakePHP is a free open-source rapid development framework for PHP. Its a structure of libraries, classes and run-time infrastructure for programmers creating web applications originally inspired by the Ruby on Rails framework.

Why CakePhp?

CakePHP has several features that make it a great choice as a framework for developing applications swiftly and with the least amount of hassle. Here are a few in no particular order:

  1. Active, friendly community
  2. Flexible Licensing
  3. Compatibility with PHP4 and PHP5
  4. Integrated CRUD for database interaction and simplified queries
  5. Application Scaffolding
  6. Model View Controller (MVC) Architecture
  7. Request dispatcher with good looking, custom URLs
  8. Built-in Validation
  9. Fast and flexible templating (PHP syntax, with helpers)
  10. View Helpers for AJAX, Javascript, HTML Forms and more
  11. Security, Session, and Request Handling Components
  12. Flexible access control lists
  13. Data Sanitization
  14. Flexible View Caching
  15. Works from any web site subdirectory, with little to no Apache configuration involved

Know about the PHP Code-Beautifier Tool

March 5, 2008

Tim Koschuetzki has discovered a new tool for beautifying existing PHP code. It works via a web interface. You can either upload a script or directly input it. The code is beautified according to the PHP PEAR Standard Requirements. It does not change or debug your code in any way.

The functions of this tool are as follows:

  • Tries to set missing curly braces around single conditional statements. This may not work in all situations.
  • Indents with four spaces.
  • Uses ‘one true brace’ style in function definitions.
  • Sets one space between control keyword and condition.
  • Removes space between function calls, parenthesis and beginning of argument list.

Want to know more : Click here

To download this Code : Click here

Best PHP tools of the month

March 5, 2008

Best Framework->CodeIgniter

Best Environment for PHP-> WAMP

for more see the below link:

OpenLaszlo

March 5, 2008

OpenLaszlo is an open source platform for creating zero-install web applications with the user interface capabilities of desktop client software.

OpenLaszlo programs are written in XML and JavaScript and transparently compiled to Flash and, with OpenLaszlo 4, DHTML. The OpenLaszlo APIs provide animation, layout, data binding, server communication, and declarative UI. An OpenLaszlo application can be as short as a single source file, or factored into multiple files that define reusable classes and libraries.

OpenLaszlo is “write once, run everywhere.” An OpenLaszlo application developed on one machine will run on all leading Web browsers on all leading desktop operating systems.

To read more about this technology view the following link:

http://www.openlaszlo.org

jPOP: Javascript Powered On PHP

March 5, 2008
Ajax is a very important for modern RIA(Rich Internet Application). Till now we use JS for Ajax purpose. But a framework has been recently introduced which done the ajax work from a php page. this is called jPOP.

To know more about it, go to this link: jPOP: Javascript powered On PHP

SMARTY: Template Engine

March 3, 2008

First copy the downloaded smarty folder into your project root directory. Then goto that smarty folder, create a php file (ex: smarty.php) & paste these following codes:

<?php/* This is a class defination for accessing smarty. */ require(”C:/apache2triad/htdocs/project/smarty/libs/Smarty.class.php”);class Template extends Smarty {
function Template() {
$this->Smarty();
//setting up smarty template directory
$this->template_dir=’c:/apache2triad/htdocs/project/templates/’;
//setting up smarty template directory
$this->compile_dir=’c:/apache2triad/htdocs/project/templates_c/’;
//setting up smarty configs directory
$this->config_dir=’c:/apache2triad/htdocs/project/configs/’;
//setting up smarty cache directory
$this->cache_dir=’c:/apache2triad/htdocs/project/cache/’;
$this->caching=false;
// defining application name
$this->assign(’app_name’,’project’);
}
}
?>

Remember i used apache2triad for local testing. If u have different path, pls do change your path according to it. After copy pasting the codes into the php, save it & return to your project root. Include this (smarty.php) file to all of your php’s or u can create a config file for your project to include the smarty class. Now create 4 folders named as:

1. templates (ex: c:/apache2triad/htdocs/project/templates/ )
2. templates_c (ex: c:/apache2triad/htdocs/project/templates_c/ )
3. configs (ex: c:/apache2triad/htdocs/project/configs/ )
4. cache (ex: c:/apache2triad/htdocs/project/cache/ )

Now initiate Smarty object in your php file as

$template = new Template();
//example of assigning php variable to smarty
$template->assign(’variable’, $var);
//example of displaying the template
$template->display(’index.html’);

Remember to put all of your template files under the project root’s template directory:

(Ex: c:/apache2triad/htdocs/project/templates/index.html)

To Know more about Smarty visit the following link:
Smarty Example

If Anyone need smarty book, just mention here. we will try our best to provide u that.

Installing SMARTY in Windows

March 3, 2008

Installing Smarty in Windows

This document assumes that your webserver and php5 is running.

Download Smarty -
http://smarty.php.net

Installation – Windows, IIS/Apache, PHP5
Extract files, rename Smarty.x.x.x to smarty (suggest OUTSIDE of your www root!)
Example: d:smarty
Run phpinfo.php to find out your php.ini location
Edit php.ini’s include_path and add the location of the libs folder.
example: include_path = “.;d:smartylibs”
Restart IIS/Apache
Setup these two folders INSIDE your www root:
(wwwroot)/smarty/templates (this is where your templates will go)
(wwwroot)/smarty/configs

Setup these two folders OUTSIDE of your www root:
d:/smarty/templates_c
d:/smarty/cache

Setup security settings for the webserver to write to these four folders

In (wwwroot) create index.php and in (wwwroot)/smarty/templates/index.tpl with the following code:

index.php:


<?php

// load Smarty library
require(’Smarty.class.php’);

$smarty = new Smarty;

$smarty->template_dir = ‘d:/inetpub/wwwroot/smarty/templates’;
$smarty->config_dir = ‘ d:/inetpub/wwwroot/smarty/config’;
$smarty->cache_dir = ‘d:/smarty/smarty_cache’;
$smarty->compile_dir = ‘d:/smarty/smarty_templates_c’;

$smarty->assign(’name’,’fish boy!’);

$smarty->display(’index.tpl’);
?>

index.tpl


<html>
<body>
Hello, {$name}!
</body>
</html>

Now open index.php in your web browser (requested from your webserver)

http://webserver/index.php

You can work this out to a referenced script/class:
smarty_connect.php:
<?php

// load Smarty library
require(’Smarty.class.php’);

class smarty_connect extends Smarty
{
function smarty_connect()
{
// Class Constructor.
// These automatically get set with each new instance.

$this->Smarty();

$this->template_dir = ‘ d:/inetpub/wwwroot/smarty/templates’;
$this->config_dir = ‘ d:/inetpub/wwwroot/smarty/config’;
$this->compile_dir = ‘d:/smarty/templates_c’;
$this->cache_dir = ‘d:/smarty/cache’;

$this->assign(’app_name’, ‘Intranet’);
}
}
?>

index.php:
<?php

require(’smarty_connect.php’);

$smarty = new smarty_connect;

$smarty->assign(’name’,’Ned’);

$smarty->display(’index.tpl’);
?>

index.tpl:
<html>
<body>
Hello, {$name}!
</body>
</html>

If you are getting an error that Smarty.class.php isn’t found chances are that your include_path isn’t correct or you didn’t edit the one that the webserver is using, check your phpinfo.php!

RHCE Course Content

March 2, 2008

RH033 Red Hat Linux Essentials

UNIT 1- Overview
   Objectives
   Agenda
   UNIX History
   UNIX Principles
   GNU Project/FSF
   GPL – GNU General Public License
   Linux Origins
   Why Linux?
   Red hat Enterprise Linux
   Recommended hardware Specifications
   Local Logins
   Virtual Consoles
   Running Commands
   Changing Your Password
   Linux Graphical Environments
   End of Unit 1

UNIT 2- Command Line File system Browsing
   Objectives
   Agenda
   Linux File Hierarchy Concepts
   Current Working Directory
   Changing Directories
   Listing Directory Contents
   The Home Directory
   Absolute Pathnames
   Relative Pathnames
   File Names
   Copying Files and Directories
   Copying Files and Directories: The Destination
   Moving and Renaming Files and Directories
   Moving and Renaming Files and Directories: The Destination
   Removing and Creating Files
   Determining File Content
   Viewing an Entire Text File
   Viewing Files One Screenful at a Time
   Slocate
   Getting help: man pages
   Other Help Utilities
   End of Unit 2
   Lab: Command Line Filesystem Browsing

UNIT 3- GNOME and KDE Desktops
   Objectives
   Agenda
   The X Window System
   GNOME
   KDE
   Starting XFree86
   Switching Between GNOME and kde
   Nautilus
   Graphical Terminals
   Graphical Editors
   Web Browsers
   OpenOffice.org Office Suite
   Useful Keystrokes in X
   Useful Keystrokes in X, continues: Copy& Paste
   End of Unit 3
   Lab: File system Browsing Using GNOME

UNIT 4- The bash Shell
   Objectives
   Agenda
   Bash Introduction
   Bash Heritage
   Command Line Shortcuts
   Command Line Expansion
   History Tricks
   Command Editing Tricks
   End of Unit 4
   Lab: Exploring the bash Shell

UNIT 5 – Users, Groups, and Permissions
   Objectives
   Agenda
   Users
   Groups
   He root User
   The Linux Security
   Linux File Security
   Linux Process Security
   Examing Permissions
   User Categories
   File Permission Types
   Examining Directories
   Examining User Permissions
   Examining Group Permissions
   Examining Other Permissions
   Changing Permissions – Symbolic Method
   Changing Permissions – Numeric Method
   End of Unit 5
   Lab: File Permissions

UNIT 6 – vi and vim Editor Basics and Printing
   Objectives
   Agenda
   Overview of vi and vim
   Starting vi and vim
   Three Modes of vi and vim
   Cursor Movement
   Entering Insert Mode
   Leaving Insert Mode:
   Change, Delete, and Yank
   Put (paste)
   Undoing Changes
   Searching for Text
   Saving and Exiting: ex mode
   A Few Tricks
   Printing in Linux
   Printing Commands
   Printing Utilities
   End of Unit 13
   Lab: vi and vim Editor Basics

UNIT 7 – The Linux File system
   Objectives
   Agenda
   Partitions and Filesystems
   Inodes
   Directories
   Cp and Inodes
   Mv and Inodes
   Rm and Inodes
   Symbolic ( or Soft ) Links
   Hard Links
   The Seven Fundamental Filetypes
   Checking Free Space
   Find
   Finding and Processing Files
   Mounting Removable Media
   Formatting a Floppy
   Why Archiive Files?
   Creating an Archive
   Inspecting Archives
   Extracting an Archive
   Why Use File Compression?
   Compression Utilities
   Using Compression
   Compressing Archives
   Tar to Unformatted Flopies
   End of Unit 7
   Lab: The Linux Filesystem

UNIT 8 – Configuring GNOME, KDE, and X-based Tools
   Objectives
   Agenda
   A Layered Vision of the x Window System
   Window Managers
   The GNOME Control Center
   The KDE Control Center
   The panel Application
   Configuring nautilus
   Configuring gnome – terminal
   Saving Desktop Configuration Across Logins
   X-based Email Clients
   Configuring evolution
   End of Unit 8
   Lab: Configuring the X Window System

UNIT 9 – The bash Shell and Configuration
   Objectives
   Agenda
   The bash Shell and Configuration
   Variables
   Configuring the Shell: Local Variables
   Common Local Variables
   The PS1 Local Variable
   Aliases
   Other Shell Configuration Methods
   Configuring Commands: Environment Variables
   Common Environment Variables
   The TRM Environment Variable
   The PATH Environment Variable
    How the Shell Expands the Command Line
   Shell Shartup Scripts
   Login Shells
   Startup Scripts: Order of Execution
   /etc/profile
   /etc/profile.d
    /.bash_profile and / .bashrc
    / ,bash_logout
   End of Unite 9
   Lab: The bash Shell and Configuration

UNIT 10 – Advanced Topics in Users, Groups, and Permissions

   Objectives
   Agenda
   User and Group ID Numbers
   /etc/passwd, /etc/shadow, and /etc/group Files
   System Users and Groups
   Changing Your Identity
   User Information Commands
   Default File Permissions
   Special Permissions
   Special Permissions of Executables
   Special Permissions for Directories
   End of Unit 10
   Lad: Switching Users and Setting a umask

UNIT 11 – Advanced Uses of the vi and vim Editors

   Objectives
   Agenda
   File Repositioning
   Screen Repositioning
   Filtering
   Ex mode: search and Replace
   Advance Reading and Saving
   Configuring vi and vim
   Expanding you Vocabulary
   A Peak at the Appendix
   End of Unit 11
   Lab: Advanced Uses of the vi and vim Editors

UNIT 12 – Standard I/O and Pipes
   Objectives
   Agenda
   Standard Input and Output
   Redirecting Input and Output
   Redirecting Output
   Redirecting Standard Output
   Redirecting Standard Output and Error
   Redirecting Input
   Using Pipes to Connect Processes
   Tee
   Piping into the mail Command
   End of Unit 12
   Lab: Standard I/O and Pipes

UNIT 13 – Introduction to String Processing
   Objectives
   Agenda
   Head
   Tail
   Tail – continued
   Wc
   Sort
   Uniq
   Cut
   Other String Processing
   Version Comparison with diff
   Spell Checking
   Formatting Tools
   End of Unit 13
   Lab: Introduction to String Processing

UNIT 14 – String Processing with Regular Expressions

   Objectives
   Agenda
   Pattern Matching with Regular Expressions
   Wildcard Characters
   Modifiers
   Anchors
   Regular Expressions – Examples
   Quote your regex’s!
   Grep
   Sed
   Using sed
   Less and slocate
   Egular Expressions in vi and vim
   Extended regex Syntax
   Awk
   Using awk
   End of unit 14
   Lab: String Processing with Regular Expressions
UNIT 15 – Introduction to Processes

   Objectives
   Agenda
   What is a Process?
   How Processes Are Created
   Process Ancestry
   Process States
   Viewing Processes
   Sending Signals to Processes
   Terminating Processes
   Altering Process Scheduling Priority
   Running a Process in the Foreground
   Running a Process in the Background
   Suspending a Process
   Listing background and suspended jobs
   Resuming Suspended jobs
   Compound Command
   Scheduling a Process to Execute later
   Scheduling Periodic Processes
   Using cron
   Crontab File Format
   End of Unit 15
   Lab: Process Control

UNIT 16 – bash Shell Scripting
   Objectives
   Agenda
   Scripting Basics
   Creating Shell Scripts
   Creating Shell Scripts Cont.
   Generating Output
   Handling Input
   Using Positional Parameters
   Using Functions in Shell Scripts
   Using Functions in Shell Scripts, continued
   Exit status
   Control Structures
   Conditional Execution
   Selection Structures: Using the if Statement
   File Tests
   String Tests
   Selection structures: Using if/else Statements
   Selection Structures: Using the case Statement
   Repetition Structures: The for loop
   Repetition Structures: The while loop
   Continue and break
   Shell Script Debugging

UNIT 17 – Basic Networking Clients
   Objectives
   Agenda
   Ssh: Secure Shell
   Scp: Secure Copy
   telnet and the “r” Services
   iftp
   links Web Clien
   mutt
   rsync
   wget
   Network Diagnostic Tools
   End of Unit 17
   Lab: Basic Networking Clients

UNIT 18 – Programming and Administration
   Objectives
   Agenda
   Programming Tools
   Programming Languages
   Integrated Development Environment (IDE)
   Red Hat Programming Classes
   System Administrator Duties
   Red Hat Administration Classes

RH133 Red Hat Linux System Administration

UNIT 1 – Hardware, Device Configuration, and Installation

   Objectives
   Agenda
   Initial Installation
   Hardware Overview
   Hardware Compatibility
   General Hardware Resources
   CPU and Memory
   Filesystem Device Nodes
   System Bus Support
   Hotswappable Bus Support
   Laptops
   Disk Partitioning
   Sample Partition Structure
   Block Devices and Flesystems
   Filesystem Schemes
   The Red Hat Installer
   Installer Features
   Red hat Linux Installation
   Partitioning hard Drives
   Software RAID
   LVM: Logical Volume Manager
   Network Configuration
   Firewall Setup
   Package Selection
   Validating the Installation
   Serial Console Installation
   Noprobe Mode and Driver Disks
   Post-Install Configuration
   System Configuration
   End of Unit 1
   Lab: Hardware and Installation

UNIT 2 – Linux Filesystem Management
   Objectives
   Agenda
   System Initialization: Device Recognition
   Desk Partitioning
   Managing partitions
   Managing Data: Filesystem Basics
   Managing Data: Filesystem Creation
   Journaling for ext2 filesystems: ext3
   ReiserFS and JFS
   Managing Data: mount
   Managing Data: mount options
   Managing Data: Connecting Network Resources
   Managing Data: /etc/fstab
   Managing Data: Unmounting Filesystems
   Managing Data: The Auto-Mounter
   Ext2/ext3 Filesystem Attributes
   Virtual Memory Files
   Filesystem Maintenance
   Filesystem Maintenance (cont.)
   Determining Filesystem Usage
   Adding a Drive
   End of Unit 2
   Lab: Using autofs and Adding Swap

UNIT 3 – System Initialization and Services
    Objectives
   Agenda
   Boot sequence
   BIOS Initialization
   Boot Loader
   Kernel Initialization
   Init Initialization
   Run Levels
   Daemon Processes
   /etc/rc.d/rc.sysinit
   /etc/rc.d/rc
   System V run levels
   /etc/rc.d/rc.local
   Virtual Consoles
   Controlling Services
   System Shutdown
   System Reboot
   End of Unit 3
   Lab: Managing Startup

UNIT 4 – User Administration
    Objectives
   Agenda
   User Policy Considerations
   The User Account Database- /etc/passwd
   Adding a New User Account
   Modifying/Deleting Accounts
   Password Aging policies
   Authentication Configuration
   Group Administration
   Switching Accounts
   File Ownership
   Linux File Permissions
   SUID / SGID Executables
   The Sticky Bit
   The Setgid Access Mode
   Default File Permissions
   User Private Groups
   User Environment (cont.)
   The Linux Quota System
   The Linux Quota System (cont.)
   End of Unit 4
   Lab: User and Group Administration

UNIT 5 – Network Configuration
    Objectives
   Agenda
   Device Recognition
   Network Interfaces
   Address Resolution Protocol
   mii-tool
   ifconfig
   ifup/ifdown
   Interface Configuration Files
   Configuration Utilities
   Multiple NICs
   Binding Multiple IP Addresses
   DHCP/BOOTP
   Allowing User Control of Network Interfaces
   Basic IP Routes
   Default Route
   IP Forwarding
   Global Network Parameters
   Name Resolution
   DNS Client Configuration
   DNS Troubleshooting
   Network Diagnostics
   End of Unit 5
   Lab: Static Network Settings

UNIT 6 – System Administration Tools
   Objectives
   Agenda
   Alternatives
   Using alternatives
   Print System User Interface
   CUPS Overview
   CUPS Configuration Files
   CUPS Queue management
   /etc/printcap and redhat-config-printer
   Task Automation
   Using at
   Controlling Access to at
   Using cron
   Crontab format
   System crontab Files
   Controlling Access to cron
   Using tmwatch
   System Log Configuration
   System Log Configuration (cont.)
   System Logging
   System Logging (cont.)
   Maintaining Logs
   Monitoring Logs
   Managing whatis
   System Mountoring and Process Control
   Backup To Tape
   Controlling Tape Drives
   Using tar
   Using dump/restore
   Using cpio
   Remote Backups
   Other Backup Software
   End of Unit 6
   Lab: System Administration Tools

UNIT 7- RPM, Boot Loaders, and Kickstart
    Objectives
   Agenda
   The RPM Way
   RPM Package Manager
   Installing and Removing Software
   Updating a Kernel RPM
   RPM Queries
   RPM Queries and Verification
   Other RPM Utilities and Features
   Red Hat Network (RHN)
   Automatic Dependency Resolution
   RHN in the Enterprise
   RHN Registration
   The up2date utility
   Remote Administration
   Boot Loader Components
   GRUB and grub.conf
   Starting the Boot Process: GRUB
   Multiboot Systems
   Ted Hat Linux Network Installation Server
   Using Kickstart to Automate Installation
   Kickstart: Commands section
   Kickstart: packages
   Kickstart: pre, post
   End of Unit7
   Lab: RPM and Kickstart

UNIT 8 – Kernel Services and Configuration
   Objectives
   Agenda
   Kernel Modules
   Kernel Module Configuration
   The /proc filesystem
   /proc/sys configuration with sysct1
   Software RAID Configuration
   Software RAID Recovery
   Creating Logical Volumes
   Resizing Logical Volumes
   Logical Volume Snapshots
   End of Unit 8
   Lab: Logical Volumes and RAID

UNIT 9 – The X Window System
   Objectives
   Agenda
   The X Window System
   The X Protocol
   Network- Transparent
   X Security
   Xauth with ssh
   X Modularity
   Window Managers
   Display Managers
   XFree86 Startup (startx)
   XFree86 Startup (prefdm)
   Extensibility
   X Server Configuration
   X Server Design
   The X Font Server
   End of Unit 9
   Lab: The X Window System

UNIT 10 – Troubleshooting
   Objectives
   Agenda
   Troubleshooting
   Things to Check:X
   Things to Check: Services
   Things to Check: Networking
   Things to Check: Booting
   Filesystem Corruption
   Filesystem Recovery
   Recovery Run-levels
   Boot Floppies
   Rescue Environment
   Rescue Environment Utilities
   Rescue Environment Details

RH253 Red Hat Networking & Security Administration

UNIT 1 – Introduction to System Services
   Objectives
   Agenda
   Service Management
   Services Managed by init
   System V service Management
   Chkconfig
   Xinetd managed Series
   The xinetd Daemon
   The/etc/sysconfig/ files
   Fault Analysis
   End of Unit 1
   Lab: Introduction to System Services

UNIT 2 – Organizing Network Systems
   Objectives
   Agenda
   Domain Name SystemDNS
   Zones, Domains & Delegation
   Name Server Hierarchy
   The DNS Server
   Berkeley Internet Name Domain (BIND)
   Service Profile: DNS
   Configuring BIND
   Global Options
   Address Match Lists and ac1
   Rndc
   Master and Slave Zones
   Reverse Lookup Zones
   Special Zones
   Zone Files
   Resource Records (RR)
   SOA (Start of Authority)
   NS (Name Server)
   Main Record Types
   Example Zone File
   Round Robin Load Sharing through DNS
   Delegating Subdomains
   BIND Syntax Utilities
   Caching-only Name Server
   BIND Utilities
   Advanced BIND Features
   DHCP Overview
   Service Profile: DHCP
   Configuring a DHCP Server
   End of Unit 2
   Lab: Organizing Networked Systems

UNIT 3 – Network File Sharing Services
   Objectives
   Agenda
   NFS File Service (NFS)
   SFS Server
   Client-side NFS
   FTP
   Service Profile: FTP
   Samba Services
   Samba Daemons
   Service Profile: SMB
   Configuring Samba
   Overview of smb.conf Sections
   Configuraring File and Directory Sharing
   Printing to the Samba Server
   Authentication Methods
   Passwords
   Samba Client Tools: smbclient
   Nmblookup
   Smbmount
   Samba mouts in /etc/fstab
   End of Unit 3
   Lab: Network File Sharing Services

UNIT 4 – Electronic Mail Services
   Objectives
   Agenda
   Sendmail Features
   Security and “Anti-Spam” Features
   An Email Review
   Server Operations
   Service Profile: Sendmail
   Main Configuration Files
   Other Configuration Files
   Sendmail Configuration with the m4 Macro Language
   Sendmail m4 Macro File: Introduction
   Sendmail m4 Macro File: Features
   Sendmail Client Configuration
   Other Valuable m4 directives
   Additional Sendmail Configuration Files
   /etc/mail/virtusertable
   /etc/mail/access
   Blacklisting Recipients
   Debugging Sendmail
   Using alternatives
   Postfix
   Service Profile:Postfix
   Configuring postfix
   Additional Postfix Configuration
   Enhanced Postfix Configuration
   Procmail Delivery
   Procmail sample Configuration
   End of Unit 4
   Lab: Electronic Mail Services

UNIT 5 – The HTTP Service
   Objectives
   Agenda
   Apache Overview
   Service Profile:HTTPD
   Apache Configuration
   Apache Server Configuration
   Virtual Hosts
   Apache Namespace Configuration
   Apache Access Configuration
   Using .htaccess Files
   CGI
   Notable Apache Modules
   Apache Encrypted Web Server
   Squid Web Proxy Cache
   Service Profile: Squid
   End of Unit 5
   Lab: The HTTP Service

UNIT 6 – Security Concerns and Policy
   Objectives
   Agenda
   Definition of Security
   Attacks from the Network
   Principles of Security
   Security Practices
   Diagnostic Utilities
   Which Services Are Running?
   Remote service Detecting
   Isolate Vulnerabilities
   Security Policy: the System
   Security Policy: the People
   Response Strategies
   Additional Resources
   End of Unit 7
   Lab: Security Concerns and Policy

UNIT 7 – Authentication Services
   Objectives
   Agenda
   Authentication Basics
   Service Profile: PAM
   PAM Operation
   /etc/pam.d/system-auth
   Core PAM Modules
   Authentication Modules
   Miscellaneous PAM Modules
   Password Security
   Password Policy
   Resource Limits
   User Access Control
   Single User Mode
   Sudo
   Authentication Troubleshooting
   NIS Overview
   Service Profile: NIS
   NIS Server Topology
   Configuring an NIS Server
   NIS Client Configuration
   NIS Troubleshooting
   End of Unit 8
   Lab: Authentication Services

UNIT 8 – System Monitoring
   Objectives
   Agenda
   Introduction to System Monitoring
   File System Analysis
   Set User and Ground ID Permissions
   Typical Problematic Permissions
   EXT2 Filesystem Attributes
   System Log Files
   Syslogd and klogd configuration
   Advanced syslogd configuration
   Log File Analysis
   Monitoring and Limiting Processes
   Processes Monitoring Utilities
   System Activity Reporting
   Process Accounting Tools
   End of Unit
   Lab: System Monitoring

UNIT 9 – Security Networks
   Objectives
   Agenda
   Routing Principles
   Net filter Overview
   Net filter Architecture
   Net Filter Tables and Chains
   Net filter Packet Flow
   Rule matching
   Rule Targets
   Simple Example
   Basic Chain Operations
   Directional Filtering
   Connection Tracking
   Network Address Translation (NAT)
   Rule persistence
   The “Bastion Host”
   End of Unit 10
   Lab: Security Networks

UNIT 10 – Securing Services
   Objectives
   Agenda
   System Startup Control
   Securing the Service
   Tcp-wrappers Configuration
   Daemon Specification
   Advanced Syntax
   Options
   Example
   Securing xinetd-managed services
   Xinetd Access Control
   Host Patterns
   Advanced security Options
   End of Unit 11
   Lab: Securing Services

UNIT 11 – Securing Data
   Objectives
   Agenda
   The Need for Encryption
   Cryptographic building Blocks
   Random Numbers
   One-Way Hashes
   Symmetric Encryption
   Asymmetric Encryption l
   Asymmetric Encryption ll
   Public Key Infrastructures
   Digital Certificates
   Generating Digital Certificates
   OpenSSH Overview
   OpenSSH Authentication
   The OpenSSH Server
   Service Profile:SSH
   OpenSSH Server Configuration
   The OpenSSH Client
   Protecting Your Keys
   Applications: RPM