"Community Installer" for Java

"Community Installer" for Java

  
Hello,

Would you like to give the Java version of the OutSystems Platform a try but the instructions and requirements to install are just too daunting? Would you like to have an installer like the Community Edition Installer for .NET ?

Fear not, using this script you can have your Java OutSystems Platform running in no time!

Instructions:

0) Have a (relatively) clean install of CentOS with at least 4 GiB of RAM
1) Download https://dl.dropboxusercontent.com/u/15116829/OS_Java_Community/community_installer.sh to  your CentOS machine (tested in CentOS 6.4)
2) run as root: bash community_installer.sh
3) Wait for the script to do its magic
4) Go to http://www.outsystems.com/Community/license/ to get your license (the script lets you know what is your Serial Number at the end)
5) Upload the license
6) ?????
7) PROFIT!!!!

What does this awesome script do?

1) Installs and configures Oracle XE database (sys user's password is 'outsystems', apex is running on port 8888)
2) Follows the Instalation checklist to install your OutSystems Platform

Database users are OSADMIN, OSRUNTIME, OSLOG, OSSTATE, all with password 'outsystems'.

This script is not meant to be ran over an existing OutSystems Platform installation. Believe me, it'll break it. So don't even try it !

This script is not provided by or officially endorsed by OutSystems, it's a personal project. If you're having problems with it, feel free to respond to this thread.

Updated script for Platform 9 can be found here. However there are no more community licenses, so you'll need to have a subscription and fetch the license from www.outsystems.com/licensing/. This installs MySQL as the database with outsystems as the password for root.

Best regards,
Ricardo Silva
Oh yeah ...

Step 1.5) read this, this and this. Very important !

There's a quiz about the contents of this before installing the platform !
Great stuff! Thanks!

I did't give it a try yet, but as far as i can tell this is prepared for 64 bits machines, am i right? I wonder if it will be hard to change it to 32 bits.
Again, as far as i can see it will install the os version 8. It's possible to do the same for other versions like 7 for instance?

Once again, great work! Follow the installation checklist is, at least for most of us mere mortals, quite challenging. This makes it a lot easier...

Hey Eduardo,

32 bit installations of the OutSystems Platform are not supported, so I wouldn't recommend trying to install the Platform on a 32 bit machine.

There are some differences between version 7 and version 8 installation checklists, but for the most part this script should be sufficient. Basically you'd have to change the "rpm -ivh http://yum.outsystems.net/8.0/noarch/outsystems-repo.rpm" line to point to the 7.0 repository and everything else should be practically the same, but I haven't double checked this.

Also, I'm not sure if the community licenses would be valid for version 7.
Ok. Thanks fo the quick reply.
My ideia was to install the OutSystems Platform in a VM running on my computer, but sadly its a 32 bit machine.
Richardo

Just tested the script.... and as always, love your work!


Ricardo

Since the community edition will be deprecated after 8.0, will this script be maintained for automated installation of the enterprise edition?
Hi Robert,

Installling on an enterprise edition should always be done by (religiously) following the installation checklist.

There are a lot of hurdles to make a workable script for enterprise installations, but I might bash my head into trying it sometime. No promises though, I do have other stuff I have/like to do :)
Updated to use Jboss 7 with version 8.0.1 of the Java Platform.

enjoy :)

If, for some weird reason, you want to install with Jboss version 5.1, the old script is here .
Ricardo, Is there an upgrade script or instructions to upgrade from jboss 6, outsystems 8.0 to jboss 7, outsystems 8.0.1?
Hello Robert,

While there aren't any official instructions to have the same environment switch from JBoss 5.1 to JBoss 7, I have tried the following and it worked:

