Introduzione

WordPress è un sistema di gestione dei contenuti (CMS) open source. Il CMS più popolare al mondo, WordPress consente di impostare blog e siti Web su un back-end di database MySQL, utilizzando PHP per eseguire script ed elaborare contenuti dinamici.

OpenLiteSpeed ​​ha alcune utili funzionalità che lo rendono una scelta solida per molte installazioni: regole di riscrittura compatibili con Apache, un'interfaccia di amministrazione basata sul web integrata e elaborazione PHP personalizzata ottimizzata per il server.

Questa guida illustrerà il processo di installazione e configurazione di un'istanza di WordPress su Ubuntu 18.04 utilizzando il server Web OpenLiteSpeed.

Prerequisiti

Prima di iniziare questa guida, è necessario quanto segue:

Se il tuo intento è installare WordPress su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Creare un utente e database per WordPress

WordPress utilizza MySQL per gestire e archiviare le informazioni sul sito e sugli utenti. MySQL è già installato, ma come passaggio preparatorio è necessario creare un database e un utente che WordPress possa utilizzare.

Quindi accedi all'account MySQL di root :

sudo mysql

Nota: se hai configurato l'utente root di MySQL per l'autenticazione con il plug-in mysql_native_password, dovrai accedere con il seguente comando:

mysql -u root -p

Quindi immettere la password dell'utente root quando richiesto.

Dal prompt di MySQL, creare un database con il seguente comando. Qui, chiameremo questo database wordpress per semplificare le cose, ma puoi nominarlo come preferisci:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Quindi, creare un utente e concedergli i privilegi sul database appena creato. Ancora una volta, puoi dare a questo utente qualsiasi nome, ma per semplicità lo nomineremo wordpressuser. Inoltre, assicurati di cambiare password con una password complessa di tua scelta:

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

Quindi, esegui il comando FLUSH PRIVILEGES che pormette al server di ricaricare le tabelle delle sovvenzioni e rendere effettive le nuove modifiche:

FLUSH PRIVILEGES;

Successivamente, puoi chiudere il prompt di MySQL:

exit

Hai finito di configurare l'installazione di MySQL per lavorare con WordPress. Successivamente, installeremo alcune estensioni PHP.

Installare estensioni PHP aggiuntive

Nel tutorial di OpenLiteSpeed ​​prerequisito, hai installato il pacchetto lsphp73. Questa è una raccolta di PHP ottimizzata per OpenLiteSpeed ​​che utilizza LiteSpeed ​​SAPI per comunicare con applicazioni esterne. A seconda delle tue esigenze, WordPress potrebbe richiedere altre estensioni PHP per funzionare come desiderato.

Per installare alcune estensioni PHP comunemente usate con WordPress, esegui il seguente comando:

sudo apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis

Nota: i pacchetti in questo comando potrebbero non coprire tutti i casi d'uso. Per un elenco completo delle estensioni di PHP 7.3 disponibili dal repository LiteSpeed ​​che hai aggiunto al tuo server nell'esercitazione sui prerequisiti, consulta il Wiki LiteSpeed.

Download di WordPress

Ora che il software del tuo server è configurato, puoi installare e configurare WordPress. Per motivi di sicurezza, in particolare, si consiglia sempre di ottenere l'ultima versione di WordPress direttamente dal loro sito.

Passare a una directory scrivibile e quindi scarica con curl la versione compressa digitando:

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

Estrarre con tar il file compresso per creare la struttura della directory di WordPress:

tar xzvf latest.tar.gz

Sposteremo questi file nella nostra root del documento momentaneamente, ma prima creeremo alcuni file e directory da cui dipenderà l'installazione di WordPress.

OpenLiteSpeed ​​supporta i file .htaccess. Questo è importante per i nostri scopi, dal momento che WordPress utilizza i file .htaccess per creare e gestire permalink.

Aggiungi un file .htaccess fittizio in modo che sia disponibile per l'uso in WordPress in un secondo momento:

touch /tmp/wordpress/.htaccess

Successivamente, copia il file di configurazione di esempio nel nome file che WordPress legge effettivamente:

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

