primero debemos crear el servidor virtual con el dominio: create virtual Server en mi caso puse envivo.top y luego crear.
Luego verificamos entrando a la carpeta de dominios:
/etc/apache2/sites-available/
entramos en esta carpeta escribiendo:
nano envivo.top.conf
luego tendrás que agregar los campos:
ATENCIÓN : Si estas usando webmin el certificado lo agrega automaticamente asi que no tendras que agregar las lineas del certificado.
<VirtualHost *:80>
ServerName envivo.top
Redirect permanent / https://envivo.top/
</VirtualHost>
<VirtualHost *:443>
ServerName envivo.top
SSLCertificateFile /etc/letsencrypt/live/envivo.top/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/envivo.top/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
como siguiente paso es clonar nuestro proyecto en alguna carpeta de nuestro servidor en mi caso: /home/next/envivo.top
Atención: previamente debes instalar pm2:
npm install -g pm2
cd /ruta/del/proyecto
pm2 start tu_script.js
En mi caso me dirijo /home/next/envivo.top y estando en el proyecto escribo:
pm2 start npm --name "envivo.top" -- start
por último debemos correr nuestro proyecto con el siguiente comando:
npm run build
Y listo ya deberia estar corriendo el dominio
Para los que tengan su proyecto en un index.js
pueden guiarse del siguiente codigo:
const dotenv = require('dotenv');
dotenv.config();
const express = require('express');
const https = require('https');
const fs = require('fs');
const route = require('./routes.js');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(express.json());
app.use('/music', express.static('./downloads'));
app.use('/api', route);
// Configuración para el servidor HTTPS
const httpsOptions = {
key: fs.readFileSync('/etc/ssl/virtualmin/169985729449668/ssl.key'), // Reemplaza con la ruta a tu clav>
cert: fs.readFileSync('/etc/ssl/virtualmin/169985719449668/ssl.cert'), // Reemplaza con la ruta a tu ce>
};
169985648837673
const httpsServer = https.createServer(httpsOptions, app);
const PORT = 9100; // Cambié el puerto a 9100
httpsServer.listen(PORT, () => {
console.log('El servidor está corriendo en el puerto ' + PORT);
});