This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Internet & WWW

Abyss: a small, sweet Web server

By Federico Kereki on February 21, 2008 (4:00:02 PM)

Share    Print    Comments   

If you need to set up a secure, easily configurable Web server in as short a time as possible, then Abyss Web Server might just be the product for you. In development since 2002, its current version (2.5) runs on Linux, BSD, Windows, and Mac OS X. Its simple installation and setup (no obscure text configuration files) allows you to code your site with PHP, Perl, Python, Ruby, and even ASP.Net, if you're using the Windows version.

Licensing is somewhat peculiar. Abyss isn't open source software, but it provides two versions: X1, which is free, and X2, which costs about $60. The X1 version is almost as fully featured as the X2 one, and it has no restrictions, nag screens, time limits, or any similar behaviors. When you purchase the X2 version, you get a year's worth of free updates and support. After a year you can opt to extend your license (for an additional payment of $25, or $40 for two years' worth) or just keep the latest version.

Installation

You'll likely want to try out the free edition before committing to the paid one, so go to the Abyss download site, get the Linux version, and untar it in its own directory (a good choice might be $HOME/bin).

You can run Abyss either directly from the console (and shut it down with Ctrl-C) or as a daemon, by adding the -d parameter. In any case, you must run it as a common user; if you try to run it as root, Abyss will complain and not run. (Running any Web server as root is usually not a good idea, so this behavior makes sense.)

After you complete the installation, start the software with the command ./abyssws. The server will confirm that it's running on port 8000, and let you know you can configure it at port 9999.

Navigate to http://127.0.0.1:9999 and select the default language. (According to the online documentation, you should be able to choose from among English, French, Arabian, German, Chinese, and more, but only the first three were available when I ran it.) On the next screen, create an Abyss administrator username and password. You must then immediately enter them to get to the configuration form. If everything goes right, you'll see the Abyss Web Server Console, and Abyss will be up and running; navigate to http://127.0.0.1:8000 to check it out.

You'll probably want to change the port Abyss uses to the standard 80; click on Configure (next to "Default host on port 8000") to change that. Here's a brief look at the configuration options you might be interested in:

  • General: Allows you to choose which protocols to admit (HTTP, HTTPS, or both), the standard port (you'll probably want 80 or maybe 8080), and the document path for your HTML files. By default, the path is set as htdocs, a subdirectory of abyssws, but you could set it to a more standard /var/www/html or, for openSUSE users, /srv/www/htdocs.
  • Index files: Lets you specify the default pages that will be served (usually index.html or index.htm).
  • 404 files: Lets you define standard error pages.
  • Directory Listing: Lets you disable listings; if you don't, a user might get a look at a list of your files.
  • Aliases: Lets you specify simpler paths. For example, you can set /pictures to point to /home/fkereki/images/photos, and if a browser asks for yourSite/pictures/something.jpg, Abyss will map that URL to /home/fkereki/images/photos/something.jpg transparently.
  • Access Control: Provides password-controlled access.
  • IP Address Control: Lets you allow or disallow access based on the originating IP address.
  • Scripting Parameters: Required for programming. If you want to use PHP, Perl, or Python, you must have php-cgi installed; if you don't, you'll get "Internal Server Error 500" messages whenever you try to access a Web page. (Go ahead, ask me how I know!) Check Enable Scripts Execution, specify the FastCGI (Local Pipes) interface, enter the path to the php-cgi program, and associate the .php extension with it. After saving the changes, you will have to restart Abyss, but you can do it directly from the form by clicking on the RESTART button that appears.
  • Logging and Statistics: These are pretty self-explanatory.
  • Anti-leeching: Helps prevent cross-site linking -- that is, pages not from your host that link to pages in your Web site.

After finishing the setup, simply post the Web pages in the Web directory and start running Abyss. You have a fully configured site in just a few minutes.

Why would you choose Abyss over Apache?

There is no absolute reason to prefer Abyss over Apache, but then again, there also isn't one to prefer Apache over Abyss! If you need a complicated setup, Apache might be the only solution, but this isn't the case for most sites. One factor working against Abyss is that it isn't open source software, but for many users, that won't matter.

The high performance and low memory requirements of Abyss are an advantage, unless you have seriously potent hardware. Some administrators prefer a Web configuration utility, but that's a matter of taste. The anti-crash architecture, which allows for a fast restart in case of a crash, is an Abyss-only characteristic, but similar workarounds exist for other servers. Abyss handles security-related aspects more easily than Apache, such as the automatic rejection of suspicious URLs, users and groups management, password protection for certain paths, URL rewriting, and Secure Sockets Layer (SSL). If you're not too experienced, your first setup with Abyss will probably be safer than one with other products.

If you move over to the X2 version, you'll get bandwidth control, virtual hosts, and a few more things. You could argue that you get all of these features with Apache, but they won't matter if you don't require them. Even if you have to pay for this version, the cost is low.

Abyss is an interesting product that deserves more than a glance. It can provide a full Web server with no cost, on older hardware, and with high-performance results.

Federico Kereki is an Uruguayan systems engineer with more than 20 years' experience developing systems, doing consulting work, and teaching at universities.

Share    Print    Comments   

Comments

on Abyss: a small, sweet Web server

Note: Comments are owned by the poster. We are not responsible for their content.

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 130.83.142.7] on February 21, 2008 05:22 PM
Why not simply choose Roxen? Its GPL and has (as far as I can see) the same and even more features.

http://www.roxen.com/

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 72.69.104.74] on February 21, 2008 05:49 PM
Hey cool! _YET ANOTHER_ freeware/shareware server :DDDD
Ooh! and no obscure _text based config files_ even!!
Sounds exactly what I need, because I cant spend 10 minutes and figure out how apache works. Cant be bothered with it! I SIMPLY MUST INSTALL A WEB SERVER IN LESS THAN 10 MINUTES!! Ya know, for that web site I'll be developing over the course of the next 2 months.

