Help  |   Contact Us  |   About Us  |   News and Events
Books, conferences, and other information about... Moving to Linux Switching to OOo Building Linux Apps Using Visual FoxPro
Buy      Download      Your Account      Catalog      Support      Conferences      Resources      Fun

Linux Transfer for Web Admins
Table of Contents

Tentative outline


Part I: Preparations
Chapter 1 Evaluating your current site
1.1 Why, Oh Why
1.2 Determine your site's purpose
1.3 Make a list of the technologies you're currently using.
1.4 Determine which technologies require little effort to translate over
1.5 Determine which technologies require moderate effort to translate over
1.6 Determine which technologies require a complete conversion to translate over
1.7 Naming Conventions
1.8 Authentication and Security

Chapter 2 Selecting Your Linux Components
2.1 Updating your terminology
2.2 The Apache Web Server
2.2.1 Apache versions
2.2.2 Getting the latest version of Apache
2.2.3 What version do you have?
2.2.4 Apache add-ons and technologies
2.3 ASP Under Linux
2.3.1 ASP with VBScript
2.3.2 ASP with Perl
2.3.3 ASP with Jscript
2.4 Databases
2.5 Scripting and Dynamic Content
2.5.1 Types available
2.5.2 Where it all fits
2.5.3 Getting up to speed
2.5.4 Security issues
2.6 XML
2.6.1 Serving XML in Linux
2.6.2 Editing XML in Linux
2.6.3 Specialty XML tools
2.7 Streaming Media
2.7.1 Serving streaming media in Linux
2.7.2 Media migration issues
2.7.3 Enabling streaming media for your Linux desktiop users
2.8 Ecommerce
2.9 Nameserver: BIND versus djdns
2.10 The Linux Distribution
2.10.1 Red Hat Linux strengths and weaknesses.
2.10.2 SuSE Linux
2.10.3 Mandrake GNU/Linux
2.10.4 RHL Advanced Server and the Enterprise server family
2.10.5 Standardization
2.10.6 Security focused distributions

Part II: Installations
Chapter 3 Installing and Tuning Linux
3.1 Installing Linux
3.1.1 Before you start, partitioning
3.1.2 Installing Linux for a web server
3.1.3 Creating user accounts
3.1.4 Working with the filesystem
3.1.5 Working with networking
3.2 Fine Tuning Your Installation
3.2.1 Viewing and understanding Linux processes
3.2.2 Finding out what network services run by default
3.2.3 Stopping processes
3.2.4 Opening and closing ports
3.2.5 Finding software
3.2.6 Removing unneeded software
3.3 Configuring DNS
3.4 Properly shutting down and rebooting Linux machines
3.5 Hardware

