Knowledgebase Semplici istruzioni per lavorare con il servizio Profitserver
Principale Knowledgebase Come configurare un server web (Apache-PHP-MySQL/MariaDB) su Linux

Come configurare un server web (Apache-PHP-MySQL/MariaDB) su Linux


In questo articolo, ti forniremo istruzioni passo dopo passo su come configurare l'ambiente web su un server che esegue Linux. Prima di tutto, devi capire che un tipico server web è costituito da alcuni componenti interagenti:

  • Server HTTP
  • interprete del linguaggio di programmazione
  • sistema di gestione del database (DBMS)

Per gestire il tuo sito web dovrai anche configurare un sistema di gestione dei contenuti (CMS), un'interfaccia web per la gestione del database e l'accesso FTP.

Consideriamo di impostare una configurazione molto popolare Apache-PHP-MySQL(MariaDB) su Linux. Installeremo anche vsftpd ftp server, phpMyAdmin - un'interfaccia web per la gestione del database e un sistema di gestione dei contenuti WordPress.

Per iniziare, è necessario ordinare un server VPS o un server dedicato . Ad esempio, abbiamo utilizzato un server virtuale con indirizzo IP statico su cui girava Ubuntu Server 18.04. Tutti i comandi sono stati eseguiti dall'utente root.

Configurazione del server HTTP Apache

1. Installazione

apt install apache2

Al termine dell'installazione, apri un browser e controlla "http://[indirizzo_IP_del_server]".

Configurazione del server HTTP Apache

Se vedi una pagina di benvenuto come quella nello screenshot qui sopra, significa che il tuo server HTTP funziona.

2. Crea una pagina di prova

La directory radice predefinita per il sito web è "/var/www/html" . È qui che si trova la pagina di benvenuto che hai appena visto. Creiamo ora una directory separata "/var/www/sites" per gli host virtuali e una sottocartella "/var/www/sites/site1" con la pagina indice del tuo sito web di prova.

cd /var/www/

mkdir -p sites/site1

echo "<H1>Welcome</H1>" > sites/site1/index.html

Di conseguenza, il file “/var/www/sites/site1/index.html” dovrebbe contenere una sola riga di codice HTML:

<H1>Welcome</H1>

3. Configurazione del server Apache

I file di configurazione dei siti web si trovano nella directory "/etc/apache2/sites-available/" . Creiamo un file di configurazione per un nuovo host virtuale prendendo come base la configurazione predefinita dal file "000-default.conf" .

cd /etc/apache2/sites-available/

cp 000-default.conf site1.conf

Apri il file "site1.conf" e modifica l' attributo "DocumentRoot" . Inserisci il percorso del tuo sito web come valore, quindi nel nostro caso è "/var/www/sites/site1".

Configurazione del server Apache

In questa fase non abbiamo bisogno di configurare il funzionamento simultaneo di più siti web, quindi possiamo disabilitare il sito web predefinito e abilitare il nuovo sito. Ricaricare la configurazione del server per applicare le modifiche.

a2dissite 000-default

a2ensite site1

systemctl reload apache2

Apri nuovamente il link “http://[indirizzo_IP_del_server]” e assicurati che al posto della pagina di benvenuto predefinita venga visualizzata la nostra nuova pagina.

Configurazione del server Apache

Abbiamo completato la configurazione del nostro server HTTP e possiamo procedere alla fase successiva.

Configurazione del server FTP

1. Installazione

Installiamo il nostro server FTP e un pacchetto aggiuntivo, "db-util" , che ci servirà per configurare gli utenti virtuali.

apt install vsftpd db-util

2. Crea un account locale

Il server vsftpd ci consente di configurare i permessi di accesso in modo molto flessibile. Per i nostri compiti dobbiamo fornire agli utenti ftp quanto segue:

  • accesso completo al contenuto di “/var/www/siti/”;
  • disabilita tutto quello che c'è sopra “/var/www/”;
  • collegamento con un conto virtuale;

Crea un account locale "virtuale" senza permessi di accesso ma con accesso alla cartella home "/var/www/" . Questo account verrà utilizzato dagli utenti FTP per connettersi al server.

