User Tools

Site Tools


howto:aredn:meshchat

This is an old revision of the document!


Mesh Chat

Using Mesh Chat is easy: simply click on a Mesh Chat service and enter your callsign.

At the moment, we have four Mesh Chat instances that sync to each other:

Hosting a Mesh Chat Instance

Mesh Chat can be installed directly on the hAP, but it's not recommended because it uses resources and it offers very little storage for files:

In contrast, a server install (coming up next) frees up resources and offers more space:

Mesh Chat on a Linux Server

Before we get started with the details, let's have a look at the big picture first. There's essentially 3 different “names” that we'll have to keep track of:

  • The AREDN Node name configured in the Basic Setup page. Mine in this example, we have VA7FI-HAP-1
  • The Hostname of the linux computer running the service. Mine is VA7FI-Linux
  • The Service name. Here we use MIMeshChat so that all instances with the same name can sync to each other.

Here's what that looks like on the Node Status page once it's all done and ready:

Fresh LinuxMint Install

  • Change Hostname to VA7FI-Linux because that's what will show on Mesh Chat:
    sudo hostnamectl set-hostname VA7FI-Linux

Installing Mesh Chat

Following the instructions on Trevorsbench:

  • Install dependencies:
    sudo aptitude install curl apache2
  • Download and install Mesh Chat:
    wget https://s3.amazonaws.com/aredn/meshchat_1.02_all.deb
    sudo dpkg -i meshchat_1.02_all.deb
  • Edit configuration file:
    sudo pico /usr/lib/cgi-bin/meshchatconfig.pm

    and edit the last two lines so that the zone matches the other Mesh Chat instances, and the node is the name of your AREDN node. In my case:

    our $pi_zone                    = 'MIMeshChat';
    our $local_meshchat_node        = 'VA7FI-HAP-1';

On LinuxMint there's an issue that needs to be fixed before continuing. Essentially, the current setup uses files in the /tmp folder, which the Apache server is not allowed to edit. So the solution was to create that folder somewhere else and set the permissions properly.1)

  • Create these folders:
    sudo mkdir /var/www/html/meshchat/tmp/
    sudo mkdir /var/www/html/meshchat/tmp/meshchat/

  • And change the ownership and permissions:

    sudo chown www-data:www-data -R /var/www/html/meshchat/tmp/
    sudo chmod 770 -R /var/www/html/meshchat/tmp/
  • Edit the config file:
    sudo pico /usr/lib/cgi-bin/meshchatconfig.pm
  • And replace every instance of /tmp/ by /var/www/html/meshchat/tmp/ (line 2, and 18)
  • Restart services:
    sudo systemctl daemon-reload
    sudo /etc/init.d/apache2 restart
    sudo /etc/init.d/meshchatsync restart

Tests

At this point, you should be able to run Mesh Chat from the computer where it's installed, but it won't talk to any other nodes yet: http://localhost/meshchat/

AREDN Configuration

Install the meshchat-api package:

  • Download it from here
  • Click on Upload Package Browse... from the Adminstration page to install it.

From the Port Forwarding, DHCP, ans Services page:

  1. Setup a DHCP Address Reservation for the Linux computer
  2. Advertise the service
  3. Forward WAN port 8080 to LAN port 80

To synchronize Mesh Chat instances together, simply change the name to MIMeshChat

meshchat.jpg

howto/aredn/meshchat.1636416482.txt.gz · Last modified: by va7fi