OS/2 eZine - http://www.os2ezine.com
Spacer
September 16, 2004
 
Carlos de Luna Saenz is a 32 years old OS/2 user since he discovered it, on 1992 with OS/2 2.1. He wrote "Building the infrastructure for the internet" for IBM on 1996 and has developed several projects for OS/2 (especially intranets) since then. He also knows that being an OS/2 user in todays world is to be more productive than others, even when the people is not always willing to try, specially for the lack of applications with NLS, but he is convinced that the users can change that also.
If you have a comment about the content of this article, please feel free to vent in the OS/2 e-Zine discussion forums.

There is also a Printer Friendly version of this page.



Spacer
Previous Article
Home
Next Article


Injoy Firewall


ISP or ASP Made Easy (Part II)

In the last issue we saw how to configure your eCS 1.x (or OS/2 Warp with ISDN-PM) to get an ADSL connection, in my case the connection provides me a Dynamic IP address. Dynamic means it can always change, which means that no one knows what address my server will have tomorrow. But how can anyone know what my actual address is if they need to get to my web site? Why would I want a Dynamic IP as opposed to a Static IP?

Well, the only one that reach my mind is the cost. In Mexico a ADSL connection with Dynamic IP is about $40 USD per month, if I want a fixed IP address I will have to spend over $150 USD. If the business grows like I want to, then I will upgrade some day. [Editor: For the curious, unlike where I come from in Vancouver, Canada, I can get myself a static IP, including full 10Mb/s Ethernet access, for about $70CDN per month, or around $50USD. It's very affordable and tempting, except that a dynamic IP with same, full Ethernet is about half the cost].


The first challenge: Dynamic IP

Dynamic IP has a challenge, the DNS has to be resolved and changed when my IP does. In order to solve this I need to contract a Dynamic IP resolution service, I went to zoneedit and found they have a 5 zones free service wich I contract, after that you start to pay. To do that I found a Java program that can be launched via command line with all the parameters needed to update the zoneedit server any time I need to. This program is launched on the startup folder of my eCS 1.1 machine.

The source code seems to be abandoned for a while, since I have a Java background I modified it and I will upgrade it soon with a "nice" GUI, at the moment I have the code, the compiled classes and the .CMD file to launch it (It should run on any JVM you have, including 1.1.8) in case you need them. To have your own domain you must register on any domain name registration site, there are lot of them in the US but if you want a specific country name you should look the one that meet your needs, for example, if you want a .com.mx domain you can only get it on NIC Mexico. Prices for each domain in the US are around the $15 USD per year and for a Mexican domain is $35 USD a year.

Once you setup your domain and your dynamica IP resolution, turn on your Java program. Once you see the "Update succeeded" on the screen try to ping your site to be sure you have the right answer from the DNS. Be aware that in this configuration you only have one IP adress and you will have to setup the email server also on this address. When the business tends to grow and you can get some fixed IP's, you will have to separate all the internet services on different machines in order to control and secure all of them, and also have better performance.

Security, First Issues

A good security practice is not to setup NetBios over IP for your server, you might try to share some files via some FTP or even NFS. The reason is simple, NetBIOS over IP is used primarly on Windows computers and are one of the most attacked protocols on the Internet, just by excluding this, you will have a lot of the security issues solved, since you use no MS Exchange, IE or Outlook on your server.

Other security recomendations are:

  • Do not enable telnet (client) or telnetd (server), specially the one provided by Warp 4 (old TCPIP stack), try to use other solutions such as SSH, Desktop On Call or VNC and only if necessary.
  • Try to enable a FTP service different than the one provided by the TCPIP stack, the "standard" configuration and known AIX security holes may (I repeat may) be used against a OS/2 machine and not all clients understand the way the outputs are done on this servers.
  • Don't enable any inetd service if not necessary, or better, in general, don't run any service that you don't need.

At this moment you will have your machine set up and you will have to ask yourself a business question, "What will my application be when I provide ASP services?", think about it and begin your analysis while we'll get through your needs on server set up.

HTTP Server (which one to choose)

OS/2 has a lot of choices for the web server, as a matter of fact more than we know. Here is a little list of the choices we have:

  1. The old good Go Web Server that can be used also as a gopher server (even when gopher is considered an out dated protocol). You can download GoServe from here
  2. The power of Lotus Notes, the latest server version for OS/2 is only 5.0 but it is great for dynamic web content and workflow related development.
  3. Jigsaw server. A Java written web server that supports JSP, servlets and other Java extentions. http://www.w3.org/Jigsaw/
  4. Xitami. This web server supports the normal features of the web server plus some other features like: Applications: direct support for CGI scripts in Perl, Awk, Rexx, Python, WSX protocol for plug-in extensions, SSI protocol for dynamic web pages, ISAPI under Windows, filter protocol for arbitrary web page filters, LRWP protocol for persistent (fast CGI) applications in Perl, C, Python, Java, Java Servlets; Deployment: installs ready-to-run, portable to Windows, OS/2, Unix, OpenVMS, fully portable web sites and web applications
  5. The good and well known Apache server, wich provides the "bleading edge" standards to OS/2, it can be used in conjunction of several modules that allows to incorporate some specific task such as loading of PHP based programs, Tomcat connections for Java Servlets/JSP/Struts pages, JBoss connections, throtling access (allows control to pages based on the bandwidth you set), and enables multithreading actions to enhace the performance on the OS/2 platform. http://www.apache.org
  6. NCSA Web Server. The basic web server based on the W3 consortium standards
And lot of otheres that migth be considered as abandonware such the IBM Internet connection server (Lotus Go Web Server). [Editor: Don't forget InetPowerServer, and I'm sure our readers can contribute many others, such as Web/2].

The search for the best Web server isn't easy as you can see, but for our purpose we have to consider:
a) Do we want our customers to provide their own applications, or I want to provide JUST my application? in my case the answer was that I want to let the users to have their own applications.
b) Do we need extra tools to configure the webserver or their modules, or we can spend our time making it manually?
c) Which will be our interaction with databases and programming languages?

