Table des matières

Movim

Test VM Xen Buster

Note, je n'ai pas réussi à faire fonctionner dans une VM derrière la VM proxy mais sur VM direct oui

Dépendance

apt install composer php-fpm php-curl php-mbstring php-imagick php-gd php-pgsql php-xml git nginx-full sudo postgresql postgresql-contrib curl

Movim Préparation

cd /var/www/
git clone https://github.com/movim/movim.git
cd movim/
curl -sS https://getcomposer.org/installer | php
mkdir log && mkdir cache && mkdir public/cache

Database

  sudo -u postgres createuser -P movim_user
  sudo -u postgres createdb -O movim_user movim_db
 
  cd movim/config/
  cp db.example.inc.php db.inc.php 
 
  nano db.inc.php 

Droits

chown www-data movim && chown www-data movim/public && chmod u+rwx movim

Installation

sudo -u www-data php composer.phar install
sudo -u www-data php composer.phar movim:migrate

Nginx

server {
    listen 80;
    server_name movim.exemple.net;

    access_log      /var/log/nginx/movim_access.log;
    error_log       /var/log/nginx/movim_error.log info;

    root /var/www/movim/public/;
    index index.html index.php;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    }

    location /ws/ {
        proxy_pass http://localhost:8080/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        include proxy_params;
    }
}

Daemon

sudo -u www-data php daemon.php start --url={public url of your pod} --port={port used by the daemon} 
nano /etc/systemd/system/movim.service
systemctl daemon-reload
systemctl enable movim.service
[Unit]
Description=Movim daemon
After=apache2.service network.target local-fs.target
 
[Service]
User=www-data
Type=simple
Environment=PUBLIC_URL=http://movim.kagouille.fr/
Environment=WS_PORT=8080
EnvironmentFile=-/etc/default/movim
ExecStart=/usr/bin/php daemon.php start --url=${PUBLIC_URL} --port=${WS_PORT}
WorkingDirectory=/var/www/movim/
StandardOutput=syslog
SyslogIdentifier=movim
PIDFile=/run/movim.pid
Restart=on-failure
RestartSec=10
 
[Install]
WantedBy=multi-user.target
nano /etc/default/movim
# Configuration parameters for movim daemon startup

# Public URL the Movim instance is reachable at
PUBLIC_URL=http://movim.kagouille.fr/

# Port to use for WebSocket connection
WS_PORT=8080