If I wanted a closed source, for-profit, "easy" to configure webserver I'd install IIS.

#

Stopped reading after I read 'paid version'

Posted by: Anonymous [ip: 169.233.25.59] on February 21, 2008 06:08 PM
Why would I want to go for this when lighttpd + iptables/pf would do the same, only much faster?

#

Re: Stopped reading after I read 'paid version'

Posted by: Anonymous [ip: 76.112.230.37] on February 22, 2008 04:03 PM
Well, maybe you should not have stopped reading...

#

Re: Stopped reading after I read 'paid version'

Posted by: Anonymous [ip: 80.7.100.176] on February 22, 2008 11:44 PM
You take yours and I'll use YAWS.

Then I'm a fan of Erlang making YAWS my ideal choice.

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 198.150.224.3] on February 21, 2008 06:21 PM
I used to use Abyss back in my Windows days when I was first experimenting with web serving. It was nice, but I honestly can't see a reason to use a non-free HTTP server in Linux :-p.

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 71.112.6.6] on February 22, 2008 03:55 AM
BTW, the language is "Arabic" and not "Arabian." Just a heads-up ;-D

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 71.252.33.190] on February 22, 2008 04:29 AM
I honestly see nothing in this article, the software's site, or in the searches I've done to suggest that this is in any way better. In particular, the advertised performance advantage is decreased memory footprint, but no information seems to be available about that. Apache can have a very small footprint if you don't load all the modules on earth; with a pretty full-featured config and the event MPM in 2.3, I see less than a 3MB footprint in RAM (223MB of virtual memory is reported, presumably mostly libs) and at most 7 processes, after pounding it a bit with 70,000 connections+requests. Abyss only uses 8MB (only one proc), but uses 80% of CPU time versus about 40% total for Apache 2.3 (which can be distributed across my two cores) ...

Considering the large amount of information and modules for Apache, I think I'm sticking with it ...

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 82.226.211.148] on February 22, 2008 08:24 AM
The free version doesn't support virtual hosting...

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 83.191.81.129] on February 22, 2008 02:45 PM
What! What is easier to install than 'yum install httpd' or 'apt-get install apache'?

Ten minutes? You must be joking. It took me ten seconds to have apache running.

#

Re: Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 76.112.230.37] on February 22, 2008 04:05 PM
Yeah, and how much time did you go through hacking httpd.conf?

#

Re(1): Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 24.179.145.97] on February 23, 2008 02:00 AM
Actually, the defaults should work fine for most people. I haven't needed to edit httpd.conf for a quick web server.

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 83.171.164.152] on February 23, 2008 05:05 PM
i love it. easy configurable and all the features i need. personally i give a s... about abyss beeing closed source.

#

Any similar config consoles for Apache?

Posted by: Anonymous [ip: 24.28.24.180] on February 24, 2008 12:57 AM
I looked over the documentation for Abyss' console, and it's pretty dang easy. I like how quickly you can set up a self-signed certificate. I do use Apache for my own server and have to go over all of the documentation each year I need to renew the SSL certificate. Yeah, yeah, stop whining. Just hope to find something similar for Apache since I'd rather stay open source.

#

Abyss: a small, sweet Web server

Posted by: Anonymous [ip: 190.64.210.64] on February 25, 2008 01:09 PM
Why is it that some people won't be happy unless they got a hard configuration job coming? I checked out the way Abyss does its configuration thing and its really easy, is that a bad thing?

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya