{"id":444,"date":"2026-10-14T10:41:33","date_gmt":"2026-10-14T10:41:33","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2015\/10\/22\/jira-installation-and-configuration-in-linux\/"},"modified":"2026-10-14T10:41:33","modified_gmt":"2026-10-14T10:41:33","slug":"jira-installation-and-configuration-in-linux","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/jira-installation-and-configuration-in-linux\/","title":{"rendered":"Jira on Linux: Installation and Configuration with Safer Service and Firewall Setup"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Originally published on 2015-10-22; fully revised and updated.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide updates a brief legacy Jira install note into a practical Linux runbook for DevOps and system administrators. You will learn a safer install workflow, how to control Jira as a service, and how to allow network access without disabling your firewall.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Original article and media preserved for attribution: <a href=\"https:\/\/www.devopsschool.com\/blog\/jira-installation-and-configuration-in-linux\/\">source post<\/a> and <a href=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2015\/10\/jira-installation-and-confi.png\">original screenshot<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Use official Jira sources first<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jira installation steps and prerequisites vary by release. Always confirm the exact instructions for your target version in Atlassian documentation before running production installs.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Jira download page from the original post: <a href=\"https:\/\/www.atlassian.com\/software\/jira\/download?b=j\">https:\/\/www.atlassian.com\/software\/jira\/download?b=j<\/a><\/li><li>Atlassian reference from the original post: <a href=\"https:\/\/confluence.atlassian.com\/jira\/installing-jira-on-linux-191501165.html\">Installing Jira on Linux (Confluence)<\/a><\/li><li>Original historical access example (not reusable as-is): <a href=\"http:\/\/uvo1kievugg76unbcj9.vm.cld.sr:8080\/\">http:\/\/uvo1kievugg76unbcj9.vm.cld.sr:8080\/<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Prepare the Linux host before installation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before installing, define your runtime choices (hostname, port, service model, and database strategy) and validate OS-level access controls.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Use a dedicated Linux host (or VM) with stable DNS\/IP.<\/li><li>Use a privileged account only when needed; prefer least privilege for routine operations.<\/li><li>Confirm inbound access policy for Jira web port (commonly 8080 unless changed in installer).<\/li><li>Plan persistence and backups for Jira home\/data directories and database.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Install Jira with the Linux binary installer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original post used Jira 6.4.12 as an example. Keep it only as a historical reference; for real deployments, use a currently supported release from Atlassian.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Historical command pattern from the original article<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-bash\">wget https:<span class=\"hljs-comment\">\/\/www.atlassian.com\/software\/jira\/downloads\/binary\/atlassian-jira-6.4.12-x64.bin<\/span>\nchmod +x atlassian-jira<span class=\"hljs-number\">-6.4<\/span><span class=\"hljs-number\">.12<\/span>-x64.bin\nsudo .\/atlassian-jira<span class=\"hljs-number\">-6.4<\/span><span class=\"hljs-number\">.12<\/span>-x64.bin<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Generic installer flow for current releases<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-bash\">wget -O atlassian-jira.bin <span class=\"hljs-string\">\"https:\/\/www.atlassian.com\/software\/jira\/download?b=j\"<\/span>\nchmod +x atlassian-jira.bin\nsudo .\/atlassian-jira.bin<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">When the console wizard starts, follow prompts for installation path, application home, port, and whether to install Jira as a service.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation workflow at a glance<\/h2>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Prepare Linux host] --> B[Download Jira installer]\n    B --> C[Make installer executable]\n    C --> D[Run installer wizard]\n    D --> E[Choose paths and port]\n    E --> F[Install service]\n    F --> G[Start Jira service]\n    G --> H[Open web setup on port 8080]\n    H --> I[Complete Jira configuration]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Manage Jira service after installation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Service commands depend on your distribution and how Jira was installed. The service name is often <strong>jira<\/strong>, but verify on your host.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Init system<\/th><th>Start<\/th><th>Stop<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>systemd<\/td><td>systemctl start jira<\/td><td>systemctl stop jira<\/td><td>systemctl status jira<\/td><\/tr><tr><td>SysV init<\/td><td>service jira start<\/td><td>service jira stop<\/td><td>service jira status<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># systemd example<\/span>\nsudo systemctl start jira\nsudo systemctl status jira\nsudo systemctl stop jira<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># SysV example<\/span>\nsudo service jira start\nsudo service jira status\nsudo service jira stop<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Allow web access without disabling the firewall<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original note suggested stopping iptables. For production, do <strong>not<\/strong> disable your firewall globally. Open only the Jira port you need.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Firewall tool<\/th><th>Example allow rule for 8080\/tcp<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>firewalld<\/td><td>firewall-cmd &#8211;add-port=8080\/tcp &#8211;permanent<\/td><td>Reload required after permanent change.<\/td><\/tr><tr><td>ufw<\/td><td>ufw allow 8080\/tcp<\/td><td>Common on Debian\/Ubuntu.<\/td><\/tr><tr><td>iptables<\/td><td>iptables -A INPUT -p tcp &#8211;dport 8080 -j ACCEPT<\/td><td>Persistence method varies by distro.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># firewalld<\/span>\nsudo firewall-cmd --add-port=<span class=\"hljs-number\">8080<\/span>\/tcp --permanent\nsudo firewall-cmd --reload<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># ufw<\/span>\nsudo ufw allow <span class=\"hljs-number\">8080<\/span>\/tcp<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Complete web setup and verify Jira is reachable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After the service is running and firewall rules are in place, open Jira in a browser from an authorized client.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-bash\">http:<span class=\"hljs-comment\">\/\/your-server-or-dns:8080<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\"><li>Confirm the setup page loads.<\/li><li>Complete Jira application configuration prompts.<\/li><li>Create or connect admin credentials.<\/li><li>Validate service restart behavior after host reboot.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Common pitfalls and best practices<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Do not rely on obsolete version URLs for production installs.<\/li><li>Do not disable firewall services just to make Jira reachable.<\/li><li>Document your chosen service management commands for your distro.<\/li><li>Pin and test backup\/restore procedures before go-live.<\/li><li>Keep all Jira install and upgrade actions aligned with official Atlassian docs for your exact release.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to install Jira on Linux using Atlassian\u2019s installer, manage it as a service, and expose port 8080 safely. This revision keeps the original references but updates the process for clearer, production-minded operations.<\/p>\n","protected":false},"author":1,"featured_media":3081,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[5106],"tags":[254,1122,545,237,919,595,918,916,917,1440,915,460,593,732],"class_list":["post-444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jira","tag-configure","tag-guide","tag-how","tag-install","tag-instructions","tag-jira","tag-jira-configuration-linux","tag-jira-in-linux","tag-jira-installation-linux","tag-jira-installation-process-in-linux","tag-jira-tutorial","tag-linux","tag-process","tag-steps"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=444"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/444\/revisions"}],"predecessor-version":[{"id":79316,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/444\/revisions\/79316"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/3081"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}