PyroCMS è un CMS open source scritto in PHP. Il codice sorgente di PyroCMS è ospitato su GitHub . In questa guida esamineremo l'intero processo di installazione di PyroCMS sull'istanza di Debian 9 Vultr.
Requisiti
Prima di poter installare PyroCMS su un server, ci sono alcuni requisiti che devono essere soddisfatti.
	- 1 GB di RAM
- PyroCMS supporta Apache o Nginx, tuttavia, utilizzeremo uno stack LEMP
- PHP versione 7.0 o successiva
- Le seguenti estensioni PHP: 
	
		- PDO
- cURL
- SQLite
- OpenSSL
- Mbstring
- Fileinfo
- Tokenizer
- GD Library, (versione 2.0 o successiva) o estensione Imagick PHP (versione 6.5.7 o successiva)
 
Prima di iniziare
Controlla la versione di Debian.
lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)
Assicurati che il tuo sistema sia aggiornato.
apt update && apt upgrade -y
Installa i pacchetti necessari.
apt install -y sudo unzip apt-transport-https curl wget dirmngr
Crea un nuovo non-rootaccount utente con sudoaccesso e passa ad esso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : sostituisci johndoecon il tuo nome utente.
Imposta il fuso orario.
sudo dpkg-reconfigure tzdata
Installa PHP e le estensioni PHP richieste
Scarica e installa PHP 7.0 e le estensioni PHP richieste.
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-mysql php7.0-curl php7.0-sqlite3 php7.0-mbstring php7.0-gd php7.0-xml
Controlla la versione
php --version
# PHP 7.0.27-0+deb9u1 (cli) (built: Jan  5 2018 13:51:52) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
#     with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
Installa MariaDB
Scarica e installa MariaDB.
sudo apt install -y mariadb-server
Controlla la versione
mysql --version
# mysql  Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Esegui lo mysql_secure_installationscript per migliorare la sicurezza dell'installazione di MariaDB.
sudo mysql_secure_installation
# Enter current password for root (enter for none):
# Set root password? [Y/n] Y
# New password: ******************
# Re-enter new 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
# Success.
# All done!
Accedi a MariaDB come utente root.
sudo mysql -u root -p
# Enter password:
Creare un nuovo database e utente MariaDB e ricordare le credenziali.
create database dbname;
grant all on dbname.* to 'username' identified by 'password';
flush privileges;
Esci da MariaDB.
exit
Installa Nginx
Installa Nginx.
sudo apt install -y nginx
Controlla la versione
sudo nginx -v
# nginx version: nginx/1.10.3
Configurare Nginx come proxy FastCGI. Esegui sudo vim /etc/nginx/sites-available/pyro.confe utilizza la seguente configurazione.
server {
  listen 80;
  server_name example.com; # Check this
  root /var/www/pyro/public; # Check this
  index index.php index.html;
  charset utf-8;
  location / {
    try_files $uri $uri/ /index.php?$args;
  }
  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # Check this
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}
NOTA : assicurati di puntare la radice web alla publicdirectory di Pyro .
Attiva la nuova pyro.confconfigurazione collegando il file alla sites-enableddirectory.
sudo ln -s /etc/nginx/sites-available/pyro.conf /etc/nginx/sites-enabled/
Prova la configurazione di Nginx.
sudo nginx -t
Ricarica Nginx.
sudo systemctl reload nginx.service
Scarica e installa Composer
Scarica le dipendenze di Composer se non sono già disponibili sul tuo sistema.
sudo apt install -y curl git unzip
Scarica e installa Composer, il gestore delle dipendenze per PHP.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { 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 di Composer.
composer --version
# Composer version 1.6.5 2018-05-04 11:44:59
Scarica e installa PyroCMS tramite Composer
Creare una directory radice del documento.
sudo mkdir -p /var/www/pyro
Cambia la proprietà della /var/www/pyrodirectory in johndoe.
sudo chown -R johndoe:johndoe /var/www/pyro
Scarica l'ultima versione stabile di PyroCMS dalla riga di comando.
cd /var/www/pyro
composer create-project pyrocms/pyrocms .
NOTA : è possibile che la memoria si esaurisca durante l'installazione di Pyro tramite Composer. Potrebbe essere saggio arrestare Nginx php-fpme i server MySQL con sudo systemctl stop nginx.service php7.0-fpm.service mariadb.serviceper risparmiare sull'utilizzo della memoria e riavviarli dopo questo passaggio. Se ciò non ti aiuta a evitare errori con Composer, dovrai installare Swap .
Cambia la proprietà della /var/www/pyrodirectory in www-data.
sudo chown -R www-data:www-data /var/www/pyro
Utilizzando il tuo browser Web preferito, apri il tuo sito e segui il programma di installazione di PyroCMS. Dopo aver seguito il programma di installazione, PyroCMS sarà attivo e funzionante. Per accedere all'area di amministrazione di PyroCMS basta aggiungere /adminl'URL del sito.