Andrzej Wójcik (Tigase) opened 1 decade ago
|
|
I added implementation of setup module to HTTP API project so no we have HTTP based setup and configuration module available at Access to this interface is protected in following way:
To check how it works you need to deploy and configure HTTP API component. I think that it would be good, if someone who tested or created previous installer would look at this and check, if all needed things are in new web based installer. |
|
Andrzej Wójcik wrote:
Ok, sounds good. I was also thinking of having admin account with password for the setup console stored in init.properties. But this is something we can work on at later time.
Ok, I think this is a good task for Wojciech then. The way it should work, is that the Tigase binary build should contain a default init.properties file which enables HTTP API component. So a potential user downloads binary package, unpacks it, starts Tigase and goes to web browser to continue the server installation. Basically, the user does not need to edit init.properties file to setup working server. |
|
I tested package from 12th Sept 2014 and it doesn't fully work. Step to replicate:
Overall it all worked quite well and looks very well. However, we have to polish the whole installation process to make sure it is successful. |
|
I checked installer once again and I think I know what could cause this issue. In old installer database was created while this current version assumes that database is create but schema needs to be loadad. If this was causing issue in tests then maybe it would be good to allow database creation as an option which would be checked by default? Idea behind forcing manual creation of database by user was that not all database engines support this (ie. in MSSQL this is rather difficult thing to do) and it would verify that name of database was passed correctly as database connection will fail if there is a mistake in db name, while in old approad user could get new database. Database issue with Derby might be an issue with JDBC connection string which might force to use Derby as separate process, but I'm not sure about this as I'm not so familiar with Derby. As for a lot of exceptions and entries with SEVERE level, I think I just reduced number of this entris which should solve this as well. |
|
My 5 cents. We definitely need the installer to create DB for at least some databases (as an option of course)): MySQL, Derby, PostgreSQL and MongoDB if possible. I want the process to be easy and smooth as the first impression is critical. At very least we need Derby to be fully automated. |
|
Andrzej Wójcik wrote:
Andrzej, because of problematic loading of MSSQL and the need to automatically re-create it (and also prepare it before in installer) I've taken and re-worked a bit custom tigase class build for installer (@TigaseInstallerDBHelper.java@) and included it in tigase-server repository (v. DBSchemaLoader.java) - it's far from being perfect but works and gets the job done so I think it can be used in the installer module - it will use the same schema files that are used by the installer and it will be easy to include any additional schemas (pubsub3, etc) if needed. |
|
I changed setup module to use DBSchemaLoader wrapped by SchemaLoader (new abstract class added to be able in future to create schema loader mechanism for MongoDB). I also modified DBSchemaLoader to be able to retrieve status of each operation which I needed to present on setup page. |
|
With the latest nightly "database installation" step results in white page and there is following exception in the logs:
|
|
For me this was working fine so I checked propable cause and finally I found out that I had different |
|
Loading schema works now, except for socks5 and pubsub:
|
|
I updated setup module part responsible for loading socks5 and pubsub schemas. |
|
Works now, but there is still small issue - no matter which database name I provide it will always use dbName=tigasedb
|
|
I fixed dbName issue, it was omited when I copied data from form to properties passed to DBSchemaLoader |
|
web installer now works as the IzPack one. |
Type |
New Feature
|
Priority |
Normal
|
Assignee | |
RedmineID |
2101
|
When Tigase XMPP Server is started without configuration or when it is misconfigured it could deploy this module on HTTP server provided by Tigase HTTP API project to allow user to install or fix configuration using web forms instead of using installer or instead manual editing of files.
This could replace our current installer for Tigase XMPP Server.