Inoltre, crea la directory upgrade in modo che WordPress non si imbatta in problemi di autorizzazione quando provi a farlo da solo a seguito di un aggiornamento del suo software:

mkdir /tmp/wordpress/wp-content/upgrade

Quindi, copia l'intero contenuto della directory nella root del documento. OpenLiteSpeed ​​viene fornito con un host virtuale predefinito denominato Example situato nella directory /usr/local/lsws/. La root (redice) del documento per l'host virtuale Example è la sottodirectory html:

sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress

Si noti che questo comando include un punto alla fine della directory di origine per indicare che tutto all'interno della directory deve essere copiato, inclusi i file nascosti (come il file creato .htaccess):

Con ciò, hai installato WordPress sul tuo server web e hai eseguito alcuni dei passaggi iniziali di configurazione. Successivamente, esamineremo alcune ulteriori modifiche alla configurazione che forniranno a WordPress i privilegi necessari per funzionare in modo sicuro e accedere al database MySQL e all'account utente creati in precedenza.

Configurare la directory di WordPress

Prima di poter eseguire il processo di installazione basato su Web per WordPress, dobbiamo modificare alcuni elementi nella nostra directory di WordPress.

Inizia dando la proprietà di tutti i file nella directory all'utente nobody e al gruppo nogroup, che il server Web OpenLiteSpeed ​​esegue come impostazione predefinita. Il seguente comando chown garantirà a OpenLiteSpeed ​​la possibilità di leggere e scrivere file nella directory wordpress, consentendogli di servire il sito Web ed eseguire aggiornamenti automatici:

sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress

Quindi esegui due comandi find per impostare le autorizzazioni corrette per le directory e i file di WordPress:

sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} \;
sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} \;

Dovrebbero essere previsti permessi ragionevoli per iniziare, anche se alcuni plugin e procedure potrebbero richiedere ulteriori modifiche.

Successivamente, dovrai apportare alcune modifiche al file di configurazione principale di WordPress.

Quando apri il file, il tuo primo obiettivo sarà quello di regolare alcune chiavi segrete per fornire un po 'di sicurezza alla tua installazione. WordPress fornisce un generatore sicuro per questi valori in modo da non dover provare a trovare buoni valori da solo. Questi sono usati solo internamente, quindi non danneggia l'usabilità avere valori complessi e sicuri qui.

Per ottenere valori sicuri dal generatore di chiavi segrete di WordPress, digitare:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Otterrai valori unici che assomigliano a questo:

Avvertimento! È importante richiedere valori univoci ogni volta. Do NON copiare i valori riportati di seguito!

define('AUTH_KEY',         '8Bq$%@(39t*[email protected]}T+Y2o%07X;|[email protected]|zJC)SVp>DER.9xX3c-g-i1L0jSkBt+zIX');
define('SECURE_AUTH_KEY',  '|0s.|Py-R_C`Az[N0RO9U+Km5{./y?$%[email protected]<9-yjI&_]`X3Q$-<i7h/TKh)');
define('LOGGED_IN_KEY',    'pa)HG>!/Hts5;cP?^[email protected]&7[o8|k98(P+EQ5 4P:4');
define('NONCE_KEY',        ')g0QE~.+=--N#<KQ++#&`pm}VnascB(}9!u+:U>6y -UK-vv,/$[Z(vjfa<]+Wo{');
define('AUTH_SALT',        'ucvgs$A*i+A_B-J?B 6FFHbYU+EkmP1K;Yy]/$f [email protected]}n{, RV/cY6kcn((*!;~');
define('SECURE_AUTH_SALT', ';-2F/XXbg:LD6xl(|YAkM|^N`O+1_F-n|)n% FoIsYS-M|I]$do{fT|e0(XPJK!s');
define('LOGGED_IN_SALT',   'v#?D+gh|_<:#]!1R&Qvg$Ui-`YIXb5A|rr ]*[o9*&4:=y473X`_Uby9^!BlNl07');
define('NONCE_SALT',       '{ei20HVh*o8mJ+0|$?+r,+BT8ut|Gr+gjn_wVM!V-~#$zrJG_H2!N{=&|b.zR=-T');

