Permalink
Browse files

correct howto - untested, please feedback if errors

  • Loading branch information...
dg9vh committed Feb 17, 2017
1 parent e34e676 commit 550083b54b958da0e845cd02be56ccc9371808f6
Showing with 66 additions and 116 deletions.
  1. +66 −116 linux-step-by-step.md
View
@@ -1,116 +1,66 @@
#How to install a YSFReflector
The following howto quickly describes the installation and configuration of a YSFReflector-system
First of all you'll need to get a copy of the sources. This is recommended to do with git as following:
git clone https://github.com/g4klx/YSFClients.git
This copies the actual sources of the whole YSFClients-Project into a folder "YSFClients". Within this directory you'll find a folder "YSFReflector". cd into it and simply do
make clean all
A minute later the compile-process is done and you got an executable file "YSFReflector".
Within the directory you also got a YSFReflector.ini that you have to customize to your own needs. Fill in there following:
Name=Your Reflector's name
Description=Your Reflector's description
There is also a line
Daemon=1
that forces the reflector-executable to run as a deamon after startup. For this you'll need to setup a user "mmdvm" on your linux-system. This can be done with:
groupadd mmdvm
useradd mmdvm -g mmdvm -s /sbin/nologin
As a last instance of installation, you may want to have the services started automatically at bootup of your server. Therefore you'll need a startup-script. Mine is
/etc/init.d/YSFReflector.sh
and has following content:
\#!/bin/bash
\### BEGIN INIT INFO
\#
\# Provides: YSFReflector
\# Required-Start: $all
\# Required-Stop:
\# Default-Start: 2 3 4 5
\# Default-Stop: 0 1 6
\# Short-Description: Example startscript YSFReflector
\#
\### END INIT INFO
\## Fill in name of program here.
PROG="YSFReflector"
PROG_PATH="/usr/local/bin/"
PROG_ARGS="/etc/YSFReflector.ini"
PIDFILE="/var/run/YSFReflector.pid"
USER="root"
start() {
if [ -e $PIDFILE ]; then
\## Program is running, exit with error.
echo "Error! $PROG is currently running!" 1>&2
exit 1
else
cd $PROG_PATH
./$PROG $PROG_ARGS
echo "$PROG started"
touch $PIDFILE
fi
}
stop() {
if [ -e $PIDFILE ]; then
\## Program is running, so stop it
echo "$PROG is running"
rm -f $PIDFILE
killall $PROG
echo "$PROG stopped"
else
\## Program is not running, exit with error.
echo "Error! $PROG not started!" 1>&2
exit 1
fi
}
\## Check to see if we are running as root first.
\## Found at
\## http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
case "$1" in
start)
start
exit 0
;;
stop)
stop
exit 0
;;
reload|restart|force-reload)
stop
sleep 5
start
exit 0
;;
**)
echo "Usage: $0 {start|stop|reload}" 1>&2
exit 1
;;
esac
exit 0
\### END
As you can see on top of the script, my binary is located in /usr/local/bin (where I copied it after compile) and my YSFReflector.ini is in /etc
Do it similar to be in standard.
To enable the service simply call
chkconfig YSFReflector.sh on
Then all would be starting on boot-time.
Hope you could follow all steps. It is recommended to do these as root :-)
# Linux Step-By-Step
This short howto describes step-by-step how to install the YSFReflector-Dashboard on a system using a Debian Linux distribution.
##Installation Steps
1. Update your system:
>sudo apt-get update && sudo apt-get upgrade
2. Install a webserver:
>sudo apt-get install apache2
3. Create a group for the webserver and add yourself to it:
>sudo groupadd www-data
>sudo usermod -G www-data -a <username>
4. Set permissions so you and the webserver have full access to the files:
If you use a current Debian Jessie, use following commands:
>sudo chown -R www-data:www-data /var/www/html
>sudo chmod -R 775 /var/www/html
If you use a Debian Wheezy use:
>sudo chown -R www-data:www-data /var/www
>sudo chmod -R 775 /var/www
5. Install PHP5 and enable the required modules:
>sudo apt-get install php5-common php5-cgi php5
6. To install the dashboard you should use git for easy updates:
>sudo apt-get install git
7. Now you can clone the dashboard into your home directory:
>cd ~
>git clone https://github.com/dg9vh/YSFReflector-Dashboard.git
8. Next, you need to copy the files into the webroot so they can be served by apache2:
If you are using Debian Jessie, run:
>sudo cp -R /home/<username>/YSFReflector-Dashboard/* /var/www/html/
If you are using Debian Wheezy, run:
>sudo cp -R /home/<username>/YSFReflector-Dashboard/* /var/www/
9. To make sure the dashboard is served instead of the default "index.html", cd into the webroot /var/www/html respectively /var/www and remove that file:
>sudo rm index.html
10. Finally, you need to configure the dashboard by pointing your browser to http://IP-OF-YOUR-YSFREFLECTOR/setup.php . This will create /var/www/html/config/config.php respectively /var/www/config/config.php which contains your custom settings.
Now the dashboard should be reachable via http://IP-OF-YOUR-YSFREFLECTOR/
##Configuration Of Dashboard
When configuring the dashboard, make sure to set the correct paths for logs etc. If they are wrong, no last-heard or similar information will be shown on the dashboard!

0 comments on commit 550083b

Please sign in to comment.