Come installare ProcessWire CMS 3.0 su un VPS FAMP di FreeBSD 11

ProcessWire CMS 3.0 è un sistema di gestione dei contenuti (CMS) semplice, flessibile e potente, gratuito e open source. ProcessWire CMS 3.0 presenta un'API di tipo jQuery di facile utilizzo, un'architettura plug-in completamente modulare e un sistema di template flessibile e potente che offre un'esperienza utente altrettanto soddisfacente per progettisti, sviluppatori e utenti finali.

In questo tutorial installeremo ProcessWire CMS 3.0 su un VPS FAMP di FreeBSD 11 usando il web server Apache, PHP 7.1 e un database MariaDB.

Prerequisiti

  • Un'istanza del server Vultr FreeBSD 11 pulita con accesso SSH

Passaggio 1: aggiungere un utente Sudo

Inizieremo aggiungendo un nuovo sudoutente.

Innanzitutto, accedi al tuo server come root:

ssh root@YOUR_VULTR_IP_ADDRESS

Il sudocomando non è installato di default nell'istanza del server Vultr FreeBSD 11, quindi installeremo prima sudo:

pkg install sudo

Aggiungi un nuovo utente chiamato user1(o il tuo nome utente preferito):

adduser user1

Il addusercomando ti chiederà molti dettagli per l'account utente, quindi seleziona semplicemente i valori predefiniti per la maggior parte di essi quando ha senso farlo. Quando ti viene chiesto se Invite user1 into any other groups?, devi inserire wheelper aggiungere user1al wheelgruppo.

Ora controlla il /etc/sudoersfile per assicurarti che il sudoersgruppo sia abilitato:

visudo

Cerca una sezione come questa:

# %wheel        ALL=(ALL)       ALL

Questa riga ci dice che gli utenti membri del wheelgruppo possono usare il sudocomando per ottenere i rootprivilegi. Verrà commentato per impostazione predefinita, quindi sarà necessario decommentarlo e quindi salvare ed uscire dal file.

Possiamo verificare l' user1appartenenza al gruppo con il groupscomando:

groups user1

Se user1non è un membro del wheelgruppo, è possibile utilizzare questo comando per aggiornare l' user1appartenenza al gruppo:

pw group mod wheel -m user1 

Ora usa il sucomando per passare al nuovo user1account utente sudo :

su - user1

Il prompt dei comandi verrà aggiornato per indicare che si è ora connessi user1all'account. Puoi verificarlo con il whoamicomando:

whoami

Ora riavvia il sshdservizio in modo da poter accedere tramite sshil nuovo account utente sudo non root che hai appena creato:

sudo /etc/rc.d/sshd restart

Esci user1dall'account:

exit

Esci rootdall'account (che disconnetterà la sshsessione):

exit

Ora puoi sshaccedere all'istanza del server dal tuo host locale usando il nuovo user1account utente sudo non root :

ssh user1@YOUR_VULTR_IP_ADDRESS

Se si desidera eseguire sudosenza dover digitare una password ogni volta, quindi riaprire il /etc/sudoersfile utilizzando visudo:

sudo visudo

Modifica la sezione per il wheelgruppo in modo che assomigli a questo:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Nota: la disabilitazione del requisito password per l'utente sudo non è una pratica consigliata, ma è inclusa qui in quanto può rendere la configurazione del server molto più conveniente e meno frustrante, specialmente durante sessioni di amministrazione di sistemi più lunghe. Se sei preoccupato per le implicazioni di sicurezza, puoi sempre ripristinare la modifica della configurazione all'originale dopo aver completato le attività di amministrazione.

Ogni volta che si desidera accedere rootall'account sudoutente dall'account utente, è possibile utilizzare uno dei seguenti comandi:

sudo -i
sudo su -

Puoi uscire rootdall'account e tornare al tuo sudoaccount utente in qualsiasi momento semplicemente digitando exit.

Passaggio 2: aggiorna il sistema FreeBSD 11

Prima di installare i pacchetti sull'istanza del server FreeBSD, aggiorneremo il sistema.

Assicurarsi di aver effettuato l'accesso al server utilizzando un utente sudo non root ed eseguire i seguenti comandi:

sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade

Passaggio 3: installare Apache Web Server

Installa il web server Apache 2.4:

sudo pkg install apache24

E inserisci yquando richiesto. Ora usa il sysrccomando per abilitare l'esecuzione automatica del servizio Apache all'avvio:

sudo sysrc apache24_enable=yes

