openhab-docs/v2.1/installation/linux.html

1775 lines
90 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--<link rel="shortcut icon" href="https://www.openhab.org/favicon.png"></link>-->
<title>openHAB 2 on Linux - openHAB 2 - Empowering the Smart Home</title>
<!-- CSS -->
<link type="text/css" rel="stylesheet" href="/v2.1/css/materialize.css" media="screen,projection" />
<link type="text/css" rel="stylesheet" href="/v2.1/css/pygments-jekyll-style.css" />
<link type="text/css" rel="stylesheet" href="/v2.1/css/styles.css" />
<link type="text/css" rel="stylesheet" href="/v2.1/css/openhab.css" />
<link type="text/css" rel="stylesheet" href="/v2.1/css/collapsible.css" />
<!-- Font -->
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400,700" />
<link rel="canonical" href="http://docs.openhab.org/installation/linux.html" />
<script type="text/javascript">var gaProperty = 'UA-47717934-3';var disableStr = 'ga-disable-' + gaProperty;if (document.cookie.indexOf(disableStr + '=true') > -1) {window[disableStr] = true;}</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-47717934-3', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
</head>
<body class="documentation">
<div id="header" class="navbar-fixed">
<nav role="navigation">
<div class="container">
<div class="nav-wrapper">
<a href="/v2.1/index.html"><img id="logo" src="/images/logo.png" /></a>
<a href="#" data-activates="nav-mobile" class="button-collapse"><i class="material-icons">menu</i></a>
<ul class="right hide-on-med-and-down">
<li><a href="/tutorials/index.html">Tutorials</a></li>
<li><a href="/v2.1/introduction.html">User Manual</a></li>
<li><a href="/developers/index.html">Developer Guide</a></li>
<li><a target="_blank" href="https://community.openhab.org">Community Forum</a></li>
<li><a target="_blank" href="https://github.com/openhab">GitHub</a></li>
<li class="search"><i class="material-icons">search</i></li>
<li class="search">
<form method="GET" id="searchform" class="search-form" action="/search">
<input id="query" name="q" type="text" class="search-form-input" placeholder="search" />
</form>
</li>
</ul>
<ul id="nav-mobile" class="side-nav">
<li><a href="/v2.1/index.html">Home</a></li>
<li><a href="/tutorials/index.html">Tutorials</a></li>
<li><a href="/v2.1/introduction.html">User Manual</a></li>
<li><a href="/developers/index.html">Developer Guide</a></li>
<li><a target="_blank" href="https://community.openhab.org">Community Forum</a></li>
<li><a target="_blank" href="https://github.com/openhab">GitHub</a></li>
<li class="search">
<form method="GET" id="searchformmob" class="search-form" action="/search">
<input id="querymob" name="q" type="text" class="search-form-input" placeholder="search" />
</form>
</li>
</ul>
</div>
</div>
</nav>
</div>
<section id="documentation" class="text content-wrapper">
<div class="container">
<div class="side-nav-wrapper">
<ul class="nav">
<li><a href="/v2.1/introduction.html">Introduction</a></li>
<li><a href="/v2.1/concepts/index.html">Concepts</a>
<ul>
<li><a href="/v2.1/concepts/index.html">Overview</a></li>
<hr />
<li><a href="/v2.1/concepts/things.html">Things</a></li>
<li><a href="/v2.1/concepts/items.html">Items</a></li>
<li><a href="/v2.1/concepts/discovery.html">Inbox &amp; Discovery</a></li>
<li><a href="/v2.1/concepts/audio.html">Audio &amp; Voice</a></li>
</ul>
</li>
<li><a href="/v2.1/installation/index.html">Installation</a>
<ul>
<li><a href="/v2.1/installation/index.html">Overview</a></li>
<hr />
<li><a href="/v2.1/installation/linux.html">Linux</a></li>
<li><a href="/v2.1/installation/windows.html">Windows</a></li>
<li><a href="/v2.1/installation/macosx.html">Mac OS X</a></li>
<hr />
<li><a href="/v2.1/installation/openhabian.html">openHABian</a></li>
<li><a href="/v2.1/installation/docker.html">Docker</a></li>
<hr />
<li><a href="/v2.1/installation/rasppi.html">Raspberry Pi</a></li>
<li><a href="/v2.1/installation/pine.html">Pine A64</a></li>
<li><a href="/v2.1/installation/synology.html">Synology DiskStation</a></li>
<li><a href="/v2.1/installation/qnap.html">QNAP NAS</a></li>
<hr />
<li><a href="/v2.1/installation/designer.html">SmartHome Designer</a></li>
<li><a href="/v2.1/installation/security.html">Security &amp; Remote Access</a></li>
<li><a href="http://www.myopenhab.org">myopenHAB</a></li>
</ul>
</li>
<li><a href="/v2.1/configuration/index.html">Configuration</a>
<ul>
<li><a href="/v2.1/configuration/index.html">Overview</a></li>
<hr />
<li><a href="/v2.1/configuration/things.html">Things</a></li>
<li><a href="/v2.1/configuration/items.html">Items</a></li>
<li><a href="/v2.1/configuration/sitemaps.html">Sitemaps</a></li>
<li><a href="/v2.1/configuration/transform.html">Transformations</a></li>
<li><a href="/v2.1/configuration/persistence.html">Persistence</a></li>
<li><a href="/v2.1/configuration/rules-dsl.html">Rules</a></li>
<li><a href="/v2.1/configuration/services.html">Services</a></li>
<hr />
<li><a href="/v2.1/configuration/packages.html">Initial Setup Packages</a></li>
<li><a href="/v2.1/configuration/paperui.html">Paper UI</a></li>
<li><a href="/v2.1/configuration/habmin.html">HABmin</a></li>
<li><a href="/v2.1/configuration/rules-ng.html">Rules (Experimental)</a></li>
<hr />
<li><a href="/v2.1/configuration/multimedia.html">Audio &amp; Voice</a></li>
</ul>
</li>
<li><a href="/v2.1/addons/index.html">Add-ons</a>
<ul>
<li><a href="/v2.1/addons/index.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/bindings.html">Bindings</a>
<ul>
<li><a href="/v2.1/addons/bindings.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/bindings/airquality/readme.html">Air Quality</a></li>
<li><a href="/v2.1/addons/bindings/akm8681/readme.html">AKM868</a></li>
<li><a href="/v2.1/addons/bindings/alarmdecoder1/readme.html">Alarm Decoder</a></li>
<li><a href="/v2.1/addons/bindings/allplay/readme.html">AllPlay</a></li>
<li><a href="/v2.1/addons/bindings/amazondashbutton/readme.html">Amazon Dash Button</a></li>
<li><a href="/v2.1/addons/bindings/anel1/readme.html">Anel NET-PwrCtrl</a></li>
<li><a href="/v2.1/addons/bindings/asterisk1/readme.html">Asterisk</a></li>
<li><a href="/v2.1/addons/bindings/astro/readme.html">Astro</a></li>
<li><a href="/v2.1/addons/bindings/astro1/readme.html">Astro</a></li>
<li><a href="/v2.1/addons/bindings/atlona/readme.html">Atlona</a></li>
<li><a href="/v2.1/addons/bindings/autelis/readme.html">Autelis Pool Control</a></li>
<li><a href="/v2.1/addons/bindings/autelis1/readme.html">Autelis</a></li>
<li><a href="/v2.1/addons/bindings/avmfritz/readme.html">AVM FRITZ!</a></li>
<li><a href="/v2.1/addons/bindings/benqprojector1/readme.html">BenQ Projector</a></li>
<li><a href="/v2.1/addons/bindings/bigassfan/readme.html">BigAssFan</a></li>
<li><a href="/v2.1/addons/bindings/bluetooth1/readme.html">Bluetooth</a></li>
<li><a href="/v2.1/addons/bindings/boschindego/readme.html">Bosch Indego</a></li>
<li><a href="/v2.1/addons/bindings/bticino1/readme.html">Bticino</a></li>
<li><a href="/v2.1/addons/bindings/caldav-command1/readme.html">CalDAV Command</a></li>
<li><a href="/v2.1/addons/bindings/caldav-personal1/readme.html">CalDAV Personal</a></li>
<li><a href="/v2.1/addons/bindings/chromecast/readme.html">Chromecast</a></li>
<li><a href="/v2.1/addons/bindings/comfoair1/readme.html">ComfoAir</a></li>
<li><a href="/v2.1/addons/bindings/configadmin1/readme.html">ConfigAdmin</a></li>
<li><a href="/v2.1/addons/bindings/coolmasternet/readme.html">CoolMasterNet</a></li>
<li><a href="/v2.1/addons/bindings/cups1/readme.html">CUPS</a></li>
<li><a href="/v2.1/addons/bindings/daikin1/readme.html">Daikin</a></li>
<li><a href="/v2.1/addons/bindings/davis1/readme.html">Davis</a></li>
<li><a href="/v2.1/addons/bindings/ddwrt1/readme.html">DD-WRT</a></li>
<li><a href="/v2.1/addons/bindings/denon1/readme.html">Denon</a></li>
<li><a href="/v2.1/addons/bindings/digitalstrom/readme.html">digitalSTROM</a></li>
<li><a href="/v2.1/addons/bindings/digitalstrom1/readme.html">digitalSTROM</a></li>
<li><a href="/v2.1/addons/bindings/diyonxbee1/readme.html">DIYOnXBee</a></li>
<li><a href="/v2.1/addons/bindings/dlinksmarthome/readme.html">D-Link Smart Home</a></li>
<li><a href="/v2.1/addons/bindings/dmx1/readme.html">DMX</a></li>
<li><a href="/v2.1/addons/bindings/dscalarm/readme.html">DSC Alarm</a></li>
<li><a href="/v2.1/addons/bindings/dscalarm1/readme.html">DSC PowerSeries Alarm System</a></li>
<li><a href="/v2.1/addons/bindings/dsmr1/readme.html">DSMR</a></li>
<li><a href="/v2.1/addons/bindings/ebus1/readme.html">eBUS</a></li>
<li><a href="/v2.1/addons/bindings/ecobee1/readme.html">Ecobee</a></li>
<li><a href="/v2.1/addons/bindings/ecotouch1/readme.html">EcoTouch</a></li>
<li><a href="/v2.1/addons/bindings/ekey1/readme.html">ekey</a></li>
<li><a href="/v2.1/addons/bindings/energenie1/readme.html">Energenie</a></li>
<li><a href="/v2.1/addons/bindings/enocean1/readme.html">EnOcean</a></li>
<li><a href="/v2.1/addons/bindings/enphaseenergy1/readme.html">Enphase Energy</a></li>
<li><a href="/v2.1/addons/bindings/epsonprojector1/readme.html">Epson Projector</a></li>
<li><a href="/v2.1/addons/bindings/exec/readme.html">Exec</a></li>
<li><a href="/v2.1/addons/bindings/exec1/readme.html">Exec</a></li>
<li><a href="/v2.1/addons/bindings/expire1/readme.html">Expire</a></li>
<li><a href="/v2.1/addons/bindings/fatekplc1/readme.html">Fatek PLC</a></li>
<li><a href="/v2.1/addons/bindings/feed/readme.html">Feed</a></li>
<li><a href="/v2.1/addons/bindings/fht1/readme.html">FHT</a></li>
<li><a href="/v2.1/addons/bindings/folding/readme.html">Folding@home</a></li>
<li><a href="/v2.1/addons/bindings/freebox/readme.html">Freebox</a></li>
<li><a href="/v2.1/addons/bindings/freebox1/readme.html">Freebox</a></li>
<li><a href="/v2.1/addons/bindings/freeswitch1/readme.html">FreeSWITCH</a></li>
<li><a href="/v2.1/addons/bindings/fritzaha1/readme.html">Fritz AHA</a></li>
<li><a href="/v2.1/addons/bindings/fritzbox1/readme.html">Fritz!Box</a></li>
<li><a href="/v2.1/addons/bindings/fritzboxtr0641/readme.html">Fritzbox (using TR064 protocol)</a></li>
<li><a href="/v2.1/addons/bindings/frontiersiliconradio1/readme.html">Frontier Silicon Radio</a></li>
<li><a href="/v2.1/addons/bindings/fs201/readme.html">FS20</a></li>
<li><a href="/v2.1/addons/bindings/fsinternetradio/readme.html">FS Internet Radio</a></li>
<li><a href="/v2.1/addons/bindings/garadget1/readme.html">Garadget</a></li>
<li><a href="/v2.1/addons/bindings/gardena/readme.html">Gardena</a></li>
<li><a href="/v2.1/addons/bindings/gc100ir1/readme.html">Global Cache IR</a></li>
<li><a href="/v2.1/addons/bindings/globalcache/readme.html">GlobalCache</a></li>
<li><a href="/v2.1/addons/bindings/gpio1/readme.html">GPIO</a></li>
<li><a href="/v2.1/addons/bindings/harmonyhub/readme.html">Logitech Harmony Hub</a></li>
<li><a href="/v2.1/addons/bindings/harmonyhub1/readme.html">Harmony Hub</a></li>
<li><a href="/v2.1/addons/bindings/hdanywhere/readme.html">HDanywhere</a></li>
<li><a href="/v2.1/addons/bindings/hdanywhere1/readme.html">HDanywhere</a></li>
<li><a href="/v2.1/addons/bindings/hdpowerview/readme.html">Hunter Douglas PowerView</a></li>
<li><a href="/v2.1/addons/bindings/heatmiser1/readme.html">Heatmiser</a></li>
<li><a href="/v2.1/addons/bindings/hms1/readme.html">HMS</a></li>
<li><a href="/v2.1/addons/bindings/homematic/readme.html">Homematic</a></li>
<li><a href="/v2.1/addons/bindings/homematic1/readme.html">Homematic</a></li>
<li><a href="/v2.1/addons/bindings/horizon1/readme.html">Horizon mediabox</a></li>
<li><a href="/v2.1/addons/bindings/http1/readme.html">HTTP</a></li>
<li><a href="/v2.1/addons/bindings/hue/readme.html">Philips Hue</a></li>
<li><a href="/v2.1/addons/bindings/hue1/readme.html">Hue</a></li>
<li><a href="/v2.1/addons/bindings/iec6205621meter1/readme.html">IEC 62056-21 Meter</a></li>
<li><a href="/v2.1/addons/bindings/ihc1/readme.html">IHC / ELKO</a></li>
<li><a href="/v2.1/addons/bindings/insteonhub1/readme.html">Insteon Hub</a></li>
<li><a href="/v2.1/addons/bindings/insteonplm1/readme.html">Insteon PLM</a></li>
<li><a href="/v2.1/addons/bindings/intertechno1/readme.html">Intertechno</a></li>
<li><a href="/v2.1/addons/bindings/ipp/readme.html">IPP</a></li>
<li><a href="/v2.1/addons/bindings/ipx8001/readme.html">IPX800</a></li>
<li><a href="/v2.1/addons/bindings/irtrans1/readme.html">IRTrans</a></li>
<li><a href="/v2.1/addons/bindings/isy1/readme.html">Description</a></li>
<li><a href="/v2.1/addons/bindings/jointspace1/readme.html">jointSPACE</a></li>
<li><a href="/v2.1/addons/bindings/k80551/readme.html">Velleman k8055 USB IO Board</a></li>
<li><a href="/v2.1/addons/bindings/keba/readme.html">Keba</a></li>
<li><a href="/v2.1/addons/bindings/km2001/readme.html">KM200</a></li>
<li><a href="/v2.1/addons/bindings/knx1/readme.html">KNX</a></li>
<li><a href="/v2.1/addons/bindings/kodi/readme.html">Kodi</a></li>
<li><a href="/v2.1/addons/bindings/kostalinverter/readme.html">Kostal Inverter</a></li>
<li><a href="/v2.1/addons/bindings/koubachi1/readme.html">Koubachi</a></li>
<li><a href="/v2.1/addons/bindings/lcn1/readme.html">LCN</a></li>
<li><a href="/v2.1/addons/bindings/lgtv1/readme.html">LG TV</a></li>
<li><a href="/v2.1/addons/bindings/lgtvserial/readme.html">LG TV control using serial protocol</a></li>
<li><a href="/v2.1/addons/bindings/lifx/readme.html">LIFX</a></li>
<li><a href="/v2.1/addons/bindings/lightwaverf1/readme.html">LightwaveRF</a></li>
<li><a href="/v2.1/addons/bindings/lutron/readme.html">Lutron</a></li>
<li><a href="/v2.1/addons/bindings/mailcontrol1/readme.html">MailControl</a></li>
<li><a href="/v2.1/addons/bindings/max/readme.html">MAX!</a></li>
<li><a href="/v2.1/addons/bindings/maxcube1/readme.html">MAX!Cube</a></li>
<li><a href="/v2.1/addons/bindings/maxcul1/readme.html">MAX!CUL</a></li>
<li><a href="/v2.1/addons/bindings/mcp230171/readme.html">MCP23017</a></li>
<li><a href="/v2.1/addons/bindings/mcp34241/readme.html">MCP3424</a></li>
<li><a href="/v2.1/addons/bindings/meteostick/readme.html">Meteostick</a></li>
<li><a href="/v2.1/addons/bindings/miele/readme.html">Miele@home</a></li>
<li><a href="/v2.1/addons/bindings/mihome/readme.html">Xiaomi Mi Smart Home</a></li>
<li><a href="/v2.1/addons/bindings/milight/readme.html">Milight/Easybulb/Limitless</a></li>
<li><a href="/v2.1/addons/bindings/milight1/readme.html">Milight</a></li>
<li><a href="/v2.1/addons/bindings/minecraft/readme.html">Minecraft</a></li>
<li><a href="/v2.1/addons/bindings/mios1/readme.html">MiOS Bridge</a></li>
<li><a href="/v2.1/addons/bindings/mochadx101/readme.html">Mochad X10</a></li>
<li><a href="/v2.1/addons/bindings/modbus1/readme.html">Modbus</a></li>
<li><a href="/v2.1/addons/bindings/mpd1/readme.html">MPD</a></li>
<li><a href="/v2.1/addons/bindings/mqtt1/readme.html">MQTT</a></li>
<li><a href="/v2.1/addons/bindings/mqttitude1/readme.html">OwnTracks (formerly MQTTitude)</a></li>
<li><a href="/v2.1/addons/bindings/myq1/readme.html">Chamberlain MyQ</a></li>
<li><a href="/v2.1/addons/bindings/mystromecopower1/readme.html">Mystrom Eco Power</a></li>
<li><a href="/v2.1/addons/bindings/neohub1/readme.html">NeoHub</a></li>
<li><a href="/v2.1/addons/bindings/nest1/readme.html">Nest</a></li>
<li><a href="/v2.1/addons/bindings/netatmo/readme.html">Netatmo</a></li>
<li><a href="/v2.1/addons/bindings/netatmo1/readme.html">Netatmo</a></li>
<li><a href="/v2.1/addons/bindings/network/readme.html">Network</a></li>
<li><a href="/v2.1/addons/bindings/networkhealth1/readme.html">Network Health</a></li>
<li><a href="/v2.1/addons/bindings/networkupstools1/readme.html">Network UPS Tools</a></li>
<li><a href="/v2.1/addons/bindings/nibeheatpump1/readme.html">Nibe Heatpump</a></li>
<li><a href="/v2.1/addons/bindings/nikobus1/readme.html">Nikobus</a></li>
<li><a href="/v2.1/addons/bindings/nikohomecontrol/readme.html">Niko Home Control</a></li>
<li><a href="/v2.1/addons/bindings/novelanheatpump1/readme.html">Novelan/Luxtronic Heat Pump</a></li>
<li><a href="/v2.1/addons/bindings/ntp/readme.html">NTP</a></li>
<li><a href="/v2.1/addons/bindings/ntp1/readme.html">Network Time Protocol (NTP)</a></li>
<li><a href="/v2.1/addons/bindings/oceanic/readme.html">Oceanic</a></li>
<li><a href="/v2.1/addons/bindings/omnilink1/readme.html">HAI/Leviton Omni and Lumina</a></li>
<li><a href="/v2.1/addons/bindings/onebusaway/readme.html">OneBusAway</a></li>
<li><a href="/v2.1/addons/bindings/onewire1/readme.html">OneWire</a></li>
<li><a href="/v2.1/addons/bindings/onkyo/readme.html">Onkyo</a></li>
<li><a href="/v2.1/addons/bindings/onkyo1/readme.html">Onkyo AV Receiver</a></li>
<li><a href="/v2.1/addons/bindings/openenergymonitor1/readme.html">Open Energy Monitor</a></li>
<li><a href="/v2.1/addons/bindings/openpaths1/readme.html">OpenPaths</a></li>
<li><a href="/v2.1/addons/bindings/opensprinkler/readme.html">OpenSprinkler</a></li>
<li><a href="/v2.1/addons/bindings/opensprinkler1/readme.html">OpenSprinkler</a></li>
<li><a href="/v2.1/addons/bindings/orvibo/readme.html">Orvibo</a></li>
<li><a href="/v2.1/addons/bindings/owserver1/readme.html">OWServer</a></li>
<li><a href="/v2.1/addons/bindings/panasonictv1/readme.html">Panasonic TV</a></li>
<li><a href="/v2.1/addons/bindings/panstamp1/readme.html">panStamp</a></li>
<li><a href="/v2.1/addons/bindings/piface1/readme.html">Piface</a></li>
<li><a href="/v2.1/addons/bindings/pilight1/readme.html">pilight</a></li>
<li><a href="/v2.1/addons/bindings/pioneeravr/readme.html">PioneerAVR Configuration</a></li>
<li><a href="/v2.1/addons/bindings/pioneeravr1/readme.html">Pioneer AV Receiver (1.x)</a></li>
<li><a href="/v2.1/addons/bindings/plcbus1/readme.html">PLCBus</a></li>
<li><a href="/v2.1/addons/bindings/plclogo1/readme.html">PLCLogo</a></li>
<li><a href="/v2.1/addons/bindings/plex1/readme.html">Plex</a></li>
<li><a href="/v2.1/addons/bindings/plugwise1/readme.html">Plugwise</a></li>
<li><a href="/v2.1/addons/bindings/powerdoglocalapi1/readme.html">PowerDog Local API</a></li>
<li><a href="/v2.1/addons/bindings/powermax1/readme.html">Visonic Powermax</a></li>
<li><a href="/v2.1/addons/bindings/primare1/readme.html">Primare</a></li>
<li><a href="/v2.1/addons/bindings/pulseaudio/readme.html">Pulseaudio</a></li>
<li><a href="/v2.1/addons/bindings/pulseaudio1/readme.html">Pulseaudio</a></li>
<li><a href="/v2.1/addons/bindings/rfxcom/readme.html">RFXCOM</a></li>
<li><a href="/v2.1/addons/bindings/rfxcom1/readme.html">RFXCOM</a></li>
<li><a href="/v2.1/addons/bindings/rme/readme.html">RME</a></li>
<li><a href="/v2.1/addons/bindings/rpircswitch1/readme.html">Raspberry Pi RC Switch</a></li>
<li><a href="/v2.1/addons/bindings/russound/readme.html">Russound</a></li>
<li><a href="/v2.1/addons/bindings/rwesmarthome1/readme.html">RWE SmartHome</a></li>
<li><a href="/v2.1/addons/bindings/sagercaster1/readme.html">Sager Weathercaster</a></li>
<li><a href="/v2.1/addons/bindings/sallegra1/readme.html">Sallegra</a></li>
<li><a href="/v2.1/addons/bindings/samsungac1/readme.html">Samsung Air Conditioner</a></li>
<li><a href="/v2.1/addons/bindings/samsungtv/readme.html">Samsung TV</a></li>
<li><a href="/v2.1/addons/bindings/samsungtv1/readme.html">Samsung TV</a></li>
<li><a href="/v2.1/addons/bindings/sapp1/readme.html">Picnet Sapp</a></li>
<li><a href="/v2.1/addons/bindings/satel1/readme.html">Satel Integra Alarm System</a></li>
<li><a href="/v2.1/addons/bindings/sensebox/readme.html">senseBox</a></li>
<li><a href="/v2.1/addons/bindings/serial1/readme.html">Serial</a></li>
<li><a href="/v2.1/addons/bindings/silvercrestwifisocket/readme.html">Silvercrest Wifi Plug</a></li>
<li><a href="/v2.1/addons/bindings/sleepiq/readme.html">SleepIQ</a></li>
<li><a href="/v2.1/addons/bindings/smaenergymeter/readme.html">SMA Energy Meter</a></li>
<li><a href="/v2.1/addons/bindings/smarthomatic1/readme.html">Smarthomatic</a></li>
<li><a href="/v2.1/addons/bindings/snmp1/readme.html">SNMP</a></li>
<li><a href="/v2.1/addons/bindings/sonance1/readme.html">Sonance</a></li>
<li><a href="/v2.1/addons/bindings/sonos/readme.html">Sonos</a></li>
<li><a href="/v2.1/addons/bindings/sonos1/readme.html">Sonos</a></li>
<li><a href="/v2.1/addons/bindings/souliss1/readme.html">Souliss</a></li>
<li><a href="/v2.1/addons/bindings/squeezebox/readme.html">Logitech Squeezebox</a></li>
<li><a href="/v2.1/addons/bindings/squeezebox1/readme.html">Squeezebox</a></li>
<li><a href="/v2.1/addons/bindings/stiebelheatpump1/readme.html">Stiebel Eltron LWZ</a></li>
<li><a href="/v2.1/addons/bindings/swegonventilation1/readme.html">Swegon Ventilation</a></li>
<li><a href="/v2.1/addons/bindings/synopanalyzer/readme.html">Synop Analyzer</a></li>
<li><a href="/v2.1/addons/bindings/systeminfo/readme.html">Systeminfo</a></li>
<li><a href="/v2.1/addons/bindings/systeminfo1/readme.html">System Information</a></li>
<li><a href="/v2.1/addons/bindings/tacmi1/readme.html">TACmi</a></li>
<li><a href="/v2.1/addons/bindings/tankerkoenig/readme.html">Tankerkönig</a></li>
<li><a href="/v2.1/addons/bindings/tcp1/readme.html">TCP & UDP</a></li>
<li><a href="/v2.1/addons/bindings/tellstick/readme.html">Tellstick</a></li>
<li><a href="/v2.1/addons/bindings/tellstick1/readme.html">Tellstick</a></li>
<li><a href="/v2.1/addons/bindings/tesla/readme.html">Tesla</a></li>
<li><a href="/v2.1/addons/bindings/tinkerforge1/readme.html">TinkerForge</a></li>
<li><a href="/v2.1/addons/bindings/tivo1/readme.html">TiVo</a></li>
<li><a href="/v2.1/addons/bindings/toon/readme.html">Toon</a></li>
<li><a href="/v2.1/addons/bindings/tradfri/readme.html">Trådfri</a></li>
<li><a href="/v2.1/addons/bindings/ucprelayboard1/readme.html">UCProjects.eu Relay Board</a></li>
<li><a href="/v2.1/addons/bindings/upb1/readme.html">UPB</a></li>
<li><a href="/v2.1/addons/bindings/urtsi/readme.html">Somfy URTSI II</a></li>
<li><a href="/v2.1/addons/bindings/urtsi1/readme.html">Somfy URTSI II</a></li>
<li><a href="/v2.1/addons/bindings/vdr1/readme.html">Video Disk Recorder (VDR)</a></li>
<li><a href="/v2.1/addons/bindings/vitotronic/readme.html">Vitotronic</a></li>
<li><a href="/v2.1/addons/bindings/wago1/readme.html">WAGO</a></li>
<li><a href="/v2.1/addons/bindings/weather1/readme.html">Weather</a></li>
<li><a href="/v2.1/addons/bindings/wemo/readme.html">Belkin Wemo</a></li>
<li><a href="/v2.1/addons/bindings/wemo1/readme.html">Wemo</a></li>
<li><a href="/v2.1/addons/bindings/wifiled/readme.html">WiFi LED</a></li>
<li><a href="/v2.1/addons/bindings/windcentrale/readme.html">Windcentrale</a></li>
<li><a href="/v2.1/addons/bindings/withings1/readme.html">Withings</a></li>
<li><a href="/v2.1/addons/bindings/wol1/readme.html">Wake-on-LAN</a></li>
<li><a href="/v2.1/addons/bindings/wr32231/readme.html">WR3223 ventilation controller</a></li>
<li><a href="/v2.1/addons/bindings/xbmc1/readme.html">XBMC binding (for KODI) (1.x)</a></li>
<li><a href="/v2.1/addons/bindings/xpl1/readme.html">xPL</a></li>
<li><a href="/v2.1/addons/bindings/yahooweather/readme.html">YahooWeather</a></li>
<li><a href="/v2.1/addons/bindings/yamahareceiver/readme.html">Yamahareceiver</a></li>
<li><a href="/v2.1/addons/bindings/yamahareceiver1/readme.html">Yamaha Receiver (1.x)</a></li>
<li><a href="/v2.1/addons/bindings/zibase1/readme.html">Zibase</a></li>
<li><a href="/v2.1/addons/bindings/zigbee/readme.html">ZigBee</a></li>
<li><a href="/v2.1/addons/bindings/zoneminder/readme.html">Zoneminder</a></li>
<li><a href="/v2.1/addons/bindings/zwave/readme.html">ZWave</a></li>
<li><a href="/v2.1/addons/bindings/zwave1/readme.html">Z-Wave</a></li>
<li><a href="/v2.1/addons/bindings/zway/readme.html">Z-Way</a></li>
</ul>
</li>
<li><a href="/v2.1/addons/uis.html">User Interfaces</a>
<ul>
<li><a href="/v2.1/addons/uis.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/uis/basic/readme.html">Basic UI</a></li>
<li><a href="/v2.1/addons/uis/classic/readme.html">Classic UI</a></li>
<li><a href="/v2.1/addons/uis/habmin/readme.html">HABmin</a></li>
<li><a href="/v2.1/addons/uis/habpanel/readme.html">HABPanel</a></li>
<li><a href="/v2.1/addons/uis/paper/readme.html">Paper UI</a></li>
<hr />
<li><a href="/v2.1/addons/uis/apps/android.html">Android openHAB App</a></li>
<li><a href="/v2.1/addons/uis/apps/ios.html">iOS openHAB App</a></li>
<li><a href="/v2.1/addons/uis/apps/windows.html">Windows 10 openHAB App</a></li>
<hr />
<li><a href="/v2.1/addons/iconsets/classic/readme.html">Iconset (classic)</a></li>
</ul>
</li>
<li><a href="/v2.1/addons/persistence.html">Persistence</a>
<ul>
<li><a href="/v2.1/addons/persistence.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/persistence/caldav/readme.html">CalDAV</a></li>
<li><a href="/v2.1/addons/persistence/cosm/readme.html">Xively (formerly Cosm)</a></li>
<li><a href="/v2.1/addons/persistence/db4o/readme.html">db4o</a></li>
<li><a href="/v2.1/addons/persistence/dynamodb/readme.html">Amazon DynamoDB</a></li>
<li><a href="/v2.1/addons/persistence/exec/readme.html">Exec</a></li>
<li><a href="/v2.1/addons/persistence/influxdb/readme.html">InfluxDB (0.9 and newer)</a></li>
<li><a href="/v2.1/addons/persistence/influxdb08/readme.html">InfluxDB (up to 0.8.x)</a></li>
<li><a href="/v2.1/addons/persistence/jdbc/readme.html">JDBC</a></li>
<li><a href="/v2.1/addons/persistence/jpa/readme.html">Java Persistence API (JPA)</a></li>
<li><a href="/v2.1/addons/persistence/mapdb/readme.html">mapdb</a></li>
<li><a href="/v2.1/addons/persistence/mongodb/readme.html">MongoDB</a></li>
<li><a href="/v2.1/addons/persistence/mqtt/readme.html">MQTT</a></li>
<li><a href="/v2.1/addons/persistence/mysql/readme.html">MySQL</a></li>
<li><a href="/v2.1/addons/persistence/rrd4j/readme.html">rrd4j</a></li>
<li><a href="/v2.1/addons/persistence/sense/readme.html">Sen.Se</a></li>
<li><a href="/v2.1/addons/persistence/sitewhere/readme.html">SiteWhere</a></li>
</ul>
</li>
<li><a href="/v2.1/addons/actions.html">Actions</a>
<ul>
<li><a href="/v2.1/addons/actions.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/actions/astro/readme.html">Astro</a></li>
<li><a href="/v2.1/addons/actions/ciscospark/readme.html">Cisco Spark</a></li>
<li><a href="/v2.1/addons/actions/dscalarm/readme.html">DSC Alarm</a></li>
<li><a href="/v2.1/addons/actions/ecobee/readme.html">Ecobee</a></li>
<li><a href="/v2.1/addons/actions/harmonyhub/readme.html">Logitech Harmony Hub</a></li>
<li><a href="/v2.1/addons/actions/homematic/readme.html">Homematic</a></li>
<li><a href="/v2.1/addons/actions/mail/readme.html">Mail</a></li>
<li><a href="/v2.1/addons/actions/mios/readme.html">MiOS</a></li>
<li><a href="/v2.1/addons/actions/mqtt/readme.html">MQTT</a></li>
<li><a href="/v2.1/addons/actions/nma/readme.html">NotifyMyAndroid</a></li>
<li><a href="/v2.1/addons/actions/openwebif/readme.html">OpenWebIf</a></li>
<li><a href="/v2.1/addons/actions/pebble/readme.html">Pebble</a></li>
<li><a href="/v2.1/addons/actions/prowl/readme.html">Prowl</a></li>
<li><a href="/v2.1/addons/actions/pushover/readme.html">Pushover</a></li>
<li><a href="/v2.1/addons/actions/pushsafer/readme.html">Pushsafer</a></li>
<li><a href="/v2.1/addons/actions/satel/readme.html">Satel</a></li>
<li><a href="/v2.1/addons/actions/squeezebox/readme.html">Squeezebox</a></li>
<li><a href="/v2.1/addons/actions/telegram/readme.html">Telegram</a></li>
<li><a href="/v2.1/addons/actions/tinkerforge/readme.html">TinkerForge</a></li>
<li><a href="/v2.1/addons/actions/twitter/readme.html">Twitter</a></li>
<li><a href="/v2.1/addons/actions/weather/readme.html">Weather</a></li>
<li><a href="/v2.1/addons/actions/xbmc/readme.html">XBMC</a></li>
<li><a href="/v2.1/addons/actions/xmpp/readme.html">XMPP</a></li>
<li><a href="/v2.1/addons/actions/xpl/readme.html">xPL</a></li>
</ul>
</li>
<li><a href="/v2.1/addons/transformations.html">Transformations</a>
<ul>
<li><a href="/v2.1/addons/transformations.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/transformations/exec/readme.html">Exec</a></li>
<li><a href="/v2.1/addons/transformations/javascript/readme.html">JavaScript</a></li>
<li><a href="/v2.1/addons/transformations/jsonpath/readme.html">JsonPath</a></li>
<li><a href="/v2.1/addons/transformations/map/readme.html">Map</a></li>
<li><a href="/v2.1/addons/transformations/regex/readme.html">RegEx</a></li>
<li><a href="/v2.1/addons/transformations/scale/readme.html">Scale</a></li>
<li><a href="/v2.1/addons/transformations/xpath/readme.html">XPath</a></li>
<li><a href="/v2.1/addons/transformations/xslt/readme.html">XSLT</a></li>
</ul>
</li>
<li><a href="/v2.1/addons/voice.html">Voice Services</a>
<ul>
<li><a href="/v2.1/addons/voice.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/voice/mactts/readme.html">MacOS Text-to-Speech</a></li>
<li><a href="/v2.1/addons/voice/marytts/readme.html">Mary Text-to-Speech</a></li>
<li><a href="/v2.1/addons/voice/voicerss/readme.html">VoiceRSS Text-to-Speech</a></li>
</ul>
</li>
<hr />
<li><a href="/v2.1/addons/io.html">3rd Party Integration</a>
<ul>
<li><a href="/v2.1/addons/io.html">Overview</a></li>
<hr />
<li><a href="/v2.1/addons/io/dropbox/readme.html">Dropbox Synchronization</a></li>
<li><a href="/v2.1/addons/io/gcal/readme.html">Google Calendar Scheduler</a></li>
<li><a href="/v2.1/addons/io/homekit/readme.html">HomeKit Add-on</a></li>
<li><a href="/v2.1/addons/io/hueemulation/readme.html">openHAB Hue Emulation</a></li>
<li><a href="/v2.1/addons/io/imperihome/readme.html">ImperiHome integration service</a></li>
<li><a href="/v2.1/addons/io/openhabcloud/readme.html">openHAB Cloud Connector</a></li>
<hr />
<li><a href="/v2.1/configuration/restdocs.html">REST API</a></li>
<li><a href="http://www.myopenhab.org/" target="_blank">IFTTT</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/v2.1/administration/index.html">Advanced Functionality</a>
<ul>
<li><a href="/v2.1/administration/index.html">Overview</a></li>
<hr />
<li><a href="/v2.1/administration/console.html">Console</a></li>
<li><a href="/v2.1/administration/runtime.html">Runtime Commands</a></li>
<li><a href="/v2.1/administration/bundles.html">Bundle Management</a></li>
<li><a href="/v2.1/administration/logging.html">Logging</a></li>
<hr />
<li><a href="/v2.1/administration/jsondb.html">JsonDB Storage</a></li>
</ul>
</li>
<li><a href="/v2.1/appendix/help.html">Community Guidance</a>
<ul>
<li><a href="/v2.1/appendix/help.html">Finding Help &amp; FAQs</a></li>
<li><a href="/v2.1/appendix/contributing.html">Contributing</a></li>
</ul>
</li>
</ul>
</div>
<div id="versioning" class="row valign-wrapper">
<div class="col s12 right-align">
<ul id="dropdown-versioning" class="dropdown-content">
<li><a href="/v2.1/../installation/linux.html">latest version</a></li>
<li><a href="/v2.1/../v2.2/installation/linux.html">v2.2</a></li>
<li><a href="/v2.1/installation/linux.html">v2.1<i class="tiny material-icons right">lens</i></a></li>
</ul>
<a class="btn dropdown-button grey lighten-1" href="#!" data-activates="dropdown-versioning" title="Select which version of this openHAB documentation article you want to read.">
Switch Article Version<i class="material-icons right">arrow_drop_down</i>
</a>
</div>
</div>
<div class="content">
<h1 id="openhab-2-on-linux">openHAB 2 on Linux</h1>
<p>The following instructions will guide you through the process of setting up openHAB 2 and recommended packages for both .DEB (Ubuntu, Debian etc.) and .RPM (RedHat, CentOS, Fedora etc.) Linux systems.</p>
<p>All instructions can be executed in a terminal or remotely via SSH connection.</p>
<p>This page is structured as follows:</p>
<ul id="markdown-toc">
<li><a href="#installation" id="markdown-toc-installation">Installation</a> <ul>
<li><a href="#package-repository-installation" id="markdown-toc-package-repository-installation">Package Repository Installation</a> <ul>
<li><a href="#service-control" id="markdown-toc-service-control">Service Control</a></li>
<li><a href="#changing-versions" id="markdown-toc-changing-versions">Changing Versions</a></li>
<li><a href="#backup-and-restore" id="markdown-toc-backup-and-restore">Backup and Restore</a></li>
<li><a href="#uninstall" id="markdown-toc-uninstall">Uninstall</a></li>
</ul>
</li>
<li><a href="#manual-installation" id="markdown-toc-manual-installation">Manual Installation</a> <ul>
<li><a href="#service" id="markdown-toc-service">Service</a></li>
<li><a href="#installing-add-ons" id="markdown-toc-installing-add-ons">Installing add-ons</a></li>
<li><a href="#backup-and-restore-1" id="markdown-toc-backup-and-restore-1">Backup and Restore</a></li>
<li><a href="#upgrade" id="markdown-toc-upgrade">Upgrade</a></li>
<li><a href="#uninstall-1" id="markdown-toc-uninstall-1">Uninstall</a></li>
</ul>
</li>
<li><a href="#file-locations" id="markdown-toc-file-locations">File Locations</a></li>
</ul>
</li>
<li><a href="#viewing-log-messages" id="markdown-toc-viewing-log-messages">Viewing Log Messages</a></li>
<li><a href="#recommended-additional-setup-steps" id="markdown-toc-recommended-additional-setup-steps">Recommended Additional Setup Steps</a> <ul>
<li><a href="#privileges-for-common-peripherals" id="markdown-toc-privileges-for-common-peripherals">Privileges for Common Peripherals</a></li>
<li><a href="#java-network-permissions" id="markdown-toc-java-network-permissions">Java Network Permissions</a></li>
<li><a href="#network-sharing" id="markdown-toc-network-sharing">Network Sharing</a> <ul>
<li><a href="#mounting-locally" id="markdown-toc-mounting-locally">Mounting Locally</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<p>If you are unfamiliar with Linux, SSH and the Linux console or if you want to improve your skills, read up on these important topics.
A lot of helpful articles can be found on the internet, for example:</p>
<ul>
<li>“Learn the ways of Linux-fu, for free” interactively with exercises at <a href="https://linuxjourney.com">linuxjourney.com</a>.</li>
</ul>
<p>Linux file permissions is one of the biggest sources of issues, Linux novices run into.
If you find yourself in a situation, where you have <strong>no write access</strong> to the openHAB configuration or system files wrong permissions and/or the incorrect use of <code class="highlighter-rouge">sudo</code> are often the cause.
Train your understanding of Linux permissions at <a href="https://linuxjourney.com/lesson/file-permissions">linuxjourney.com/lesson/file-permissions</a>.</p>
<p><strong>Meeting the Requirements:</strong>
As a first step, please verify, that your system meets the <a href="index.html#prerequisites">prerequisites</a>.</p>
<div><ul class="collapsible">
<li><div class="collapsible-header">
<p>Apt Based Systems</p>
</div><div class="collapsible-body">
<p>A repository providing the latest Oracle Java 8 revision (above “101”) is being maintained by the <a href="https://launchpad.net/~webupd8team/+archive/ubuntu/java">Webupd8 Team</a>.
Follow the provided guides for either a <a href="http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html">repository based</a> or a <a href="http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html">PPA based</a> installation.
In short these are the commands to execute step-by-step on most systems:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s2">"deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"</span> | <span class="nb">sudo </span>tee /etc/apt/sources.list.d/webupd8team-java.list
<span class="nb">echo</span> <span class="s2">"deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"</span> | <span class="nb">sudo </span>tee <span class="nt">-a</span> /etc/apt/sources.list.d/webupd8team-java.list
<span class="nb">sudo </span>apt-key adv <span class="nt">--keyserver</span> hkp://keyserver.ubuntu.com:80 <span class="nt">--recv-keys</span> EEA14886
<span class="nb">sudo </span>apt-get update
<span class="nb">sudo </span>apt-get install oracle-java8-installer
<span class="nb">sudo </span>apt-get install oracle-java8-set-default
</code></pre></div> </div>
</div></li>
<li><div class="collapsible-header">
<p>Yum or Dnf Based Systems</p>
</div><div class="collapsible-body">
<p>To get the latest version go to the <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html">Oracle Java 8 JRE Downloads Page</a>.
You then need to accept the license agreement, copy the download link of the appropriate Linux .rpm package and then finally paste it place of “[Download Link Here]” below:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~
wget <span class="nt">--no-check-certificate</span> <span class="nt">--no-cookies</span> <span class="nt">--header</span> <span class="s2">"Cookie: oraclelicense=accept-securebackup-cookie"</span> <span class="s2">"[Download Link Here]"</span>
</code></pre></div> </div>
<p>You can then install the downloaded package with:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum localinstall jdk-8u60-linux-x64.rpm
</code></pre></div> </div>
</div></li>
</ul></div>
<h2 id="installation">Installation</h2>
<p>openHAB 2 can be installed though a package repository or manually from file.
The installation through a provided <strong>package repository</strong> (using <code class="highlighter-rouge">apt</code>, <code class="highlighter-rouge">apt-get</code>, <code class="highlighter-rouge">yum</code> or <code class="highlighter-rouge">dnf</code>) is <strong>recommended</strong> for end users.
The manual installation through a platform independent archive file is suited for users who know what they are doing.</p>
<h3 id="package-repository-installation">Package Repository Installation</h3>
<p>Installation through a package repository is the recommended choice. You can select the appropriate installation instructions by expanding from the apt or yum instructions.
Alternatively resort to the <a href="#manual-installation">manual installation approach</a>.</p>
<div><ul class="collapsible">
<li><div class="collapsible-header">
<p>Apt Based Systems</p>
</div><div class="collapsible-body">
<p>First, add the openHAB 2 Bintray repository key to your package manager and allow Apt to use the HTTPS Protocol:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wget <span class="nt">-qO</span> - <span class="s1">'https://bintray.com/user/downloadSubjectPublicKey?username=openhab'</span> | <span class="nb">sudo </span>apt-key add -
<span class="nb">sudo </span>apt-get install apt-transport-https
</code></pre></div> </div>
<p>Then, you can choose between, <em>Official (Stable)</em>, <em>Beta</em> or <em>Snapshot</em> builds:</p>
<ul>
<li>
<p><strong>Stable Release</strong></p>
<p>The stable builds contain the latest official release with tested features.</p>
<p>Add the <strong>openHAB 2 Stable Repository</strong> to your systems apt sources list:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s1">'deb https://dl.bintray.com/openhab/apt-repo2 stable main'</span> | <span class="nb">sudo </span>tee /etc/apt/sources.list.d/openhab2.list
</code></pre></div> </div>
</li>
<li>
<p><strong>Testing Release</strong></p>
<p>The beta and release candidate builds come out less frequently, but will contain new features that are currently in the testing phase.</p>
<p>Add the <strong>openHAB 2 Beta Repository</strong> to your systems apt sources list:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s1">'deb https://dl.bintray.com/openhab/apt-repo2 testing main'</span> | <span class="nb">sudo </span>tee /etc/apt/sources.list.d/openhab2.list
</code></pre></div> </div>
</li>
<li>
<p><strong>Snapshot Release</strong></p>
<p>The snapshot build is created <a href="https://openhab.ci.cloudbees.com/job/openhab-linuxpkg/">almost daily</a>, and include the latest changes to the openHAB 2 core and add-ons.
These changes are often unstable, so you should use this branch only for testing or development purposes.</p>
<p>The snapshot repository is hosted in openHABs <a href="https://www.jfrog.com/Artifactory">JFrog Artifactory instance</a>.
To use it, add the <strong>openHAB 2 Unstable Repository</strong> to your systems apt sources list:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s1">'deb https://openhab.jfrog.io/openhab/openhab-linuxpkg unstable main'</span> | <span class="nb">sudo </span>tee /etc/apt/sources.list.d/openhab2.list
</code></pre></div> </div>
</li>
</ul>
<p>Next, resynchronize the package index:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get update
</code></pre></div> </div>
<p>Now install openHAB with the following command:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install openhab2
</code></pre></div> </div>
<p>When you choose to install an add-on, openHAB will download it from the internet on request.
If you plan on disconnecting your machine from the internet, then you will want to also install the add-ons package.</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install openhab2-addons
</code></pre></div> </div>
</div></li>
<li><div class="collapsible-header">
<p>Yum or Dnf Based Systems</p>
</div><div class="collapsible-body">
<p>The RPM repo information should be defined inside a file, make a new file at <code class="highlighter-rouge">/etc/yum.repos.d/openhab.repo</code> with the following contents depending on your choice of release.
You may add all three to the same file, but make sure the desired repo is is set to <code class="highlighter-rouge">enabled=1</code>:</p>
<ul>
<li>
<p><strong>Stable Release</strong></p>
<p>The stable builds contain the latest official release with tested features.</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[openHAB-Stable]
name=openHAB 2.x.x Stable
baseurl=https://dl.bintray.com/openhab/rpm-repo2/stable
gpgcheck=1
gpgkey=https://bintray.com/user/downloadSubjectPublicKey?username=openhab
enabled=1
</code></pre></div> </div>
</li>
<li>
<p><strong>Testing Release</strong></p>
<p>The beta or release candidate builds come out less frequently, but will contain new features that are currently in the testing phase.</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[openHAB-Testing]
name=openHAB 2.x.x Testing
baseurl=https://dl.bintray.com/openhab/rpm-repo2/testing
gpgcheck=1
gpgkey=https://bintray.com/user/downloadSubjectPublicKey?username=openhab
enabled=1
</code></pre></div> </div>
</li>
<li>
<p><strong>Snapshot Release</strong></p>
<p>The snapshot build is created <a href="https://openhab.ci.cloudbees.com/job/openhab-linuxpkg/">almost daily</a>, and include the latest changes to the openHAB 2 core and add-ons.
These changes are often unstable, so you should use this branch only for testing or development purposes.</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[openHAB-Snapshots]
name=openHAB 2.x.x Snapshots
baseurl=https://openhab.jfrog.io/openhab/openhab-linuxpkg-rpm/unstable
gpgcheck=1
gpgkey=https://openhab.jfrog.io/openhab/api/gpg/key/public
enabled=1
</code></pre></div> </div>
</li>
</ul>
<p>Now install openHAB with the following command, please note that for systems that support it <code class="highlighter-rouge">dnf</code> can be used instead of yum:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum install openhab2
</code></pre></div> </div>
<p>When you choose to install an add-on, openHAB will download it from the internet on request.
If you plan on disconnecting your machine from the internet, then you will want to also install the add-ons package.</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum install openhab2-addons
</code></pre></div> </div>
</div></li>
</ul></div>
<p>Optionally, you may in addition install the legacy add-ons package <code class="highlighter-rouge">openhab2-addons-legacy</code>.
This package contains 1.x bindings, for which there is already a 2.x version available.
This might be useful if youre <a href="/v2.1/tutorials/migration.html">coming from openHAB 1.x</a> for example.</p>
<p>If everything went well, you can start openHAB and register it to be automatically executed at system startup.</p>
<div><ul class="collapsible">
<li><div class="collapsible-header">
<p>Systems based on <strong>sysVinit</strong> (e.g. Ubuntu 14.x, Debian Wheezy and older):</p>
</div><div class="collapsible-body">
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo</span> /etc/init.d/openhab2 start
<span class="nb">sudo</span> /etc/init.d/openhab2 status
<span class="nb">sudo </span>update-rc.d openhab2 defaults
</code></pre></div> </div>
</div></li>
<li><div class="collapsible-header">
<p>Systems based on <strong>systemd</strong> (e.g. Debian 8, Ubuntu 15.x, Raspbian Jessie and newer):</p>
</div><div class="collapsible-body">
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>systemctl start openhab2.service
<span class="nb">sudo </span>systemctl status openhab2.service
<span class="nb">sudo </span>systemctl daemon-reload
<span class="nb">sudo </span>systemctl <span class="nb">enable </span>openhab2.service
</code></pre></div> </div>
</div></li>
</ul></div>
<p>The first start may take <strong>up to 15 minutes</strong>, this is a good time to reward yourself with hot coffee or a freshly brewed tea!</p>
<p>You should be able to reach the openHAB 2 portal at <a href="http://openhab-device:8080">http://openhab-device:8080</a> at this point.
If youre new to openHAB, then you should checkout the <a href="/v2.1/tutorials/beginner/1sttimesetup.html">beginners tutorial</a>!</p>
<p><img src="images/Accueil_Openhab_2.png" alt="The openHAB 2 portal page" /></p>
<h4 id="service-control">Service Control</h4>
<p>openHAB will run as a service in the background.
The most important commands to control the openHAB service are given below.</p>
<div><ul class="collapsible">
<li><div class="collapsible-header">
<p>Systems based on <strong>sysVinit</strong> (e.g. Ubuntu 14.x, Debian Wheezy and older):</p>
</div><div class="collapsible-body">
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c"># Learn about the current service status</span>
<span class="nb">sudo</span> /etc/init.d/openhab2 status
<span class="c"># (Re-)Start openHAB (background service)</span>
<span class="nb">sudo</span> /etc/init.d/openhab2 restart
<span class="c"># Stop the openHAB background service</span>
<span class="nb">sudo</span> /etc/init.d/openhab2 stop
<span class="c"># Make openHAB automatically start after booting the Linux host</span>
<span class="nb">sudo </span>update-rc.d openhab2 defaults
</code></pre></div> </div>
</div></li>
<li><div class="collapsible-header">
<p>Systems based on <strong>systemd</strong> (e.g. Debian 8, Ubuntu 15.x, Raspbian Jessie and newer):</p>
</div><div class="collapsible-body">
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c"># Learn about the current service status</span>
<span class="nb">sudo </span>systemctl status openhab2.service
<span class="c"># (Re-)Start openHAB (background service)</span>
<span class="nb">sudo </span>systemctl restart openhab2.service
<span class="c"># Stop the openHAB background service</span>
<span class="nb">sudo </span>systemctl stop openhab2.service
<span class="c"># Make openHAB automatically start after booting the Linux host</span>
<span class="nb">sudo </span>systemctl daemon-reload
<span class="nb">sudo </span>systemctl <span class="nb">enable </span>openhab2.service
</code></pre></div> </div>
</div></li>
</ul></div>
<h4 id="changing-versions">Changing Versions</h4>
<p>To stay up to date with new releases, you should do regular upgrades.
This is especially important if you are working with the latest snapshot as changes and fixes are incorporated constantly.</p>
<p>Your personal configuration will be retained on upgrades.
We still recommend a backup before each upgrade.</p>
<div><ul class="collapsible">
<li><div class="collapsible-header">
<p>Apt Based Systems</p>
</div><div class="collapsible-body">
<p>Upgrading is as easy as:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get update
<span class="nb">sudo </span>apt-get upgrade
</code></pre></div> </div>
<p>You may want to switch to a different repo, or an older (but more stable) version of openHAB.
To do this, simply select the repo as in the <a href="#package-repository-installation">installation instructions above</a>, then find the version by bringing a list of all versions available to install:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get update
apt-cache showpkg openhab2
</code></pre></div> </div>
<p>Once you know which version you want, you can upgrade/downgrade to it by using the <code class="highlighter-rouge">apt-get install openhab2=[version]</code> command, for example:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install <span class="nv">openhab2</span><span class="o">=</span>2.1.0-1
</code></pre></div> </div>
</div></li>
<li><div class="collapsible-header">
<p>Yum or Dnf Based Systems</p>
</div><div class="collapsible-body">
<p>Upgrading is as easy as: (you can use <code class="highlighter-rouge">dnf</code> instead of <code class="highlighter-rouge">yum</code> for systems that support it)</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum upgrade
</code></pre></div> </div>
<p>You may want to switch to a different version of openHAB.
To do this, simply select the repo as in the <a href="#package-repository-installation">installation instructions above</a>, then find the version by bringing a list of all versions available to install:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rpm <span class="nt">-q</span> openhab2
</code></pre></div> </div>
<p>Once you know which version you want, you can upgrade/downgrade to it by using the <code class="highlighter-rouge">yum install openhab2-[version]</code> command, for example:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum install openhab2-2.1.0-1
</code></pre></div> </div>
</div></li>
</ul></div>
<h4 id="backup-and-restore">Backup and Restore</h4>
<p>To make a backup of your openHAB 2 system, you need to retain your configuration and userdata files.</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># stop openhab instance (here: systemd service)</span>
<span class="nb">sudo </span>systemctl stop openhab2.service
<span class="c"># prepare backup folder, replace by your desired destination</span>
<span class="nv">BACKUPDIR</span><span class="o">=</span><span class="s2">"/srv/openhab2-backup/openhab2-backup-</span><span class="k">$(</span>date +%Y%m%d_%H%M%S<span class="k">)</span><span class="s2">"</span>
mkdir <span class="nt">-p</span> <span class="nv">$BACKUPDIR</span>
<span class="c"># backup current installation with settings</span>
cp <span class="nt">-arv</span> /etc/openhab2 <span class="s2">"</span><span class="nv">$BACKUPDIR</span><span class="s2">/conf"</span>
cp <span class="nt">-arv</span> /var/lib/openhab2 <span class="s2">"</span><span class="nv">$BACKUPDIR</span><span class="s2">/userdata"</span>
rm <span class="nt">-rf</span> <span class="s2">"</span><span class="nv">$BACKUPDIR</span><span class="s2">/userdata/cache"</span>
rm <span class="nt">-rf</span> <span class="s2">"</span><span class="nv">$BACKUPDIR</span><span class="s2">/userdata/tmp"</span>
<span class="c"># restart openhab instance</span>
<span class="nb">sudo </span>systemctl start openhab2.service
</code></pre></div></div>
<p>If you later want to restore settings, just replace them.
Maybe you will need to delete the existing data first.</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># stop openhab instance (here: systemd service)</span>
<span class="nb">sudo </span>systemctl stop openhab2.service
<span class="c"># restore data and fix permissions</span>
<span class="nb">sudo </span>cp <span class="nt">-arv</span> /srv/openhab2-backup/openhab2-backup-20160131_235959/conf/<span class="k">*</span> /etc/openhab2/
<span class="nb">sudo </span>cp <span class="nt">-arv</span> /srv/openhab2-backup/openhab2-backup-20160131_235959/userdata/<span class="k">*</span> /var/lib/openhab2/
<span class="nb">sudo </span>chown <span class="nt">-R</span> openhab /var/lib/openhab2
<span class="c"># restart openhab instance</span>
<span class="nb">sudo </span>systemctl start openhab2.service
</code></pre></div></div>
<h4 id="uninstall">Uninstall</h4>
<p>To uninstall openHAB 2 and get rid of all related files managed by the package manager, make a backup, then uninstall openHAB and remove the repository:</p>
<div><ul class="collapsible">
<li><div class="collapsible-header">
<p>Apt Based Systems</p>
</div><div class="collapsible-body">
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get purge openhab2<span class="k">*</span>
<span class="nb">sudo </span>rm /etc/apt/sources.list.d/openhab2.list
</code></pre></div> </div>
</div></li>
<li><div class="collapsible-header">
<p>Yum or Dnf Based Systems</p>
</div><div class="collapsible-body">
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum remove openhab2<span class="k">*</span>
<span class="nb">sudo </span>rm /etc/yum.repos.d/openHAB.repo
</code></pre></div> </div>
</div></li>
</ul></div>
<h3 id="manual-installation">Manual Installation</h3>
<p>The manual installation/setup is an alternative to the otherwise <strong>recommended</strong> <a href="#package-repository-installation">installation through package repository</a>.</p>
<p>First, create a Linux system user for openHAB.
This user will later serve to execute the openHAB runtime with restricted permissions and can be used by other services like Samba if desired.</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>adduser <span class="nt">--system</span> <span class="nt">--no-create-home</span> <span class="nt">--group</span> <span class="nt">--disabled-login</span> openhab
</code></pre></div></div>
<p>We are going to download a platform independent archive file and extract it to the path <code class="highlighter-rouge">/opt/openhab2</code>.
Choose between the latest Beta release or a Snapshot with all incoming contributions, created daily.
As openHAB 2 is still in an evolving state, the snapshot may be the <strong>preferred choice</strong>.</p>
<ul>
<li>
<p><strong>Official Release</strong></p>
<p>Download and extract the latest offical stable version of openHAB 2 from <a href="https://bintray.com/openhab/mvn/openhab-distro">bintray.com/openhab</a> to your host:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /tmp
wget <span class="nt">-O</span> openhab-download.zip https://bintray.com/... <span class="c"># Insert download link here</span>
<span class="nb">sudo </span>unzip openhab-download.zip <span class="nt">-d</span> /opt/openhab2
rm openhab-download.zip
</code></pre></div> </div>
</li>
<li>
<p><strong>Beta/RC Release</strong></p>
<p>If available, beta or release candidate builds of openHAB 2 can also be downloaded from <a href="https://bintray.com/openhab/mvn/openhab-distro">bintray.com/openhab</a> and extracted to your host as shown above.</p>
</li>
<li>
<p><strong>Snapshot Release</strong></p>
<p>Download and extract the latest snapshot version of openHAB 2 from <a href="https://openhab.ci.cloudbees.com/job/openHAB-Distribution">openhab.ci.cloudbees.com</a> to your host. The process is analogue to above.</p>
</li>
</ul>
<p>The extracted openHAB files should belong to the earlier created openhab user.
Execute:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>chown <span class="nt">-hR</span> openhab:openhab /opt/openhab2
</code></pre></div></div>
<p>Everything is ready for a first test run.
<strong>Execute</strong> openHAB and you should be able to reach the openHAB 2 Portal at <a href="">http://openhab-device:8080</a> after a few minutes:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># execute as restricted user openhab:</span>
<span class="nb">sudo </span>su <span class="nt">-s</span> /bin/bash <span class="nt">-c</span> <span class="s1">'/opt/openhab2/start.sh'</span> openhab
</code></pre></div></div>
<p>You will see the openHAB Karaf Console in your terminal and can directly interact with it.
Please be aware, that openHAB 2 will need a few minutes so finish the first start, even after the Karaf console is visible.
Let openHAB 2 settle for <strong>around 15 minutes</strong>.
If the portal is not reachable by then, restart once.</p>
<p><img src="images/Accueil_Openhab_2.png" alt="The openHAB 2 portal page" /></p>
<p>An important downside of the above method is, that openHAB will be terminated, as soon as you close your terminal.
To work around that, a quick solution is, to execute openHAB in a detached <a href="https://www.howtoforge.com/linux_screen">screen</a> terminal.</p>
<p>A cleaner approach is to create a Linux service.</p>
<h4 id="service">Service</h4>
<p>The following instructions are intended for a Linux init system based on <strong>systemd</strong> (e.g. Debian 8 / Ubuntu 15.x and newer).
This will allow you to register openHAB as a service, so that it runs at startup and automatically restarts if openHAB crashes.
The service will be running with the privileges of the user “openhab” and expects the openHAB files under <code class="highlighter-rouge">/opt/openhab2</code>.</p>
<p>Create the file <code class="highlighter-rouge">/lib/systemd/system/openhab2.service</code> with the following content:</p>
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[Unit]</span>
<span class="py">Description</span><span class="p">=</span><span class="s">The openHAB 2 Home Automation Bus Solution</span>
<span class="py">Documentation</span><span class="p">=</span><span class="s">http://docs.openhab.org</span>
<span class="py">Wants</span><span class="p">=</span><span class="s">network-online.target</span>
<span class="py">After</span><span class="p">=</span><span class="s">network-online.target</span>
<span class="nn">[Service]</span>
<span class="py">Type</span><span class="p">=</span><span class="s">simple</span>
<span class="py">User</span><span class="p">=</span><span class="s">openhab</span>
<span class="py">Group</span><span class="p">=</span><span class="s">openhab</span>
<span class="py">GuessMainPID</span><span class="p">=</span><span class="s">yes</span>
<span class="py">WorkingDirectory</span><span class="p">=</span><span class="s">/opt/openhab2</span>
<span class="c">#EnvironmentFile=/etc/default/openhab2
</span><span class="py">ExecStart</span><span class="p">=</span><span class="s">/opt/openhab2/start.sh server</span>
<span class="py">ExecStop</span><span class="p">=</span><span class="s">/bin/kill -SIGINT $MAINPID</span>
<span class="py">Restart</span><span class="p">=</span><span class="s">on-failure</span>
<span class="nn">[Install]</span>
<span class="py">WantedBy</span><span class="p">=</span><span class="s">multi-user.target</span>
</code></pre></div></div>
<p>Next, enable the service to be executed on system startup, start the service and retrieve status information:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># initialize the new service (execute only once)</span>
<span class="nb">sudo </span>systemctl daemon-reload
<span class="nb">sudo </span>systemctl <span class="nb">enable </span>openhab2.service
<span class="c">#start and retrieve status</span>
<span class="nb">sudo </span>systemctl start openhab2.service
<span class="nb">sudo </span>systemctl status openhab2.service
</code></pre></div></div>
<p>The output of <code class="highlighter-rouge">status</code> after a successful execution should be similar to:</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code> openhab2.service - The openHAB 2 Home Automation Bus Solution
Loaded: loaded (/lib/systemd/system/openhab2.service; enabled)
Active: active (running) since Thu 2016-08-14 01:16:00 GMT; 18h ago
Docs: http://docs.openhab.org
</code></pre></div></div>
<h4 id="installing-add-ons">Installing add-ons</h4>
<p>When running a manual installation, it is possible to pre-download add-ons or legacy add-ons if you want to install any bindings at a later date without connecting to the internet.
Simply download the kar files (the latest builds can be found <a href="https://openhab.ci.cloudbees.com/job/openHAB-Distribution/">here</a>) and move them to the <code class="highlighter-rouge">/opt/openhab2/addons</code> folder.</p>
<h4 id="backup-and-restore-1">Backup and Restore</h4>
<p>We recommend a backup before each upgrade, or before any major change to a configuration. To make a backup of your openHAB 2 system, you need to retain your configuration and userdata files.</p>
<p>The following shell commands will create a backup:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># stop openhab instance (here: systemd service)</span>
<span class="nb">sudo </span>systemctl stop openhab2.service
<span class="c"># backup current installation with settings</span>
<span class="nv">TIMESTAMP</span><span class="o">=</span><span class="s2">"</span><span class="k">$(</span>date +%Y%m%d_%H%M%S<span class="k">)</span><span class="s2">"</span>
<span class="nb">sudo </span>mv /opt/openhab2 /opt/openhab2-backup-<span class="nv">$TIMESTAMP</span>
</code></pre></div></div>
<p>You may restore these files by moving them back into your openhab folder, where <code class="highlighter-rouge">20170626_201143</code> is an example of the timestamp set on the folder earlier:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># restore configuration and userdata</span>
<span class="nb">sudo </span>cp <span class="nt">-arv</span> /opt/openhab2-backup-20170626_201143/conf /opt/openhab2/
<span class="nb">sudo </span>cp <span class="nt">-arv</span> /opt/openhab2-backup-20170626_201143/userdata /opt/openhab2/
<span class="c"># fix permissions</span>
<span class="nb">sudo </span>chown <span class="nt">-hR</span> openhab:openhab /opt/openhab2
<span class="c"># restart openhab instance</span>
<span class="nb">sudo </span>systemctl start openhab2.service
</code></pre></div></div>
<h4 id="upgrade">Upgrade</h4>
<p>To stay up to date with new releases, you should do regular upgrades of your manual installation.
This is especially important if you are working with the latest snapshot as changes and fixes are incorporated <a href="https://openhab.jfrog.io/openhab/webapp/#/builds/openHAB-Distribution">constantly</a>.</p>
<p>openHAB uses a script to update to any other version, or from stable to snapshot and visa-versa.
Your personal configuration will be retained on upgrades, but you should <strong>stop openHAB</strong> and perform a backup first.</p>
<ul>
<li>
<p><strong>Versions 2.1.0 and Above</strong></p>
<p>From version 2.1.0, openHAB is distributed with the update script included.
This script should be called from within openHABs root directory.
Assuming the openHAB directory is in <code class="highlighter-rouge">/opt/openhab</code>, simply run the following commands to update to the next major version of openHAB:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /opt/openhab
<span class="nb">sudo </span>runtime/bin/update
</code></pre></div> </div>
<p>You can also specify any version as a parameter. For example, to switch back to 2.0.0:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>runtime/bin/update 2.0.0
</code></pre></div> </div>
<p>You may also change to openHABs more frequent, but less stable snapshot builds.
Just append “-SNAPSHOT” to the target version, e.g.:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>runtime/bin/update 2.2.0-SNAPSHOT
</code></pre></div> </div>
</li>
<li>
<p><strong>Older Versions</strong></p>
<p>If youre using a version earlier than 2.1.0, then you can use the following commands in Terminal to download the script and run it.
Assuming the openHAB directory is in <code class="highlighter-rouge">/opt/openhab</code>:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /opt/openhab
<span class="nb">sudo </span>sh <span class="nt">-c</span> <span class="s2">"</span><span class="k">$(</span>curl <span class="nt">-fsSL</span> https://raw.githubusercontent.com/openhab/openhab-distro/master/distributions/openhab/src/main/resources/bin/update<span class="k">)</span><span class="s2">"</span> <span class="nt">--</span> 2.1.0
</code></pre></div> </div>
</li>
</ul>
<h4 id="uninstall-1">Uninstall</h4>
<p>To uninstall (or more precisely remove) openHAB 2 after being manually set up, take a backup if needed and then simply stop and deactivate the openHAB service and get rid of all files:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>systemctl stop openhab2.service
<span class="nb">sudo </span>systemctl disable openhab2.service
<span class="nb">sudo </span>rm <span class="nt">-rf</span> /opt/openhab2/
<span class="nb">sudo </span>rm /lib/systemd/system/openhab2.service
</code></pre></div></div>
<h3 id="file-locations">File Locations</h3>
<table>
<thead>
<tr>
<th style="text-align: center"> </th>
<th style="text-align: left">Repository Installation</th>
<th style="text-align: left">Manual Installation (according to <a href="#manual-installation">guide</a>)</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">openHAB application</td>
<td style="text-align: left"><code class="highlighter-rouge">/usr/share/openhab2</code></td>
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2</code></td>
</tr>
<tr>
<td style="text-align: center">Additional add-on files</td>
<td style="text-align: left"><code class="highlighter-rouge">/usr/share/openhab2/addons</code></td>
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/addons</code></td>
</tr>
<tr>
<td style="text-align: center">Site configuration</td>
<td style="text-align: left"><code class="highlighter-rouge">/etc/openhab2</code></td>
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/conf</code></td>
</tr>
<tr>
<td style="text-align: center">Log files</td>
<td style="text-align: left"><code class="highlighter-rouge">/var/log/openhab2</code></td>
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/userdata/logs</code></td>
</tr>
<tr>
<td style="text-align: center">Userdata like rrd4j databases</td>
<td style="text-align: left"><code class="highlighter-rouge">/var/lib/openhab2</code></td>
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/userdata</code></td>
</tr>
<tr>
<td style="text-align: center">Service configuration</td>
<td style="text-align: left"><code class="highlighter-rouge">/etc/default/openhab2</code></td>
<td style="text-align: left">(not preconfigured)</td>
</tr>
</tbody>
</table>
<h2 id="viewing-log-messages">Viewing Log Messages</h2>
<p>In order to get more insight on what your openHAB system is doing and to see occurring error messages, it is recommended to always have a look on the openHAB log files.
These will tell you everything you might need to know.
Execute the following command in one session or have both files separated in sessions side by side:</p>
<ul>
<li>
<p>Package repository based installation:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tail <span class="nt">-f</span> /var/log/openhab2/openhab.log <span class="nt">-f</span> /var/log/openhab2/events.log
</code></pre></div> </div>
</li>
<li>
<p>Manual installation:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tail <span class="nt">-f</span> /opt/openhab2/userdata/logs/openhab.log <span class="nt">-f</span> /opt/openhab2/userdata/logs/events.log
</code></pre></div> </div>
</li>
</ul>
<p>You could even set up an SSH configuration (in Putty or similar) to automatically connect and execute the commands every time you start working on your setup.</p>
<p>With openHAB 2 you can also <a href="/v2.1/administration/logging.html#karaf-console">use the Karaf console</a> to have a colored glance at the logging information.</p>
<h2 id="recommended-additional-setup-steps">Recommended Additional Setup Steps</h2>
<p>The following is not directly related to the openHAB installation but rather recommended on a openHAB system.
The need for these and the exact implementation on a specific system might differ from user to user.</p>
<h3 id="privileges-for-common-peripherals">Privileges for Common Peripherals</h3>
<p>An openHAB setup will often rely on hardware like a modem, transceiver or adapter to interface with home automation hardware.
Examples are a Z-Wave, Enocean or RXFcom USB Stick or a Raspberry Pi add-on board connected to the serial port on its GPIOs.
In order to allow openHAB to communicate with additional peripherals, it has to be added to corresponding Linux groups.
The following example shows how to add Linux user <code class="highlighter-rouge">openhab</code> to the often needed groups <code class="highlighter-rouge">dialout</code> and <code class="highlighter-rouge">tty</code>.
Additional groups may be needed, depending on your hardware and software setup.</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>adduser openhab dialout
<span class="nb">sudo </span>adduser openhab tty
</code></pre></div></div>
<p>If you are looking to enable sound privileges for openHAB, it will also be necessary to add openHAB to the “audio” group.</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>adduser openhab audio
</code></pre></div></div>
<p>Additionally its needed to allow the java environment to access the serial port of the connected peripheral.
Therefore the following setting has to be added/adapted on your system in file <code class="highlighter-rouge">/etc/default/openhab2</code>:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">EXTRA_JAVA_OPTS</span><span class="o">=</span><span class="s2">"-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyS0:/dev/ttyS2:/dev/ttyACM0:/dev/ttyAMA0"</span>
</code></pre></div></div>
<p>The shown device handlers are just the most common examples.
Please contact the community forum for more detailed information regarding individual hardware.</p>
<h3 id="java-network-permissions">Java Network Permissions</h3>
<p>The Java Virtual Machine hosting openHAB is restricted in its permissions to interact on network level for security reasons.
Some openHAB add-ons, like the Network or AmazonDash bindings, need elevated permissions to work.
If needed, grand these permissions by executing the following command:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>setcap <span class="s1">'cap_net_raw,cap_net_admin=+eip cap_net_bind_service=+ep'</span> <span class="k">$(</span>realpath /usr/bin/java<span class="k">)</span>
</code></pre></div></div>
<h3 id="network-sharing">Network Sharing</h3>
<p>openHAB depends on configuration files and folders with custom content (details in <a href="/v2.1/configuration/index.html">Configuration</a> articles).
Because your openHAB installation most probably is stored on a remote device, being able to easily access and modify these files from your local PC or Mac is important, therefore setting up a <a href="https://en.wikipedia.org/wiki/Samba_(software)">Samba</a> network share is <strong>highly recommended</strong>.</p>
<p>The <a href="/v2.1/installation/designer.html">Eclipse SmartHome Designer</a> software does also depend on a mounted share to access the openHAB configuration files.</p>
<p>We will now guide you through the Samba network shares setup process.
Start by installing Samba.
Afterwards open its configuration file in your favorite editor:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install samba samba-common-bin
<span class="nb">sudo </span>vim /etc/samba/smb.conf
</code></pre></div></div>
<p>Change the workgroup name if needed, otherwise uncomment and enable WINS support:</p>
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err">wins</span> <span class="py">support</span> <span class="p">=</span> <span class="s">yes</span>
</code></pre></div></div>
<p>Next, add the desired share configurations to the end of the file:</p>
<!-- Note to author: Do not name share "openhab". Depending on the host system, a share for the home of user "openhab" will be created.-->
<!-- TODO: Limit to configuration folder??? -->
<ul>
<li>
<p>Package repository based installation:</p>
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[openHAB2-userdata]</span>
<span class="py">comment</span><span class="p">=</span><span class="s">openHAB2 userdata</span>
<span class="py">path</span><span class="p">=</span><span class="s">/var/lib/openhab2</span>
<span class="py">browseable</span><span class="p">=</span><span class="s">Yes</span>
<span class="py">writeable</span><span class="p">=</span><span class="s">Yes</span>
<span class="err">only</span> <span class="py">guest</span><span class="p">=</span><span class="s">no</span>
<span class="py">public</span><span class="p">=</span><span class="s">no</span>
<span class="err">create</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
<span class="err">directory</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
<span class="nn">[openHAB2-conf]</span>
<span class="py">comment</span><span class="p">=</span><span class="s">openHAB2 site configuration</span>
<span class="py">path</span><span class="p">=</span><span class="s">/etc/openhab2</span>
<span class="py">browseable</span><span class="p">=</span><span class="s">Yes</span>
<span class="py">writeable</span><span class="p">=</span><span class="s">Yes</span>
<span class="err">only</span> <span class="py">guest</span><span class="p">=</span><span class="s">no</span>
<span class="py">public</span><span class="p">=</span><span class="s">no</span>
<span class="err">create</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
<span class="err">directory</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
</code></pre></div> </div>
</li>
<li>
<p>Manual installation:</p>
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[openHAB-files]</span>
<span class="py">comment</span><span class="p">=</span><span class="s">openHAB2</span>
<span class="py">path</span><span class="p">=</span><span class="s">/opt/openhab2</span>
<span class="py">browseable</span><span class="p">=</span><span class="s">Yes</span>
<span class="py">writeable</span><span class="p">=</span><span class="s">Yes</span>
<span class="err">only</span> <span class="py">guest</span><span class="p">=</span><span class="s">no</span>
<span class="py">public</span><span class="p">=</span><span class="s">no</span>
<span class="err">create</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
<span class="err">directory</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
</code></pre></div> </div>
</li>
</ul>
<p>Save and close the samba configuration file.</p>
<p>The shares are configured to be not open for guests nor to the public.
Lets activate the “openhab” user as a samba user and set his password (e.g. “habopen”):</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>smbpasswd <span class="nt">-a</span> openhab
</code></pre></div></div>
<p>Be aware, that creating and later using a specific user will ensure, that <a href="#permissions">permissions</a> are honored.
Make sure, the “openhab” user has ownership and/or write access to the openHAB configuration files.
This can be accomplished by executing:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>chown <span class="nt">-hR</span> openhab:openhab /etc/openhab2 /opt/openhab2/conf
</code></pre></div></div>
<p>Finally check the configuration file for correctness and restart Samba to load the new settings:</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>testparm
<span class="c"># Linux init systems based on sysVinit</span>
<span class="nb">sudo </span>service smbd restart
<span class="c"># Linux init systems based on systemd</span>
<span class="nb">sudo </span>systemctl restart smbd.service
</code></pre></div></div>
<h4 id="mounting-locally">Mounting Locally</h4>
<p>After setting up and restarting Samba, check your connection to the shared folder and create a permanent mount.
Check the network devices manager of your local operating system to find and access your openHAB host and share.
These might however not be auto-discovered.
You can also manually connect:</p>
<ul>
<li><strong>On Mac OS X:</strong> Open Finder → Go → Connect to Server: <code class="highlighter-rouge">smb://openhab@openhab-device.local</code></li>
<li><strong>On Windows:</strong> Open Windows Explorer → Address bar: <code class="highlighter-rouge">\\openhab-device.local</code> → Right click a share and assign a drive letter</li>
</ul>
<p>Be sure to use the actual host name instead of <code class="highlighter-rouge">openhab-device</code>.
When asked, authenticate with the username “openhab” and the chosen password.
If you are not able to connect, try with the IP of your device (e.g. <code class="highlighter-rouge">smb://openhab@192.168.0.2</code> or <code class="highlighter-rouge">\\192.168.0.2</code>).</p>
<p>If everything went well, you are set and ready to start <a href="/v2.1/configuration/index.html">configuring</a> your openHAB system.</p>
</div>
</div>
</section>
<footer>
<div class="container">
<div class="row">
<div class="col s12 m7">
Copyright &copy; 2017 by the <a href="https://github.com/openhab">openHAB Community</a> and the <a href="http://www.openhabfoundation.org/">openHAB&nbsp;Foundation&nbsp;e.V.</a>
</div>
<div class="col s12 m5">
<ul class="list-inline right-align">
<li><a href="/imprint.html">Imprint</a></li>
<li><a href="/privacy.html">Privacy Policy</a></li>
<li><a href="http://www.openhab.org">openHAB Website</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="/v2.1/js/jquery.min.js"></script>
<script src="/v2.1/js/jquery.scrollme.min.js"></script>
<script src="/v2.1/js/jquery.sticky.js"></script>
<script src="/v2.1/js/materialize.min.js"></script>
<script src="/v2.1/js/init.js"></script>
<script>
$(document).ready(function () {
$('#oh2-checkbox').change(function () {
if (this.checked) $('.since-2x').show('slow');
else $('.source-oh2').hide('slow');
});
$('#oh1-checkbox').change(function () {
if (this.checked) $('.since-1x').show('slow');
else $('.source-oh1').hide('slow');
});
$('#legacy-checkbox').change(function () {
if (this.checked) $('.install-legacy').show('slow');
else $('.install-legacy').hide('slow');
});
$('#manual-checkbox').change(function () {
if (this.checked) $('.install-manual').show('slow');
else $('.install-manual').hide('slow');
});
});
</script>
</body>
</html>