Installation

At the moment Radar is only available from its source code from Github. As the project evolves it will be eventually added to PyPI.

PyPI packages will be delivered when the project is assured to be stable. Current Radar’s status is ALPHA.

To install Radar from Github (you will need GIT installed on your system) open a terminal or command prompt and run :

git clone https://github.com/lliendo/Radar.git
cd Radar
python setup.py install

Alternatively you can download Radar as a .zip file, extract it and then run :

python setup.py install

from the project’s root directory.

Checking the installation

You can check that Radar was successfully installed by running from the command line :

radar-client.py -v
radar-server.py -v

This will display the current version of Radar (client and server) installed on your system. If you see these versions then you got both client and server successfully installed, otherwise something went wrong.

By default Radar expects to find configuration files in well-defined places. These directories are platform dependent (you can check these defaults from the platform defaults section of this document).

It is a good practice to use these default directories. Of course if you don’t want to use those locations you can change them from the main configuration file.

Radar only takes its main configuration file to be able to run. If you want to override the default main configuration file path you can invoke Radar this way :

radar-client.py -c PATH_TO_MAIN_CONFIGURATION_FILE
radar-server.py -c PATH_TO_MAIN_CONFIGURATION_FILE

The -c option specifies an alternate main configuration file.

Adding restricted account

As a basic security measure it is recommended to create a restricted account to be used by Radar. By default Radar assumes that the name of this account is ‘radar’ (but you can use whatever account you want).

Unix OS

For any of the following systems :

  1. Open a new console.
  2. Switch to the root user using the su command.
  • GNU/Linux systems typically have the ‘useradd’ commands to create a new user :
useradd radar -r -s /usr/sbin/nologin -c "Radar user"
  • On FreeBSD systems, run :
pw groupadd radar
pw adduser radar -g radar -d /nonexistent -s /usr/sbin/nologin -c "Radar user"
  • On OpenBSD systems, run :
groupadd radar
useradd -g radar -s /sbin/nologin -c "Radar user" radar
  1. As a last step, verify that you are not allowed to login with the ‘radar’ user.

Windows platforms

On Windows platforms little more work is needed. The following steps apply for Windows 7 Professional or better :

  1. Add a new user named ‘radar’ from Control Panel -> User Accounts.
  2. Open GPEDIT.MSC (a.k.a. Local Group Policy Editor).
  3. From the left side pane navigate through :
Local Computer Policy
 └─ Computer Configuration
     └─ Windows Settings
         └─ Security Settings
             └─ Local Policies
                 └─ User Right Assignment
  1. On the right side pane locate the ‘Deny log on locally’ policy.
  2. Right clic on ‘Deny log on locally’ and clic on Properties.
  3. Clic the ‘Add User or Group’ button to add the radar user account.
  4. On the text box type in : radar. Now clic the ‘Check Names’ button and then clic on ‘OK’.
  5. Repeat steps 5 and 6 but for the ‘Deny log on through Remote Desktop Services’ policy.
  6. Log out and verify that you are not allowed to login with the ‘radar’ user (locally and remotely).

Setting up Radar

Before you start configuring Radar I recommend you to read the documentation as some options may not make full sense. If you’ve already read the docs then go ahead and start configuring Radar.

Radar comes with two useful scripts to help you configure it the first time.

To configure the server just run :

radar-server-config.py

This script will ask you for some initial values. For every option you can leave its default (these values are shown in squared brackets) value by pressing Enter.

To configure the client run :

radar-client-config.py

After you run those scripts the main configuration file gets generated in the path that you chose. Note that the resulting YAML file may not look as tidy as the ones presented in the rest of documentation. This is because the PyYAML library does not care about new lines and does not handle element ordering. Something similar happens on the order in which the options are scanned from the console. You can run these scripts as many times as you want but be aware that if you point to the same output files they’ll be completely overwritten.

Configuring startup scripts

Depending on which OS you’re using here are instructions to make Radar (server or client) automatically start at system boot.

Unix OS

For any of the following systems :

  1. Open a new console.
  2. Switch to the root user using the su command.
  3. Check which init style your system is using by issuing :
ps -o cmd -h1

If you get ‘/sbin/init’ then you’re using SysV style. If you see ‘/usr/lib/systemd/systemd’ then you’re using Systemd.

  • For GNU/Linux (SysV) :

Copy the radar-server init script :

cd Radar/init_scripts/linux/sysv/DISTRIBUTION
cp radar-server /etc/init.d

Replace DISTRIBUTION by the flavour of GNU/Linux that you’re using.

Make sure that the owner/group of the file is root :

chown root.root /etc/init.d/radar-server

Make sure the file permissions are :

chmod u=rwx,go=rx /etc/init.d/radar-server

Make symlinks :

cd /etc/rc2.d/
ln -s ../init.d/radar-server S99radar-server

The above command adds automatic startup for runlevel 2 (repeat the last step for different runlevels as you need).

Before starting the service :

  1. Open the /etc/init.d/radar-server file.
  2. Verify that the DAEMON_ARGS variable points to the same main configuration file that you setup with the radar-server-config.py configuration script or change that path as you need.

Start the service :

/etc/init.d/radar-server start

To add the Radar client on system startup follow the same steps but replace ‘radar-server’ by ‘radar-client’.

  • For GNU/Linux (Systemd) :

Copy the radar-server.service and radar-server files :

cd Radar/init_scripts/linux/systemd
cp radar-server.service /lib/systemd/system
cp radar-server /etc/default

Make sure that the owner/group of the file is root :

chown root.root /lib/systemd/system/radar-server.service /etc/default/radar-server

Make sure the file permissions are :

chmod u=rw,go=r /lib/systemd/system/radar-server.service /etc/default/radar-server

Enable the unit :

systemctl enable radar-server.service

Before starting the service :

  1. Open the /etc/default/radar-server file.
  2. Verify that the RADAR_SERVER_OPTS variable points to the same main configuration file that you setup with the radar-server-config.py configuration script or change that path as you need.

Start the service :

systemctl start radar-server.service

To add the Radar client on system startup follow the same steps but replace ‘radar-server’ by ‘radar-client’.