How to install the Arionum Node in CentOS 7

Post Reply
AroDev
Site Admin
Posts: 25
Joined: Sat Jan 06, 2018 6:51 am

How to install the Arionum Node in CentOS 7

Post by AroDev » Thu Feb 01, 2018 12:45 pm

This guide aims to provide a quick way to create your own Arionum node.

Arionum does not pay for hosting nodes, but you can help the network by hosting one.

Also, if you would like to solo-mine, you will need to setup your own node (preferably with SSL, if you're mining on a different machine).

We start from the assumption that you have a fresh OS installation, without any other data.

First, we install the epel and remi repositories:

Code: Select all

yum -y install epel-release yum-utils screen git
yum -y update
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y update
Next, we install php 7.2 from the remi repository.

Code: Select all

yum-config-manager --enable remi-php72
yum -y install php php-gmp php-mysql php-mbstring php-bcmath 
Afterwards, we will add the MariaDB 10.1 repository, install MariaDB and start the apache/mariadb processes.

Code: Select all

rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB;
echo "[mariadb]" > /etc/yum.repos.d/MariaDB.repo;
echo "name = MariaDB" >> /etc/yum.repos.d/MariaDB.repo;
echo "baseurl = http://yum.mariadb.org/10.1/centos7-amd64" >> /etc/yum.repos.d/MariaDB.repo;                                                                                                                                               
echo "gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB" >> /etc/yum.repos.d/MariaDB.repo;
echo "gpgcheck=1" >> /etc/yum.repos.d/MariaDB.repo;
yum -y update
yum -y install MariaDB-server MariaDB-client;
systemctl start mariadb
systemctl enable mariadb
systemctl start httpd
systemctl enable httpd
Allow apache through the firewall:

Code: Select all

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

Set MariaDB to listen only on localhost and delete test/remote users.

Code: Select all

echo "[mysqld]">/etc/my.cnf
echo "bind-address = 127.0.0.1">/etc/my.cnf
echo "[client-server]">/etc/my.cnf
echo "!includedir /etc/my.cnf.d">/etc/my.cnf
echo "DELETE FROM mysql.user WHERE User=''"|mysql;
echo "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"|mysql;
echo "DROP DATABASE IF EXISTS test;"|mysql;
echo "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'"|mysql;
Generate a new password, create a database called arionum and an user called arionum.

Code: Select all

pass=$(head -c 16  /dev/random | md5sum | cut -f 1 -d\ )
echo "The db password is $pass"
echo "CREATE DATABASE arionum;"|mysql
echo "CREATE USER 'arionum'@'localhost' IDENTIFIED BY '$pass';"|mysql
echo "GRANT ALL PRIVILEGES ON arionum . * TO 'arionum'@'localhost';"|mysql
echo "FLUSH PRIVILEGES;"|mysql
Clone the git repository and move all data to the apache root

Code: Select all

git clone https://github.com/arionum/node
rm -rf /var/www/html
mv node /var/www/html
chmod 777 /var/www/html/tmp
chown apache:apache /var/www/html -R
Update the Arionum config:

Code: Select all

sed -i s/ENTER-DB-NAME/arionum/g /var/www/html/include/config.inc.php
sed -i s/ENTER-DB-USER/arionum/g /var/www/html/include/config.inc.php
sed -i s/ENTER-DB-PASS/$pass/g /var/www/html/include/config.inc.php
Disable selinux:

Code: Select all

setenforce 0
sed -i s/SELINUX=enforcing/SELINUX=permissive/g /etc/selinux/config
Access your node from the public IP. If you're behind a router, you'll have to forward port 80.
If you plan to use a domain or a subdomain, it's best to use it since the beginning, otherwise it will propagate to the other peers with the IP.
Refresh the website 2 times and the system should start peering with the other nodes automatically. After 5-10 minutes, it will start syncing the blocks.

Post Reply