introduzione
Roadiz è un CMS moderno progettato per gestire molti tipi di servizi. Basato sui componenti di Symfony e Doctrine ORM, ti consente di creare da zero lo schema dei tuoi dati e di organizzare i tuoi contenuti come desideri. In questa guida, installeremo Roadiz su una nuova istanza di Debian 9 Vultr.
Requisiti
- Nginx o Apache. In questa guida useremo Nginx.
- Database MySQL / MariaDB, PostgreSQL o SQLite. In questa guida useremo MariaDB.
- Compositore
- Idiota
- PHP versione 7.1 o successiva con le seguenti estensioni:
php-gd
php-intl
php-xml
php-curl
php-json
php-mbstring
php-opcache
php-apcu
Prima di iniziare
Controlla la versione di Debian.
lsb_release -ds
# Debian GNU/Linux 9.8 (stretch)
Assicurati che il tuo sistema sia aggiornato.
apt update && apt upgrade -y
Installa i pacchetti git, unzip, curl e sudo.
apt install -y git unzip curl sudo
Crea un nuovo non-root
account utente con sudo
accesso e passa ad esso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA: sostituisci johndoe
con il tuo nome utente.
Imposta il fuso orario.
sudo dpkg-reconfigure tzdata
Installa PHP
Aggiungi il repository PHP 7.2 al tuo sistema.
sudo apt install -y apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
Installa PHP e le estensioni PHP necessarie.
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-mbstring php7.2-gd php7.2-intl php7.2-xml php7.2-curl php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-opcache php-apcu
Controlla la versione
php --version
# PHP 7.2.17-1+0~20190412071344.20+stretch~1.gbp23a36d (cli) (built: Apr 12 2019 07:13:45) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.17-1+0~20190412071344.20+stretch~1.gbp23a36d, Copyright (c) 1999-2018, by Zend Technologies
Apportare le seguenti modifiche in /etc/php/7.2/fpm/php.ini
e /etc/php/7.2/cli/php.ini
.
memory_limit = 64M
post_max_size = 16M
upload_max_filesize = 16M
date.timezone
Dopo aver apportato modifiche in questi due file, riavvia PHP-FPM.
sudo systemctl restart php7.2-fpm.service
Installa MariaDB e crea un database
Installa MariaDB.
sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.klaus-uwe.me/mariadb/repo/10.3/debian stretch main'
sudo apt-get update
sudo apt-get install mariadb-server
Controlla la versione
mysql --version && sudo mysqld --version
# mysql Ver 15.1 Distrib 10.3.14-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
# mysqld Ver 10.3.14-MariaDB-1:10.3.14+maria~stretch-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)
Esegui mysql_secure_installation
per migliorare la sicurezza e impostare la password per l' root
utente.
sudo mysql_secure_installation
Would you like to setup VALIDATE PASSWORD plugin? N
Please set the password for root here.
New password: **********************
Re-enter new password: **********************
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
Success.
All done!
Accedi a MariaDB come utente root.
sudo mysql -u root -p
# Enter password
Crea un nuovo database e un utente che utilizzerai per l'installazione di Roadiz e ricorda le credenziali.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit
Installa Nginx.
sudo apt install -y nginx
Controlla la versione
sudo nginx -v
# nginx version: nginx/1.10.3
Esegui sudo vim /etc/nginx/sites-available/roadiz.conf
e popola il file con la seguente configurazione.
server {
listen 80;
listen [::]:80;
server_name example.com; # Check this
root /var/www/roadiz/web; # Check this
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/(dev|install|preview|clear_cache)\.php(/|$) {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
location ~ ^/index\.php(/|$) {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
}
Attiva la nuova roadiz.conf
configurazione collegando il file alla sites-enabled
directory.
sudo ln -s /etc/nginx/sites-available/roadiz.conf /etc/nginx/sites-enabled/
Prova la configurazione.
sudo nginx -t
Ricarica Nginx.
sudo systemctl reload nginx.service
Installa Composer
Installa Composer 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 --version
# Composer version 1.8.5 2019-04-09 17:46:47
Installa Roadiz
Creare una directory radice del documento.
sudo mkdir -p /var/www/roadiz
Cambia la proprietà della /var/www/roadiz
directory in johndoe
.
sudo chown -R johndoe:johndoe /var/www/roadiz
Passare alla directory principale del documento.
cd /var/www/roadiz
Crea un nuovo progetto Roadiz con Composer.
composer create-project roadiz/standard-edition .
NOTA: se il sistema ha meno di 1 GB di memoria, è possibile che si verifichino errori durante l'esecuzione del composer create-project
comando. Per ovviare a questo, configurare una maggiore quantità di memoria di swap o ridimensionare il server verticalmente.
Cambia la proprietà della /var/www/roadiz
directory in www-data
.
sudo chown -R www-data:www-data /var/www/roadiz
Per motivi di sicurezza, Roadiz utilizza il filtro IP per il install.php
file. Per accedervi, esegui sudo vim /var/www/roadiz/web/install.php
e aggiungi il tuo indirizzo IP $allowedIp
all'array.
$allowedIp = [
'10.0.2.2',
'192.168.33.1',
'127.0.0.1', 'fe80::1', '::1', ':ffff:127.0.0.1', '::ffff:127.0.0.1',
'YOUR_IP_ADDRESS_HERE'
]
Apri http://example.com/install.php
nel tuo browser web e segui le istruzioni per installare Roadiz CMS.
Al termine dell'installazione di Roadiz è possibile rimuovere lo install.php
script.
sudo rm /var/www/roadiz/web/install.php
Per accedere all'amministratore di Roadiz, aggiungi /rz-admin
l'URL del tuo sito.