Avant de commencer, assurez-vous d'avoir installé les paquets suivants sur votre système:
apt-get install php8-fpm
Pour gérer LinkAce, nous allons créer un utilisateur dédié:
sudo adduser veille
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;
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
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.
Exécutez les commandes suivantes pour installer LinkAce:
php artisan key:generate php artisan migrate php artisan setup:app npm install && npm run production
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
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
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
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
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.