20150129 config-lms-git-service.sh -- README
Code:
--------------------
Install script for running LMS git code as a service:
config-lms-git-service.sh
==================================================================================================
What the script does:
==================================================================================================
The script clones the public/7.9 branch of the
https://github.com/Logitech/slimserver.git
repo to /usr/local/share/lms/server
The script then creates a service so that a fully functional
logitechmediaserver/squeezeboxserver
daemon runs on the local machine.
==================================================================================================
Tested on:
==================================================================================================
Ubuntu server 14.04LTS
Fedora 21
==================================================================================================
Requirements:
==================================================================================================
The git utility must be installed. In my tests with Ubuntu 14.04 & Fedora
21, no other software,
CPAN modules, etc. need to be installed for a fully functioning LMS service.
You will, however,
need to open the appropriate ports (UDP 3483, TCP 3483,9000,9090) in your
firewall to allow access
to the service over your network.
==================================================================================================
Install Details:
==================================================================================================
The script initially presents a prompt, allowing the user to bail with a
ctrl-c. If you continue,
the script:
Clones the public/7.9 branch from
https://github.com/Logitech/slimserver.git to
/usr/local/share/lms/server
Creates a 'lms' system account (i.e. w/o login privileges) and adds
that user to the 'audio'
group (for squeezelite) if it exists.
Creates a /etc/default/lms | /etc/sysconfig/lms env vars file where
startup options are stored.
Creates a /var/lib/lms_data/public/7.9 data folder to store the LMS
databases, user installed
plug-ins, etc.
Symlinks the /var/lib/lms_data/public/7.9 folder to /var/lib/lms
Creates a /var/log/lms_log/public/7.9 folder to store the server.log,
scanner.log, etc files.
Symlinks the /var/log/lms_log/public/7.9 folder to /var/log/lms
Creates a /var/lib/lms_data/Plugins folder.
Symlinks the /var/lib/lms_data/Plugins folder to
/usr/local/share/lms/server/Plugins.
Creates a service control script:
On Fedora/Redhat/CentOS or other distros using
systemd/systemctl, creates a
/usr/lib/systemd/system/lms.service unit file.
On Ubuntu or other distros using upstart/initctl, creates a
/etc/init/lms.conf service file.
On other distros, creates a sysv init:
/etc/init.d/lms | /etc/rc.d/init.d/lms service script.
Disables (prevents from auto starting) any stock
/etc/init.d/logitechmediaserver |
/etc/rc.d/init.d/squeezeboxserver
service scripts. (These scripts remain installed, however, and
can still be
started manually or re-enabled.)
Creates a /usr/local/sbin/lms-debug.sh startup debugging script.
Creates a /usr/local/sbin/lms-update.sh script for updating the local
repo
from https://github.com/Logitech/slimserver.git
Creates a /usr/local/sbin/lms-switch-branch.sh script for switching the
branch of the
local repo. The script keeps the data for the various branches
separate.
==================================================================================================
How to:
==================================================================================================
Install the lms git code as a service:
# sudo ./config-lms-git-service.sh
Remove / uninstall the lms git code as a service:
# sudo ./config-lms-git-service.sh --remove
Remove / uninstall the lms git code as a service, but
keep the local repo and data:
# sudo ./config-lms-git-service.sh --remove --keep
Disable the lms service:
# sudo ./config-lms-git-service.sh --disable
Enable the lms service:
# sudo ./config-lms-git-service.sh --disable
Update the local repo from https://github.com/Logitech/slimserver.git:
# sudo /usr/local/sbin/lms-update.sh
List the available branches in the local repo:
# sudo /usr/local/sbin/lms-swich-branch.sh
Switch from the public/7.9 branch to the 7.8 branch:
# sudo /usr/local/sbin/lms-switch-branch.sh 'public/7.8'
Debug / troubleshoot startup problems:
# sudo /usr/local/sbin/lms-debug.sh
==================================================================================================
Other options:
==================================================================================================
If you don't intend to switch from the public/7.9 branch to any other,
you can install via:
# sudo ./config-lms-git-service.sh --lite
..which clones only the latest revisions from the remote git repo.
This will result in a much smaller disk-usage footprint for the local
repo.
If you would rather use a traditional sysv init script than an upstart
or
systemd service, install via:
# sudo ./config-lms-git-service.sh --sysv
Note that the sysv init script is written for a Ubuntu/debian LSB init
system and may need to be modified to work with Fedora/Redhat/CentOS.
On those distros, it's probably best to stick with the systemd service
unit file.
--------------------
------------------------------------------------------------------------
gharris999's Profile: http://forums.slimdevices.com/member.php?userid=115
View this thread: http://forums.slimdevices.com/showthread.php?t=103033
_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/unix