Catagory:DXSpider Centos 7 Install
Contents
Packages to install
First make sure you are up to date:
sudo yum update
Now install the required packages
sudo yum install perl-TimeDate perl-Time-HiRes perl-Digest-SHA1 perl-Curses perl-Net-Telnet git gcc make perl-Data-Dumper perl-DB_File ftp git
Add EPEL repository
sudo rpm --import http://mirrors.mit.edu/epel//RPM-GPG-KEY-EPEL-7
sudo rpm -Uvh http://mirrors.mit.edu/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
For IPv6 support add:
sudo yum perl-IO-Socket-IP.noarch
Configure Timezone
First, take a look at the available timezones by typing:
sudo timedatectl list-timezones
This will give you a list of the timezones available for your server. When you find the region/timezone setting that is correct for your server, set it by typing:
sudo timedatectl set-timezone region/timezone
For instance, to set it to United States eastern time, you can type:
sudo timedatectl set-timezone America/Chicago
Your system will be updated to use the selected timezone. You can confirm this by typing:
sudo timedatectl
Configure NTP
Now that you have your timezone set, we should configure NTP. This will allow your computer to stay in sync with other servers, leading to more predictability in operations that rely on having the correct time. To start the service:
sudo systemctl start ntpd sudo systemctl enable ntpd
Create Service file for systemd
With your favorite editor create the dxspider service
sudo vi /etc/systemd/system/dxspider.service
Add the following:
[Unit] Description= Dxspider DXCluster service After=network.target [Service] Type=simple User=sysop Group=sysop ExecStart= /usr/bin/perl -w /spider/perl/cluster.pl # Comment out line below for logging everything to /var/log/messages StandardOutput=null Restart=always [Install] WantedBy=multi-user.target
Firewalld
Enable firewalld
sudo systemctl start firewalls
Add ssh to be allowed in
sudo firewall-cmd --permanent --add-service=ssh
Add DXspider service
sudo firewall-cmd --permanent --add-service=dxspider
When you are finished, you can see the list of the rules that will be implemented by typing:
sudo firewall-cmd --permanent --list-all
When you are ready to implement the changes, reload the firewall:
sudo firewall-cmd --reload
If, after testing, everything works as expected, you should make sure the firewall will be started at boot:
sudo systemctl enable firewalld
Create file for dxspider
vi /etc/firewalld/services/dxspider.xml
Add the following
<service> <short>DXSPIDER</short> <description>Dxspider dxcluster service on tcp port 7300</description> <port protocol="tcp" port="7300"/> </service>
Configuring The User And Group
This can be anything you want I've used sysop from the old BBS days. :)
sudo adduser -m sysop sudo passed sysop
Choose a good strong password here!
You don't need to do this but I think it makes some things easier down the road.
sudo ln -s ~sysop/spider /spider
Create a new user group. But first check to see if the group number is already in use.
cat /etc/group |grep 251
If it does not exist create it or chose a different number
sudo groupadd -g 251 spider
Add the sysop user to the group and yourself if or root
sudo usermod -aG spider sysop sudo usermod -aG spider root <--optional
Now let's grab the current DXspider build as of this it is 1.55
Change to the sysop user:
sudo su - sysop
Grab the latest build with git:
git clone git://scm.dxcluster.org/scm/spider
NOW FIX PERMISSIONS AS SYSOP!!
chown -R sysop.spider spider find . -type d -exec chmod 2775 {} \; find . -type f -exec chmod 775 {} \;
Cluster Configurations
Now for the good stuff the configs.
cd /spider mkdir local mkdir local_cmd cp perl/DXVars.pm.issue local/DXVars.pm cd local vi DXVars.pm
In the DXVars.pm file you will need to make a few changes like set your cluster callsign, sysop callsign and other user info to suit your own environment.
$mycall = "N9BC-2"; # your name $myname = "Brent"; # Your 'normal' callsign (in CAPTTAL LETTERS) $myalias = "N9BC"; # Your latitude (+)ve = North (-)ve = South in degrees and decimal degrees $mylatitude = +44.4375000; # Your Longtitude (+)ve = East, (-)ve = West in degrees and decimal degrees $mylongitude = -87.7916667; # Your locator (USE CAPITAL LETTERS) $mylocator = "EN54XL"; # Your QTH (roughly) $myqth = "Green Bay, Wisconsin"; # Your e-mail address $myemail = "n9bc\@arrl.net"; # Your BBS addr #$mybbsaddr = "G1TLH\@GB7TLH.#35.GBR.EU";
After you save the file change directory to ../perl
cd ../perl
Now type the following command which creates the basic user file with you as the sysop.
./create_sysop.pl
Build the client program
cd /spider/src make
Configure internet access to your cluster. I have mine listening on port 7300 on both IPv4 and IPv6
cp /spider/perl/Listeners.pm /spider/local/ vi /spider/local/Listeners.pm
My Dual stack config
package main; use vars qw(@listen); @listen = ( ["::", 7300], #["0.0.0.0", 7300], ); 1;
Start Dxspider
sudo service dxspider start Stop Dxspider s udo service dxspider stop Set up to start on boot sudo systemctl enable dxspider
Add QRZ Lookups
The command sh/qrz will only work once you have followed a few simple steps. First you need to get a user ID and password from qrz.com. Simply go to the site and create one. Next you need a paid subscription for this to work. Last you need to copy the file /spider/perl/Internet.pm to /spider/local and alter it to match your user ID and password. You also at this point need to set $allow=1 to complete the setup.
cp perl/Internet.pm local/Internet.pm vi local/Internet.pm
Set your password via the console
cd /spider/perl ./console.pl set/password n9bc Jdbk3@@Va25 bye
Cluster Peers
Adding peers so you can see spots. One thing to note you need to contact the peer sysop so they can add you as peer node to their configuration without them adding your node you will not see any new spots only local ones you generate. Here are some examples:
cd /spider/connect vi iw2evh-6 timeout 30 abort (Busy|Sorry|Fail) connect telnet 1972.dyndns.tv 7300 'Login' 'n9bc-2'
For IPv6 peer
vi /spider/wb3ffv-2 timeout 30 abort (Busy|Sorry|Fail) connect telnet 2001:550:102:1::11 7300 'Login' 'n9bc-2'
Once you have setup the peers and are added by the peer you can now connect to them. Use the console or telnet to your node.
cd /spider/perl ./console.pl
Set the node type if they are a dxspider node type this:
set/spider wb3ffv-2 connect wb3ffv-2
You can check by issuing the who command
who Callsign Type Started Name Ave RTT Link IW2EVH-6 NODE DXSP 30-Dec-2015 2209Z 0.26 79.35.192.156 N9BC USER 31-Dec-2015 1942Z Brent ::1 N9BC-2 NODE DXSP 17-Dec-2015 0513Z Brent NX9G NODE DXSP 29-Dec-2015 1417Z 0.14 2607:f978:5:8001::1 WA9PIE-2 NODE DXSP 31-Dec-2015 0212Z 0.11 172.246.122.151 WB3FFV-2 NODE DXSP 29-Dec-2015 1354Z 0.14 2001:550:102:1::11
Show should now start to see DXspots coming in.
Last thing to do is set up Crontab for auto connecting to the other peers
cd /spider/local_cmd vi crontab * * * * * start_connect('wb3ffv-2') unless connected('wb3ffv-2') * * * * * start_connect('wa9pie-2') unless connected('wa9pie-2') * * * * * start_connect('nx9g') unless connected('nx9g') * * * * * start_connect('iw2evh-6') unless connected('iw2evh-6')
Now you should have a fully running DXspider DX Cluster. If you would like to add me as a peer please send me a email.
73, N9BC Brent