Nodejs es un tiempo de ejecución javaScript de código abierto basado en el motor JavaScript V8 de Chrome (v4) para desarrollar aplicaciones web del lado del servidor. Nodejs es un tiempo de ejecución multiplataforma que puede ejecutarse en OS X, Microsoft Windows, Linux y FreeBSD. Proporciona una arquitectura basada en eventos y un modelo de E/S sin bloqueo que lo hace liviano y eficiente para aplicaciones web en tiempo real. Ryan Dahl inició el proyecto Node.js en 2009 y alcanzó la versión 4.2.0 (LTS) a partir de hoy.
Ghost es una poderosa plataforma de publicación y blog de código abierto que está bellamente diseñada y es fácil de usar. Ghost está escrito en javascript y utiliza node.js como entorno de ejecución. Ghost se lanzó en 2013 bajo licencia MIT.
Requisitos
- Ubuntu 15.10
- privilegios de raíz
Qué haremos en este tutorial:
- Instalar Node.js
- Instalar fantasma
- Configurar fantasma
- Instala Apache y agrega Ghost VirtualHost
- Habilitar SSL para Ghost
Paso 1:instalar Node.js en Ubuntu
Para este tutorial, usaremos node.js v0.12. Node.js se puede instalar desde la fuente o desde el repositorio de nodesource.com. Usaremos el repositorio node.js https://deb.nodesource.com/node_0.12 para la instalación.
Agregue y actualice el repositorio ejecutando el siguiente comando:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
A continuación, instale node.js con apt:
sudo apt-get install -y nodejs
Ahora verifique la versión de node.js:
node --version
v0.12.7
Y verifique la versión de npm:
npm --version
2.11.3
Npm es el administrador de paquetes de node.js que se usa para instalar, publicar y administrar programas de nodo.
Paso 2:instalar el Blog de Ghost
Instalaremos ghost en el directorio "/var/www/" y usaremos la última versión de Ghost. Cree un nuevo directorio "www" en /var e ingréselo con "cd":
mkdir -p /var/www/
cd /var/www/
Descargue Ghost con el comando wget, luego extráigalo a un directorio llamado "ghostblog":
wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip
NOTA :-d :crea automáticamente el directorio.
Luego vaya al directorio de ghostblog e instale Ghost con npm comando como root/sudo:
cd ghostblog/
npm install --production
Paso 3:Configurar fantasma
Vaya al directorio de ghostblog y luego copie el archivo de muestra de configuración en "config.js"
cd /var/www/ghostblog/
cp config.example.js config.js
Ahora abra el archivo de configuración con el editor vim:
vim config.js
En el bloque del servidor (línea 27) , cambie el valor del host a 0.0.0.0 .
host = 0.0.0.0
Para permitir el acceso al blog desde el exterior. Guardar y salir.
Luego agregue el nuevo usuario "fantasma". Este usuario se usará para ejecutar fantasma:
sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD
Ahora cambie el propietario del directorio de instalación fantasma al usuario "fantasma".
chown -R ghost:ghost /var/www/ghostblog
Pruebe el blog fantasma ejecutando el comando npm como usuario fantasma. Inicie sesión en el usuario fantasma:
su - ghost
Y vaya al directorio de instalación de Ghost e inícielo:
cd /var/www/ghostblog
npm start --production
Visite la IP del servidor en el puerto 2368, en mi caso:192.168.1.104:2368
Para que nos resulte más fácil iniciar Ghost, crearemos un servicio de sistemas para ejecutar Ghost. Vuelva al usuario sudo/root y cree un nuevo archivo llamado "ghost.service" en el directorio "/lib/systemd/system/".
sudo cd /lib/systemd/system/
sudo vim ghost.service
Pegue el script systemd a continuación:
[Unit] Description=ghost After=network.target [Service] Type=simple # Ghost installation Directory WorkingDirectory=/var/www/ghostblog User=ghost Group=ghost ExecStart=/usr/bin/npm start --production ExecStop=/usr/bin/npm stop --production Restart=always SyslogIdentifier=Ghost [Install] WantedBy=multi-user.target
Y guarde el archivo. Luego vuelva a cargar el demonio systemd:
sudo systemctl daemon-reload
Agregue el servicio Ghost para que se inicie automáticamente en el momento del arranque e inicie Ghost con el comando systemctl:
sudo systemctl enable ghost
sudo systemctl start ghost
Paso 4:instale Apache y Ghost VirtualHost
Instale apache con el comando apt-get:
sudo apt-get install apache2
Una vez finalizada la instalación, cree un nuevo archivo para el host virtual fantasma en el directorio "/etc/apache2/sites-disponible/".
sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf
Pegue la configuración a continuación:
<VirtualHost *:80> #Domain Name ServerName ghostblog.me ServerAlias www.ghostblog.me #HTTP proxy/gateway server ProxyRequests off ProxyPass / http://127.0.0.1:2368/ ProxyPassReverse / http:/127.0.0.1:2368/ </VirtualHost>
Guardar y salir.
Active el módulo proxy HTTP en apache con el comando a2enmod como se muestra a continuación:
sudo a2enmod proxy proxy_http
Finalmente, tenemos que activar el host virtual Ghost y luego reiniciar apache:
sudo a2ensite ghostblog
sudo systemctl restart apache2
Reiniciar fantasma:
sudo systemctl restart ghost
Pruebe visitando el dominio:http://ghostblog.me
Paso 5:habilitar SSL para Ghost
Para habilitar SSL en apache, asegúrese de que la biblioteca de openssl esté instalada en el sistema. Generaremos una nueva clave y un archivo crt en el directorio "/etc/apache2/certs". Primero creamos nuevos certificados de directorio:
sudo mkdir -p /etc/apache2/certs
Y genere la clave del certificado con el siguiente comando:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt
Cambie el permiso del archivo de certificado:
sudo cd /etc/apache2/certs/
sudo chmod 600 *
A continuación, agregue la configuración ssl a ghost virtualhost editando el archivo "ghostblog.conf".
sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf
Pegue el nuevo script de configuración a continuación:
<VirtualHost *:80> ServerName ghostblog.me ServerAlias www.ghostblog.me # Force http to https Redirect permanent / https://ghostblog.me/ # ProxyRequests off # ProxyPass / http://127.0.0.1:2368/ # ProxyPassReverse / http:/127.0.0.1:2368/ </VirtualHost> <VirtualHost *:443> ServerName ghostblog.me SSLEngine on SSLCertificateFile /etc/apache2/certs/ghostblog.crt SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key ProxyPass / http://127.0.0.1:2368/ ProxyPassReverse / http:/127.0.0.1:2368/ ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" </VirtualHost>
Guardar y Salir.
Active el módulo apache de OpenSSL y reinicie apache:
sudo a2enmod ssl headers
sudo systemctl restart apache2
Prueba
Visita http://ghostblog.me , y se verá forzado al sitio HTTPS/SSL de su blog.
Ghost con apache y SSL ahora se instaló correctamente.
Conclusión
Nodejs es un runtine javascript multiplataforma de código abierto para crear aplicaciones web del lado del servidor. Es ligero y eficiente para aplicaciones web en tiempo real. Ghost es una plataforma de blogs escrita en Javascript para Node.js. Ghost está bellamente diseñado y es fácil de usar. La interfaz intuitiva hace que este sistema de blogs sea fácil de usar. Ghost se puede instalar de forma independiente o con un servidor web como Apache o Nginx. Puede asegurar Ghost con openssl. Configurar Ghost con Apache y OpenSSL es fácil, solo tiene que configurar el módulo apache http_proxy y generar un certificado SSL.