useradd -d /var/www virtual

"Root" sarà il proprietario predefinito della cartella "/var/www" . Per consentire agli utenti FTP di modificare il contenuto dei siti web, modifichiamo il proprietario di "/var/www/sites/", incluse le sottocartelle di "virtual".

chown -R virtual:root /var/www/sites

Di conseguenza, l'utente "virtual" sarà in grado di visualizzare il contenuto di "/var/www/" e di scrivere nella sottocartella "/var/www/sites/".

3. Configurazione

La configurazione principale si trova nel file "/etc/vsftpd.conf" , quindi apriamolo e modifichiamolo come segue:

#enable virtual users

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=virtual
#configure permission

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

anon_umask=0022

chroot_local_user=YES
#launch settings

listen=YES

pasv_min_port=30000

pasv_max_port=30999

4. Crea il database

Per archiviare i dati dei conti virtuali sarà necessario un database.

Innanzitutto, creiamo un semplice file di testo chiamato "users.txt" nella cartella home e salviamo i dettagli di accesso (nome utente e password) degli utenti virtuali su righe alterne. Ad esempio, avremo bisogno di un utente virtuale con nome utente "ftp" e password "Qwe123" . Il file avrà quindi questo aspetto:

ftp

Qwe123

Creiamo il database

db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db

Modifichiamo il file PAM predefinito "/etc/pam.d/vsftp" come segue:

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

Tieni presente che il percorso della libreria "pam_userdb.so" potrebbe essere diverso, ma puoi modificarlo se necessario.

Ricaricare il server vsftpd per applicare le modifiche.

systemctl restart vsftpd

Abbiamo terminato la configurazione del server FTP.

Dettagli di connessione:

  • ftp://[indirizzo_ip_del_server]
  • accedi: ftp
  • parola d'ordine: Qwe123

Configurazione del server PHP

1. Installazione di PHP

Oggi l'ultima versione stabile di PHP è php 7.4.5 che non è inclusa nei repository ufficiali di Ubuntu. Colleghiamo un repository di terze parti e installiamo l'ultima versione di PHP.

apt update

apt install software-properties-common

add-apt-repository ppa:ondrej/php

apt update

apt install php7.4

2. Dai un'occhiata

Affinché PHP venga eseguito, il file della pagina web deve avere l'estensione ".php" . Rinominiamo la nostra pagina di prova:

cd /var/www/sites/site1/

mv index.html index.php

Aggiungi la seguente riga PHP al file “/var/www/sites/site1/index.php” , in modo che il file appaia così:

<H1>Welcome</H1>

<?php

phpinfo();

?>

Salvare le modifiche e controllare il risultato nel browser.

Configurazione del server PHP - installazione e controllo

Se visualizzi il risultato della funzione "phpinfo()" , l'interprete PHP funziona correttamente. Ora procediamo al passaggio successivo.

Configurazione MySQL (MariaDB)

1. Installazione

Installiamo MariaDB e un modulo PHP per MySQL, quindi ricarichiamo Apache.

apt install mariadb-server php-mysql

systemctl restart apache2

Aggiorna la pagina di test e vai alla sezione PDO nella tabella di configurazione PHP. Se trovi la sezione "PDO_mysql" , significa che il driver per MySQL è installato correttamente.

Installazione e configurazione di MySQL (MariaDB)

Successivamente, dovremo effettuare la configurazione di sicurezza iniziale di MariaDB e impostare la password per l' utente "root" , disabilitare l'accesso remoto ed eliminare tutti gli account guest.

mysql_secure_installation

Come primo passaggio, dobbiamo inserire la password dell'utente "root" per accedere al DBMS oppure premere Invio se non è impostata alcuna password. Poiché dopo l'installazione non è stata impostata alcuna password per l'utente "root" , è sufficiente premere "Invio".

Si prega di notare che in MariaDB esistono già account propri che non hanno nulla a che vedere con gli account del sistema operativo. Pertanto, l'unico utente con cui abbiamo a che fare in MariaDB è "root".

  MySQL: crea un account e imposta una password

