Running YouTrack Issue And Project Tracking Tool On nginx (Debian Wheezy)

0
Want create site? Find Free WordPress Themes and plugins.

YouTrack is an issue and project tracking tool written in Java. This tutorial explains how to serve YouTrack through an nginx webserver on Debian Wheezy.

I do not issue any guarantee that this will work for you!

1 Installing Java

In order to run YouTrack, we need to have Java installed on our server:

apt-get install openjdk-6-jdk openjdk-6-jre unzip

update-alternatives –config java
update-alternatives –config javac

2 Installing YouTrack

Create a YouTrack user and a directory to install YouTrack in:

adduser youtrack –disabled-password

mkdir -p /usr/local/youtrack
chown youtrack:youtrack /usr/local/youtrack

Create the YouTrack init script:

vi /etc/init.d/youtrack

#! /bin/sh ### BEGIN INIT INFO # Provides: youtrack # Required-Start: $ local_fs $ remote_fs # Required-Stop: $ local_fs $ remote_fs # Default-Start: 2 3 4 5 # Default-Stop: S 0 1 6 # Short-Description: initscript for youtrack # Description: initscript for youtrack ### END INIT INFO  export HOME=/home/youtrack  set -e  PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=youtrack SCRIPT=/usr/local/$ NAME/$ NAME.sh  d_start() {   su youtrack -l -c "$ SCRIPT start" }  d_stop() {   su youtrack -l -c "$ SCRIPT stop" }  case "$ 1" in   start)     echo "Starting $ NAME..."     d_start   ;;   stop)     echo "Stopping $ NAME..."     d_stop   ;;   restart|force-reload)     echo "Restarting $ NAME..."     d_stop     d_start   ;;   *)     echo "Usage: sudo /etc/init.d/youtrack {start|stop|restart}" >&2     exit 1   ;; esac  exit 0

Make the script executable and set up the system startup links:

chmod 755 /etc/init.d/youtrack
update-rc.d youtrack defaults

The following script is called by the init script and starts the YouTrack daemon on port 8112:

vi /usr/local/youtrack/youtrack.sh

#! /bin/sh  export HOME=/home/youtrack export JAVA_HOME=/usr/bin/java  NAME=youtrack PORT=8112 USR=/usr/local/$ NAME JAR=$ USR/`ls -Lt $ USR/*.jar | grep -o "$ NAME-[Linux. YouTrack JAR as a Service. Alternative Method^/]*.jar" | head -1` LOG=$ USR/$ NAME-$ PORT.log PID=$ USR/$ NAME-$ PORT.pid  d_start() {   if [ -f $ PID ]; then     PID_VALUE=`cat $ PID`     if [ ! -z "$ PID_VALUE" ]; then       PID_VALUE=`ps ax | grep $ PID_VALUE | grep -v grep | awk '{print $ 1}'`       if [ ! -z "$ PID_VALUE" ]; then         exit 1;       fi     fi   fi    PREV_DIR=`pwd`   cd $ USR   exec $ JAVA_HOME -Xmx512m -jar $ JAR"youtrack.jar" $ PORT >> $ LOG 2>&1 &   echo $ ! > $ PID   cd $ PREV_DIR }  d_stop() {   if [ -f $ PID ]; then     PID_VALUE=`cat $ PID`     if [ ! -z "$ PID_VALUE" ]; then       PID_VALUE=`ps ax | grep $ PID_VALUE | grep -v grep | awk '{print $ 1}'`       if [ ! -z "$ PID_VALUE" ]; then         kill $ PID_VALUE         WAIT_TIME=0         while [ `ps ax | grep $ PID_VALUE | grep -v grep | wc -l` -ne 0 -a "$ WAIT_TIME" -lt 2 ]         do           sleep 1           WAIT_TIME=$ (expr $ WAIT_TIME + 1)         done         if [ `ps ax | grep $ PID_VALUE | grep -v grep | wc -l` -ne 0 ]; then           WAIT_TIME=0           while [ `ps ax | grep $ PID_VALUE | grep -v grep | wc -l` -ne 0 -a "$ WAIT_TIME" -lt 15 ]           do             sleep 1             WAIT_TIME=$ (expr $ WAIT_TIME + 1)           done           echo         fi         if [ `ps ax | grep $ PID_VALUE | grep -v grep | wc -l` -ne 0 ]; then           kill -9 $ PID_VALUE         fi       fi     fi     rm -f $ PID   fi }  case "$ 1" in   start)     d_start   ;;   stop)     d_stop   ;;   *)     echo "Usage: $ 0 {start|stop|restart}" >&2     exit 1   ;; esac  exit 0

Make the script executable:

chmod 755 /usr/local/youtrack/youtrack.sh

Next visit [Linux. YouTrack JAR as a Service. Alternative Method^/], make sure that you select Linux and click on the Download YouTrack button:

[ -f $ PID ]

Download youtrack-5.0.6.jar to your desktop and then upload it to the /tmp folder of your server. Afterwards, run…

cp /tmp/youtrack-5.0.6.jar /usr/local/youtrack/youtrack.jar

… and start YouTrack:

/etc/init.d/youtrack restart

The YouTrack daemon should now be running on port 8112, as you can verify with the following command:

netstat -tapn|grep 8112

[email protected]:/var/www/example.com/web# netstat -tapn|grep 8112
tcp6       0      0 :::8112                 :::*                    LISTEN      11504/java
[email protected]:/var/www/example.com/web#

If it is not running, check out the log file /usr/local/youtrack/youtrack-8112.log.

3 Configuring nginx

Next we must configure our nginx vhost through which we want to access YouTrack. You must paste the following configuration into your server {} container (or the nginx Directives field if you use ISPConfig):

        location / {                 proxy_pass http://127.0.0.1:8112;                 proxy_set_header        X-Real-IP $ remote_addr;                 proxy_set_header        X-Forwarded-For $ proxy_add_x_forwarded_for;                 proxy_set_header        Host $ http_host;         }

[ ! -z “$ PID_VALUE” ]

That’s it! Now visit your website, and you should be able to use YouTrack:

[ ! -z “$ PID_VALUE” ]

[ -f $ PID ]

Did you find apk for android? You can find new Free Android Games and apps.