BuildingOpenBSD

From Mumble Wiki
Jump to: navigation, search
Icons oxygen 48x48 status task-attention.png
Warning: The build instructions listed here only apply to Mumble v1.3.x or older. If you want to build Mumble starting from v1.4.0, checkout https://github.com/mumble-voip/mumble/tree/master/docs/dev/build-instructions


Building Guides

This page is one of a set of Building pages/guides for the different OSes with information on building Mumble/Murmur.

BuildingLinux BuildingFreeBSD BuildingOpenBSD BuildingMacOSX BuildingWindows


Introduction

This article will provide information on how to get, build, and configure a basic Murmur setup on OpenBSD. This guide assumes you have installed OpenBSD already, have root or privileged access on the system, and are familiar with the basics of using ksh and OpenBSD.

Icons oxygen 48x48 actions view-pim-notes.png
Note:
Instructions provided in this article are for OpenBSD 6.7 (current) and OpenBSD 6.6 (previous). Older version of OpenBSD may not work with newer versions of Mumble or might require additional setup.

OpenBSD Documentation

Dependencies

1.3.x

Building Murmur 1.3.x on OpenBSD will require the following packages:

  • qt5
  • protobuf
  • boost
  • git


Install the required packages using pkg_add:

pkg_add qt5 protobuf boost git

Create a user for Murmur

Running Murmur as root is not recommended. To avoid this create a new user for Murmur with the “adduser” program:

adduser
Icons oxygen 48x48 actions view-pim-notes.png
Note:
If you have not run adduser before you will be asked to create a new adduser configuration file.

Fill out the information for the new user account. As an example:

Enter username []: murmur
Enter full name []: Mumble Server
Enter shell csh ksh nologin sh [ksh]: nologin
Uid [1000]: 
Login group is murmur [murmur]:
Login group is ``murmur``. Invite murmur into other groups: guest no [no]:
Login class authpf bgpd daemon default pbuild staff unbound [default]: daemon
Enter password []:
Disable password logins for user? (y/n) [n]: y

Name: murmur
Password: ****
Fullname: Mumble Server
Uid: 1000
Gid: 1000 (murmur)
Groups: murmur
Login Class: daemon
HOME: /home/murmur
Shell: /sbin/nologin
Ok? (y/n) [y]:
Add another user? (y/n) [y]: n

Getting Murmur

When using the default adduser configuration OpenBSD creates a home directory for new user accounts. To keep things organized change to the home directory of the newly created “murmur” user:

cd /home/murmur

Clone the Mumble repository using git:

git clone https://github.com/mumble-voip/mumble mumble

Once downloaded change into the new directory “mumble”:

cd mumble

The cloned repository contains the development build of Mumble. To build for a released version of Mumble use git to checkout the preferred release version. As an example:

git checkout 1.3.0
Icons oxygen 48x48 actions view-pim-notes.png
Note:
Run 'git tag' for a list of releases you can checkout.

Building Murmur

1.3.x

Configure Mumble using qmake-qt5 with the following options:

qmake-qt5 CONFIG+=no-client CONFIG+=no-ice -recursive main.pro

Run make to build Murmur in a new directory called “release”:

make release

Configure System

Building Murmur created a new directory which contains the executable. Change into the new directory “release”:

cd release

Copy the Murmur executable to /usr/local/bin:

cp murmurd /usr/local/sbin 

Copy the “murmur.ini” configuration file into /etc/:

cp ../scripts/murmur.ini /etc/

Create a new directory in /var/db called “murmur”:

mkdir /var/db/murmur

Change the directory’s owner and group to murmur:

chown murmur:murmur /var/db/murmur

Configuring Murmur

Edit the “murmur.ini” configuration file in /etc/:

vi /etc/murmur.ini

Find and change the following lines:

  • database=/var/db/murmur/murmur.sqlite
  • logfile=/var/log/murmur.log
  • uname=murmur

Make sure these lines are not commented out with a “;” before them.

Icons oxygen 48x48 actions view-pim-notes.png
Note:
It is recommended you review the configuration file and make changes as needed. Refer to Murmur.ini for full documentation.

Managing Murmur

Create a daemon control script

This script will allow you to control Murmur using rcctl. The command rcctl allows you to enable, start, stop, and reload Murmur easily.

Ready a file in /etc/rc.d/ called “murmur”:

vi /etc/rc.d/murmur

Include the following and save the file:

#!/bin/ksh

daemon="/usr/local/sbin/murmurd"
daemon_flags="-ini /etc/murmur.ini"

. /etc/rc.d/rc.subr

rc_cmd $1

Make the file executable:

chmod +x /etc/rc.d/murmur

Start Murmur after system boot

Enable Murmur using rcctl:

rcctl enable murmur

Start Murmur manually

Start Murmur using rcctl:

rcctl start murmur

SuperUser Password

If Murmur has sucessfully started then it will have generated a SuperUser password.

Print generated password

Print the password with grep:

grep 'SuperUser' /var/log/murmur.log

Change password

To change the password of the SuperUser run:

/usr/local/sbin/murmurd -ini /etc/murmur.ini -supw <password>
Icons oxygen 48x48 actions view-pim-notes.png
Note:
The SuperUser password can be changed even if the server is already running.