/tmp
issue is discussed here: https://www.arednmesh.org/content/pi-meshchat-error-sending-messageThis is an old revision of the document!
Table of Contents
Mesh Chat
Using Mesh Chat is easy: simply click on a Mesh Chat service and enter your callsign.
At the moment, we have five 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. 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 is
VA7FI-HAP-1
. Yours will be different. - The Hostname of the linux computer running the service. Mine is
VA7FI-Linux
. Yours will be different. - The Service name. Here we use
MIMeshChat
. Use the same if you want your instance to sync with that one. This is also called the Mesh Chat “Zone”.
Here's where that information shows up on the Node Status
page once it's all done and ready:
In what follows, it'll be important to keep track of where to enter this information so it's configured properly.
Server Install
- Follow the steps in the Prerequisites section of the Linux Server page.
Mesh Chat Install
Following the instructions on Trevorsbench:
- Install the 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 the 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 the services:
sudo systemctl daemon-reload sudo /etc/init.d/apache2 restart sudo /etc/init.d/meshchatsync restart
At this point, you should be able to run Mesh Chat from the computer where it's installed using this address:
http://localhost/meshchat/
But it won't be able to talk to your AREDN node yet.
AREDN Configuration
Install the meshchat-api package:
- Download it from here
- From the
Administration
page, click onUpload Package
Browse... to install it.
From the Port Forwarding, DHCP, ans Services
page:
- Setup a DHCP Address Reservation for the Linux computer
- Advertise the service
- Forward WAN port 8080 to LAN port 80
- Don't for get to Save Changes