1) service jboss-outsystems stop
2) edit /etc/sysconfig/outsystems and delete the JBOSS_HOME line
3) install the new jboss (download the zip file and unzip to where you want it, like the Checklist tells you to)
4) yum remove outsystems-agileplatform-jboss-community (as it conflicts with the new package)
5) yum install outsystems-agileplatform-jboss7-community outsystems-agileplatform outsystems-agileplatform-libs (make sure you upgrade to the new version)
6) run configuration tool. You'll get an error, don't worry it's part of the process ^^
7) service jboss-outsystems-mq start
8) service jboss-outsystems start
9) run configuration tool again (remember to run SC Install)
10) Install System Components
11) republish your factory

After these steps you'll have your factory running on JBoss 7 with the new version of the OutSystems Platform. Enjoy :)

Best regards,
Ricardo Silva
@Richardo

Step 4) su -c 'yum clean all && rpm --rebuilddb'
followed by
yum remove outsystems-agileplatform-jboss-community
 

Why?

On my system I was able to perform that without a yum clean all and rpm rebuild. What error did you get ?
I should mention my system is a clean VM where I only installed the platform with this script in the -24 revision :)
Ricardo Silva wrote:
Hello Robert,

While there aren't any official instructions to have the same environment switch from JBoss 5.1 to JBoss 7, I have tried the following and it worked:

1) service jboss-outsystems stop
2) edit /etc/sysconfig/outsystems and delete the JBOSS_HOME line
3) install the new jboss (download the zip file and unzip to where you want it, like the Checklist tells you to)
4) yum remove outsystemsplatform-jboss-community (as it conflicts with the new package)
5) yum install outsystems-agileplatform-jboss7-community outsystems-agileplatform outsystems-agileplatform-libs (make sure you upgrade to the new version)
6) run configuration tool. You'll get an error, don't worry it's part of the process ^^
7) service jboss-outsystems-mq start
8) service jboss-outsystems start
9) run configuration tool again (remember to run SC Install)
10) Install System Components
11) republish your factory

After these steps you'll have your factory running on JBoss 7 with the new version of the OutSystems Platform. Enjoy :)

Best regards,
Ricardo Silva
STEP 6
6) run configuration tool. You'll get an error, don't worry it's part of the process ^^

Cowardly refusing to run on a system with the OutSystems Platform already installed 
 
EDIT: I thought you mean your script, run the outsystems configuration tool in step 6 not the installation script!
running configuration tool is running /opt/outsystems/platform/configurationtool.sh , not the community_installer.sh script.

The community_installer.sh script is only meant for installing the platform on a CLEAN machine, where the Platform was not installed before.

The instructions for upgrading jboss7 I gave you are for the following scenario:

you have already installed the Outsystems Platform in version 8.0.0 (or 8.0.1) with JBoss 5.1 and now you want to start using Jboss 7 (community version).
Ricardo Silva wrote:
Hello,

Would you like to give the Java version of the OutSystems Platform a try but the instructions and requirements to install are just too daunting? Would you like to have an installer like the Community Edition Installer for .NET ?

Fear not, using this script you can have your Java OutSystems Platform running in no time!

Instructions:

0) Have a (relatively) clean install of CentOS with at least 4 GiB of RAM
1) Download https://dl.dropboxusercontent.com/u/15116829/OS_Java_Community/community_installer.sh to  your CentOS machine (tested in CentOS 6.4)
2) run as root: bash community_installer.sh
3) Wait for the script to do its magic
4) Go to http://www.outsystems.com/Community/license/ to get your license (the script lets you know what is your Serial Number at the end)
5) Upload the license
6) ?????
7) PROFIT!!!!

What does this awesome script do?

1) Installs and configures Oracle XE database (sys user's password is 'outsystems', apex is running on port 8888)
2) Follows the Instalation checklist to install your OutSystems Platform

Database users are OSADMIN, OSRUNTIME, OSLOG, OSSTATE, all with password 'outsystems'.

This script is not meant to be ran over an existing OutSystems Platform installation. Believe me, it'll break it. So don't even try it !

This script is not provided by or officially endorsed by OutSystems, it's a personal project. If you're having problems with it, feel free to respond to this thread.

Best regards,
Ricardo Silva
 Hi,