After responding all this questions you may want to know wich is the best web server for you, my selection was Apache.

Apache provides a easy to use and configurable web server that can be expanded to use many other tools such as PHP, Java Serlets and JSPs via Tomcat or Jboss. There are a number of tools involved to help to make the configuration easier without having to learn the XML-like configuration style. It is easy to install, and is still under development for OS/2 and is enhanced for OS/2. [Editor: I think that is Apache 2.x which has nice enhancements which greatly suit OS/2. Not present in 1.x]. There are a lot of things being ported or already ported to it.

A lot of people also like Xitami for their solution and a long time ago I used to have a Jigsaw server for my first Java based pages. That will depend on your needs, once again OS/2 "is boring" and has a lot of options.

Apache Installation

To install apache simple download the files from one of the Apache mirrors, such as http://mirror.candidhosting.com/apache/httpd/binaries/os2/ and choose your version, 1.3 is more tested than 2.0 but is not multithreading enhanced, but some modules may not work well with 2.0 however.

In the conf directory are some files. Rename the http.os2 or http-std.conf to http.conf and start your server from the bin directory. You are now seted up with the default configuration, double clicking on the httpd.exe. A good recommendation is to make a program object, remember that it should run on the bin directory as working directory).

You can look your default page on http://localhost (or even on your domain if is already setted up)

Next time...

We will discuss some other issues in the following installments. Hopefull, as we get into the web site development you might want to have special, specific topics covered. If you do just simple drop an e-mail or a note on the forum and let me know!

Here are some things that I have planned:

  • Apache ISP basic configuration options.
  • DataBase Server (Options and setups)
  • email Server (I will compare some of the freeware/shareware/commercially available servers).
  • FTP Servers
  • Authoring tools (including WebSphere Studio 3.0 running on eCS!).
  • ASP Programming.


Previous Article
Home
Next Article

Copyright (C) 2004. All Rights Reserved.