Bon courage!

guppy 2023-08-31 12:22:42 +02:00
commit b81517b7a0
4 changed files with 84 additions and 0 deletions

15
README.md 100644
View File

@ -0,0 +1,15 @@
# SevAlternance
## Dépendances
L'application nécessite l'installation de nodeJS et npm
## Installation
Exécuter le script install.sh
## Utilisation
Démarrer le service sevalternance avec systemd.
Vérifier son statut avec systemd.
Dans un navigateur, ce rendre sur l'adresse [https://votre_serveur](https://votre_serveur)

8
install.sh 100755
View File

@ -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

47
sevalternance.js 100644
View File

@ -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));

View File

@ -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