Forum OpenACS Development: Re: RFC: automated installer

Posted by Matthew Geddert on
Derek, your model sounds good to me. My suggestion would be that instead of typing:

    acsinit testinstall
    vi /srv/openacs/testinstall/etc/config.tcl
    svc -u testinstall

and pre-determining the location of the openacs directory you would rather allow people to specify it like this:

    openacs-init /var/lib/aolserver/<testinstall>


    openacs-init /web/<testinstall>

The reason I suggest this is that the documentation used to suggest /web/ and now suggests /var/lib/aolserver/ and as you have said you use a different directory, I would guess that it is common for people to use whatever directory they see fit. I would also sugest that the command start with the name of the apt-get able package (i.e. openacs). Lastly, it would be nice if it defaulted to installing openacs, but if the script also allowed for other "prepackaged" systems to be installed such as dotlrn. Maybe a command line option for openacs-init.

Another idea would be when you run openacs-init or whatever its called it starts an interactive menu that asks with logical defaults then you don't even need to edit config.tcl. I.E.

what is the servername [default to hostname]?
what is the database name [default to directory name]?
what ip address will this server use [localhost]?
what port will we use for this server [80]?
should we run an ssl connection [Y]?
  - if YES then: what ssl port should we use [443]?
what build would you like (openacs,dotlrn,dotwrk,custom) [openacs]?
  - if custom ask for the install.xml file location
would you like to start openacs now [N]?

Posted by Derek Carter on
the name change is trivial... it could be named anything.

I really like the idea of the interactive init script.

the reason I suggested /srv/openacs/ was just to be LSB v1.3 compliant as /var/lib/aolserver is LSB v1.2

but yeah the idea of being able to specify the directory will make those who like to super-customize happy as well.

Posted by Derek Carter on
ok hows about a hybrid installer?

openACS gurus could just drop in the needed switches like this:

# openacs-init -d /some/random/dir -u username -g groupname -h localhost:8000 ...

that command would just do the install, populate the needed directories, create the database user, shell user, database etc.
and the new users/noobies could just run:

# openacs-init

And they would be walked through all the questions interactively with all the defaults shown. Then everything would be done.