ATTENTION: Due to serious problems of the current version of DAPNET-CORE we do not accept any new cores. A new version overcoming this issues is in progress. If you want to run your own core, please wait for the new version being released!
This manual describes the necessary steps to install a new DAPNET Core node on a linux running machine. Please inform us about any mistakes or misunderstandable descriptions. Overview
The Node program consists of two parts:
We assume a fresh debian based linux system where you have root access. The user the DAPNET Core will run on is dapnet
in this manual. Choose whatever fits to you system setup. Create this user. Google how to do this on your linux system. The dapnet Core does not need root rights to run.
The following software packages are needed
You need to install java 1.8 following this link. This link is for Debian or Ubuntu. For RaspberryPi use
sudo apt-get install oracle-java8-jdk
After having installed java, install the rest with
sudo apt-get install git maven
Verify your java version is minimum 1.8 with
java -version
If you have installed the default java 1.7 OpenJDK, remove it with
sudo apt-get remove java-common
Create a new user called dapnet
sudo adduser dapnet
Make a directory /opt/dapnet
sudo mkdir /opt/dapnet
Make dapnet
the owner of this directory
sudo chown dapnet /opt/dapnet
Change to user dapnet
. If you don't have a user dapnet
on your system, make one. If you don't know how, ask google.
sudo su dapnet
Change to
cd /opt/dapnet
and download the newest version from github.
git clone https://github.com/DecentralizedAmateurPagingNetwork/Core.git git clone https://github.com/DecentralizedAmateurPagingNetwork/Web.git
Compile the Core:
cd Core mvn clean package
The compiled files are now in the directory /opt/dapnet/Core/target
. In order not to loose your config every time you recompile a new version make a directory named local
mkdir /opt/dapnet/Core/local
Generate three more dircetories
mkdir /opt/dapnet/Core/local/config mkdir /opt/dapnet/Core/local/data mkdir /opt/dapnet/Core/local/logs
Copy the example config files to /opt/dapnet/Core/local/config:
cp /opt/dapnet/Core/example_config/* /opt/dapnet/Core/local/config
Edit /opt/dapnet/Core/local/config/ClusterConfig.xml
<TCPPING initial_hosts="44.225.164.27[7800],44.225.164.162[7800]"
If the Core is behind NAT, activate the following section by removing the <!– and –> and enter your outbound HAMNET-IP.
<!-- FOR CORE BEHIND NAT USE <TCP bind_port="7800" external_addr="44.225.x.x" loopback="true"/> -->
If you want the Core to bind to a specific address you can extend the TCP config
<TCP bind_port="7800" bind_addr="127.0.0.1" />
Contact us or one of the existing Core sysops to have your node added and get the password.
We assume here the password is „geheim“. So put the real one in the line:
auth_value="geheim"/>
At the bottom, put the callsign of the core in lowercase. The example here ist db0abc
. Enter the one that is registered in the DAPNET. Use lowercase letters.
<pbcast.GMS name="db0abc@DAPNET"
That's all for now.
Change to
cd /opt/dapnet/Core/local
and start a screen
, so the program keeps running even if your SSH connection is closed. Install screen
if not already installed.
sudo apt-get install screen
Run the screen
screen
You can leave the screen with CTRL+A D. New attachment to the screen with screen -r .
Start the core:
cd /opt/dapnet/Core/local java -Dlog4j.configurationFile=../local/config/LogSettings_REST.xml -jar ../target/dapnet-core.jar
Replace the jar filename with the right one you just compiled. It may change in the development process.
If you don't like the screen and better want a systemd service to start at boot time, have a look at
https://github.com/DecentralizedAmateurPagingNetwork/Core/tree/master/util/systemd
All cores have to be able to reach each other directly by HAMNET IPs (44.0.0.0/8). If you do not have native HAMNET access, consider the PPTP manual and ask us for a static IP and user/password combination.
The source code is already downloaded to
/opt/dapnet/Web
. Now install the apache2 webserver and the php module if not already present.
apt-get install apache2
Edit
/etc/apache2/sites-available/000-default.conf
and change
DocumentRoot dist
Insert below this line:
<Directory /opt/dapnet/Web/dist> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Restart the apache.
sudo service apache2 restart
Change to
cd /opt/dapnet/Web
and follow the instructions on Github.
Now the web interface is accessable on http://YOURURL
.
Normally, the REST-API runs on port 8080. If you just have port 80 open for your website and don't want to add port 8080, you can use the Apache webserver as a proxy to process the API requests.
Add to your apache config:
ProxyPass "/api" "http://URLOFYOURCORE:8080 ProxyPassReverse "/api" "http://URLOFYOURCORE:8080"
In the settings of the DAPNET-WEG, enter in /src/store/defaultUrls.json
the API URL to
"api": "http://YOURWEBSITEURL/api",
Restart the apache and build the website again:
sudo systemctl restart apache2 cd /opt/dapnet/Web/ npm run build
Ask us for your personal login data and happy paging.