Dopodiché, il configuratore ci chiederà di impostare la password per l'utente root. Digita "Y" per confermare e inserisci la nuova password. Nel nostro caso, è "Qwe123".

  MySQL: crea un account e imposta una password

Rispondi "S" a tutte le restanti domande fino alla fine.

La configurazione è completata!

Dettagli di accesso a MariaDB:

  • Accesso: root
  • Parola d'ordine: Qwe123

configurazione phpMyAdmin

1. Installazione

Installiamo l'estensione necessaria per PHP: mbstring.

apt install php-mbstring

Nel repository ufficiale è presente solo una versione obsoleta di phpMyAdmin, quindi installiamo manualmente quella nuova.

Apri il sito web ufficiale del progetto “ https://www.phpmyadmin.net/ ” e scarica l'archivio più recente.

installazione e configurazione di phpMyAdmin

Copia l'archivio sul server nella cartella "/var/www/sites/" utilizzando un qualsiasi client FTP.

Estrai il contenuto della cartella e rinominala in "phpMyAdmin" . Non dimenticare di installare l' utility "unzip" . Puoi eliminare l'archivio dopo averlo estratto.

apt install unzip

cd /var/www/sites/

unzip phpMyAdmin-5.0.2-all-languages.zip

mv phpMyAdmin-5.0.2-all-languages phpMyAdmin

rm phpMyAdmin-5.0.2-all-languages.zip

Crea la seguente cartella "/var/www/sites/phpMyAdmin/tmp" per i file temporanei e abilita l'accesso per tutti. In caso contrario, phpMyAdmin segnalerà un accesso negato alla cartella temporanea.

cd /var/www/sites/phpMyAdmin/

mkdir tmp

chmod 777 tmp

2. Crea un alias

Poiché phpMyAdmin non è un host virtuale separato e si trova all'esterno della directory radice, configuriamo l'alias.

Apri il file “/etc/apache2/mods-available/alias.conf” e aggiungi questa riga:

Alias /pma “/var/www/sites/phpMyAdmin"

all'interno di questa sezione:

<IfModule alias_module>

</IfModule>
phpMyAdmin: Crea un alias

Ricarica Apache per applicare le modifiche.

systemctl reload apache2

L'alias è impostato, quindi possiamo accedere a phpMyAdmin qui : "http://[indirizzo_IP_del_server]/pma".

3. Preparare il database

Poiché durante la configurazione iniziale di MariaDB abbiamo limitato l'uso dell'utente root, dovremo creare un nuovo account con tutti i permessi che verranno utilizzati per accedere a phpMyAdmin.

Inoltre, per abilitare le funzionalità aggiuntive di phpMyAdmin avremo bisogno di un database di servizio e di un account per accedervi.

Creiamo gli account

mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit

Si prega di notare che il nome del database nella seconda richiesta è in back sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,

Come risultato, verranno creati due account in MariaDB:

  • Login: pma, Password: Qwe123Accesso completo, verrà utilizzato per accedere a phpMyAdmin
  • Login: pmaservice, Password: Qwe123L'account di servizio è necessario per il funzionamento delle funzionalità aggiuntive

Nel passaggio successivo, imposteremo questi dettagli nel file di configurazione "config.inc.php".

Dopodiché dovremo importare il database dal file "phpMyAdmin/sql/create_tables.sql".

Importiamolo con l'aiuto di phpMyAdmin.

Apri il link “http://[indirizzo_IP_del_server]/pma”

Inserisci il nome utente "pma" e la password "Qwe123"

Vai su "Importa" , clicca su "Seleziona file" e seleziona il file "sql/create_tables.sql" nella directory principale di phpMyAdmin. Dovrebbe esserci una cartella "phpMyAdmin" sul tuo PC contenente i file. Estraila se necessario.

configurazione phpmyadmin

Fai clic su "Avanti" per avviare l'importazione.

4. Configurazione

Copiamo il file di configurazione dal modello

cd /var/www/sites/phpMyAdmin/

cp config.sample.inc.php config.inc.php

