MODX è un sistema di gestione dei contenuti gratuito e open source scritto in PHP. Usa MySQL o MariaDB per archiviare il suo database. MODX è progettato per il business in cui la manutenzione di un sito Web è fondamentale. Offre flessibilità agli sviluppatori per creare un sito Web scegliendo il proprio design e la propria struttura. Dispone inoltre di un WYSIWYGeditor per utenti non tecnici dell'azienda. Oltre ad essere flessibile, può essere ottimizzato per la massima velocità.
Questo tutorial è stato scritto per MODX 2.6.1 e potrebbe funzionare anche per le versioni più recenti.
Prerequisiti
- Un'istanza del server Vultr CentOS 7.
- Un utente sudo .
- Un nome di dominio puntato verso l'istanza.
Per questo tutorial, useremo modx.example.comcome nome di dominio puntato verso l'istanza Vultr. Assicurati di sostituire tutte le occorrenze del nome di dominio di esempio con quello effettivo.
Aggiorna il tuo sistema di base usando la guida Come aggiornare CentOS 7 . Dopo aver aggiornato il sistema, procedere con l'installazione delle dipendenze.
Installa Nginx
Nginx è un server Web di produzione per eseguire applicazioni Web. Installa Nginx.
sudo yum -y install epel-release
sudo yum -y install nginx
Avvia Nginx e abilita l'esecuzione automatica all'avvio.
sudo systemctl start nginx
sudo systemctl enable nginx
Installa PHP 7.2
MODX supporta tutte le versioni di PHP sopra 5.4. Installeremo l'ultima versione disponibile di PHP. L'uso di PHP 7.2 garantirà la massima velocità e sicurezza. Aggiungi e abilita il repository Remi in quanto PHP versione 7.2 non è disponibile nel YUMrepository predefinito .
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72
Installa la versione 7.2 di PHP insieme ai moduli richiesti da MODX.
sudo yum -y install php php-zlib php-mysqli php-curl php-json php-cli php-pear php-gd php-openssl php-xml php-mbstring php-fpm ImageMagick
Modifica il file di configurazione PHP caricato.
sudo nano /etc/php.ini
Trova la seguente riga. Rimuovi il commento e imposta il fuso orario appropriato.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone
Inoltre, impostare un limite di memoria appropriato sulla riga seguente. L'impostazione su -1darà memoria disponibile illimitata a uno script.
memory_limit = -1
Quindi, trova la seguente riga e imposta il suo valore su 0dopo averla decommentata.
cgi.fix_pathinfo=0
Salvare il file e aprire il php-fpmfile di configurazione.
sudo nano /etc/php-fpm.d/www.conf
Trova quello esistente listen = 127.0.0.1:9000, commentalo e aggiungi una nuova riga come mostrato di seguito.
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock
Inoltre, modifica gli utenti come mostrato di seguito.
listen.owner = nginx
listen.group = nginx
...
user = nginx
group = nginx
Salvare il file e avviarlo php-fpme abilitarlo per l'avvio automatico all'avvio.
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm
Fornire le autorizzazioni di scrittura alla directory della sessione.
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session
Ora, procedi con l'installazione di MariaDB.
Installa MariaDB
MariaDB è un fork di MySQL. Aggiungi il repository MariaDB al tuo sistema. Il YUMrepository predefinito contiene una versione precedente di MariaDB.
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo
Installa MariaDB.
sudo yum -y install mariadb mariadb-server
Avviare MariaDB e abilitare l'avvio automatico all'avvio.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Prima di configurare il database, è necessario proteggere MariaDB.
sudo mysql_secure_installation
Ti verrà chiesta la password di root di MariaDB corrente. Per impostazione predefinita, non esiste una password di root in una nuova installazione di MariaDB. Premere il tasto " Enter" per procedere. Imposta una password complessa per l' rootutente del tuo server MariaDB e rispondi " Y" a tutte le altre domande che vengono poste. Le domande poste sono autoesplicative.
Accedi alla shell MySQL come root.
mysql -u root -p
Fornire la password per l'utente root MariaDB per accedere.
Eseguire le seguenti query per creare un database e un utente del database per l'installazione MODX.
CREATE DATABASE modx_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'modx_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON modx_data.* TO 'modx_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
È possibile sostituire il nome del database modx_datae il nome utente in modx_userbase alla propria scelta. Assicurati di passare StrongPassworda una password molto sicura .
Installa MODX
Scarica l'archivio zip MODX.
wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip
Puoi sempre cercare il link all'ultima versione dell'applicazione nella pagina di download MODX .
Installa decomprimere.
sudo yum -y install unzip
Estrai l'archivio nella directory webroot di Nginx.
sudo unzip modx.zip -d /usr/share/nginx/
Cambia il nome della directory.
cd /usr/share/nginx/
sudo mv modx-*/ modx/
Inoltre, rinominare il ht.accessfile in .htaccess.
sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess
Creare una directory cache di sessione e fornire la proprietà all'utente nginx.
sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache
Infine, crea un file di configurazione vuoto e fornisci le autorizzazioni appropriate.
sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/
Consenti il traffico sulle porte 80e 443attraverso il firewall.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Crea host virtuale
Per ospitare il tuo sito MODX, crea un nuovo host virtuale.
sudo nano /etc/nginx/conf.d/modx.example.com.conf
Popolare il file.
server {
listen 80;
server_name modx.example.com;
root /usr/share/nginx/modx;
index index.php;
client_max_body_size 30M;
location / {
root /usr/share/nginx/modx;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_ignore_client_abort on;
fastcgi_param SERVER_NAME $http_host;
}
location ~ /\.ht {
deny all;
}
}
Testare la configurazione del server Web Nginx.
sudo nginx -t
Vedrai il seguente output.
[user@vultr nginx]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Se non vedi errori nella configurazione, riavvia Nginx per rendere effettiva la nuova configurazione.
sudo systemctl restart nginx
Avvolgendo
Prima di poter accedere all'installazione, è necessario completare l'installazione tramite il programma di installazione Web. Accedere all'installazione basata sul Web su http://modx.example.com/setup. Vedrai un'interfaccia per cambiare la lingua di installazione.
Scegli la lingua in base alle tue preferenze e nella pagina successiva, seleziona l' New Installationopzione " ". Nella pagina seguente, fornire le credenziali del database MySQL o MariaDB e creare un nuovo account amministratore. Infine, fai clic sul pulsante " Install" e il programma di installazione scriverà i suoi dati nel database.
A questo punto, sei pronto per creare il tuo sito Web dalla dashboard amministrativa.