YouTrack v6.x on CentOS v7.0 as a WAR install
Note: Jetbrains now support '.jar' and '.zip' distributions - '.war' distributions are not supported.
Install JetBrains YouTrack on a CentOS 7.0 VM. Use the distribution OpenJDK and Tomcat v7.x to host YouTrack v6.x.
Prerequisites:
- a minimal CentOS 7.x VM installation
- 1 GB RAM
- disk capacity for the 'youtrack' (tomcat) user to store the database
Install
Install tomcat, which will pull in the openjdk.
# yum install tomcat
Storage
The YouTrack will server will store it's data in the home directory of the identity it runs under. Since it is running in the tomcat server this will be in the '/usr/share/tomcat' directory.
Add an entry to /etc/fstab to mount the filesystem in the ~tomcat directory. Note: The maximum length of the ext4 label is truncated at 16 characters.
LABEL=/usr/share/tomca /usr/share/tomcat ext4 defaults 0 0
Format the device used for the data. Copy the previous contents of the tomcat directory onto the new device and mount it (before tomcat is started)
# mkfs.ext4 /dev/xvdc1 -L '/usr/share/tomcat' # mkdir /tmp/tc # mount /dev/xvdc1 /tmp/tc # mv -v /usr/share/tomcat/* /tmp/tc/ # umount /tmp/tc # mount -a
Youtrack
Download and copy the distribution WAR to /usr/share/tomcat/webapps as the root application.
# mkdir /usr/share/tomcat/teamsysdata # chown tomcat.tomcat /usr/share/tomcat/teamsysdata # mv youtrack-eap60-10923.war /usr/share/tomcat/webapps/ROOT.war
Firewall
Allow connections via ipv4 and ipv6
- in to port 8080 from the Nginx reverse proxy
- out to xmpp-client on port 5222
-A tcpIn -p tcp -m tcp --dport 8080 -m conntrack --ctstate NEW -j ACCEPT -A tcpOut -p tcp -m tcp --dport 5222 -m conntrack --ctstate NEW -j ACCEPT
Start
# systemctl enable tomcat.service # systemctl start tomcat.service
The youtrack server startup can be monitored from the log file
# tail -f /var/log/tomcat/youtrack.log
Web site
Use a browser to view the web site and accept the license agreement & fill in the setup details:
The issue tracker is ready to go:
Links
- http://www.jetbrains.com/youtrack/
- http://confluence.jetbrains.com/display/YTD5/Linux.+WAR+within+Servlet+Container+and+Nginx+Web+Server
Appendices
nginx
# # JetBrains YouTrack server # # All http traffic is redirected to https. # server { listen [::]:80; server_name youtrack.lucidsolutions.co.nz; location / { # redirect to secure page [permanent | redirect] rewrite ^ https://youtrack.lucidsolutions.co.nz$request_uri? permanent; } } server { listen [::]:443; server_name youtrack.lucidsolutions.co.nz; keepalive_timeout 70; ssl on; ssl_certificate certs/youtrack.lucidsolutions.co.nz.startssl.crt; ssl_certificate_key certs/youtrack.lucidsolutions.co.nz.key; access_log /var/log/nginx/youtrack.lucidsolutions.co.nz.access.log main; location / { proxy_pass http://yellow.lucidsolutions.co.nz:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10M; } }
tomcat
# yum install tomcat ========================================================================================= Package Arch Version Repository Size ========================================================================================= Installing: tomcat noarch 7.0.42-8.el7_0 updates 84 k Installing for dependencies: apache-commons-collections noarch 3.2.1-21.el7 base 506 k apache-commons-daemon x86_64 1.0.13-6.el7 base 54 k apache-commons-dbcp noarch 1.4-17.el7 base 167 k apache-commons-logging noarch 1.1.2-7.el7 base 78 k apache-commons-pool noarch 1.6-9.el7 base 113 k atk x86_64 2.8.0-4.el7 base 233 k avalon-framework noarch 4.3-10.el7 base 88 k avalon-logkit noarch 2.1-14.el7 base 87 k cairo x86_64 1.12.14-6.el7 base 697 k cups-libs x86_64 1:1.6.3-14.el7 base 352 k ecj x86_64 1:4.2.1-8.el7 base 1.4 M flac-libs x86_64 1.3.0-4.el7 base 169 k fontconfig x86_64 2.10.95-7.el7 base 228 k fontpackages-filesystem noarch 1.44-8.el7 base 9.9 k gdk-pixbuf2 x86_64 2.28.2-4.el7 base 533 k geronimo-jms noarch 1.1.1-19.el7 base 31 k geronimo-jta noarch 1.1.1-17.el7 base 20 k giflib x86_64 4.1.6-9.el7 base 40 k graphite2 x86_64 1.2.2-5.el7 base 81 k gsm x86_64 1.0.13-11.el7 base 30 k gtk2 x86_64 2.24.22-5.el7 base 3.4 M harfbuzz x86_64 0.9.20-3.el7 base 144 k hicolor-icon-theme noarch 0.12-7.el7 base 42 k jasper-libs x86_64 1.900.1-26.el7 base 147 k java-1.7.0-openjdk x86_64 1:1.7.0.65-2.5.1.2.el7_0 updates 196 k java-1.7.0-openjdk-headless x86_64 1:1.7.0.65-2.5.1.2.el7_0 updates 25 M javamail noarch 1.4.6-8.el7 base 758 k javapackages-tools noarch 3.4.1-6.el7_0 updates 72 k jbigkit-libs x86_64 2.0-11.el7 base 46 k lcms2 x86_64 2.5-4.el7 base 133 k libICE x86_64 1.0.8-7.el7 base 63 k libSM x86_64 1.2.1-7.el7 base 38 k libX11 x86_64 1.6.0-2.1.el7 base 605 k libX11-common noarch 1.6.0-2.1.el7 base 181 k libXau x86_64 1.0.8-2.1.el7 base 29 k libXcomposite x86_64 0.4.4-4.1.el7 base 22 k libXcursor x86_64 1.1.14-2.1.el7 base 30 k libXdamage x86_64 1.1.4-4.1.el7 base 20 k libXext x86_64 1.3.2-2.1.el7 base 38 k libXfixes x86_64 5.0.1-2.1.el7 base 18 k libXfont x86_64 1.4.7-1.1.el7 base 143 k libXft x86_64 2.3.1-5.1.el7 base 57 k libXi x86_64 1.7.2-2.1.el7 base 39 k libXinerama x86_64 1.1.3-2.1.el7 base 14 k libXrandr x86_64 1.4.1-2.1.el7 base 25 k libXrender x86_64 0.9.8-2.1.el7 base 25 k libXtst x86_64 1.2.2-2.1.el7 base 20 k libXxf86vm x86_64 1.1.3-2.1.el7 base 17 k libasyncns x86_64 0.8-7.el7 base 26 k libfontenc x86_64 1.1.1-5.el7 base 29 k libjpeg-turbo x86_64 1.2.90-5.el7 base 134 k libogg x86_64 2:1.3.0-7.el7 base 24 k libpng x86_64 2:1.5.13-5.el7 base 212 k libsndfile x86_64 1.0.25-9.el7 base 149 k libthai x86_64 0.1.14-9.el7 base 187 k libtiff x86_64 4.0.3-14.el7 base 167 k libvorbis x86_64 1:1.3.3-8.el7 base 204 k libxcb x86_64 1.9-5.el7 base 169 k libxslt x86_64 1.1.28-5.el7 base 242 k log4j noarch 1.2.17-15.el7 base 443 k mesa-libEGL x86_64 9.2.5-5.20131218.el7 base 69 k mesa-libGL x86_64 9.2.5-5.20131218.el7 base 142 k mesa-libgbm x86_64 9.2.5-5.20131218.el7 base 29 k mesa-libglapi x86_64 9.2.5-5.20131218.el7 base 34 k pango x86_64 1.34.1-5.el7 base 283 k pixman x86_64 0.32.4-3.el7 base 254 k pulseaudio-libs x86_64 3.0-22.el7 base 555 k python-javapackages noarch 3.4.1-6.el7_0 updates 31 k python-lxml x86_64 3.2.1-4.el7 base 758 k tomcat-el-2.2-api noarch 7.0.42-8.el7_0 updates 68 k tomcat-jsp-2.2-api noarch 7.0.42-8.el7_0 updates 91 k tomcat-lib noarch 7.0.42-8.el7_0 updates 3.5 M tomcat-servlet-3.0-api noarch 7.0.42-8.el7_0 updates 188 k ttmkfdir x86_64 3.0.9-41.el7 base 47 k tzdata-java noarch 2014e-1.el7_0 updates 148 k xalan-j2 noarch 2.7.1-23.el7 base 1.9 M xerces-j2 noarch 2.11.0-16.el7 base 1.1 M xml-commons-apis noarch 1.4.01-16.el7 base 227 k xml-commons-resolver noarch 1.2-15.el7 base 108 k xorg-x11-font-utils x86_64 1:7.5-18.1.el7 base 87 k xorg-x11-fonts-Type1 noarch 7.5-9.el7 base 521 k Transaction Summary ========================================================================================= Install 1 Package (+81 Dependent packages) Total download size: 48 M Installed size: 146 M