====== Installation procedure for new DAPNET node ======
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!
===== Introduction =====
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:
* The DAPNET-Core as the main control programm for all DAPNET actions
* The DAPNET-Web as the Web frontend
===== Preparations =====
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
* git
* maven
* Java 1.8
You need to install java 1.8 following [[https://tecadmin.net/install-oracle-java-8-ubuntu-via-ppa/|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
===== Installation DAPNET-Core =====
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
If the Core is behind NAT, activate the following section by removing the and enter your outbound HAMNET-IP.
If you want the Core to bind to a specific address you can extend the TCP config
{{:icons:warning.png |}}**Contact us or one of the existing Core sysops to have your node added and get the password**.{{ :icons:warning.png|}}
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.
That's all for now.
==== Alternative 1 to run the Node ====
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.
==== Alternative 2 to run the Node ====
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|https://github.com/DecentralizedAmateurPagingNetwork/Core/tree/master/util/systemd]]
==== Important information on the connection with other Cores ====
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 [[https://www.afu.rwth-aachen.de/projekte/funkruf-pager-pocsag/funkrufmaster-2-0-dapnet/manual-to-install-new-dapnet-core-node-english/8-static-content/191-hamnet-pptp-vpn-with-linux|PPTP manual]] and ask us for a static IP and user/password combination.
===== Installation of DAPNET-Web =====
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:
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Restart the apache.
sudo service apache2 restart
Change to cd /opt/dapnet/Web
and follow the instructions on [[https://github.com/DecentralizedAmateurPagingNetwork/Web|Github]].
Now the web interface is accessable on ''http://YOURURL'' .
==== Hint to run the REST-API on the same HTTP Port ====
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
===== First Steps =====
Ask us for your personal login data and happy paging.