Queste sono le linee di configurazione che incollerai direttamente nel tuo file di configurazione per impostare chiavi sicure. Copia l'output ricevuto negli Appunti, quindi apri con il tuo editor il file di configurazione di WordPress che si trova nella radice del documento:

sudo nano /usr/local/lsws/Example/html/wordpress/wp-config.php

Trova la sezione che contiene i valori fittizi per tali impostazioni. Sarà simile a questo:

. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

Elimina queste righe e incolla i valori copiati dalla riga di comando:

. . .

define('AUTH_KEY',         'VALORI COPIATI DALLA RIGA DI COMANDO');
define('SECURE_AUTH_KEY',  'VALORI COPIATI DALLA RIGA DI COMANDO');
define('LOGGED_IN_KEY',    'VALORI COPIATI DALLA RIGA DI COMANDO');
define('NONCE_KEY',        'VALORI COPIATI DALLA RIGA DI COMANDO');
define('AUTH_SALT',        'VALORI COPIATI DALLA RIGA DI COMANDO');
define('SECURE_AUTH_SALT', 'VALORI COPIATI DALLA RIGA DI COMANDO');
define('LOGGED_IN_SALT',   'VALORI COPIATI DALLA RIGA DI COMANDO');
define('NONCE_SALT',       'VALORI COPIATI DALLA RIGA DI COMANDO');

. . .

Successivamente, modifica le impostazioni di connessione al database nella parte superiore del file. È necessario regolare il nome del database, l'utente del database e la password associata configurata in MySQL.

L'altra modifica che devi fare è impostare il metodo che WordPress dovrebbe usare per scrivere nel filesystem. Dato che abbiamo dato al server web il permesso di scrivere dove è necessario, possiamo impostare esplicitamente il metodo del filesystem su direct. La mancata impostazione con le nostre impostazioni correnti comporterebbe la richiesta di WordPress per le credenziali FTP quando si eseguono determinate azioni.

Questa impostazione può essere aggiunta sotto le impostazioni di connessione al database o in qualsiasi altra parte del file:

. . .

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

. . .

define('FS_METHOD', 'direct');

Salva e chiudi il file al termine.

Configurare OpenLiteSpeed

Attualmente, WordPress è installato sul tuo server Ubuntu, ma l'installazione di OpenLiteSpeed ​​non è stata ancora configurata per servirlo. In questo passaggio, accederemo all'interfaccia amministrativa di OpenLiteSpeed ​​e apporteremo alcune modifiche alla configurazione del tuo server.

Nel tuo browser Web preferito, vai all'interfaccia amministrativa di OpenLiteSpeed. Puoi trovarlo inserendo l'indirizzo IP pubblico del tuo server o il nome di dominio ad esso associato, seguito da :7080, nella barra degli indirizzi del tuo browser:

https://tuo_dominio_o_ip:7080

Ti verrà presentata una schermata di accesso. Immettere il nome utente e la password definiti nel tutorial di installazione dei prerequisiti di OpenLiteSpeed.

  • Dalla dashboard di OpenLiteSpeed, trova e fai clic su Server Configuration nel menu della barra laterale di sinistra.
  • Quindi vai alla scheda External App, trova la riga LiteSpeed SAPI App e fai clic sul pulsante Edit.

Ricordiamo che nel prerequisito del tutorial OpenLiteSpeed ​​hai installato il pacchetto lsphp73, una raccolta di PHP ottimizzata per funzionare con OpenLiteSpeed ​​attraverso il SAPI LiteSpeed. Tuttavia, le impostazioni predefinite nella pagina External App puntano lsphp invece che lsphp73. Per questo motivo, l'installazione di OpenLiteSpeed ​​non sarà in grado di eseguire correttamente gli script PHP.

Per correggere ciò:

  • Cambia il campo Name in lsphp73
  • Cambia il campo Address in uds://tmp/lshttpd/lsphp73.sock
  • Cambia il campo Command per leggere $SERVER_ROOT/lsphp73/bin/lsphp

Fai clic sull'icona Save nell'angolo in alto a destra della casella LiteSpeed SAPI App.

