Web Hosting through Linux and DSL
Home
objectives
history

Hardware
overview
675 modem
firewall
hub/lan

Networking
interfaces
dhcp
forwarding
masquerading
dns
zippy

Security
source address verification
tcp wrappers
ipchains

Web Services
mail
web server
proxy services

Contact Us

Mail Services

If you host you own domain as I do 'the-woods.org', you can easily configure your server to send, receive and host mail for several users.

One thing to consider are the aliases for each user.  For example, miwo is my account, while mail can be sent to mike@the-woods.org, mike.wood@the-woods.org or miwo@the-woods.org.  This is achieved via the /etc/aliases file.  Consider the following example:

/etc/aliases

Mike.Wood: miwo
Denise.Wood: dewo
Noah.Wood: nowo
mike: miwo
denise: dewo
noah: nowo

Additionally, you can host multiple domains on a single platform.  For example, if I had a another domain, I could have email for that domain on the same machine.  This is achieved via virtual users table located in /etc/mail.   Consider the following example:

/etc/mail/virtusertable

postmaster@somedomain.com miwo

This essentially maps a virtual email address to a physical Linux shell account. There is a command that you must run after editing this file to build a virtusertable.db file.  I can't remember what it is...at the moment.

The last thing to setup with respect to email is to enable the popd service to allow you to connect and get you mail remotely or from your LAN segment on the network.  I believe that I simply edited /etc/services and uncommented the popd line.

There are also a few things to do from a security standpoint on sendmail.  You should perform the following edits on your /etc/sendmail.cf file.

Web Services

Web services refers to the hosting of web pages on the internet.  Red Hat comes with software that makes this very easy.  The apache web server is a great software package that is extremely flexible and extendable.

Out of the box, you simply need to install Apache to get this up and running.   Provided you have followed the other directions, the default Apache page with links to the online documentation will appear when you direct your browser to your domain or gateway address.

Proxy Services

Web proxy's are applications that either browse the web on your behalf or serve up pages on behalf of a farm of content servers.  Proxy servers are typically referred to as forward or reverse proxies.

A forward proxy is quite common and is often used by companies to proxy all outbound web browsing and meter all web browsing through a single mechanism.  The most common forward proxy for Linux is called the squid cache server.  It is considered a cache server because it caches web content to speed the web browsing experience.

 Forward proxies also provide content filtering and access control rules that allow organizations to restrict "adult" content and log page views on a user by user basis.

A reverse proxy is one that sits in front of a farm or web servers to serve up content as though it all came from one machine.  This allows many content servers to participate in a site and even more importantly, allows a single machine sitting in the DMZ to serve up content from protected machines on your LAN.  This website /zoomtown is actually served up by a Windows 2000 machine on my LAN.  Consider the following example:

http://the-woods.org/membership/  maps requests from the Internet to my intranet web server located on an NT server located inside my LAN.  I can run software to authenticate users of that site.   Even though my NT machine is not located on a routable IP address, the Apache web server on my Linux box proxies the requests to the /intranet location to my internal Windows 2000 machine.

To enable this powerful feature, uncomment the following lines (remove the #) in your apache configuration /etc/httpd/conf/httpd.conf file:

#LoadModule proxy_module modules/libproxy.so
#AddModule mod_proxy.c

To create a mapping from your internet server to your internal machine(s), you use the module's ProxyPass and ProxyPassReverse directivesThe following settings allow this page (actually located on my Windows 2000 Server named magnus) to be accessed by people on the internet via my Apache rig:

ProxyPass /zoomtown http://magnus/zoomtown
ProxyPassReverse /zoomtown http://magnus/zoomtown

I strongly encourage you to investigate the Apache Web server.  It can do the reverse-proxy, runs mod_perl, and has too many useful feature to mention here.  Stay tuned for more information around Apache modules.  I have been working on creating a interesting Application Firewall using apache technology...so stay tuned!

top


Sendmail is the built in email service on Linux

Apache is the Web server on Linux (Great Tool!)

Squid is the most popular forward proxy server for Linux


mod_perl is an interesting scripting environment for apache.

Title Goes Here