====== 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.