Installing Crucible on Linux and Mac

Still need help?

The Atlassian Community is here for you.

Ask the community

Hey! We're going to install Crucible on a Linux box, or a Mac. There are a few steps involved, but we think you'll find it easy to follow along. If you already have Fisheye installed, you should read Upgrading from Fisheye to Crucible instead.

1. Check supported platforms

Better check the Supported platforms page first; it lists the application servers, databases, operating systems, web browsers and JDKs that we have tested Crucible with, and that we recommend.

Atlassian only officially supports Crucible running on x86 hardware and 64-bit derivatives of x86 hardware.

2. Create a dedicated Crucible user (recommended)

For production installations, we recommend that you create a new user account on your operating system that is dedicated to running Crucible. This user:

  • Should not have admin privileges.
  • Should be a non-privileged user with read, write and execute access on the Crucible home (install) directory and instance (data) directory. These directories are described below.
  • Should only have read access to your repositories. 

If you created a dedicated Crucible user, ensure you are logged in as this user to complete the remaining instructions.

3. Check your version of Java

In a terminal, run this:

java -version

The version of Java should be 1.8.x.

If you don't see a supported version of Java, then get Java...

Download and install the Oracle Java Platform JDK, or OpenJDK.

Now try running 'java -version' again to check the installation. The version of Java should be 1.8.x.

4. Check that the system can find Java

In a terminal, run this:

echo $JAVA_HOME

You should see a path something like:

OSX/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/
Linux/usr/lib/jvm/default-java
If you don't see a path to the Java location, then set JAVA_HOME...

Linux

Do either of the following:

  • If JAVA_HOME is not set, log in with 'root' level permissions and run:
echo JAVA_HOME="path/to/JAVA_HOME" >> /etc/environment

where path/to/JAVA_HOME may be like: /usr/lib/jvm/default-java

  • If JAVA_HOME  needs to be changed, open the  /etc/environment  file in a text editor and modify the value for  JAVA_HOME to:

    JAVA_HOME="path/to/JAVA_HOME"

    It should look like:

    JAVA_HOME=/usr/lib/jvm/default-java

Mac

Insert the following in your ~/.profile file:

JAVA_HOME="path/to/JAVA_HOME"
export JAVA_HOME
 

where path/to/JAVA_HOME may be like: 

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/

Refresh your ~/.profile in the terminal and confirm that JAVA_HOME is set:

source ~/.profile
$JAVA_HOME/bin/java -version

You should see a version of Java that is 1.8.0 or higher, like this:

java version "1.8.0_05"

5. Now it's time to get Crucible

  1. Download Crucible from the Atlassian download site.
  2. Please check your unzip program before extracting the downloaded zip file. Some archive-extract programs cause errors when unzipping the Crucible zip file:
    • Windows users must avoid the Windows built-in unzip utility, as it doesn't extract all the files. Use a third-party unzip program like 7-Zip or Winzip.
    • Solaris users will need to use GNU tar to handle the long file names.
  3. Extract the downloaded file to an install location:
    • Folder names in the path to your Crucible executable should not have spaces in them. The path to the extracted directory is referred to as the <Crucible home directory> in these instructions. If you use Fisheye and Crucible together, they run as one instance, and use the same home directory – see Crucible and Fisheye.
    • If you expect to have a large number of users for this Crucible installation, and Crucible will be connected to an external database, consider installing Crucible on a different server from the one running the external database, for improved performance.

6. Tell Crucible where to store your data  

The Crucible instance directory is where your Crucible data is stored.

  1. Create your Crucible instance directory.
  2. Tell Crucible where you created the instance directory by adding a FISHEYE_INST environment variable as follows:

    Linux

    Open the  /etc/environment  file in a text editor and insert :

    FISHEYE_INST="path/to/<Crucible instance directory>"

    Mac

    Open the ~/.profile file for the current user in a text editor and insert:

    FISHEYE_INST="path/to/<Crucible instance directory>"
    export FISHEYE_INST
  3. Now copy the newly extracted <Crucible home directory>\config.xml file to the root of your new Crucible instance directory.

 

(warning) You should not locate your Crucible instance directory inside the <Crucible home directory> — they should be entirely separate locations. If you do put the  instance directory in the <Crucible home directory> it will be overwritten, and lost, when Crucible gets upgraded. And by the way, you'll need separate Crucible instance directories if you want to run multiple copies of Crucible.

If you have a large number of repositories, we recommend you increase the default number of files that Fisheye is allowed to open. See the following knowledge base article for more info: Subversion Indexer Paused with "Too many open files" Error.

7. Start Crucible!

In a terminal, change directory to <Crucible home directory> and run this:

bin/start.sh

After a few moments, in a web browser on the same machine, go to http://localhost:8060/ (or, from another machine, type http://hostname:8060/, where hostname is the name of the machine where you extracted Crucible).

Enter your license, then an admin password, to finish the setup.

You can postpone setting up Jira integration until later if you wish; see Configuring Jira integration in the Setup Wizard.

8. Connect to an external database (recommended)

If you intend to use this Crucible installation in a production environment, it is highly recommended that you use one of the supported external databases. See Migrating to an external database.

If you are evaluating Crucible, or don't wish to do this now, Crucible will happily use its embedded database, and you can easily migrate later.  

9. Set up your mail server

Configure the Crucible email server so that users can get notifications from Crucible. See Configuring SMTP.

10. Add users and repositories

Now is the time to set up your users in Crucible, and to tell Crucible about any existing repositories you have. Please read Starting to use Crucible for the details.

Crucible will perform an initial index of your repositories, during which it accesses, indexes and organizes a view of your repositories (including all historical items) back to the earliest commits. If you are evaluating Crucible, we suggest that you index a single project, so you can use Crucible as soon as possible. If you choose to index your entire repository, be aware that this can take a long time (possibly days) for massive or complex repositories and can be more complex to set up (especially for Subversion). The basic process is slightly different for each SCM type.

11. Stop Crucible (optional)

In a terminal, change directory to <Crucible home directory> and run this:

bin/stop.sh
Last modified on Oct 24, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.