0

I managed to install STS 3.8.2 on Ubuntu 16.04 - with a lot of hacking experiments. I have it working, but I am not happy with my solution.

Here is what I had to do:

  1. Extracted the tar file into /opt/sts-bundle. If you put it anywhere else, like /opt/sts, the TC server fails to start from STS.

  2. With files in /opt/sts-bundle, TC server still fails to start from STS - permission errors. To get it to work you need to futz around with permissions of the pivotal-c-server subdirectories, essentially you need to open it up your group (the same one running STS) (security hole ?).

  3. A local install in your own ~/sts-bundle fails on "files not found" while attempting to backup - all the conf files. It still looks in /opt/sts-bundle for all these config files (just to copy them to /backup). You can change the top directory of the server in STS server properties - but it still looks in /opt/sts-bundle. Seems hard-coded - don't know where. So you have to create all the config files in the conf directory in the tree rooted at /opt/sts-bundle ("touch" works - creating empty files). TC Server still fails to start with a "failed to clean" error - with no clue from the detailed message what files are being "cleaned".

  4. I tried creating a non-privileged user "tcserver" per suggestion from the Pivotal TC Server docs. I installed to /opt/sts-bundle, while logged in as tcserver (with sudo privileges). That fails when I am using STS as a regular developer that is not "tcserver". Could not figure out how to tell TC server to run under a different user than the one that started STS.

  5. The solution I have working and I am not happy with, starts by extracting the tar.gz file into /opt/sts-bundle, as it wants. Then changing owner and group of sts-bundle to my id and my group (same ones that are used in STS UI). I am not happy with that. It seems wrong to put things in /opt that are owned by a single developer.

I am new to Linux, and I still have some Windows habits that need to be unlearned.

The question is: how do I get the clean solution (installing using a "tcserver" user in the global /opt directory) to work for developers who are not "tcserver"? How should the tcserver user be related to the developers (same group?).

Am I making this problem harder than it should be? What am I missing?

Nabil
  • 71
  • 1
  • 4

1 Answers1

0

I'm not sure this what you want, but I don't install the STS bundles in some kind of shared directory as a special user at all. I just install it in my user.home dir, as myself, and launch it from there.

It is very unsophisticated. I just download the tar.gz file, unpack it in my home dir and then launch it from a trivial bash script which looks something like this:

#!/bin/bash
/home/kdvolder/Applications/sts-bundle/sts-*/STS

That script is on my PATH. So I can just type 'STS' in a terminal and STS will start.

I don't have to do anything else and it works.

If you are trying to somehow install this so that several different users can run a shared installation then this isn't a good setup. But I think for your own personal laptop or desktop which only you are using, this simple setup is perfectly fine.

For a shared-user env, unfortunately, I don't know how to help you. It could be complicated to sort out all the permissions issues etc because Eclipse is a complicated beast w.r.t to installation of plugins etc.

Kris
  • 3,898
  • 1
  • 23
  • 32
  • Thanks for the answer. Sorry for the delayed response. I did use your idea - seemed simple and straightforward, and I did not want to fight with Eclipse. But I stopped using all variants of Eclipse. Tired of the bugs and crashes. I am using IntelliJ now. Much happier with it. – Nabil Feb 02 '17 at 02:49