Apriamo il file di configurazione “/var/www/sites/phpMyAdmin/config.inc.php” ed effettuiamo le seguenti modifiche:

Imposta un valore casuale di 32 caratteri per l'attributo "$cfg['blowfish_secret']" . Utilizza un qualsiasi generatore di password.

Come installare e configurare WordPress su un server Linux

Rimuovi i commenti da tutte le righe della sezione "phpMyAdmin configuration storage settings" e imposta di conseguenza il nome utente e la password dell'account di servizio di MariaDB per gli attributi "controluser" e "controlpass" . Nel nostro caso, si tratta di pmaservice e Qwe123.

Come installare e configurare WordPress su un server Linux

Salva le modifiche.

Dettagli di accesso per phpMyadmin:

  • http://[server’s_ip_address]/pma/
  • Accesso: pma
  • Parola d'ordine: Qwe123

Come installare e configurare WordPress su un server Linux

1. Posizionamento dei pacchetti e dei file WordPress

Visita il sito ufficiale di WordPress " https://ru.wordpress.org/ " e scarica l'archivio sul tuo PC.

Carica l'archivio sul server nella cartella "/var/www/sites/" e decomprimilo nella cartella "wordpress ".

Copia il contenuto della cartella radice “/var/www/sites/wordpress/” del sito web “/var/www/sites/site1/”.

Poiché abbiamo copiato i file tramite la console con i permessi di root, modifichiamo il proprietario della cartella "/var/www/sites/", incluso il contenuto di "virtual" . Questo è necessario per abilitare l'accesso completo per la connessione FTP tramite il client.

cd /var/www/sites/

tar -xzvf wordpress-5.4-ru_RU.tar.gz

cp -R wordpress/* site1/

chown -R virtual:root /var/www/sites

2. Crea un database per WordPress

Accedi a phpMyAdmin e clicca su "Crea database". Specifica un nome di database arbitrario, nel nostro caso "wordpress_db" e clicca sul pulsante "Crea".

Crea un database per WordPress

Seleziona il nuovo database nella sezione a sinistra e fai clic su "Privilegi".

Crea un database per WordPress

Quindi fai clic su “Aggiungi account utente”.

Nella finestra che si apre, inserisci nome utente e password ( wpservice / Qwe123 ), seleziona la casella "Concedi tutti i privilegi nel database wordpress" e clicca su "Avanti".

Aggiungi account utente nel database per WordPress

Nella pagina successiva, fai clic su "Annulla tutto" per reimpostare tutti i privilegi a livello di database e poi su "Avanti".

Aggiungi account utente nel database per WordPress

3. Configurazione di WordPress su un server Linux

Vai alla directory principale del tuo sito web e copia il file di configurazione dal modello

cd /var/www/sites/site1/

cp wp-config-sample.php wp-config.php

Apri il file “wp-config.php” , inserisci i parametri di connessione al database che abbiamo creato nel passaggio precedente e salva le modifiche.

Configurazione di WordPress su un server Linux

4. Installa CMS WordPress

Apri il seguente link nel browser : “http://[indirizzo_IP_del_server]/wp-admin/install.php”.

Compila tutti i campi e clicca su "Installa WordPress" . Imposta un nome utente e una password casuali. Nel nostro caso, sono rispettivamente wpadmin e Qwe123.

Questi dettagli verranno utilizzati per accedere a WordPress.

Installa CMS WordPress su un server Linux

Una volta completata l'installazione, apri il link "http://[indirizzo_IP_del_server]/wp-login.php" , inserisci i dati di accesso ed effettua il login a WordPress.

Installa CMS WordPress su un server Linux

Dovresti vedere uno dei modelli di WordPress nella pagina principale.

Installa CMS WordPress su un server Linux

La configurazione è completata.

Dettagli di accesso a WordPress:

  • http://[server’s_ip_address]/wp-login.php
  • Accedi: wpadmin
  • Parola d'ordine: Qwe123
Articolo successivo ❯ Configurazione del file .htaccess

Chiedici informazioni su VPS

Siamo sempre pronti a rispondere alle vostre domande a qualsiasi ora del giorno e della notte.