Bon courage!
commit
5c021ba4e0
|
|
@ -0,0 +1,29 @@
|
|||
# SevAlternance
|
||||
|
||||
## Dépendances
|
||||
|
||||
L'application nécessite l'installation de nodeJS et npm
|
||||
|
||||
## Configuration
|
||||
|
||||
Dans le fichiers sevalternance.js, editez les variables suivantes:
|
||||
|
||||
host: 'IP du serveur de base de donnée',
|
||||
user: 'Utilsateur de la base de donnée',
|
||||
password: 'Mot de passe de l'utlisateur',
|
||||
database: 'Nom de la base de donnée',
|
||||
|
||||
Vérifiez également le chemin et nom pour votre couple certificat/clé:
|
||||
|
||||
key: fs.readFileSync('/etc/ssl/private/wildcard.key'),
|
||||
cert: fs.readFileSync('/etc/ssl/certs/wildcard.pem'),
|
||||
|
||||
## Installation
|
||||
|
||||
Exécutez le script install.sh
|
||||
|
||||
## Utilisation
|
||||
|
||||
Démarrez le service sevalternance avec systemd.
|
||||
Vérifiez son statut avec systemd.
|
||||
Dans un navigateur, ce rendre sur l'url [https://votre_serveur](https://votre_serveur)
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
[[ ! -d /opt/sevalternance ]] && mkdir /opt/sevalternance
|
||||
cp -r ./sevalternance.js /opt/sevalternance/
|
||||
cp -r ./sevalternance.service /etc/systemd/system/
|
||||
cd /opt/sevalternance
|
||||
npm install express mariadb > /dev/null
|
||||
systemctl daemon-reload
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
const https = require('https');
|
||||
const fs = require('fs');
|
||||
const express = require('express');
|
||||
const mariadb = require('mariadb');
|
||||
|
||||
const app = express();
|
||||
|
||||
// Serve the "SevAlternance - Site en construction" message
|
||||
app.get('/', (req, res) => {
|
||||
res.send('SevAlternance - Site en construction');
|
||||
});
|
||||
|
||||
// Check the connection to the MariaDB database using custom SSL options
|
||||
async function checkDatabaseConnection() {
|
||||
const pool = mariadb.createPool({
|
||||
host: 'ip_du_serveur_de_bdd',
|
||||
user: 'sevalternance',
|
||||
password: 'MonSuperMotdePasse',
|
||||
database: 'sevalternance',
|
||||
port: '3306',
|
||||
connectionLimit: 5,
|
||||
});
|
||||
|
||||
let conn;
|
||||
try {
|
||||
conn = await pool.getConnection();
|
||||
console.log('Connected to the database!');
|
||||
} catch (err) {
|
||||
console.error('Failed to connect to the database:', err);
|
||||
} finally {
|
||||
if (conn) conn.release();
|
||||
if (pool) pool.end();
|
||||
}
|
||||
}
|
||||
|
||||
// Start the HTTPS server
|
||||
const options = {
|
||||
key: fs.readFileSync('/etc/ssl/private/wildcard.key'),
|
||||
cert: fs.readFileSync('/etc/ssl/certs/wildcard.pem'),
|
||||
};
|
||||
|
||||
https.createServer(options, app).listen(443, () => {
|
||||
console.log('Server started on port 443');
|
||||
});
|
||||
|
||||
// Check the database connection after starting the server
|
||||
checkDatabaseConnection().catch(err => console.error('Error while checking database connection:', err));
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=SevAlternance
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Environment=NODE_ENV=production
|
||||
ExecStart=/usr/bin/node /opt/sevalternance/sevalternance.js
|
||||
WorkingDirectory=/opt/sevalternance
|
||||
Restart=always
|
||||
User=root
|
||||
Group=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Loading…
Reference in New Issue