Il sysrccomando aggiorna il /etc/rc.conffile di configurazione, quindi se vuoi verificare manualmente l'aggiornamento della configurazione puoi semplicemente aprire il /etc/rc.conffile con il tuo editor di terminali preferito:

vi /etc/rc.conf

Ora avvia il servizio Apache:

sudo service apache24 start

Puoi verificare rapidamente che apache sia in esecuzione visitando l'indirizzo IP o il dominio dell'istanza del server nel browser:

http://YOUR_VULTR_IP_ADDRESS/

Vedrai la pagina predefinita di Apache di FreeBSD che mostra il testo:

It works!

Controlla il tuo file di configurazione predefinito di Apache per assicurarti che la DocumentRootdirettiva punti alla directory corretta:

sudo vi /usr/local/etc/apache24/httpd.conf

L' DocumentRootopzione di configurazione sarà simile a questa:

DocumentRoot "/usr/local/www/apache24/data"

Ora dobbiamo abilitare il mod_rewritemodulo Apache. Possiamo farlo cercando il termine nel file di configurazione di Apache predefinito mod_rewrite.

Per impostazione predefinita, il mod_rewritemodulo Apache verrà commentato (il che significa che è disabilitato). La linea di configurazione su un'istanza pulita di Vultr FreeBSD 11 sarà simile a questa:

#LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Basta rimuovere il simbolo dell'hash per decommentare la linea e caricare il modulo. Questo, ovviamente, si applica anche a qualsiasi altro modulo Apache richiesto:

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Ora dobbiamo modificare la Directorydirettiva Apache nello stesso file di configurazione in modo che mod_rewritefunzioni correttamente con ProcessWire CMS.

Trova la sezione del file di configurazione che inizia con <Directory "/usr/local/www/apache24/data">e cambia AllowOverride nonein AllowOverride All. Il risultato finale (con tutti i commenti rimossi) sarà simile a questo:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Ora salva ed esci dal file di configurazione di Apache.

Riavvieremo Apache alla fine di questo tutorial, ma riavviare Apache regolarmente durante l'installazione e la configurazione è sicuramente una buona abitudine, quindi facciamolo ora:

sudo service apache24 restart

Passaggio 4: installa PHP 7.1

Ora possiamo installare PHP 7.1 insieme a tutti i moduli PHP necessari richiesti da ProcessWire CMS:

sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip

FreeBSD 11 ci dà la possibilità di usare uno sviluppo php.inio una produzione php.ini. Poiché installeremo Siverstripe su un server Web pubblico, utilizzeremo la versione di produzione. Innanzitutto, esegui il backup php.ini-production:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup

Quindi soft-link php.ini-productiona php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Dobbiamo configurare Apache per usare effettivamente PHP, quindi creiamo un nuovo file chiamato php.confnella Includesdirectory Apache :

sudo vi /usr/local/etc/apache24/Includes/php.conf

Immettere il testo seguente nel file appena creato:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Salva ed esci dal file.

Ora riavviamo Apache in modo che possa ricaricare le modifiche alla configurazione:

sudo service apache24 restart

Passaggio 5: installare il server MariaDB (MySQL)

Per impostazione predefinita, FreeBSD 11 utilizza il server di database MariaDB, che è un sostituto drop-in avanzato, completamente open source, sviluppato dalla comunità e drop-in per il server MySQL.

Installa il server di database MariaDB:

sudo pkg install mariadb102-server mariadb102-client

Avvia e abilita l'esecuzione automatica del server MariaDB all'avvio:

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Proteggi l'installazione del tuo server MariaDB:

sudo mysql_secure_installation

Quando viene richiesto di creare un utente MariaDB / MySQL root, selezionare "Y" (per Sì) e quindi immettere una rootpassword sicura . Rispondi semplicemente a "Y" a tutte le altre domande sì / no poiché i suggerimenti predefiniti sono le opzioni più sicure.

Passaggio 6: creare il database per CMS ProcessWire

Accedere alla shell MariaDB come rootutente MariaDB eseguendo il comando seguente:

sudo mysql -u root -p

Per accedere al prompt dei comandi di MariaDB, inserire semplicemente la rootpassword di MariaDB quando richiesto.

Eseguire le seguenti query per creare un database MariaDB e un utente del database per ProcessWire CMS:

CREATE DATABASE pw_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON pw_db.* TO 'pw_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Se preferisci, puoi sostituire il nome del database pw_dbe il nome utente pw_usercon qualcosa in più di tuo gradimento. Inoltre, assicurati di sostituire "UltraSecurePassword" con una password effettivamente sicura.

Passaggio 7: installare i file CMS ProcessWire

Cambia la tua directory di lavoro corrente nella directory web predefinita:

cd /usr/local/www/apache24/data

La vostra directory di lavoro corrente dovrebbe essere: /usr/local/www/apache24/data. Puoi verificarlo con il pwdcomando (print working directory):

pwd

Ora usa wgetper scaricare il pacchetto di installazione CMS ProcessWire:

sudo wget https://github.com/processwire/processwire/archive/master.zip

Nota: è necessario verificare la versione più recente visitando la pagina di download di CMS ProcessWire .

Elenca la directory corrente per verificare di aver scaricato correttamente il file:

ls -la

Rimuovi index.html:

sudo rm index.html

Ora decomprimi l'archivio zip:

sudo unzip master.zip

Spostare tutti i file di installazione nella directory principale Web:

sudo mv processwire-master/* /usr/local/www/apache24/data

Modifica la proprietà dei file Web per evitare problemi con le autorizzazioni:

sudo chown -R www:www * ./

Riavvia nuovamente Apache:

sudo service apache24 restart

Passaggio 8: completare l'installazione di CMS ProcessWire

Ora è il momento di visitare l'indirizzo IP dell'istanza del tuo server nel tuo browser, o se hai già configurato le tue impostazioni DNS Vultr (e gli hai concesso abbastanza tempo per propagarsi) puoi semplicemente visitare il tuo dominio.

Per accedere alla pagina di installazione di CMS ProcessWire, inserire l'indirizzo IP dell'istanza Vultr nella barra degli indirizzi del browser, seguito da index.php:

http://YOUR_VULTR_IP_ADDRESS/install.php

Il programma di installazione CMS di ProcessWire contiene molte opzioni, quindi ecco alcuni suggerimenti per aiutarti:

  1. Nella pagina di benvenuto dell'installazione CMS di ProcessWire, fare clic sul Get Startedpulsante per avviare il processo di installazione.

  2. Ora seleziona il tuo profilo di installazione preferito (o sito demo) e fai clic Continue.

  3. Vedrai una Compatibility Checkpagina. Se vedi degli errori, probabilmente significa che ti mancano alcuni moduli PHP o hai un problema con le autorizzazioni, altrimenti puoi semplicemente fare clic Continue.

  4. Immettere i seguenti valori nella MySQL Database Settingspagina:

    DB Name:            pw_db
    DB User:            pw_user
    DB Pass:            UltraSecurePassword
    DB Host:            localhost
    DB Port:            3306
    
  5. È possibile lasciare le File Permissionimpostazioni sui valori predefiniti oppure modificarle se si comprendono le implicazioni.

  6. Puoi inserire i nomi host futuri del tuo sito nella sezione appropriata oppure, site/config.phpse preferisci , puoi modificare il file in un secondo momento.

  7. Fare clic su Continueper configurare il database e installare i file CMS ProcessWire.

  8. Quindi, seleziona il tuo preferito Admin Theme.

  9. Admin URLSe lo preferisci, puoi cambiarlo o semplicemente lasciarlo al valore predefinito.

  10. Inserisci il tuo Admin Login Detailscome mostrato di seguito:

    User (a-z 0-9):     <admin username>
    Password:           <admin password>
    Password (again):   <same admin password>
    Email Address:      <admin email address>
    
  11. Dopo aver inserito tutti i dettagli appropriati, è possibile fare clic Continueper finalizzare l'installazione di ProcessWire.

  12. Una volta completata l'installazione, fai semplicemente clic sul Login to Adminpulsante per accedere alla sezione Amministratore.

È possibile che venga visualizzato un avviso che dice qualcosa del tipo:

Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8†as needed): setlocale(LC_ALL,'en_US.UTF-8');

È possibile correggere questo errore modificando il site/config.phpfile:

sudo vi site/config.php

Aggiungi il valore appropriato alla fine del file:

setlocale(LC_ALL,'en_GB.utf8');

Se non riesci a capire quale valore utilizzare, puoi trovare un elenco di valori appropriati per la tua specifica istanza del server eseguendo il localecomando:

locale -a

Non dimenticare di salvare ed uscire dal site/config.phpfile al termine della modifica.

Per motivi di sicurezza, assicurati di modificare le autorizzazioni sul site/config.phpfile:

sudo chmod 400 site/config.php

Riavvia Apache.

sudo service apache24 restart

Sei pronto per iniziare ad aggiungere i tuoi contenuti e configurare l'aspetto del tuo sito. Assicurati di consultare l'eccellente documentazione di ProcessWire CMS per ulteriori informazioni su come costruire e configurare il tuo sito.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.