Automated Windows Server Install w/ PhpMumbleAdmin

Ice/DBus, Web-Interfaces, Management tools

Automated Windows Server Install w/ PhpMumbleAdmin

Postby Jammrock » Fri Mar 18, 2016 2:07 am

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/r ... 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/ht ... 18-x86.zip
Apache VC9 PHP component: http://www.apachelounge.com/download/wi ... -win32.zip
PHP 5.4.45 x86 VC9: http://windows.php.net/downloads/releas ... C9-x86.zip
OpenSSL 1.0.2f i386 VC9: https://indy.fulgan.com/SSL/openssl-1.0 ... -win32.zip
Visual C++ 2008 SP1 x86 (VC9): https://download.microsoft.com/download ... st_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/ ... -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-cen ... hp_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.
Attachments
Install-MumbleServer.zip
Windows Mumble Server Installation Automation Script v.1.0
(11.57 KiB) Downloaded 71 times
Jammrock
 
Posts: 2
Joined: Fri Mar 18, 2016 1:33 am

Re: Automated Windows Server Install w/ PhpMumbleAdmin

Postby fwaggle » Fri Mar 18, 2016 9:59 pm

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 run a semi-commercial Mumble host, and my opinions do not reflect the opinions of the Mumble project.
Avatar is stolen from here
User avatar
fwaggle
Team member
Team member
 
Posts: 212
Joined: Tue Oct 06, 2009 10:40 pm
Location: Australia

Re: Automated Windows Server Install w/ PhpMumbleAdmin

Postby Jammrock » Fri Mar 18, 2016 10:21 pm

Thanks, Fwaggle.

I couldn't find a single decent set of Windows setup instructions for Mumble with a web portal so I built my own :D
Jammrock
 
Posts: 2
Joined: Fri Mar 18, 2016 1:33 am


Return to Scripting

Who is online

Users browsing this forum: No registered users and 1 guest