Jump to content
Mumble forums

Automated Windows Server Install w/ PhpMumbleAdmin


Jammrock
 Share

Recommended Posts

I built a PowerShell script that automates the installation and configuration of Mumble (Murmur) server and PhpMumbleAdmin (one of the better web interfaces I've seen). Though you could take out the PMA parts and insert code for your preferred web interface, or manually install it, if you really wanted to.


There are two prompts at the end of the script that require a user to access the PhpMumbleAdmin page to create a super user, and a second to refresh the page and login as the super user. There is some background magic that cannot be done until the site work has been performed.


Beyond that there everything is automated by the script.


### Legal ###


Provided AS-IS with no warranties or guarantees, implied or otherwise. Use at your own risk. It's been tested and works in my environment, but I can't guarantee it will work anywhere else. Use caution. I'm not responsible for damages. Test outside of production first. VMs and Containers (Server 2016) are a great way to test before committing to production.


No data is collected and sent to me. You can review the script contents to see for yourself. Third-party sites may collect data when downloading components. You can modify the script if you want, as long as you don't sell it for money.



### Requirements ###


- Mumble-Server.mst (included in the ZIP. Provides silent install capabilities for Mumble Server)

- Windows Server 2012 R2 or newer

- Server Core is supported

- Server 2016 Containers supported (so far)

- Server 2016 Nano is NOT supported

- An Internet connection to download the packages

- Some PowerShell knowledge

- Script execution must be enabled using Set-ExecutionPolicy

- About 3GB-5GB of disk space (never really counted)



### Some details ###


Install-MumbleServer version 1.0


Automatically downloads, installs, and configures all components to use Mumble (Murmur) Server with PhpMumbleAdmin (PMA).


Apache and PHP must be VC9/VC90 versions for ICE to work. ZeroC ICE is a required component for PMA to work.

All components are 32-bit, so this will not work with Windows Nano server which has no 32-bit support.


Installed or used Components:


Mumble Server 1.2.15: https://github.com/mumble-voip/mumble/releases/download/1.2.15/mumble-1.2.15.msi

Non-Sucking Service Manager (NSSM): http://nssm.cc/release/nssm-2.24.zip

Apache 2.4.18 x86 VC9: https://www.apachehaus.com/downloads/httpd-2.4.18-x86.zip

Apache VC9 PHP component: http://www.apachelounge.com/download/win32/modules-2.4/php5apache2_4.dll-php-5.4-win32.zip

PHP 5.4.45 x86 VC9: http://windows.php.net/downloads/releases/php-5.4.45-Win32-VC9-x86.zip

OpenSSL 1.0.2f i386 VC9: https://indy.fulgan.com/SSL/openssl-1.0.2g-i386-win32.zip

Visual C++ 2008 SP1 x86 (VC9): https://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe

ICE 3.5.1-6: https://download.zeroc.com/Ice/3.5/Ice-3.5.1-6.msi

PMA 0.4.4: http://iweb.dl.sourceforge.net/project/phpmumbleadmin/phpMumbleAdmin-0.4.4.zip


If you update a web component in this script, make sure it is the 32-bit (x86 or i386) VC9 compiled version.

Picking a non-32-bit or non-VC9 component will likely cause PMA to fail. The primary reason why VC9 is required

has to do with php_ice.dll. This DLL is, as of this writing, only compiled with 32-bit VC90 and no version

exists, that I can find, compiled with any newer version of Visual C++ (VC10, VC11, VC12, etc.) or in 64-bit.


https://forums.zeroc.com/forum/help-center/6409-problems-getting-ice-extension-loaded-in-php-php_ice-dll


This causes a chain reaction which requires PHP to be VC9 compiled, which means Apache and the Apache PHP

module must be VC9, and OpenSSL must be VC9... and you get the picture. Once ZeroC updates php_ice.dll to

a newer version of Visual C++ then newer versions of Apache, PHP and OpenSSL can be used.



### How to use it ###


.SYNOPSIS

Installs Mumble (Mumur) server with a PhpMumbleAdmin web front-end.


.DESCRIPTION

Install-MumbleServer automates the process of installing Mumble (Murmur) server with PhpMumbleAdmin on Windows Server 2012 R2 and newer. Basic configuration is completed as part of the script. This script is Server Core and Container compatible. An Internet connection is required. Windows Nano Server is not supported at this time, due to technical limitations with Mumble and PhpMumbleAdmin components.


.PARAMETER MumSuPwd

Mumble Super User Password (MumSuPwd) is used to password protect the Mumble Server, and is used as the ICE secret to allow PhpMumbleAdmin to control the Mumble server.


.PARAMETER Quiet

Disables verbose logging to the console. Logging will still be written to file. Errors and warnings will still be displayed. There are two required console prompts needed to complete the PhpMumbleAdmin configuration that will appear regardless of this parameter.


.EXAMPLE

.\Install-MumbleServer.ps1

Install Mumble server and PhpMumbleAdmin with an auto-generated password.


.EXAMPLE

.\Install-MumbleServer.ps1 'MyAw3s0m3P@ssword!'

Install Mumble server and PhpMumbleAdmin with a user provided password.


.EXAMPLE

.\Install-MumbleServer.ps1 -Quiet

Install Mumble server and PhpMumbleAdmin with an auto-generated password in quiet mode.

Install-MumbleServer.zip

Windows Mumble Server Installation Automation Script v.1.0

Link to comment
Share on other sites

  • Moderators

I've approved this topic, but I'd like to make it clear I don't endorse the archive in any way, other people should use at their own risk. File ID# is 64 when the topic was approved. :D

Full disclosure: I used to run a commercial Mumble host, and my opinions do not reflect the opinions of the Mumble project.

Avatar is stolen from here

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...