GNU/Linux >> Linux Esercitazione >  >> Fedora

Come installare Craft CMS su Fedora 29

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 sistema Fedora 29 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 Fedora 29.
  • Un utente non root con privilegi sudo.

Passaggi iniziali

Controlla la versione del tuo sistema Fedora:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Imposta il fuso orario:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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 dnf upgrade -y

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

sudo dnf install -y curl wget vim git sudo unzip socat bash-completion

Passaggio 1:installa PHP e le estensioni PHP richieste

Installa PHP e le estensioni PHP necessarie:

sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-pecl-imagick php-json php-mbstring php-mysqlnd php-pgsql php-zip php-intl php-xml php-pdo

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione PHP:

php --version

# PHP 7.2.16 (cli) (built: Mar  5 2019 11:05:59) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

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

memory_limit = 256M

Avvia e abilita il servizio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Possiamo passare al passaggio successivo, che è l'installazione e la configurazione del database.

Passaggio 2:installa MariaDB e crea un database

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

Installa server di database MariaDB:

sudo dnf install -y mariadb-server

Controlla la versione di MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1

Avvia e abilita il servizio MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

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

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

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 a MariaDB shell come utente root:

sudo mysql -u root -p
# Enter password

Crea un database MariaDB vuoto e un utente per Craft CMS e ricorda le credenziali:

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

Esci da MariaDB:

mariadb> exit

Sostituisci dbnameusernamepassword 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 un 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.

Passaggio 4 - Installa e configura NGINX

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

Installa il server web NGINX:

sudo dnf install -y nginx

Controlla la versione di NGINX:

nginx -v
# nginx version: nginx/1.14.2

Avvia e abilita il servizio NGINX:

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

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(/|$) {
include default.d/php.conf;
    try_files $uri $uri/ /index.php?$query_string;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php-fpm/www.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 "";
  }

}

Sostituisci example.com con il tuo nome di dominio nel file sopra.

NOTAPer 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.

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') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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.4 2019-02-11 10:52:10

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 .ziptar.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 {your_username}.

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 nginx:

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

Esegui sudo vim /etc/php-fpm.d/www.conf e imposta l'utente e il gruppo su nginx . Inizialmente, verranno impostati su apache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Crea /var/lib/php/session/ directory e cambia la proprietà in nginx .

sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session

Riavvia il servizio PHP-FPM:

sudo systemctl restart php-fpm.service

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:

Inserisci 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

Fedora
  1. Come installare Craft CMS su CentOS 7

  2. Come installare Bolt CMS su Fedora 29

  3. Come installare Anchor CMS su Fedora 29

  4. Come installare Phorum con Nginx su Fedora 30

  5. Come installare PHP 8 su Fedora 35

Come installare Spotify su Fedora 35

Come installare PHP 8.1 su Fedora 36 Linux

Come installare Slack su Fedora 35

Come installare Nginx su Fedora 35

Come installare Steam su Fedora 35

Come installare Telegram su Fedora 35