# Observium - Installation and Configuration



## rtwingfield (Oct 5, 2013)

I've installed the Observium SNMP monitoring system from the FreeBSD port.  Now . . .I'm not sure where to start with the configuration -- how do you start the application in a browser?  For example regarding phpMyAdmin, there is a setup scenario that is run from a browser.  What is "step-one" for configuring Observium?  (FYI, this is a disturbing caveat:  Installation Recommendation Warning.

Are the various configuration files to be manually edited with a text editor?  :\

Is anybody actually running this on FreeBSD?


----------



## Nightweaver (Oct 5, 2013)

It's not that hard to be setup on FreeBSD as a client but you'll have to do a lot of manual editing. Just follow any of those HOWTOs on their web site(I used Red Hat one) in order to get all the packages. Then try to run it and see which paths you'll have to change. If you just want to monitor your FreeBSD machine all you have to do is setup SNMP on that machine and Observium will pick it up if you allow it to.


----------



## rtwingfield (Oct 9, 2013)

*Observium FreeBSD Port is Unsupported*

I ran the following command to get a list of unsupported ports:

`# nawk -F"|" '$6 == "ports@FreeBSD.org" {print $2}' /usr/ports/INDEX-`uname -r | cut -d'.' -f1``

and discovered that the FreeBSD /usr/ports/net-mgmt/*observium* is not supported . . .and is out of date; consequently, I have abandoned the FreeBSD port and used:

`# svn co [url=http://www.observium.org/svn/observer/trunk/]http://www.observium.org/svn/observer/trunk/[/url] observium`

. . .to checkout the latest version from the Observium website (see http://observium.org/wiki/Using_SVN), and found many differences in file structure and php code, etc.

Actually, I think that this subversion maintenance method is best, because the author, Adam Armstrong et al., offer the application as a work-in-progress and further recommend frequent updating via svn.  I might add that the svn checkout was much faster than the native compile of the defunct FreeBSD ports source.


----------



## tingo (Oct 12, 2013)

There is a difference between "unsupported" and "has no maintainer" when it comes to ports. The difference is that if someone sends a patch / port update to the ports@ mailing list, it might be committed.


----------



## rtwingfield (Nov 2, 2013)

The Observium "Community" version is currently CE 0.13.10.4586.  I have waded through the nuances of getting the ap. to run, and once started, the following message appears:



> *Important Observium release changes.
> *
> The Observium releasing system is changing. In order to better deliver feature improvements and bug fixes to Enterprise and Service Provider users, we're restructuring the SVN release mechanism. In addition to the existing cutting-edge rolling release which allows us to immediately deliver feature improvements and bug fixes, we've added a new rolling stable release combining reliability with rapid bug fixes. These two releases are now available to subscribers.
> 
> ...



Following their mailing list, it is apparent that the application is evolving, and I think the subscription option may be best, regarding their stable version and updates.  (TBD)

I have learned that the application is very PATH sensitive, must be run from an Apache virtual host container, and cannot run in a sub-directory.  The Apache configuration was/is crucial to running the ap.  Internally, the software is hard-coded to only recognize the following paths:
  install_dir =/opt/observium
  html_dir =/opt/observium/html​
The author admonishes specification of the base_url . . .so be it; it will be _gathered_ as follows (from the php code, /opt/observium/includes/*defaults.inc.php*):


```
if (isset($_SERVER["SERVER_NAME"]) && isset($_SERVER["SERVER_PORT"]))
{
  if (strpos($_SERVER["SERVER_NAME"] , ":"))
  {
    // Literal IPv6
    $config['base_url']  = "http://[" . $_SERVER["SERVER_NAME"] ."]" . ($_SERVER["SERVER_PORT"] != 80 ? ":".$_SERVER["SERV
ER_PORT"] : '') ."/";
  }
  else
  {
    $config['base_url']  = "http://" . $_SERVER["SERVER_NAME"] . ($_SERVER["SERVER_PORT"] != 80 ? ":".$_SERVER["SERVER_POR
T"] : '') ."/";
  }
}
```

In my prototype installation, I'm running it from the LAN on FILE]192.168.1.75:82[/FILE].  
  Note that in my case, port-82 is used for Observium . . .I have other hosts on ports 80 and 81.

To start the application, the URL must be specified as per one of the following:
http://192.168.1.75:82/opt
http://192.168.1.75:82/index.php​

The following will render the login page, but will not accept a login:
http://192.168.1.75:82/
http://192.168.1.75:82​

/usr/local/etc/apache22/extra/*httpd-vhosts.conf* as follows:


```
#-----------------------------------------------------
<VirtualHost *:82>
    ServerAdmin rtwingfield@archaxis.net
    ServerName  observium
    DocumentRoot /opt/observium/html
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /opt/observium/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
#       DirectoryIndex index.php # Optional;When enabled, indexing is overridden.
    </Directory>

    RewriteEngine On
    RewriteOptions Inherit
    CustomLog /var/log/observium_access.log combined
    ErrorLog /var/log/observium_error.log
    Loglevel warn
    ServerSignature On
</VirtualHost>
#-----------------------------------------------------
```

I still have much to learn about this application and I've barely scratched the surface.
. . .more to follow.


----------

