GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installazione WordPress su Ubuntu Linux con Apache e MySQL

WordPress è rimasto uno dei modi migliori e più semplici per far funzionare un sito elegante sin dal suo inizio nel 2003. In effetti, le tendenze attuali mostrano solo che la sua popolarità continua ad aumentare. WordPress è semplice da usare e anche ospitarlo da solo non è così difficile, come ti dimostreremo in questo articolo.

In questa guida, ti mostreremo come ospitare il tuo sito con WordPress su Ubuntu Linux. Useremo Apache come nostro server HTTP e installeremo anche PHP e MariaDB (un'implementazione open source di MySQL) poiché WordPress li richiede per funzionare. Questo assortimento di pacchetti viene comunemente chiamato stack LAMP (Linux, Apache, MySQL, PHP). Una volta installati questi pacchetti, esamineremo la configurazione di Apache e MySQL, inclusa la configurazione iniziale di un database e di un utente, prima di installare WordPress stesso. Verso la fine, ti mostreremo anche come configurare un certificato SSL autofirmato o ottenerne uno gratuito da Let's Encrypt, che consente al tuo sito di utilizzare HTTPS.

In questo tutorial imparerai:

  • Come installare e configurare Apache
  • Come installare e configurare MariaDB per MySQL
  • Come configurare un utente e un database MySQL per WordPress
  • Come scaricare e installare WordPress
  • Come configurare un certificato SSL autofirmato per il tuo sito WordPress
  • Come configurare un certificato SSL gratuito da Let's Encrypt

Menu di amministrazione di WordPress

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Ubuntu Linux
Software WordPress, Apache, PHP, MariaDB, certificato SSL
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Installa Apache, PHP e MySQL

La prima cosa che dovremo fare è preparare il nostro sistema Ubuntu con i pacchetti software appropriati. WordPress può funzionare solo se gli forniamo un server HTTP, PHP e i relativi moduli e un database MySQL. Apri un terminale e digita i seguenti due comandi per installare Apache, PHP e MariaDB, che è un fork open source di MySQL:

$ sudo apt update
$ sudo apt install apache2 php libapache2-mod-php mariadb-server mariadb-client php-mysql php-curl php-xml php-mbstring php-imagick php-zip php-gd

Ci sono molti pacchetti da installare e sì, sono tutti necessari. Senza alcuni dei moduli PHP aggiuntivi, non otterrai un punteggio perfetto nella sezione "Stato di integrità del sito" della dashboard dell'amministratore di WordPress.

Configura MySQL

Una delle prime cose che dovremmo fare è preparare il nostro database WordPress. Per fare ciò, dobbiamo prima eseguire una configurazione iniziale di MySQL. Per iniziare, esegui il seguente comando nel terminale:

$ sudo mysql_secure_installation

Lascia vuota la prima risposta e premi invio. Dovresti rispondere con y (sì) al resto dei prompt e configurare una password di root quando richiesto. Questa configurazione richiede solo un momento per essere completata.

La configurazione iniziale di MySQL con mysql_secure_installation

Sebbene la configurazione di cui sopra sarà facilmente sufficiente per il nostro sito WordPress, puoi leggere la nostra guida su Installa e configura MySQL Workbench su Ubuntu Linux se sei abbastanza curioso da approfondire un po'.

Crea un database per WordPress

WordPress memorizza tutti i suoi post e i contenuti delle pagine, tra le altre informazioni, all'interno di MySQL. Avremo bisogno di configurare un utente MySQL e un database per WordPress a cui accedere con i seguenti passaggi:

  1. Inizia aprendo MySQL con l'utente root:
    $ sudo mysql
    
  2. Crea un nuovo database per WordPress. In questo esempio chiameremo il nostro wordpress_db , ma puoi usare il nome che preferisci.
    MariaDB [(none)]> CREATE DATABASE wordpress_db;
    
  3. In seguito, dobbiamo creare un nuovo utente che WordPress possa utilizzare per accedere al database che abbiamo appena creato. Per questo esempio, creeremo il nostro nome utente wordpress_user e la nostra password my_password . Sostituisci my_password testo sotto con una password sicura (e annotala da qualche parte per dopo):
    MariaDB [(none)]> CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'my_password';
    
  4. Quindi, concedi all'utente di WordPress i permessi completi sul database di WordPress:
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@'localhost';
    
  5. Infine, salva le modifiche apportate alle autorizzazioni utente ed esci da MariaDB:
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> exit
    

Configurazione del database MySQL e dell'utente per WordPress

Configura Apache

Apache dovrebbe essere già installato e funzionante a questo punto, e ciò può essere verificato aprendo un browser e navigando all'indirizzo di loopback 127.0.0.1 o semplicemente localhost sul tuo sistema.

Pagina predefinita di Apache, che indica che il nostro sito Web è accessibile

Sebbene Apache stia già ospitando il nostro sito (o ne manchi uno), è consigliabile configurare un nuovo file host virtuale Apache per la nostra installazione di WordPress. Ciò ti consentirà una maggiore flessibilità in futuro se desideri ospitare più siti Web o apportare modifiche alla posizione in cui è installata la directory di WordPress, ecc.

  1. Copia la configurazione predefinita di Apache in un nuovo file con il seguente comando:
    $ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.conf
    
  2. Quindi, usa nano o il tuo editor di testo preferito che preferisci per aprire questo file:
    $ sudo nano /etc/apache2/sites-available/wordpress.conf
    
  3. Cambia la DocumentRoot impostazione su dove prevediamo di installare WordPress. La directory seguente è il nostro suggerimento.
    DocumentRoot /var/www/wordpress
    
  4. Crea un'impostazione per ServerName e inserisci il nome di dominio completo del tuo sito web. Se non ne hai uno, lascialo come localhost.
    ServerName your-site.com
    
  5. Crea un alias per www anche il prefisso. Questo non è necessario se stai usando solo localhost.
    ServerAlias www.your-site.com
    

    Ecco come dovrebbe apparire il tuo file di configurazione quando hai finito. Nota che abbiamo commentato la riga dell'alias nella nostra configurazione poiché stiamo solo ospitando localmente.

  6. Compilazione dei valori DocumentRoot e ServerName nel file host virtuale Apache

  7. Salva le modifiche ed esci dal file. Quindi, abilita il sito in Apache e disabilita il sito predefinito.
    $ sudo a2ensite wordpress.conf
    $ sudo a2dissite 000-default.conf
    
  8. Infine, ricarica Apache per rendere effettive le nuove modifiche.
    $ sudo systemctl reload apache2
    

Scarica e installa WordPress

Ora che abbiamo configurato il nostro server HTTP e PHP e MySQL sono pronti per l'uso, possiamo passare all'installazione di WordPress stesso.

  1. In primo luogo, usa wget per scaricare l'ultima versione di WordPress:
    $ wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
    
  2. Estrai l'archivio tar nella directory del tuo sito WordPress:
    $ sudo tar -xzvf /tmp/wordpress.tar.gz -C /var/www
    
  3. Assicurati di configurare le autorizzazioni appropriate per la directory e tutti i suoi file.
    $ sudo chown -R www-data.www-data /var/www/wordpress
    
  4. Ora possiamo iniziare a configurare WordPress. Apri il tuo browser Internet e vai all'indirizzo localhost 127.0.0.1 o il tuo nome di dominio completo se ne hai impostato uno. Dovresti essere accolto dalla procedura guidata di configurazione di WordPress. Fai clic su "Andiamo" per iniziare.
  5. Procedura guidata di configurazione iniziale di WordPress

  6. Quindi, inserisci le informazioni sul database che hai configurato in precedenza. Le ultime due caselle (host del database e prefisso della tabella) possono essere lasciate ai valori predefiniti. Fai clic su "Invia" quando hai finito.
  7. Compila le informazioni del database MySQL che abbiamo configurato in precedenza

  8. WordPress tenterà di stabilire una connessione con il database e ti farà sapere se ha avuto successo. Supponendo che lo sia, fai clic su "Esegui l'installazione" per continuare.
  9. WordPress si è connesso con successo al nostro database MySQL

  10. La schermata successiva ti chiederà alcune informazioni generali sul tuo nuovo sito. Al termine della compilazione, fai clic su "installa WordPress" nella parte inferiore dello schermo per finalizzare l'installazione.
  11. Inserisci il titolo del sito, il nome utente, la password e l'e-mail

  12. L'installazione di WordPress è ora completa! Puoi fare clic sul pulsante "Accedi" per iniziare a creare contenuti.
  13. WordPress è stato installato correttamente. Fai clic su Accedi per trovare il menu di amministrazione

Tieni presente che per tornare al pannello di amministrazione di WordPress in futuro, puoi sempre utilizzare l'URL http://127.0.0.1/wp-admin (o sostituendo 127.0.0.1 con il tuo nome di dominio completo).

Menu di amministrazione di WordPress

Il tuo sito WordPress dovrebbe ora essere accessibile da http://127.0.0.1 o il tuo nome di dominio completo.

Il nostro sito WordPress è ora attivo e funzionante

Configura un certificato SSL autofirmato

Abbiamo finito di configurare il nostro sito WordPress, ma in questo momento utilizza HTTP anziché HTTPS. Con gran parte del Web che si sposta esclusivamente su HTTPS, potresti prenderlo in considerazione anche per il tuo sito, anche se non è strettamente necessario. In questa sezione della guida, ti mostreremo come abilitare SSL sul tuo sito web con un certificato autofirmato.

  1. Digitare il seguente comando nel terminale per generare un certificato autofirmato. Ti verranno richieste alcune domande generali. Assicurati di compilare il campo "nome comune" con l'indirizzo IP del tuo sito web o con il nome di dominio completo.
    $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
    
  2. Creazione di un certificato SSL autofirmato

  3. In seguito, dobbiamo apportare alcune modifiche alla configurazione del nostro sito Apache. Apri il file di configurazione SSL predefinito con nano o un altro editor di testo:
    $ sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  4. Cambia la DocumentRoot valore rispetto a dove hai installato WordPress in precedenza. Quindi, cambia il SSLCertificateFile e SSLCertificateKeyFile valori in cui abbiamo salvato i nostri file SSL. Vedi lo screenshot qui sotto per riferimento.
    DocumentRoot /var/www/wordpress
    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
    
  5. Modifica i valori del certificato DocumentRoot e SSL all'interno del file host virtuale SSL di Apache

  6. Salva le modifiche ed esci dal file. Quindi, abilita il modulo SSL per Apache e riavvia per rendere effettive le modifiche:
    $ sudo a2enmod ssl
    $ sudo systemctl restart apache2
    
  7. Infine, abilita il sito SSL che abbiamo configurato e ricarichiamo Apache:
    $ sudo a2ensite default-ssl
    $ sudo systemctl reload apache2
    

Tutto fatto. Il tuo sito WordPress è ora in grado di utilizzare la crittografia SSL:

HTTPS è ora abilitato sul nostro sito WordPress

Configura un certificato SSL gratuito da Let's Encrypt

Let's Encrypt è un servizio gratuito che fornisce ai siti Web certificati SSL. Se sei arrivato così lontano e hai configurato il tuo sito WordPress su Ubuntu, sono solo pochi altri passaggi per configurare la crittografia SSL, che impedirà attacchi man in the middle, aiuterà la SEO della tua pagina e browser come Firefox non lo faranno avvisa gli utenti che il tuo sito non è sicuro.

Questo processo è molto semplice e tutto può essere eseguito dalla riga di comando di Ubuntu. Segui i passaggi seguenti per completare la configurazione del tuo sito Web con un certificato SSL di Let's Encrypt.

  1. Per configurare la crittografia SSL utilizzando Let's Encrypt, installa l'utilità certbot con il comando seguente.
    $ sudo apt install certbot python3-certbot-apache
    
  2. Configura il certificato SSL eseguendo il comando seguente e seguendo i prompt che compaiono. L'ultima domanda ti chiederà se desideri reindirizzare le richieste HTTP direttamente a HTTPS. Si consiglia di optare per questo. Ovviamente, affinché funzioni, il dominio deve puntare correttamente all'IP del nostro server pubblicamente accessibile.
    $ sudo certbot --apache
    

Questo è tutto ciò che c'è da fare. Il certbot utility fa quasi tutto il lavoro per noi e apporterà tutte le modifiche necessarie ai file dell'host virtuale Apache. Manterrà inoltre attivo il tuo certificato SSL, rinnovandolo ogni volta che sta per scadere.

Pensieri conclusivi

Questa guida ti ha mostrato come installare componenti di prim'ordine per eseguire un sito Web WordPress su Ubuntu Linux. WordPress è un fantastico sistema di gestione dei contenuti con una configurazione praticamente infinita. È così semplice che qualcuno senza alcuna esperienza di codifica HTML, CSS o PHP può avere un sito Web dall'aspetto eccezionale. Assicurati di sfogliare i menu di WordPress per vedere tutto il potere di personalizzazione che hai a portata di mano.


Ubuntu
  1. Installa e inizia con MySQL Workbench su Ubuntu

  2. Come abilitare e disabilitare il modulo PHP curl con Apache su Ubuntu Linux

  3. Semplici esempi CGI e Apache su Ubuntu Linux

  4. Ubuntu 20.04:WordPress con installazione di Nginx

  5. Installa WordPress su Linux con Apache

Installa WordPress con LEMP Stack su Ubuntu 20.04

Come configurare WordPress su Ubuntu Server con Apache

Installa WordPress con LEMP Stack su Ubuntu 20.04

Installa Apache OpenOffice in Ubuntu e Linux Mint

Come installare LEMP WordPress Ubuntu e Debian con Virtualhost

Come installare LAMP su Ubuntu 15.10 (Linux, Apache, MySQL e PHP)