1. Εάν έχετε ήδη την νεότερη έκδοση του Ubuntu, και ιδίως εάν είναι fresh installed, ακολουθήστε τα παρακάτω βήματα:
sudo apt-get install wget
sudo apt-get install git-core
sudo apt-get install gcc
sudo groupadd spider
sudo useradd -m sysop -G spider
sudo usermod -g spider sysop
sudo passwd sysop
sudo adduser sysop sudo
2. Εγκατάσταση όλων των Perl modules:
sudo apt-get install libtimedate-perl
sudo apt-get install libnet-telnet-perl
sudo apt-get install libcurses-perl
sudo apt-get install libdigest-sha-perl
sudo apt-get install libdata-dumper-simple-perl
3. Δημιουργία συντομεύσεων:
sudo su cd ~sysop ln -s /home/sysop/spider /spider
4. Συνδεθείτε πλέον ως sysop (su -l sysop):
cd ~ mkdir spider git clone git://scm.dxcluster.org/scm/spider spider.new cp -a /home/sysop/spider.new/.git /spider rm -rf spider.new cd /spider git reset --hard sudo su cd /home/sysop/ chown -R sysop.spider spider find . -type d -exec chmod 2775 {} \; find . -type f -exec chmod 775 {} \; exit cd /spider mkdir local mkdir local_cmd mkdir local_data <- θα χρειαστεί για την μετάβαση στο mojo branch! cp perl/DXVars.pm.issue local/DXVars.pm cp perl/Listeners.pm local/Listeners.pm cd local nano Listeners.pm - Ενημερώστε το αρχείο DXVars.pm - Ενημερώστε το αρχείο Listeners.pm @listen = ( [“0.0.0.0”, 7300], όπου 0.0.0.0 η lan ip που θα τρέχει ο dx cluster. );
5. Δημιουργία του χρήστη:
cd /spider/perl/
./create_sysop.pl
6. Δημιουργία της βάσης US:
cd /tmp
wget http://ftp.w1nr.net/usdbraw.gz
7. Το επόμενο βήμα θα καθυστερήσει λίγο ...
/spider/perl/create_usdb.pl /tmp/usdbraw.gz cd /spider/src make
8. Εφόσον ολοκληρωθεί το παραπάνω βήμα χωρίς σφάλματα, μπορείτε να ξεκινήσετε τον cluster:
cd /spider/perl ./cluster.pl
Σε αυτό το σημείο θα πρέπει να τρέχει ο server χωρίς σφάλματα στην έκδοση 1.55. Πατήστε CTRL C για να τερματίσει και να συνεχίσουμε.
9. Προσθέστε τις παρακάτω γραμμές στο /etc/services kai /etc/xinetd.conf <- το βήμα αυτό μπορεί να είναι προαιρετικό!
services:spdlogin 7400/tcp # spider anonymous login port
xinetd.conf:spdlogin stream tcp nowait sysop /spider/src/client client login ax25
10. Το επόμενο, ευχάριστο, βήμα είναι ένα connect script εντός του καταλόγου /spider/connect/.
touch /spider/connect/sy3deo-1
nano /spider/connect/sy3deo-1
timeout 15
abort (Busy|Sorry|Fail)
# your partners host.
connect telnet svforum.synology.me 7300
# your node. example: 'login' 'sy3deo-1'
'login' 'NODE_CALLSIGN'
# partners node callsign.
client sy3deo-1 telnet
CTRL X - Yes για αποθήκευση.
Τέλος, chmod 4755 /spider/connect/sy3deo-1
Ας αντιμετωπίσουμε κάποια πράγματα τώρα που θα βρούμε μπροστά μας μετά ...
11. Δημιουργία service για το dxspider:
touch /etc/systemd/system/dxspider.service
nano touch /etc/systemd/system/dxspider.service
[Unit]
Description= Dxspider DXCluster service
After=network.target
[Service]
Type=simple
User=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
CTRL X - Yes για αποθήκευση.
sudo systemctl enable dxspider.service
sudo systemctl start dxspider.service
12. Σύνδεση με spider node:
Ως sysop, cd /spider/perl
./console.pl
set/spider sy3deo-1 (ή όποιο node έχετε φτιάξει στον κατάλογο connect).
13. Δημιουργία crontab:
cd /spider/local_cmd
nano crontab και προσθέστε όλα τα παρακάτω:
# AutoConnect to node
0,10,20,30,40,50 * * * * start_connect('sy3deo-1') unless connected('sy3deo-1')
!!!ΕΝΗΜΕΡΩΣΗ!!! Στο σημείο αυτό ο server σας θα συνδεθεί με τον άλλο server, θα λαμβάνει spots αλλά ΔΕΝ θα τα στέλνει σε clients συνδεδεμένους σε αυτόν. Θα πρέπει και ο απομακρυσμένος server να σας δηλώσει και ως node μέσω της κονσόλας ή/και μέσω script.
CTRL X - Yes για αποθήκευση.
14. UPGRADE to mojo branch:
Λοιπόν, η διαδικασία είναι μεγάλη οπότε ας ξεκινήσουμε. Στο σημείο αυτό υπενθυμίζουμε πως η διαδικασία αναφέρεται σε ΤΕΛΕΥΤΑΙΑ έκδοση του Ubuntu.
sudo apt-get install cpanminus
sudo apt-get install curl
sudo apt-get install libev-perl libmojolicious-perl libjson-perl libjson-xs-perl libdata-structure-util-perl libmath-round-perl libnet-cidr-lite-perl
sudo apt-get install build-essential
sudo apt-get install procps
Επεξεργασία του αρχείου /spider/local/DXVars.pm και αλλάξτε από ...
---- αυτό: ----
# the port number of the cluster (just leave this, unless it REALLY matters to you)
$clusterport = 27754;
# your favorite way to say 'Yes'
$yes = 'Yes';
# your favorite way to say 'No'
$no = 'No';
# the interval between unsolicited prompts if not traffic
$user_interval = 11*60;
# data files live in
$data = "$root/data";
# system files live in
$system = "$root/sys";
# command files live in
$cmd = "$root/cmd";
# local command files live in (and overide $cmd)
$localcmd = "$root/local_cmd";
# where the user data lives
$userfn = "$data/users";
# the "message of the day" file
$motd = "$data/motd";
# are we debugging ?
@debug = qw(chan state msg cron );
---- σε αυτό: ----
# the port number of the cluster (just leave this, unless it REALLY matters to you)
$clusterport = 27754;
# your favorite way to say 'Yes'
$yes = 'Yes';
# your favorite way to say 'No'
$no = 'No';
# this is where the paths used to be which you have just removed
# are we debugging ?
@debug = qw(chan state msg cron );
Ουσιαστικά αφαιρούμε πλήρως τα path!
15. Συνδεθείτε, ως sysop, στην κονσόλα του dx cluster:
cd /spider/perl/
./console.pl και πληκτρολογήστε
export_users
bye
16. Στην συνέχεια, τερματίστε τον server και συνεχίστε στην αναβάθμιση:
sudo systemctl stop dxspider.service
mkdir /spider/local_data
git reset --hard
git pull --all
git checkout --track -b mojo origin/mojo
17. Αν σε προηγούμενο βήμα δεν έχετε κάνει τις παρακάτω συντομέυσεις, κάντε τες. Ειδάλλως αγνοήστε το βήμα.
sudo ln -s /spider/perl/console.pl /usr/local/bin/dx
sudo ln -s /spider/perl/*dbg /usr/local/bin
Τέλος, τρέξτε πάλι τον server και θα πρέπει πλέον να είναι στην τελευταία 1.59 έκδοση.
sudo systemctl start dxspider.service
18. ΠΡΟΣΟΧΗ στο DXVars.pm
Μην αλλάξετε την ip
$clusteraddr = "127.0.0.1";
19. ΠΡΟΣΟΧΗ στο Listeners.pm
Εδώ θα ορίσετε σε ποια IP θα "ακούει" ο server (ενοείται να είναι ανοιχτή στα iptables η port):
package main;
use vars qw(@listen);
@listen = (
["192.168.1.210", 7300],
);
1;
20. Ενημέρωση του crontab:
cd /spider/local_cmd
nano crontab και προσθέστε όλα τα παρακάτω (όπου sy3deo-1 o server/connect script που ετοιμάσατε):
0,10,20,30,40,50 * * * * start_connect('sy3deo-1') unless connected('sy3deo-1')
# AutoUpdate DXSpider Server (At 04:00 on Monday, Tuesday, Wednesday, Thursday, and Friday)
0 4 * * 1,2,3,4,5 run_cmd("check_build Y")
# AutoUpdate CTY.DAT (At 03:00 on Sunday, Tuesday, and Friday)
0 3 * * 0,2,5 spawn("cd /spider/local_data | wget -qN https://www.country-files.com/cty/cty.dat &")
0 3 * * 0,2,5 spawn("cd /spider/local_data | wget -qN https://www.country-files.com/cty/wpxloc.dat &")
0 3 * * 0,2,5 spawn("cd /spider/local_data | wget -qN https://www.country-files.com/cty/wpxloc.raw &")
2 3 * * 0,2,5 spawn("cd /spider/local_data | /spider/perl/create_prefix.pl")
3 3 * * 0,2,5 run_cmd("load/prefix")
# remove old files (At 00:00 in every month from January through December)
0 0 * 1-12 * spawn(q[find /spider/local_data/debug -type f -mtime +2 -exec rm -f {} \;])
2 0 * 1-12 * spawn(q[find /spider/local_data/log -type f -mtime +2 -exec rm -f {} \;])
3 0 * 1-12 * spawn(q[find /spider/local_data/spots -type f -mtime +2 -exec rm -f {} \;])
4 0 * 1-12 * spawn(q[find /spider/local_data/wcy -type f -mtime +1 -exec rm -f {} \;])
5 0 * 1-12 * spawn(q[find /spider/local_data/wwv -type f -mtime +1 -exec rm -f {} \;])
# Monday 23:10 - Get latest FCC data
10 23 * * 1 spawn("cd /tmp ; wget -qN ftp://ftp.w1nr.net/usdbraw.gz ; /spider/perl/create_usdb.pl usdbraw.gz")
15 23 * * 1 run_cmd("load/usdb")
20 23 * * 1 spawn("rm /tmp/usdbraw.gz")
# Daily at 08:00 - Get latest Keps (I doubt anyone uses these but it's good to be up to date)
02 08 * * * spawn("cd /tmp ; wget -qN http://www.amsat.org/amsat/ftp/keps/current/nasabare.txt ; /spider/perl/convkeps.pl -p nasabare.txt")
04 08 * * * run_cmd("load/keps")
06 08 * * * spawn("rm /tmp/nasabare.txt")
Εάν αντιμετωπίσατε κάποιο πρόβλημα με τα παραπάνω βήματα, λογικά σας λείπει κάποιο πακέτο που χρειάζεται η διαδικασία. Το εγκαθιστάται με το apt-get install και συνεχίζετε. Εάν ακόμα αντιμετωπίζετε προβλήματα, ενημερώστε μας ώστε να δούμε την συνολική σας εγκατάσταση και να βοηθήσουμε όπου μπορούμε.
For our foreign friends, feel free to ask anything below this article or inside the forum. We will be more than happy to assist in any way that we can.
- 1
Recommended Comments
There are no comments to display.