Simple, light and elegant, Movim client can be installed on your desktop or smartphone.
Movim has been here for years and I never really had time to write a tutorial. With their recent new version I decided to give it a try and write the installation steps.
It has always been a project I care and I am happy to see how far and well they went.
Movim, based on XMPP (Jabber) is basically a web interface and works as a social network. You can host your own XMPP server or leverage exisiting one (or their own) and then install the web interface.
You can install their client on your Windows/Linux/MacOS desktop or your Android phone.
Their chat / conversation feature is quite elegant and simple to use (1 click to insert pictures, synchronized discussions on all your devices, offline mode, sent/read notification,…). They also have a News and Communities parts. The news feature is ads-free and really put the focus on your content / publications. You can also make it public, to become your blog. On the communities side, it is basically for you to create or connect with various communities/group on the XMPP network.
We will probably have very soon some new features through Movim Hello with calls/video-conferences.
Interested to give it a try? You can try my own instance at mo.freedif.org or directly install it on your own server. (Debian in my case).
Written in PHP, Movim has few dependencies. First you will need Apache, PHP and MySQL (or MariaDB) installed. I will not cover that part on this tutorial as you probably already have them. Or simply follow my previous tutorial on how to install a LAMP server.
1) Install the required dependencies
Install the required PHP dependencies by running:
sudo apt-get install php-curl php-gd php-mysql php-xml php-imagick -y
2) Install git and clone their repo
sudo apt-get install git cd /var/www git clone https://github.com/movim/movim.git
that will download around 35Mb. Stay tuned.
3) Install and run composer to manage the rest of the dependencies
cd movim curl -sS https://getcomposer.org/installer | php php composer.phar install
4) Create and configure the database
You will need a MySQL or MariaDB database. I personally use phpmyadmin to create the database movim and the user movim with the permissions on this database. It should be pretty straightforward. Once done, we will configure the database info of movim:
cd config/ cp db.example.inc.php db.inc.php nano db.inc.php
and update the file with the credentials of your database.
5) Assign the right permission to your movim folder
We will need to run the movim daemon as the web user (www-data), so first ensure www-data is the owner of the movim folder by running:
chown -R www-data:www-data /var/www/movim/ chmod -R u+rwx /var/www/movim/
6) Configure and start Movim
Then we will log-in as www-data user, configure the db and start movim’s daemon, by doing:
sudo su -l www-data -s /bin/bash cd /var/www/movim php mud.php db --set php mud.php config --username=USERNAME --password=PASSWORD php daemon.php start --url=https://mo.freedif.org --port=8080
Change USERNAME and PASSWORD by the credentials you want for the admin panel of Movim.
Once done, you should now have access to your movim instance through your URL:8080
7) Use a dedicated Virtualhost
It is not very user-friendly to use a port in a URL to access a service. Best is to create a vhost (Virtualhost) file to forward your subdomain or domain name to directly point to the service, with no needs for the port.
For this, you will need to use the proxy_wstunnel feature.
sudo a2enmod proxy_wstunnel
Then modify or create a vhost:
sudo nano /etc/apache2/sites-available/movim.conf
Here is mine:
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org ServerName mo.freedif.org DocumentRoot /var/www/movim <Directory /> Options FollowSymLinks SymLinksIfOwnerMatch Order allow,deny Allow from all AllowOverride None </Directory> <Directory /var/www/movim> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /ws/ ws://localhost:8080/ </VirtualHost>
Once done, simply reload apache:
sudo service apache2 reload
You should now have access to Movim directly by pointing to your URL.
8) Movim at startup
To enable Movim at startup, you canput it as a service using systemd
sudo nano /etc/systemd/system/movim.service
Here is mine:
[Unit] Description=Movim Daemon After=network.target [Service] User=www-data WorkingDirectory=/var/www/movim ExecStartPre=/usr/bin/php mud.php db --set ExecStart=/usr/bin/php daemon.php start --url=https://mo.freedif.org --port=8080 Restart=always [Install] WantedBy=multi-user.target
Once done, simply enable it and start it
sudo systemctl enable movim.service sudo systemctl start movim.service
That’s it! You should have a fully functional Movim instance now 😉
If you like the project, donate. (paypal)