GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Craft CMS su Ubuntu 18.04 LTS

Craft è un CMS open source scritto in PHP. Craft ti consente di creare e gestire facilmente contenuti di bell'aspetto e di progettare e costruire esattamente ciò di cui hai bisogno. È un CMS sicuro e scalabile con un grande ecosistema di plug-in e il codice sorgente Craft è ospitato su GitHub. Questo tutorial ti guiderà attraverso la procedura di installazione di Craft CMS su un nuovo server Ubuntu 18.04 LTS utilizzando Nginx come server web e proteggeremo il sito web con un certificato SSL Let's encrypt.

Requisiti

Craft richiede quanto segue:

  • PHP versione 7.0 o successiva con le seguenti estensioni PHP:(ctype, cURL, GD o ImageMagick, iconv, JSON, Multibyte String, OpenSSL, PCRE, PDO MySQL Driver o PDO PostgreSQL Driver, PDO, Reflection, SPL, Zip, Internazionale, DOM)
  • MySQL 5.5+ con InnoDB, MariaDB 5.5+ o PostgreSQL 9.5+
  • Almeno 256 MB di memoria allocati su PHP
  • Almeno 200 MB di spazio libero su disco

Prerequisiti

  • Un sistema operativo che esegue Ubuntu 18.04
  • Un utente non root con privilegi sudo.

Passaggi iniziali

Controlla la tua versione di Ubuntu:

lsb_release -ds
# Ubuntu 18.04.1 LTS

Imposta il fuso orario:

sudo dpkg-reconfigure tzdata

Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:

sudo apt update && sudo apt upgrade -y

Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Ubuntu:

sudo apt install -y curl wget vim git unzip socat

Passaggio 1:installa PHP e le estensioni PHP richieste

Installa PHP e le estensioni PHP necessarie:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php-imagick php7.2-json php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-zip php7.2-intl php7.2-xml

Controlla la versione PHP:

php --version

# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Esegui sudo vim /etc/php/7.2/fpm/php.ini e imposta memory_limit almeno 256MB :

memory_limit = 256M

Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Ubuntu 18.04, quindi non è necessario avviarlo e abilitarlo manualmente. Possiamo passare al passaggio successivo, che è l'installazione e la configurazione del database.

Fase 2:installa MySQL/MariaDB e crea un database

Craft CMS supporta i database MySQL/MariaDB e PostgreSQL. In questo tutorial, utilizzeremo MySQL come server di database.

Installa server di database MySQL:

sudo apt install -y mysql-server

Controlla la versione di MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

Esegui mysql_secure installation script per migliorare la sicurezza di MySQL e impostare la password per MySQL root utente:

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Connettiti alla shell MySQL come utente root:

sudo mysql -u root -p
# Enter password

Crea un database MySQL e un utente vuoti per Craft CMS e ricorda le credenziali:

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Esci da MySQL:

mysql> exit

Sostituisci dbname , username e password con i tuoi nomi.

Passaggio 3:installa acme.sh client e ottenere il certificato Let's Encrypt (opzionale )

Proteggere il tuo sito web con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere il certificato TLS da Let's Encrypt utilizzeremo il client Acme.sh. Acme.sh è un puro software shell unix per ottenere certificati TLS da Let's Encrypt con zero dipendenze.

Scarica e installa Acme.sh:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Controlla la versione di Acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

Ottieni RSAECC/ECDSA certificati per il tuo dominio/nome host:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

Dopo aver eseguito i comandi precedenti, i tuoi certificatichiavi sarà in:

  • Per RSA/etc/letsencrypt/example.com directory.
  • Per ECC/ECDSA/etc/letsencrypt/example.com_ecc directory.

Fase 4 - Installa e configura Nginx

Craft CMS può funzionare bene con molti popolari software per server web. In questo tutorial, abbiamo selezionato Nginx.

Scarica e installa l'ultima versione principale di Nginx dal repository Nginx ufficiale.

Inizia scaricando la chiave PGP del repository Nginx:

wget https://nginx.org/keys/nginx_signing.key

Aggiungi la chiave a apt portachiavi del programma:

sudo apt-key add nginx_signing.key

Aggiungi e configura il repository APT della linea principale di Nginx:

sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit

Aggiorna l'elenco dei repository:

sudo apt update

Installa gli ultimi pacchetti Nginx della linea principale:

sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

Avvia e abilita il servizio Nginx:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Controlla la versione di Nginx:

sudo nginx -v
# nginx version: nginx/1.15.8

Configura Nginx per Craft CMS eseguendo:

sudo vim /etc/nginx/conf.d/craft.conf

E popolare il file con la seguente configurazione:

server {

  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;

  server_name example.com www.example.com;

  root /var/www/craft/web;

  index index.php;

  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

  location / {
    try_files $uri/index.html $uri $uri/ /index.php?$query_string;
  }

  location ~ [^/]\.php(/|$) {
    try_files $uri $uri/ /index.php?$query_string;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTP_PROXY "";
  }

}

NOTA :Per la configurazione Nginx completa e pronta per la produzione per Craft, visita https://github.com/nystudio107/nginx-craft. La configurazione è volutamente semplificata per mantenerla densa e semplice.

Apri nginx.conf file e imposta user a www-data .

sudo vim /etc/nginx/nginx.conf
user www-data www-data;

Prova la configurazione di Nginx:

sudo nginx -t

Ricarica Nginx:

sudo systemctl reload nginx.service

Passaggio 5 - Installa Composer

Installa Composer, il gestore delle dipendenze PHP a livello globale:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Controlla la versione Composer:

composer --version
# Composer version 1.8.0 2018-12-03 10:31:16

NOTA: I comandi di installazione di Composer cambieranno in futuro, quindi controlla https://getcomposer.org/download/ per i comandi più aggiornati se i comandi precedenti non funzionano.

Passaggio 6 - Installa Craft CMS

Craft CMS può essere scaricato con Composer o scaricando manualmente un .zip o tar.gz archivio. In questo tutorial utilizzeremo Composer per scaricare Craft CMS.

Crea una directory principale del documento in cui dovrebbe risiedere Craft CMS:

sudo mkdir -p /var/www/craft

Vai alla directory principale del documento:

cd /var/www/craft

Modifica la proprietà del /var/www/craft directory in johndoe .

sudo chown -R [your_username]:[your_username] /var/www/craft

Per creare un nuovo progetto Craft, esegui questo comando:

composer create-project craftcms/craft .

Modifica la proprietà del /var/www/craft directory in www-data:

sudo chown -R www-data:www-data /var/www/craft

Nel tuo browser web, vai a http://<Hostname>/index.php?p=admin/install (sostituendo <Hostname> con il nome host del tuo server web). Se hai fatto tutto bene finora, dovresti essere accolto dall'Installazione guidata di Craft.

Fase 7:completa la configurazione di Craft CMS

Dopo aver aperto l'URL di installazione, dovrebbe apparire la pagina come di seguito. Fai clic su "Installa Craft" pulsante:

Accetta la licenza facendo clic su "Ho capito" pulsante:

Compila i dettagli del database e fai clic su "Avanti" pulsante:

Crea un account Craft e fai clic su "Avanti" pulsante:

Configura il tuo sito e fai clic su "Fine" pulsante:

Dopo questo dovresti essere reindirizzato alla pagina di amministrazione di Craft:

  • https://craftcms.com/
  • https://github.com/craftcms/cms
  • https://github.com/nystudio107/nginx-craft

Ubuntu
  1. Come installare Pico CMS su Ubuntu 18.04 LTS

  2. Come installare PHP 7.4 / 7.3 / 7.2 su Ubuntu 18.04 / Ubuntu 16.04

  3. Come installare PHP 7 su Ubuntu 14.04

  4. Come installare PHP 7 su Ubuntu 15.04

  5. Come installare PHP 5.6 su Ubuntu 16.04 LTS

Come installare October CMS su Ubuntu 18.04 LTS

Come installare Bludit CMS con NGINX su Ubuntu 18.04 LTS

Come installare Craft CMS su Ubuntu 20.04 LTS Focal Fossa

Come installare Craft CMS su Ubuntu 18.04 LTS

Come installare FlatPress CMS su Ubuntu 18.04 LTS

Come installare Craft CMS su Ubuntu 20.04 LTS