Successivamente. Fai clic su Virtual Hosts nel menu a sinistra. Nella pagina Virtual Hosts, trova l'host virtuale che intendi utilizzare e fai clic sull'icona View. Qui, useremo l'host virtuale di Example predefinito.

Passare alla scheda General dell'host virtuale. Lì, trova la sezione General e fai clic sul pulsante Edit.

OpenLiteSpeed ​​esamina il contenuto del campo Document Root per il contenuto da pubblicare. Poiché tutto il contenuto e i file di WordPress sono archiviati nella directory wordpress creata in precedenza, aggiornare il campo Document Root per puntare a quella directory. Per fare ciò, tutto ciò che devi fare è aggiungere wordpress/ alla fine del valore predefinito, quindi:

  • Document Root: $VH_ROOT/html/wordpress/

Fai clic sull'icona Save per salvare questa modifica.

Successivamente, è necessario abilitare i file index.php in modo che possano essere utilizzati per elaborare richieste non gestite da file statici. Ciò consentirà alla logica principale di WordPress di funzionare correttamente.

Mentre sei ancora nella scheda General, scorri verso il basso per trovare la sezione Index Files e fai clic sull'icona Edit.

Nel campo Index Files:

  • Precedere index.html con index.php,. Attenzione, assicurati di aggiungere una virgola tra index.php e index.html. Mettendo index.php prima index.html, si consente ai file di indice PHP di avere la precedenza.

Assicurati di fare clic sull'icona Save prima di continuare.

Quindi, vai alla scheda Enable Rewrite dell'host virtuale . Trova la sezione Auto Load from .htaccess e premi il pulsante Edit:

  • Impostare le opzioni Enable Rewrite e Auto Load from .htaccess su Yes facendo clic sui rispettivi pulsanti. La configurazione delle istruzioni di riscrittura in questo modo ti consentirà di utilizzare i permalink nell'installazione di WordPress.

Fai clic sull'icona Save dopo aver apportato tali modifiche.

L'host virtuale predefinito incluso con l'installazione di OpenLiteSpeed ​​include alcune aree protette da password per mostrare le funzionalità di autenticazione dell'utente di OpenLiteSpeed. WordPress include i propri meccanismi di autenticazione e non useremo l'autenticazione basata su file inclusa in OpenLiteSpeed. Dovremmo sbarazzarci di questi al fine di ridurre al minimo i frammenti di configurazione vaganti attivi sulla nostra installazione di WordPress.

Innanzitutto, fai clic sulla scheda Security in alto:

  • Quindi fai clic sul pulsante Delete accanto a SampleProtectedArea nella tabella Realms List.
  • Ti verrà chiesto di confermare l'eliminazione. Fai clic su Elimina per procedere.
  • Quindi, fai clic sulla scheda Context. Nella Context List, eliminare il contesto /protected/ che è stato associato con il realm di sicurezza appena eliminato.
  • Ancora una volta, dovrai confermare l'eliminazione facendo clic su Elimina.

Puoi tranquillamente eliminare uno o tutti gli altri contesti usando la stessa tecnica, poiché non ne avremo bisogno. Abbiamo eliminato in modo specifico il contesto /protected/ perché altrimenti verrebbe generato un errore a causa dell'eliminazione del dominio di sicurezza associato (che abbiamo appena rimosso nella scheda Security).

Successivamente, premi l'icona verde Graceful Restart nell'angolo in alto a destra della console OpenLiteSpeed. Ciò riavvierà il server OpenLiteSpeed, rendendo effettive le modifiche apportate.

Con ciò, il tuo server OpenLiteSpeed ​​è completamente configurato. Sei pronto per terminare la configurazione di WordPress nel tuo browser.

Completamento dell'installazione tramite l'interfaccia di WordPress

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

Nel browser Web, accedere al nome di dominio o all'indirizzo IP pubblico del server:

http://tuo_dominio_o_ip

Adesso puoi procedere con la classica installazione di WordPress.

Conclusione

Completando questa guida, hai installato e configurato un'istanza di WordPress sul server Ubuntu 18.04 che esegue OpenLiteSpeed.