Configuration Wizard?

Dave Reckoning
19 May 2015, 01:38

Hiawatha version: (latest package available for...)
Operating System: lucid puppy 5.0 (later versions don't agree with my hardware)

I'm trying to set up a web server at home to host my own web site. I have a "dotcom" domain name (hosted at "godaddy" right now) for a website that I've had hosted at various free web hosts over the years. This scenario is getting harder to find. I'm told it's possible to do my own hosting with an old PC running Linux, and Hiawatha. I've searched the manual and forums for how to edit the configuration file to do this, but I guess I'm just too much of a dummy to get it right. What's weird is that in the process of failing to configure Hiawatha on my "puppy pc", I accidentally got my other Internet PC (running LinuxMint 17.1) in a position to host my site using Apache! Now of course Apache is harder to set up, and less secure, and wastes resources, so I'd rather not use it. The Mint packages do not include Hiawatha, and, anyway, I want a Linux that's both lightweight and usable by dummies.

It occurred to me that if there were a configuration wizard for setting this up, it would be very helpful for those of us who still have not mastered the jargon of config files and command lines. Or at least a "Hiawatha for Dummies" tutorial. Any chance?
Hugo Leisink
19 May 2015, 09:14
Have you read the HOWTO pages at this website? If so, what's not clear about them?
Dave Reckoning
19 May 2015, 18:39
I have read whatever I can find that seems to touch on the issues. Example:
"A binding is where a client can connect to (a port on an interface). Almost every webserver uses port 80 for HTTP requests and port 443 for HTTPS (HTTP encrypted via SSL) requests. How to use SSL is explained in the next paragraph. First, we focus on creating a 'normal' binding. Bindings are created via a Binding section:
Binding {
Port = 80

This makes Hiawatha listen on port 80 on every available interface. If you want Hiawatha to listen only on a specific interface, specify it via the Interface option. Use the IP address of the interface you want Hiawatha to listen on.
Binding {
Interface ="

Problem: There seems to be some variation in sample templates of this config file. I have no way of knowing which IP I "want" Hiawatha to listen to. I've sort of figured out it's not my external IP address. That leaves the default, as supplied in the Hiawatha folder that came with PuppyOS (which its "IP info" window identifies as "inet addr", or my router's address (which is similar to the one shown above), or my server PC's IP address (also similar to above). In any case, I get "error binding to port 80" messages. Yes, I've checked Port 80 at "CanYouSeeMe", and it seems to be open.

Other issues: I have no idea if I am or am not using php or MySQL, or if it matters. I have looked them up on various Internet reference pages, and have a very vague notion of what they are. I built my web site with KompoZer, which lets me lay out the pages more or less as I like them. It writes the html for me. I also am at a loss as to whether or not I need a CGI wrapper. I gather that it improves security, but I have to confess I don't even know what a "Chrooted environment" is. My site is fairly simple... a set of interlinked htm pages with links for free downloads of pdf and other files. And right now I'm merely trying to get the "It Works" page in my folder to display when I type my external IP address into the browser. (Right now I get "Unable to connect"). Right now I have my other Internet computer turned off, or its "Apache" page would display.

Obviously I'm doing something wrong here, and I've been looking things up for weeks trying to sort this out. I just thought a "wizard" would simplify things for those of us who have been using computers for years without ever opening a configuration file. Thanks for responding!

Hugo Leisink
20 May 2015, 08:06
Hi Dave. If you have no idea what IP address to use to make Hiawatha listen to, perhaps you should read some more about common IP networking stuff. Using makes the webserver only available to the machine itself. Is that what you want? About the 'error binding' message, make sure there is not already a webserver running which listens to port 80.

KompoZer looks like a HTML editor, so in that case I also think you don't need PHP or MySQL. Specially if you have no idea what those things are or can do. You can also ignore the CGI-wrapper. PHP is a programming tool that uses the CGI/1.1 interface to communicate with the webserver. Since you don't use PHP, you don't use CGI and you don't need the CGI-wrapper.

About the 'unable to connect', that's probably because you don't use the external IP address to make Hiawatha listen to. Best is to simply leave the 'Interface' option out, which makes Hiawatha listen to all available interfaces. Does your machine have proper internet access? If not, ask for help at the PuppyOS forum.

I think a wizard is not the solution here. You clearly have some more things to learn about hosting a website. To prevent any security issues, a wizard is not the solution, but you learning what you are dealing with. A wizard is just a tool that still allows someone to mess up if he selects the wrong options. And a fool with a tool is still a fool. Not saying you are a fool, but I'm sure you understand what I mean.
Dave Reckoning
20 May 2015, 16:56
Understood. What you say sounds like it may be very helpful. I will give it a try and let you know what happens. Still a question: "make sure there is not already a webserver running which listens to port 80." I've been trying to figure out how to determine this, even making the assumption that my "Mint" machine (with Apache installed) might be interfering. So I made sure it was turned off during my configuration work. Can it interfere even turned off? Since the only setup work I did on the Mint machine was to install the LAMP stack (before realizing the need to have a "dedicated server" machine, and before I heard about Hiawatha), following Mint's instructions, it seems the only thing I can do to UN-set it up would be to UNinstall the LAMP stack. Is this correct, or should I be asking this question elsewhere?

Thanks again for taking the time to coach a "dummy". Much appreciated!
Hugo Leisink
23 May 2015, 20:04
It can't interfere when turned off. What you can do to test is 'telnet localhost 80' and when successfully connected, type 'GET / HTTP/1.0<enter><enter>'. It will then tell you what webserver is already listening at port 80. I'm not very familiar with Mint. You better ask Mint-related questions at the Mint forum.
Dave Reckoning
27 May 2015, 18:06
Thanks much. My first attempt at responding was seen as "spam", which it certainly was not, but I'll try again. I finally deduced that it must be a hardware issue. Replacing the network cable did not help. So I read about router settings, and found that port 80 was being routed to my Mint machine, and not to the puppy server. Once I typed the current IP of my server into the router config UI, the online port reader was able to see port 80, and typing my external IP brought up my Hiawatha congrats page. Likewise on my wifi-connected tablet. Curiously, the mint machine timed out looking for it. However, typing "Hiawatha" into the puppy console still returns "error binding" message. And entering "telnet localhost 80" returns a string of what looks like html headed by "HTTP/1.1 408 Request timeout", and closing with "Connection closed by foreign host" Clearly not a Hiawatha issue, but can you point me in the right direction to find out a solution? Thanks much and God bless you.
Dave Reckoning
29 May 2015, 04:16
A postscript. Despite the reported errors outlined above, the web page seems to be displaying properly on the Web. I have put in motion the pointing of my domain name to my server's IP. Thanks much for your time and patience, and God bless you. I guess this gets marked "SOLVED".
This topic has been closed.