Installation de LinkAce

Prérequis

Avant de commencer, assurez-vous d'avoir installé les paquets suivants sur votre système:

  • PHP 8.0+
  • Composer
  • Nginx
  • MySQL/mariaDB
  • npm
  • Git

apt-get install php8-fpm

Création d'un utilisateur système

Pour gérer LinkAce, nous allons créer un utilisateur dédié:

sudo adduser veille

Création de la base de données

mysql_secure_installation
CREATE DATABASE linkace_db;
CREATE USER 'linkace_user'@'localhost' IDENTIFIED BY 'M0t2p@sse#';
GRANT ALL PRIVILEGES ON linkace_db.* TO 'linkace_user'@'localhost';
FLUSH PRIVILEGES;
exit;

Téléchargement de LinkAce

Passez à l'utilisateur veille et téléchargez LinkAce dans le répertoire /opt:

sudo su veille
cd /opt
git clone https://github.com/Kovah/LinkAce.git

Configuration de LinkAce

Déplacez-vous dans le répertoire LinkAce et installez les dépendances avec Composer:

cd LinkAce
composer install --no-dev --optimize-autoloader

Renommez le fichier .env.example en .env et mettez à jour les valeurs de configuration de la base de données et autres selon vos besoins.

Installation de LinkAce

Exécutez les commandes suivantes pour installer LinkAce:

php artisan key:generate
php artisan migrate
php artisan setup:app
npm install && npm run production

Configuration de Nginx

Modifiez votre fichier de configuration Nginx (par exemple /etc/nginx/sites-available/linkace) pour qu'il ressemble à ceci :

server {
listen 80;
listen [::]:80;

server_name localhost;

root /opt/LinkAce/public;
index index.php;

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

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

location ~ /\.ht {
deny all;
}
}

Activez le site et redémarrez Nginx:

sudo ln -s /etc/nginx/sites-available/linkace /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Configuration du service Systemd

Créez un nouveau fichier de demarrage /opt/LinkAce/linkace.sh :

#!/bin/bash
LINKACE_PATH=/opt/LinkAce
# Déplacez-vous vers le répertoire de LinkAce\
cd $LINKACE_PATH
# Exécutez la commande\
sudo -u veille npm run production\

Créez un nouveau fichier de service systemd à /etc/systemd/system/linkace.service et ajoutez le contenu suivant:


[Unit]
Description=Start LinkAce
After=network.target mariadb.service nginx.service php8.0-fpm.service

[Service]
ExecStart=/opt/LinkAce/linkace_start.sh
User=veille
Group=www-data

[Install]
WantedBy=multi-user.target

Activez le service et démarrez-le:

sudo systemctl enable linkace
sudo systemctlstart linkace

Correction des problèmes de permission

Si vous rencontrez des erreurs liées aux permissions, par exemple lors de l'exécution de npm run production, vous pouvez corriger ces problèmes en modifiant les permissions sur les dossiers concernés. Voici comment vous pouvez le faire :

sudo chown -R veille:www-data /opt/LinkAce/storage
sudo chown -R veille:www-data /opt/LinkAce/bootstrap/cache
sudo chmod -R 775 /opt/LinkAce/storage
sudo chmod -R 775 /opt/LinkAce/bootstrap/cache

Installation des extensions PHP requises

Si vous rencontrez des erreurs indiquant que certaines extensions PHP sont manquantes, vous pouvez les installer en utilisant les commandes suivantes. Remplacez “bcmath” par le nom de l'extension requise :

sudo apt install php-bcmath
sudo systemctl restart nginx

Lancement de LinkAce au démarrage

Si vous souhaitez que LinkAce se lance automatiquement au démarrage de votre serveur, vous pouvez activer le service systemd que nous avons créé précédemment :

sudo systemctl enable linkace

À ce stade, LinkAce devrait être installé et fonctionnel. Vous pouvez accéder à LinkAce en visitant le nom de domaine que vous avez configuré depuis le reverse proxy de Nginx.