andrew at ledge dot co.za
va is a console based script for the administration of virtual web, mail and dns servers for multiple domains hosted on one or two linux machines.
va configures the standard linux servers and allows you to make changes to the configuration files.
va will configure the following servers:
va has the following features:
va is Copyright © Andrew McGill and Leading Edge Business Solutions (South Africa). You are licenced to distribute va under the terms of the GNU General Public Licence, version 2.
Here is where we answer all the questions you had, but were too afraid to ask.
I thought I told you that? Well, it's this little program to create web sites, set up dns and create mailboxes for multiple domains without you having to think too hard each time you do it. For good measure it makes it possible to split these functions across multiple boxes.
va is intended for people with a basic knowledge of Linux who do not wish to spend their time editing configuration files, but would rather spend their time typing commands on the command line. This is usually the domain of system administrators. va is also helpful if you have a distributed system.
Should you use va? No, you should not, under any circumstances. It will melt your computer's CPU, cause your network connection to overheat and make your users hate you. Oh, and it might delete your files.
At the time of writing (July 2001) it is deployed at four sites. Yes, just four. And now, at the time of revision (July 2001) there are five. Won't the fifth guy be shocked ... (hmm ... September 2001 ... nice distributed system in the works for him ...)
We hope that by releasing it ...
There isn't one.
We had an entertaining experience with a web based administration tool which had an LDAP back end. It was great when it worked, and it was hell when it didn't. Mostly it didn't entirely work, so it was hell. It was hellishly slow too, because it was a thing of beauty. When things went wrong it was necessary to hack the configuration files manually, and hope that the front end didn't undo the changes after the fact.
So we made a couple of decisions:
Quite a bit actually:
Strictly, since the entire program is non-functional, it cannot be considered to have bugs. Any functionality you may find in the program should be considered to be a bug, and probably a design flaw and an error too.
va uses scp to login to the remote box, and snarf the file.
We used to use ssh and cat, but that doesn't work so will
with a rbash
shell, and ssh2 doesn't do piping properly
(still, in version 2.9!). It's crude, yet ugly.
You need to add host keys on machines that you will be updating
remotely. Use ssh-keygen on the primary machine, and then ssh remote
"umask 077; cat >> .ssh/authorized_keys" < .ssh/identity.pub
(Setting this up with DSA keys and ssh2 is left as an exercise to the reader.)
You'll probably not use a password protected key, or you'll run ssh-agent in
some really impressive way that works.
You can completely disable remote commands by changing $ssh to be "echo ssh". This is somewhere where the program can be improved (ie. this file is inaccessible.)
Security? What? No. va does not provide security. It provides a hint of protection against mistakes. Giving someone access to va (and a shell login for your machine) is (almost) as good as giving them root access. Even though there is no direct way of getting from the one to the other, the effects of stupidity and malice could be as severe.
Actually, va does go to some lengths to make it relatively safe to provide someone with access to it (provided you are happy with them doing the provided functions). However, this person can wreak havoc with your server by writing a script that hammers va (if a person is given to wreaking, don't give them access, since havoc is one of the few things one can grammatically wreak).
Send a small patch to Andrew. Andrew will peruse your patch with great attention and explain why you should change it. Once you have leaped through the flaming hoops of fire suggested by Andrew, you will be credited in the Credits file (currently blank) and receive long standing fame and acclaim.
I would have done it in bash, but I kept wanting to use perl for multi-line search and replace. That's why. The actual nitty gritty happens in the spawned shell processes anyhow, so it's mostly bash actually ...
Thanks, I like it too. My kindergarten teacher would have been proud. I used the GIMP's brushed metal plugin. It seemed to do something nice, so that was that. Then I realised it was layers and proceeded to mangle it totally to the form that you now perceive.
Yes. All of them. We made up the answers too.