Logo Cyca

Installation native

Cette page est disponible dans d'autres langues: 🇺🇸

Ce document vous guidera dans l’installation native de Cyca.

Pré-requis

  • php 7.4 FPM et extensions additionnelles:
  • composer
  • Serveur de bases de données:
    • MySQL ou MariaDB, SQLServer, PostgreSQL ou SQLite
    • extension php correspondante
  • Serveur web
  • Serveur redis (optionnel)
  • git (optionnel, peut être utilisé pour installer Cyca)
  • Un gestionnaire de processus pour les files d’attentes et le websocket (Systemd ou Supervisor)

En fonction de votre système d’exploitation et de votre distribution de php, la plupart des extensions php devraient être disponibles dès l’installation, sauf imagick, l’extension PDO correspondant au serveur de bases de données de votre choix et redis, qui nécessitent une installation séparée.

Si vous souhaitez contribuer à Cyca avec du contenu d’interface utilisateur, vous aurez également besoin de nodejs. Cyca est développé avec la version LTS de nodejs.

Installation

Fichiers de Cyca

Téléchargez une copie de Cyca, soit en utilisant la dernière archive disponible ou git.

git clone https://git.athaliasoft.com/richard/cyca.git /var/www/cyca

Attribuez au serveur web les permissions appropriées:

chown -R www-data:www-data /var/www/cyca

Installation des dépendances

cd /var/www/cyca
composer update

Si vous installez nodejs pour contribuer à l’interface utilisateur, installez les dépendances:

npm i

Créez un fichier de configuration

Copiez le fichier .env.example vers .env et générez une clé d’application:

cp .env.example .env
php artisan key:generate

Modifiez ce fichier selon vos besoins. Chaque option est documentée, certaines nécessite d’être changées, d’autres peuvent l’être, d’autres encore ne devraient pas avoir besoin d’être modifiées.

La variable la plus importante à définir est APP_KEY, qui est utilisée à des fins de chiffrement (par exemple, le hashage des mots de passe). Il est donc très important de définir correctement cette clé en utilisant la commande ci-dessus.

Puis, définissez l’URL de Cyca et ajustez les paramètres de base de données et des emails.

Vous devez changer les variables suivantes, parce que leur valeur par défaut convient uniquement à une installation par docker:

  • DB_HOST
  • REDIS_HOST
  • PUSHER_HOST

Vous pouvez toutes les définir à localhost si vous envisagez de faire tourner le serveur de bases de données, le serveur redis et le serveur de websockets sur la même machine. Dans le cas contraire, renseignez le nom d’hôte de ces serveurs.

Créer et peupler la base de données

La base de données spécifiée dans la configuration doit être pré-existante. Veuillez consulter la documentation de votre serveur pour savoir comment procéder avant de lancer les commandes suivantes.

Une fois la base de données prête, lancez les migrations:

php artisan migrate

Configurer le serveur web

Cyca est développé avec un serveur nginx. Une configuration appropriée est donc fournie pour ce serveur web. Si vous utilisez un autre serveur, vous devrez adapter votre configuration.

Vous trouverez un exemple de fichier de configuration dans le dossier resources/examples.

Créez un hôte virtuel dans votre configuration de nginx:

server {
    listen 80;

    # Remplacez par le nom d'hôte que vous utiliserez réellement pour Cyca
    server_name localhost;

    # nginx doit servir les fichiers présents dans le répertoire "public" de
    # Cyca
    root /var/www/cyca/public;
    index index.html index.htm index.php;

    charset utf-8;

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  stderr error;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # Changez ce chemin pour le répertoire "public" de Cyca
    location /var/www/cyca/public/ {
        # Changez ce nom d'hôte si vous n'hébergez pas le serveur de websockets
        # sur la même machine
	    proxy_pass http://localhost:6001;
	    proxy_http_version 1.1;
	    proxy_set_header Upgrade $http_upgrade;
	    proxy_set_header Connection "Upgrade";
	}

    location ~ \.php$ {
        fastcgi_pass   localhost:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Files d’attente et websockets

Vous aurez besoin d’un moniteur de processus, comme Supervisor ou Systemd, pour lancer le serveur de files d’attente et le serveur de websockets. Vous trouverez des fichiers de configuration d’exemple dans le répertoire examples/supervisor pour chaque processus. Assurez-vous de modifier ces fichiers avant de les copier dans le répertoire /etc/supervisor.d/conf, et en particulier les chemins d’accès à Cyca.

Une fois votre configuration prête, vous pouvez lancer les processus:

supervisorctl reread
supervisorctl update
supervisorctl start cyca_queue:*
supervisorctl start cyca_websocket

Vérifiez vos journaux dans le répertoire storage/logs de Cyca en cas de problème.

Tâches planifiées

Cyca a besoin d’exécuter des tâches périodiques. À cette fin, ajoutez une entrée à la crontab de l’utilisateur du serveur:

crontab -u www-data -e
* * * * * cd /var/www/cyca && php artisan schedule:run >> /dev/null 2>&1

Comme d’habitude, remplacez /var/www/cyca par le chemin vers le répertoire racine de Cyca.

S’enregistrer

Vous devriez maintenant pouvoir ouvrir Cyca dans votre navigateur et enregistrer votre premier utilisateur !