Chapter 4 Installing Apache
4.1 Determining if you will need to compile Apache or not
4.2 Installing Sister Services without Compiling Apache
4.3 Preparing to compile software in Linux
4.3.1 Package Management
4.3.2 Making sure your tools are installed
4.3.3 Finding documentation
4.4 Compiling Apache and its Sister Services
4.4.1 Getting all of the pieces
4.4.2 Tips for tracking down the order of compile
4.4.3 Example: Apache + (haven't decided yet, simpler example)
4.4.4 Example: Apache + + (more complex example)
4.4.5 Example: Apache + + + (a bear of an example)
4.5 Testing your Apache installation

Chapter 5 Installing Additional Server Software
5.1 Installing Third Party ASP-under-Linux Software
5.1.1 Installing iASP
5.1.2 Installing iNET
5.1.3 Installing SunOne's Active Server Pages
5.1.4 Installing Apache-ASP
5.2 Installing XML Support
5.2.1 Installing the software
5.2.2 Integrating your XML software with Apache
5.2.3 Finding a Linux-based XML editor
5.3 Installing and Setting up JAVA
5.3.1 Determining what version of JAVA you have in Windows
5.3.2 Determining what version of JAVA you have in Linux
5.3.3 Updating your Linux JAVA version
5.4 Digital Certificates
5.5 Ecommerce
5.6 Testing Your Installation

Chapter 6 Configuring Apache
6.1 A GUI Configuration Tool Tour
6.1.1 Red Hat's apacheconf
6.1.2 RHAS's Piranha
6.1.3 Webmin
6.2 Basic Server Configuration
6.2.1 Tour of Apache's configuration setup
6.2.2 Server-wide Configuration
6.3 Fine-Tuning Rules for Various Directories
6.3.1 Introduction to Linux filesystem layout
6.3.2 Introduction to setting filesystem policies
6.3.3 Policy considerations
6.3.4 Limiting who can access what pages
6.4 Activating Apache Features
6.4.1 Introduction to feature setting in Apache
6.4.2 Commonly used features, pros and cons
6.4.3 Activating commonly-used features
6.5 Finding and adding Apache modules
6.5.1 Apache 1.x
6.5.2 Apache 2.x
6.6 Setting Up Virtual Hosting
6.6.1 Telling the computer about its new host
6.6.2 Telling the name server about its new host
6.6.3 Telling Apache about its new host
6.7 Enabling FrontPage Extensions
6.8 Activating Web-Based Email
6.9 Activating user data upload
6.10 Testing your server setup.

Part III: Security
Chapter 7 Securing Your Network
7.1 Firewalls and Perimeter Networks
7.1.1 Terminology and Theory
7.1.2 Locking down private information: concerns
7.1.3 Introduction to the tools
7.2 Implementing NAT in Linux
7.3 Implementing a firewall in Linux
7.4 Steps toward establishing a full DMZ
7.5 Network monitors
7.5.2 snort
7.5.3 Big Brother
7.5.4 iptraf
7.5.5 MRTG
7.5.6 NFR

Chapter 8 Securing Your Machines
8.1 Controlling who can access what services with tcpwrappers
8.2 Physical security
8.3 Password expiration and maintenance
8.4 Smart use of users and groups
8.5 Logs, Logs, Logs
8.5.1 The default logging program: syslogd
8.5.2 Alternative logging programs
8.5.3 Reading the Common Log Format
8.5.4 Log Rotation, or don't let your logs eat your hard drive space
8.5.5 Recognizing and evaluating attempted attacks
8.6 Log monitors
8.7 Watching your programs for tampering
8.8 Testing your system for flaws
8.7.1 nmap
8.7.2 nessus
8.10 Locking down a system for maintenance
8.10.1 Preventing user logins
8.10.2 Notifying all users of a pending shutdown or reboot
8.11 Locking down CGI and scripting problems
8.12 Stopping spambots

Chapter 9 Dealing with Attacks
9.1 Basics
9.2 Denial of Service
9.2.1 Minimizing the damage
9.2.2 Tracking the perps
9.3 The system break-in
9.3.1 Locking down a compromised system
9.3.2 Checking RPM integrity
9.3.3 Making a pristine system checking kit
9.3.4 Common issues to look for
9.3.5 The only sure solution

Part IV: Conversion
Chapter 10 Converting Your Legacy Database Contents

10.1 Converting Your MS Access Data to MySQL
10.2 Converting Your MS Access Data to PostgreSQL
10.3 Converting Your SQL Server Data to MySQL
10.4 Converting Your SQL Server Data to PostgreSQL
10.5 Converting Your Xbase data to MySQL
10.6 Converting Your Xbase data to PostgreSQL
10.7 Converting your Adabase data to MySQL
10.8 Converting your Adabase data to PostgreSQL

Chapter 11 Converting Code
11.1 Quick and Dirty VB ASP to PHP Conversion Guide
11.2 Quick and Dirty Converting Your VB ASP to Apache Modules
11.3 Integrating Those Old .idc Files
11.4 Converting Your Windows ACLs to Linux Permissions
11.5 Converting Your IIS Virtual Directories to Apache How to make them into aliases and scriptaliases.
11.6 Quick and Dirty Converting Your C Code
11.7 Quick and Dirty Tweaking Your JAVA Code
11.8 Converting your Windows Cold Fusion data to Linux Cold Fusion data

Chapter 12 - Converting Your Legacy Logs
12.1 Converting your Microsoft IIS Log File Format logs to CLF
12.2 Converting your IIS NCSA Common Log File Format logs to CLF
12.3 Converting your IIS ODBC Logging format logs to CLF
12.4 Converting your IIS W3C Extended Log File Format logs to CLF

Chapter 13 Miscellaneous Conversions
13.1 Removing spaces and special characters from your filenames
13.2 Removing case inconsistencies from page references and filenames
13.3 Removing garbage characters from your files
13.4 Converting Windows 2000 Server Certificate Services certificates

Part V: Administration
Chapter 14 Data and Data Loss
14.1 Backup software
14.2 Hardware solutions
14.3 Preparing for disaster recovery
14.4 Recovering a compromised system
14.5 Tracking filesystem usage and preventing overflow
14.6 Adding a new hard drive
14.6.1 Planning
14.6.2 Preparing the drive
14.6.3 Moving an existing filesystem
14.6.4 Integrating the old space back into the filesystem
14.6.5 Adjusting your boot files so the changes are permanent
14.7 Repairing a damaged filesystem

Chapter 15 Remote Administration
15.1 Security dangers and issues (cover and emphasize openssh here)
15.2 Remotely using X sessions (I'll have to ponder whether I want to include this or not, but you can set up machines to open up their X windows on other machines)
15.3 Webmin (any other HTML-based tools)?
15.4 VNC
15.5 ssh (NO TELNET GODDAMNIT, NO RLOGIN, sorry, got carried away)
15.6 daemontools (
15.7 mon (
15.8 DMS (
15.9 monit (
15.10 Administering a Windows machine from a Linux machine remotely

Chapter 16 Performance Improvement
16.1 Evaluating Current Performance
16.1.1 httperf
16.2 Recursion Testing
16.2.1 Hammerhead
16.2.2 Siege
16.3 Higher Availability
16.3.1 Round robin availability
16.4 Finding and removing bottlenecks
16.4.1 netperf
16.4.2 netpipe
16.5 Generating Web Stats
16.6 Hardware considerations
16.7 Optimizing drive performance
16.7.1 Changing base ext2/ext3 parameters
16.7.2 converting an ext2 partition to ext3
16.7.3 Shutting off ext3 filesystem checking at boot time
16.7.4 Setting up regular ext3 filesystem checking for maintenance
16.7.5 Optimizing journaling in ext3

Chapter 17 Business Needs: User Service Accounting in Linux
17.1 Tracking and reporting on login time
17.2 Tracking and reporting on hard drive usage
17.3 Tracking and reporting on bandwidth usage
17.3.1 ipac-ng
17.4 Setting hard drive usage quotas
17.5 Automating report generation
17.5.1 Introduction to cron
17.5.2 Introduction to shell scripting

Part VI: Appendices
Appendix A A Text Editing Primer: Meet vim, gedit, and kedit
A.1 vim, the command line text editor
A.2 gedit and kedit, GUI text editors
A.3 emacs, a world of its own
A.4 The HTML editors

Appendix B Tips for Using Linux
B.1 Mapping MS-DOS commands to Linux commands
B.2 Setting file associations in Nautilus (GNOME)
B.3 Setting file associations in Konqueror (KDE)