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, per favore ordina server VPS or server dedicatoAd esempio, abbiamo utilizzato un server virtuale con indirizzo IP statico che esegue Ubuntu Server 18.04. Tutti i comandi sono stati eseguiti dall'utente root.
Configurazione del server HTTP Apache
1. Installazione
apt install apache2
Una volta terminata l'installazione, apri un browser e controlla “http://[indirizzo_ip_del_server]”
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 puoi trovare la pagina di benvenuto che hai appena visto. Creiamo una directory separata “/var/www/siti” per host virtuali e una sottocartella “/var/www/siti/sito1” 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
Nel risultato il file “/var/www/siti/sito1/index.html” dovrebbe contenere solo una riga di codice html:
<H1>Welcome</H1>
3. Configurazione del server Apache
I file di configurazione dei siti web sono in “/etc/apache2/siti-disponibili/” catalogo. Creiamo un file di configurazione per un nuovo host virtuale prendendo la configurazione predefinita dal file “000-default.conf” come base.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Aprire il file “sito1.conf” e cambia il “DocumentoRoot” attributo. Metti il percorso del tuo sito web come valore, quindi nel nostro caso è “/var/www/siti/sito1”
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 il link “http://[indirizzo_ip_del_server]” di nuovo e assicuriamoci che al posto della pagina di benvenuto predefinita ci sia la nostra nuova pagina.
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 “utilità db”, che dovremo 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 autorizzazione 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
"Radice" sarà il proprietario del “/var/www” cartella di default. Per consentire agli utenti ftp di modificare il contenuto dei siti web, cambiamo il proprietario di “/var/www/siti/” comprese le sottocartelle di "virtuale".
chown -R virtual:root /var/www/sites
Di conseguenza, l'utente "virtuale" sarà in grado di vedere il contenuto di “/var/www/” e scrivere nel “/var/www/siti/” sottocartella.
3. Configurazione
La configurazione principale è 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.
Per prima cosa, creiamo un semplice file di testo “utenti.txt” nella cartella home e salvare i dettagli di accesso (login e password) degli utenti virtuali in ogni altra riga. Ad esempio, avremo bisogno di un utente virtuale con login “FTP” e password “Qwe123”. Quindi il file apparirà così:
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
Si prega di notare che il percorso del “pam_userdb.so” la libreria potrebbe essere diversa, ma puoi modificarla 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 possa essere eseguito, il file della pagina web deve avere “.php” estensione. Rinominiamo la nostra pagina di prova:
cd /var/www/sites/site1/
mv index.html index.php
Aggiungere la seguente riga php al file “/var/www/sites/sito1/index.php”, quindi il file dovrebbe apparire così:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Salvare le modifiche e controllare il risultato nel browser.
Se vedi 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 riesci a trovare la sezione “PDO_mysql”, significa che il driver per Mysql è installato correttamente.
Quindi dovremo effettuare la configurazione di sicurezza iniziale di MariaDB e impostare la password per "Radice" utente, disabilitare l'accesso remoto ed eliminare tutti gli account ospite.
mysql_secure_installation
Al primo passo dobbiamo entrare nel "radice" password dell'utente per accedere al DBMS o premere Invio se non c'è password. Poiché non c'è password impostata per il "radice" utente dopo l'installazione, basta premere "Accedere".
Si prega di notare che in MariaDB ci sono già i propri account che non hanno nulla a che fare con gli account del sistema operativo. Quindi l'unico utente con cui abbiamo a che fare in MariaDB è "radice".
Dopodiché il configuratore ci chiederà di impostare la password per l'utente root. Digitare "Y" per confermare e inserire la nuova password. Nel nostro caso, è “Qwe123”
Rispondi "Y" a tutte le altre 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 ufficiale del progetto “https://www.phpmyadmin.net/" e scarica l'archivio più recente.
Copia l'archivio sul server in “/var/www/siti/” cartella utilizzando qualsiasi client FTP.
Decomprimi la cartella e rinominala in “phpMyAdmin”Non dimenticare di installare il “decomprimere” utilità. Puoi eliminare l'archivio dopo averlo decompresso.
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 abilitare l'accesso per tutti. Se non lo fai, phpMyAdmin segnalerà l'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.
Aprire 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>
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`.* A 'pma'@'localhost' IDENTIFICATO DA …”,
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”.
Quindi 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 login "pma" e password “Qwe123”
Vai su "Importare", fare clic su "Seleziona il file" e seleziona il file "sql/crea_tabelle.sql" nella directory principale di phpMyAdmin. Dovrebbe esserci la cartella sul tuo PC “phpMyAdmin” con i file. Decomprimilo se necessario.
Clicchi "Il prossimo" per iniziare 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” e apportare le seguenti modifiche:
Imposta un valore casuale di 32 caratteri per l'attributo “$cfg['blowfish_secret']”Per farlo, utilizza un qualsiasi generatore di password.
Rimuovi i commenti da tutte le righe del “impostazioni di archiviazione della configurazione di phpMyAdmin” sezione e impostare il login e la password dell'account di servizio di MariaDB per l' “utente di controllo” e “controllo passa” attributi di conseguenza. Nel nostro caso, è servizio pma e Qwe123.
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
Vai al sito ufficiale di WP “https://ru.wordpress.org/" e scarica l'archivio sul tuo PC locale.
Carica l'archivio sul server in “/var/www/siti/” cartella e decomprimila in "wordpress" cartella.
Copia il contenuto del “/var/www/siti/wordpress/” cartella radice del “/var/www/siti/sito1/” di COSM
Poiché abbiamo copiato i file tramite la console con permessi di root, cambiamo il proprietario del “/var/www/siti/” cartella contenente il contenuto di "virtuale"Ciò è necessario per abilitare l'accesso completo alla 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".
Selezionare il nuovo database nella sezione di sinistra e fare clic “Privilegi”
Quindi fare clic su “Aggiungi account utente”.
Inserisci login e password (wpservice / Qwe123) nella finestra aperta, controlla “Concedi tutti i privilegi nel wordpress_db” e fare clic su "Il prossimo"
Nella pagina successiva clicca “Annulla tutto” per reimpostare tutti i privilegi a livello di database e fare clic "Il prossimo".
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
Aprire il “wp-config.php” file e inserisci i parametri di connessione al database creati nel passaggio precedente e salva le modifiche.
4. Installa CMS WordPress
Aprire il seguente collegamento nel browser “http://[indirizzo_ip_del_server]/wp-admin/install.php”.
Compila tutti i campi e clicca “Installa WordPress”. Imposta un nome utente e una password casuali. Nel nostro caso, è wpadmin e Qwe123 di conseguenza.
Questi dettagli verranno utilizzati per accedere a WordPress.
Dopo aver completato l'installazione, apri il collegamento “http://[indirizzo_ip_del_server]/wp-login.php”, inserisci i dettagli di accesso ed effettua il login su WordPress.
Dovresti vedere uno dei modelli di WordPress nella pagina principale.
La configurazione è completata.
Dettagli di accesso a WordPress:
- http://[server’s_ip_address]/wp-login.php
- Accedi: wpadmin
- Parola d'ordine: Qwe123