Introduction

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.1tcpdump
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.9 KEEP YOUR SOFTWARE UP TO DATE
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