Pila de sistema recomanada per a instal·lacions de producció
Abans que comencis
Pas 1: instal·leu MySQL
Pas 2: instal·leu NGINX
Pas 3: instal·leu Node.js i NPM
Pas 4: instal·leu Ghost-CLI
Pas 5: instal·leu Ghost
Conclusió
Ghost és una plataforma de publicació moderna i de codi obert construïda a Node.js amb un client d'administració Ember.js , una API JSON i una API temàtica impulsada per Handlebars.js . L'equip de Ghost ha llançat recentment una nova versió de Ghost amb moltes característiques i millores noves: nou editor de marques amb la barra d'eines per ajudar-vos a dissenyar la vostra publicació, millores en la interfície d'usuari/UX, arrossegar i deixar anar diverses imatges, instal·lació millorada i procés d'actualització amb nous eina anomenada Ghost-CLI , nou tema predeterminat Casper v2.0.0 i molt més. Us ho deixo per explorar més després d'instal·lar-lo.
En aquest tutorial instal·lem, configurarem i configurarem un Ghost v1.0.0 a Ubuntu 16.04 LTS mitjançant MySQL, Let's Encrypt, Node.js, NPM, Ghost-CLI i NGINX.
NOTE: Ubuntu 16.04 LTS is the only officially supported Linux distribution. It is not possible to install Ghost v1.0.0 on other Linux distributions. In future, it will probably be possible to install it when they add support for other distributions in Ghost-CLI tool.
Pila de sistema recomanada per a instal·lacions de producció
L'equip de Ghost recomana la següent pila i configuració del servidor per a la instal·lació de producció del bloc Ghost v1.0.0:
- Ubuntu 16.04 com a sistema operatiu amb un mínim d'1 GB de RAM (es pot utilitzar l'intercanvi)
- Systemd (per gestionar el procés Ghost)
- MySQL com a motor de base de dades recomanat
- NGINX (mínim de 1.9.5 per a SSL)
- Node.js v6 instal·lat mitjançant el repositori NodeSource
- Gestor de paquets NPM o Yarn
- compilador C++
- Un usuari no root per executar
ghostordres
Abans que comencis
Comproveu la versió d'Ubuntu:
lsb_release -ds
# Ubuntu 16.04.3 LTS
Creeu un nou compte d'usuari no root amb sudoaccés i canvieu-hi:
NOTE: Replace johndoe with your username
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
Configura la zona horària:
sudo dpkg-reconfigure tzdata
Assegureu-vos que el vostre sistema estigui actualitzat:
sudo apt update && sudo apt upgrade -y
Instal·leu el build-essentialpaquet:
sudo apt install -y build-essential
Pas 1: instal·leu MySQL
En primer lloc, haurem d'instal·lar la base de dades MySQL ja que Ghost la recomana com a base de dades per a l'entorn de producció.
Baixeu i instal·leu MySQL:
sudo apt install -y mysql-server
NOTE: You will be prompted to enter password for the MySQL "root" user. Enter strong password!
Comproveu la versió de MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Enduriu el servidor MySQL executant l' mysql_secure_installationscript:
sudo mysql_secure_installation
Pas 2: instal·leu NGINX
A continuació, hem d'instal·lar el programari NGINX. S'utilitzarà com a servidor intermediari invers per a la nostra aplicació Ghost. Ghost-CLI pot configurar NGINX com a servidor intermediari invers automàticament.
Baixeu i instal·leu NGINX:
sudo apt install -y nginx
Comproveu la versió de NGINX:
sudo nginx -v
# nginx version: nginx/1.10.3 (Ubuntu)
Pas 3: instal·leu Node.js i NPM
Ghost v1.0.0 currently supports Node.js versions 6.9+ and 4.5+ only. The recommended version of Node.js to use with Ghost v1.0.0 is currently Node.js v6 Boron LTS.
Ghost està construït a Node.js. Ghost segueix el pla LTS de Node, només admet versions LTS de Node.js. Per tant, haurem d'instal·lar la darrera versió LTS de Node.js.
Baixeu i instal·leu Node.js i NPM:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs
Comproveu la versió de Node.js i NPM:
node -v && npm -v
# v6.11.3
# 3.10.10
Pas 4: instal·leu Ghost-CLI
Ghost-CLI és una eina CLI per instal·lar i actualitzar Ghost. Facilita la instal·lació i l'actualització de Ghost. Pot configurar la base de dades per a vostè, configurar NGINX com a servidor intermediari invers, configurar la seguretat TLS mitjançant Let's Encrypt, la renovació automàtica de SSL i configurar ghost com a servei de sistema. S'encarregarà de la seguretat bàsica per a tu, creant un usuari del sistema dedicat anomenat ghostper executar el bloc Ghost.
Instal·leu Ghost-CLI mitjançant npm:
sudo npm install -g ghost-cli@latest
Comproveu la versió de Ghost-CLI:
ghost version
# Ghost-CLI version: 1.1.1
Executeu l' ghost doctorordre per comprovar que el vostre entorn és compatible amb Ghost-CLI:
ghost doctor
✔ Checking system Node.js version
✔ Checking current folder permissions
✔ Checking operating system
✔ Checking MySQL is installed
✔ All install checks passed
Obteniu ajuda sobre l' ghostordre:
ghost help
Per obtenir ajuda més específica sobre ghostsubordres, podeu executar ghost help <command>. Per exemple, per obtenir ajuda sobre l' ghost configordre, executeu:
ghost help config
Pas 5: instal·leu Ghost
NOTE: Make sure DNS records for your domain are set up. This tutorial uses example domain blog.example.tld. Replace blog.example.tld with your domain/hostname.
Ara estem preparats per instal·lar Ghost CMS. L'única manera d'instal·lar Ghost v1.0.0 és mitjançant l'eina Ghost-CLI.
Crea el directori arrel del document:
sudo mkdir -p /var/www/ghost
Canvieu la propietat del /var/www/ghostdirectori a l' usuari no root amb sudoprivilegis que heu creat al principi d'aquest tutorial:
sudo chown <johndoe>:<johndoe> /var/www/ghost
Navegueu al directori arrel del document:
cd /var/www/ghost
NOTE: Make sure /var/www/ghost directory is empty before installing Ghost and your user must own this directory.
Instal·leu Ghost en un mode de producció:
ghost install
Contesteu les preguntes amb les quals us demani. Per obtenir més informació sobre les preguntes que demana, visiteu Ghost docs :
? Enter your blog URL: https://blog.example.tld
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [Enter password you created when you installed MySQL]
? Enter your Ghost database name: [Whatever you want]
? Do you wish to set up Nginx? yes
? Do you wish to set up SSL? yes
? Enter your email (used for Let's Encrypt notifications) [Your email for Let's Encrypt]
? Do you wish to set up "ghost" mysql user? yes
? Do you wish to set up Systemd? yes
? Do you want to start Ghost? yes
NOTE: After installation, NGINX configuration files will be in /var/www/ghost/system/files directory. Ghost-CLI will ask you Do you wish to set up Nginx? and if your answer is yes, then it will configure NGINX as a reverse proxy for you automatically. Your NGINX config files will be in {your_ghost_installation_dir}/system/files directory.
Un cop finalitzada la instal·lació, podeu executar-lo ghost lsper veure el procés Ghost en execució:
ghost ls
També per comprovar si Ghost està instal·lat, podeu ghost versiontornar a executar -lo des del /var/www/ghostdirectori:
ghost version
# Ghost-CLI version: 1.1.1
# Ghost Version (at /var/www/ghost): 1.8.4
En el futur, quan s'alliberi una versió més nova de Ghost, només cal que executeu l' ghost updateordre des del /var/www/ghostdirectori per actualitzar el fantasma. A més, abans d'actualitzar, feu una còpia de seguretat del vostre bloc des de la interfície d'administració.
Per completar el procés de configuració i crear un compte d'administrador de Ghost, aneu a la pàgina de configuració de Ghost afegint /ghost-lo al final de l'URL del vostre bloc. Aquest exemple utilitza https://blog.example.tld/ghost.
Conclusió
Hem instal·lat i configurat correctament el nostre nou bloc Ghost v1.0.0 per a la producció. L'eina Ghost-CLI ens facilita molt la vida eliminant els passos manuals que havíem de fer amb el v0.11.xGhost més antic . També pots fer-ho tot manualment sense l'ajuda de l'eina Ghost-CLI, però perdràs la possibilitat d'actualitzar fàcilment el teu bloc amb ghost updatecomandaments. Fer-ho tot manualment és laboriós i no recomanable. L'únic inconvenient és el fet que altres distribucions de Linux no són compatibles en aquest moment.