I am trying to install this on a CentOS running on AWS but the script stops here:

Skip Advanced configurations? [y]: 
[Test Connection] Unable to connect to database "OSADMIN". Please make sure the Admin user connection is correct.
 
ConfigurationTool was aborted

Any ideas of what may be happening?

Thanks
 

 
 
Seems that the database users did not get correctly created.

Did you get any error before this? You probably did :)

If you have dificulties tracking down the issue, you provide me (via private message) with the full transcript of the execution of the script. you can obtain this by doing

# script community_installer_feedback
# ./community_installer.sh
# ^D

you should get a file named community_installer_feedback which you can send to me for further analysis of what went wrong.
Thanks for the quick turn around.
Found the issue, I was using CentOS 6.5 and the AWS I used didn't have swap, so Oracle didn't work.
So now that works but there is some issue with JBoss which starts http//localhost works but http://localhost/servicecenter doesn't work.

Any ideas.
Cheers,
Nuno
http://localhost/ServiceCenter .

Java is case-sensitive. 
Doh!  BTW if you know the link in the docs is in lower case http://www.outsystems.com/Community/license/

Thanks,
Nuno
Update, there is now a similar script for the OutSystems Platform 9 which installs MySQL as the database instead of Oracle XE. You can find it here .

As there are no more community licenses, you'll have to have a paid subscription and you can fetch your license in www.outsystems.com/licensing/ .

Password for root mysql user is outsystems .
@Ricardo There is a fresh installation script. Is there an upgrade script?
Hi Robert,

Sorry for the late reply but I only just noticed your question.

Updating is easy (usually people don't mess it up) but has some non-scriptable parts. Updating consists of:

* yum update [scriptable]
* run configuration tool [scriptable]
* install new system components [may not be scriptable due to changed admin password]
* republish entire factory [not scriptable]

Upgrading is not exactly scriptable as it requires updating the modules in the Development Environment.
Hi Ricardo, I am running your script from https://dl.dropboxusercontent.com/u/15116829/OS_Java_Community/community_installer9_mysql.sh on a clean install of Centos 6.7 which I have created using Vagrant box "bento/centos-6.7" - I'm trying to find a one line command to run to build the machine completely from scratch including doing your install, hence the use of Vagrant. The script is so much better than manually following all the steps, so thanks for doing it!

The only amendment I have made is to run yum -y update at the start of the script, as I was getting an error about source code not matching the kernel.

However, I am getting this error - do you have any idea what may be causing it?

[Update Schema] The Session catalog and users are being created.
[Update Schema] Please wait...
MySQL was successfully configured to support persistent sessions.
An error has ocurred:java.net.ConnectException: JBAS012144: Could not connect to remote://localhost:9999. The connection timed out
 
Error logging in to 'localhost': Connection to http://localhost refused

Thanks, Iain
Thank you for using my script :)

I have just tried it on a CentOS virtual machine I have (version 6.7) and on a vagrant created box with bento/centos-6.7 and everything went fime. 

The problem you are having is likely due to JBoss not starting up. How much ram have you provisioned the machine with? The default of 1 GiB is not enough to install the Platform. System Requirements say you need 8 GiB. Just installing the platform for testing should work with 4 GiB (which is what I used).

I would also like to note that this script is not suited to do Enterprise grade installations. This setup places the MySQL Server and the OutSystems Platform in the same machine which is far from ideal in what regards performance. You should have a separate, dedicated, MySQL Server.

If these tips don't get your system working, please share your VagrantFile so I can do some testing on my side :)
Thanks, you're absolutely right! I guess I'd hoped the 4GB was simply to make it run faster, rather than it not being able to run with less. I've upped it to 4GB and it's now got past that point on the installer.

I'm only running it for experimenting with, but I noted your comments about Enterprise grade installations needing a different approach.

It'd be great if this could be incorporated into the Outsystems package with some modifications - it's so much better than manually having to run through everything.

Thanks again, Iain