Unix
When using Unix, it is possible to install Artifactory as a Unix service or run it manually.
Before you install is recommended you first verify your current environment by running artifactoryctl check under the $ARTIFACTORY_HOME/bin folder (this script is, in fact, a customized Jetty init script).
Installing Artifactory as Linux Service
Introduction
Artifactory is packaged with a complete install script that can be used to install it as a Unix service running under a custom user and using the standard Unix directories.
Installing
To setup Artifactory correctly as a Linux service run, as root, the $ARTIFACTORY_HOME/bin/install.sh script.
Here is the main information about what this script is doing:
User creation |
Creates a user named "artifactory" ($ARTIFACTORY_USER) by default. You can change the default user by editing the $ARTIFACTORY_USER value in /etc/artifactory/default. The install script accepts the user name as its first and only parameter. |
etc config |
Creates the folder /etc/artifactory, copies the configuration files there and creates a soft link in $ARTIFACTORY_HOME/etc |
etc default |
Creates the file /etc/artifactory/default that contains the main environment variables needed for artifactory to run: JAVA_HOME, ARTIFACTORY_USER, ARTIFACTORY_HOME, JAVA_OPTIONS,...
The /etc/artifactory/default is included at the top of artifactoryctl and so can include whatever you wish.
NOTE: The default max memory is 1GB |
init.d |
It copies the file artifactoryctl to /etc/init.d/artifactory |
Logs folder |
Creates /var/log/artifactory folder, makes it writable for the user ARTIFACTORY_USER and creates a soft link $ARTIFACTORY_HOME/logs. |
Backup folder |
Creates the folder $ARTIFACTORY_HOME/backup, so you will need to create a link if you wish this folder to point to somewhere else (like /var/backup/artifactory for example). The script makes $ARTIFACTORY_HOME/backup writable for the user ARTIFACTORY_USER. |
Data folder |
Create the folder $ARTIFACTORY_HOME/data, so you will need to create a link if you wish this folder to point to somewhere else. The script will make it writable for the user ARTIFACTORY_USER. |
chkconfig calls |
The script calls add, list (you can see the output), then activate the Artifactory service |
After running the script successfully you can test the installation by running: service artifactory check or /etc/init.d/artifactory check
And if everything is OK, start artifactory with:
or
You can then check the Artifactory log with:
Normally Artifactory will be started as root (when running as a service) and will su internally to the $ARTIFACTORY_USER user. If the $ARTIFACTORY_USER is undefined Artifactory will run as the current user, which is not recommended, especially if the current user is root, due to security considerations.
Running Artifactory Manually on Unix
You can run artifactory manually with artifactory.sh directly to see its behavior. The console will be locked on artifactory process and you can stop it cleanly with crtl+c.
You can also try executing
to directly run Artifactory as a daemon process, using the environment variable of the shell you are currently in.
1 Comment
Hide/Show CommentsGeorge Thiruva
If you're using Gentoo Linux or anything with a similar set of startup tools (
start-stop-daemon, runscript, ebegin, eend, etc.) I cooked up this script which works nicely with this environment:Before installing, I logged in as root and ran
useraddto create a user calledartifactthen whipped up a wrapper script to invoke Artifactory's install.sh (from the Artifactory.zipdownload) which set the necessary environment variables:Then I registered the script to invoke itself in the default run level:
Without needing to reboot I then started the script:
Then it should show up in
ps: