Come installare WordPress con LAMP su Ubuntu 16.04

WordPress è il CMS più popolare su Internet. Ti consente di impostare facilmente blog e siti web flessibili su un backend MySQL con elaborazione PHP. WordPress ha visto un'adozione incredibile ed è un'ottima scelta per far funzionare rapidamente un sito web. Dopo l'installazione, è possibile eseguire quasi tutta l'amministrazione tramite il front-end Web.

Image Description

In questa guida, ci concentreremo su come impostare un'istanza di WordPress su uno stack LAMP (Linux, Apache, MySQL e PHP) su un server Ubuntu 16.04.

Prerequisiti

Per completare questo tutorial, avrai bisogno di accedere a un server Ubuntu 16.04.

Prima di poter iniziare questa guida, dovrai eseguire le seguenti attività:

  • Crea un utente sudo sul tuo server: completeremo i passaggi in questa guida utilizzando un utente non root con privilegi sudo.
  • Installa uno stack LAMP: WordPress avrà bisogno di un server web, un database e PHP per funzionare correttamente. La configurazione di uno stack LAMP (Linux, Apache, MySQL e PHP) soddisfa tutti questi requisiti.
  • Proteggi il tuo sito con SSL: WordPress offre contenuti dinamici e gestisce l'autenticazione e l'autorizzazione degli utenti. TLS / SSL è la tecnologia che ti consente di crittografare il traffico dal tuo sito in modo che la tua connessione sia sicura. Il modo in cui imposti SSL dipenderà dal fatto che tu abbia un nome di dominio per il tuo sito.

Se hai un nome di dominio ... il modo più semplice per proteggere il tuo sito è Let's Encrypt, che fornisce certificati gratuiti e attendibili. Se non si dispone di un dominio ... e si utilizza questa configurazione solo per i test o l'uso personale, è possibile utilizzare invece un certificato autofirmato. Questo fornisce lo stesso tipo di crittografia, ma senza la convalida del dominio.

Al termine dei passaggi di configurazione, accedere al server come utente sudo e continuare di seguito.

Passaggio 1: creare un database MySQL e un utente per WordPress

Il primo passo che faremo è di preparazione. WordPress utilizza MySQL per gestire e memorizzare informazioni sul sito e sugli utenti. Abbiamo già installato MySQL, ma dobbiamo usare un database e un utente per WordPress.

Per iniziare, accedere all'account (amministrativo) root MySQL immettendo questo comando:

mysql -u root -p

Verrà richiesta la password impostata per l'account root MySQL al momento dell'installazione del software.

In primo luogo, possiamo creare un database separato che può controllare WordPress. Puoi chiamarlo come preferisci, ma useremo wordpress in questa guida per mantenerlo semplice. Puoi creare il database per WordPress digitando:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Nota: ogni istruzione MySQL deve terminare con un punto e virgola (;). Assicurati che sia presente se stai riscontrando problemi.

Successivamente, creeremo un account utente MySQL separato che utilizzeremo esclusivamente per operare sul nostro nuovo database. La creazione di database e account monofunzione è una buona idea dal punto di vista della gestione e della sicurezza. In questa guida useremo il nome wordpressuser.

Creeremo questo account, imposteremo una password e garantiremo l'accesso al database che abbiamo creato. Possiamo farlo digitando il seguente comando. Ricordati di scegliere una password sicura qui per l'utente del tuo database:

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

Ora hai un database e un account utente, ciascuno realizzato appositamente per WordPress. Abbiamo bisogno di svuotare i privilegi in modo che l'istanza attuale di MySQL sia a conoscenza delle recenti modifiche che abbiamo apportato:

FLUSH PRIVILEGES;

Esci da MySQL digitando:

EXIT;

Passaggio 2: installa ulteriori estensioni PHP

Quando abbiamo impostato il nostro stack LAMP, abbiamo solo richiesto un set minimo di estensioni per far comunicare PHP con MySQL. WordPress e molti dei suoi plugin sfruttano ulteriori estensioni PHP.

Possiamo scaricare e installare alcune delle estensioni PHP più popolari da utilizzare con WordPress digitando:

sudo apt-get update
sudo apt-get install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc

Nota: Ogni plug-in di WordPress ha il proprio set di requisiti. Alcuni potrebbero richiedere l'installazione di pacchetti PHP aggiuntivi. Controlla la documentazione del tuo plugin per scoprire i suoi requisiti PHP. Se sono disponibili, possono essere installati con apt-get come mostrato sopra.

Riavviare Apache per sfruttare queste nuove estensioni nella prossima sezione. Se torni qui per installare plugin aggiuntivi, puoi riavviare Apache digitando:

sudo systemctl restart apache2

Passaggio 3: regolare la configurazione di Apache per consentire le sovrascritture e le riscritture .htaccess

Successivamente, apporteremo alcuni piccoli aggiustamenti alla nostra configurazione di Apache. Attualmente, l'uso di file .htaccess è disabilitato. WordPress e molti plugin di WordPress utilizzano questi file in modo estensivo per modifiche nella directory al comportamento del server web.

Inoltre, abiliteremo mod_rewrite, che sarà necessario per far funzionare correttamente i permalink di WordPress.

Abilita le sostituzioni .htaccess

Apri il file di configurazione principale di Apache per fare la nostra prima modifica:

sudo nano /etc/apache2/apache2.conf

Per consentire i file .htaccess, dobbiamo impostare la direttiva AllowOverride all'interno di un blocco di directory che punta alla nostra root dei documenti. Verso la fine del file, aggiungi il seguente blocco:

. . .

<Directory /var/www/html/>
    AllowOverride All
</Directory>

. . .

Al termine, salva e chiudi il file.

Abilita il modulo di riscrittura

Successivamente, possiamo abilitare mod_rewrite in modo da poter utilizzare la funzione di permalink di WordPress:

sudo a2enmod rewrite

Abilita le modifiche

Prima di implementare le modifiche che abbiamo apportato, verifica di non aver commesso errori di sintassi:

sudo apache2ctl configtest

L'output potrebbe avere un messaggio simile a questo:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Se desideri eliminare la riga superiore, aggiungi una direttiva ServerName al file /etc/apache2/apache2.conf che punta al dominio o all'indirizzo IP del tuo server. Questo è solo un messaggio e non influisce sulla funzionalità del nostro sito. Finché l'output contiene Sintassi OK, sei pronto per continuare.

Riavvia Apache per implementare le modifiche:

sudo systemctl restart apache2

Passaggio 4: Scarica WordPress

Ora che il nostro software server è configurato, possiamo scaricare e configurare WordPress. In particolare, per motivi di sicurezza, si consiglia sempre di scaricare l'ultima versione di WordPress dal proprio sito.

Passare a una directory scrivibile e quindi scaricare la versione compressa digitando:

cd / tmp
curl -O https://wordpress.org/latest.tar.gz

Estrai il file compresso per creare la struttura di directory di WordPress:

tar xzvf latest.tar.gz

Sposteremo questi file momentaneamente nella nostra root dei documenti. Prima di farlo, possiamo aggiungere un file .htaccess fittizio e impostarne le autorizzazioni in modo che questo sia disponibile per l'uso futuro di WordPress.

Crea il file e imposta le autorizzazioni digitando:

touch /tmp/wordpress/.htaccess
chmod 660 /tmp/wordpress/.htaccess

Copiremo anche il file di configurazione di esempio sul nome file che WordPress effettivamente legge:

cp /tmp/wordpress/wp-config-sample.php/tmp/wordpress/wp-config.php

Possiamo anche creare la directory di aggiornamento, in modo che WordPress non si imbatta in problemi di autorizzazioni quando si tenta di farlo da solo dopo un aggiornamento al suo software:

mkdir/tmp/wordpress/wp-content/upgrade

Ora, possiamo copiare l'intero contenuto della directory nella nostra radice del documento. Stiamo usando il flag -a per assicurarci che le nostre autorizzazioni siano mantenute. Stiamo usando un punto alla fine della nostra directory sorgente per indicare che tutto all'interno della directory dovrebbe essere copiato, inclusi i file nascosti (come il file .htaccess che abbiamo creato):

sudo cp -a /tmp/wordpress/. /var/www/ html

Passaggio 5: configurare la directory di WordPress

Prima di eseguire l'installazione di WordPress basata sul Web, è necessario modificare alcuni elementi nella nostra directory di WordPress.

Regolazione della proprietà e delle autorizzazioni

Una delle grandi cose che dobbiamo realizzare è impostare autorizzazioni e proprietà di file ragionevoli. Dobbiamo essere in grado di scrivere su questi file come un normale utente e abbiamo bisogno che il web server sia in grado di accedere e regolare determinati file e directory per funzionare correttamente.

Inizieremo assegnando la proprietà su tutti i file nella nostra radice del documento al nostro nome utente. Useremo sammy come nome utente in questa guida, ma dovresti cambiarlo in modo che corrisponda a ciò che viene chiamato dall'utente sudo. Assegneremo la proprietà del gruppo al gruppo di dati www:

sudo chown -R sammy: www-data / var / www / html

Successivamente, imposteremo il bit setgid su ciascuna directory all'interno della root del documento. Ciò fa sì che i nuovi file creati all'interno di queste directory ereditino il gruppo della directory padre (che abbiamo appena impostato su www-data) anziché il gruppo principale dell'utente di creazione. Questo semplicemente fa in modo che ogni volta che creiamo un file nella directory sulla riga di comando, il server web abbia ancora la proprietà del gruppo su di esso.

Possiamo impostare il bit setgid su ogni directory nella nostra installazione di WordPress digitando:

sudo find /var/www/html -type d -exec chmod g + s {} \;

Ci sono alcune altre autorizzazioni a grana fine che regoleremo. Innanzitutto, forniremo l'accesso in gruppo alla directory del contenuto wp in modo che l'interfaccia web possa apportare modifiche ai temi e ai plug-in:

sudo chmod g + w /var/www/html/wp-content

Come parte di questo processo, daremo al server Web accesso in scrittura a tutto il contenuto in queste due directory:

sudo chmod -R g + w /var/www/html/wp-content/themes
sudo chmod -R g + w /var/www/html/wp-content/plugins

Questo dovrebbe essere un ragionevole permesso impostato per iniziare. Alcuni plugin e procedure potrebbero richiedere ulteriori ritocchi.

Passaggio 6: completare l'installazione tramite l'interfaccia Web

Ora che la configurazione del server è completa, possiamo completare l'installazione tramite l'interfaccia web.

Nel tuo browser web, vai al nome di dominio del tuo server o all'indirizzo IP pubblico:

http: // server_domain_or_IP

Seleziona la lingua che desideri utilizzare:

Successivamente, verrai sulla pagina di configurazione principale.

Seleziona un nome per il tuo sito WordPress e scegli un nome utente (si consiglia di non scegliere qualcosa come "admin" per motivi di sicurezza). Una password complessa viene generata automaticamente. Salva questa password o seleziona una password complessa alternativa.

Inserisci il tuo indirizzo email e seleziona se vuoi scoraggiare i motori di ricerca dall'indicizzare il tuo sito:

Quando fai clic in avanti, verrai indirizzato a una pagina che ti chiederà di accedere:

Una volta effettuato il login, verrai indirizzato al pannello di amministrazione di WordPress:

Aggiornamento di WordPress

Man mano che gli aggiornamenti di WordPress diventano disponibili, non potrai installarli tramite l'interfaccia con le autorizzazioni correnti.

Le autorizzazioni che abbiamo selezionato qui hanno lo scopo di fornire un buon equilibrio tra sicurezza e usabilità per il 99% dei tempi tra l'aggiornamento. Tuttavia, sono un po 'troppo restrittivi per il software che applica automaticamente gli aggiornamenti.

Quando un aggiornamento diventa disponibile, riaccedere al server come utente sudo. Fornire temporaneamente al processo del server Web l'accesso all'intera radice del documento:

sudo chown -R www-data /var/www/html

Ora, torna al pannello di amministrazione di WordPress e applica l'aggiornamento.

Al termine, blocca nuovamente le autorizzazioni per sicurezza:

sudo chown -R sammy /var/www/html

Questo dovrebbe essere necessario solo quando si applicano gli aggiornamenti a WordPress stesso.

Conclusione

WordPress dovrebbe essere installato e pronto per l'uso! Alcuni passaggi successivi comuni sono di scegliere l'impostazione dei permalink per i tuoi post (può essere trovata in Impostazioni> Permalink) o selezionare un nuovo tema (in Aspetto> Temi). Se è la prima volta che usi WordPress, esplora un po 'l'interfaccia per familiarizzare con il tuo nuovo CMS.


Server Side

  • Dependency injections in PHP

    Dependency injections (DI) è un design pattern della Programmazione orientata agli oggetti il cui scopo è quello di semplificare lo sviluppo e migliorare la testabilità di software di grandi dimensioni.

    Leggi
  • Il garante privacy sta sviluppando un crawler per scandagliare il web alla ricerca di siti non in regola con il GDPR

    Il garante privacy sta sviluppando un crawler per scandagliare il web alla ricerca di siti non in regola con il GDPR

    Leggi
  • Configurazione iniziale del server con Ubuntu 16.04

    Quando crei per la prima volta un nuovo server Ubuntu 16.04, ci sono alcuni passaggi di configurazione da eseguire in anticipo come parte della configurazione di base. Ciò aumenterà la sicurezza e l'usabilità del server e fornirà una solida base per le azioni successive.

    Leggi
  • Come installare WordPress con LAMP su Ubuntu 16.04

    WordPress è il CMS più popolare su Internet. Ti consente di impostare facilmente blog e siti web flessibili su un backend MySQL con elaborazione PHP. WordPress ha visto un'adozione incredibile ed è un'ottima scelta per far funzionare rapidamente un sito web. Dopo l'installazione, è possibile eseguire quasi tutta l'amministrazione tramite il front-end Web.

    Leggi
  • Come proteggere WordPress dagli attacchi XML-RPC

    WordPress è una piattaforma CMS (content management system) popolare e potente. La sua popolarità può portare ad un' attenzione indesiderata sotto forma di traffico malevolo appositamente mirato a un sito WordPress.

    Leggi
  • Servizi di Object Storage vs. servizi di Block Storage

    Lo storage di dati flessibile e scalabile è un requisito di base per la maggior parte delle applicazioni e dei servizi sviluppati con tecniche e strumenti moderni.

    Leggi
  • Come fare il backup di un sito wordpress sul cloud di Digital Ocean

    Il servizio Spaces di DigitalOcean può fornire una soluzione di archiviazione di oggetti per i dati dei siti di WordPress

    Leggi
  • Come installare lo stack Apache, MySQL, PHP (LAMP) su Ubuntu 16.04

    In questa guida, verrà installato uno stack LAMP su una macchina Ubuntu 16.04. Ubuntu soddisferà il nostro primo requisito: un sistema operativo Linux.

    Leggi
  • Installare il certificato Let's Encrypt per Apache su Ubuntu 16.04

    Questo tutorial vi spiegherà come configurare un certificato TLS / SSL da Let's Encrypt su un server Ubuntu 16.04 che esegue Apache come server web.

    Leggi

Logo

Sviluppo progetti web dall'analisi alla produzione

Interventi di implementazione su software esistenti.

Contatti

4, av du Ray, Nice
France, FR
Email: massimo.ivaldi@codegarage.it