PyroCMS è un CMS open source scritto in PHP. Il codice sorgente di PyroCMS è ospitato su GitHub . In questa guida illustreremo l'intero processo di installazione di PyroCMS su un'istanza Vultr CentOS 7.
Requisiti
Prima di poter installare PyroCMS su un server, ci sono alcuni requisiti che devono essere soddisfatti.
- 1 GB di RAM
- Stack LEMP / LAMP
- PHP> = 7.0
- Estensione PHP DOP
- Estensione PHP cURL
- Estensione PHP di SQLite
- Estensione OpenSSL PHP
- Estensione PHP di Mbstring
- Estensione PHP di Fileinfo
- Estensione PHP tokenizzatore
- GD Library (> = 2.0) OPPURE estensione PHP Imagick (> = 6.5.7)
Controlla la versione di CentOS.
cat /etc/centos-release
# CentOS Linux release 7.4.1708 (Core)
Crea un nuovo non-rootaccount utente con sudoaccesso e passa ad esso.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA : sostituisci johndoecon il tuo nome utente .
Imposta il fuso orario.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Assicurati che il tuo sistema sia aggiornato.
sudo yum update -y
Installa i pacchetti necessari e utili.
sudo yum install -y wget vim unzip bash-completion
Disabilita SELinux.
sudo setenforce 0
Installa PHP e le estensioni richieste
CentOS non fornisce l'ultima versione di PHP nei suoi repository software predefiniti. Dovremo aggiungere un repository YUM Webtatic. Le istruzioni su come aggiungere il repository sono disponibili in questa guida Vultr .
Scarica e installa PHP 7.2 e le estensioni PHP richieste.
sudo yum install -y php72w php72w-cli php72w-fpm php72w-mysql php72w-curl php72w-sqlite3 php72w-mbstring php72w-gd php72w-dom
Controlla la versione di PHP.
php --version
PHP 7.2.2 (cli) (built: Feb 4 2018 10:14:07) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Installa MySQL / MariaDB e crea un database
Scarica e installa MariaDB.
sudo vim /etc/yum.repos.d/MariaDB.repo
# Copy/paste this to the /etc/yum.repos.d/MariaDB.repo file
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
sudo yum install -y MariaDB-server MariaDB-client
Controlla la versione di MariaDB.
mysql --version
# mysql Ver 15.1 Distrib 10.2.13-MariaDB, for Linux (x86_64) using readline 5.1
Avviare e abilitare MariaDB.
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
Esegui lo mysql_secure_installationscript per migliorare la sicurezza dell'installazione di MariaDB.
sudo mysql_secure_installation
Accedi a MariaDB come utente root.
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';
Esci da MySQL.
exit
Installa NGINX.
sudo vim /etc/yum.repos.d/nginx_mainline.repo
# Copy/paste this to the /etc/yum.repos.d/nginx_mainline.repo file
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
sudo yum install -y nginx
Controlla la versione di NGINX.
nginx -v
Avviare e abilitare NGINX.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Configurare NGINX come proxy FastCGI. Esegui sudo vim /etc/nginx/conf.d/pyro.confe popola con il seguente testo.
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 127.0.0.1:9000; # 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 .
Testare la configurazione NGINX.
sudo nginx -t
Ricarica NGINX.
sudo systemctl reload nginx.service
Scarica e installa Composer
Scarica le dipendenze del compositore.
sudo yum 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.3 2018-01-31 16:28:17
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 i server Nginx, PHP-FPM e MySQL sudo systemctl stop nginx.service php-fpm.service mysql.serviceper risparmiare sull'utilizzo della memoria e riavviarli dopo questo passaggio .
Cambia la proprietà della /var/www/pyrodirectory in nginx.
sudo chown -R nginx:nginx /var/www/pyro
Esegui sudo vim /etc/php-fpm.d/www.confe imposta l'utente e il gruppo su nginx.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Riavvia il php-fpm.service.
sudo systemctl restart php-fpm.service
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, aggiungi /adminl'URL del tuo sito.