PROBLEMA Ubuntu server 18.04 Guida server web

pentothal

Utente Attivo
632
185
Hardware Utente
CPU
CPU Intel Core 2 Duo E8500
Scheda Madre
Scheda Madre Asus P5KPL intel® Core™2 Extreme sk775
Hard Disk
500gb
RAM
2pz MEMORIA RAM KINGSTON 1 GB DDR II
Scheda Video
S. Video 9600 GT Point Of View GeForce 9600GT 512mb
Case
CABINET CASE AT-8 MODDING 500W TIPO BMW
Sistema Operativo
Windows
Ciao a tutti
sto seguendo questa guida per creare un server web, sto testando il tutto su una macchina virtuale, arrivato ad un punto della guida mi blocco, precisamente alla fine di "Gestire connessioni sicure con HTTPS con Apache2 e SSL" quando è il momento di aprire sul web la pagina creata, anzichè il messaggio di "La connessione non è privata" mi carica la pagina di errore "Impossibile raggiungere il sito ... DNS_PROBE_FINISHED_NXDOMAIN", è chiaro che sbaglio qualcosa o che magari la guida è vecchia rispetto alla mia versione di Ubuntu Server, seguo la guida passo passo, cambio ovviamente il nome del "sito" nel virtual host SSL.
Grazie in anticipo a chi può darmi chiarimenti.
 

icox

Utente Attivo
347
130
Hardware Utente
Quell'errore indica che il browser non e' stato in grado di tradurre l'indirizzo che hai digitato nel corrispettivo IP (piu' precisamente ha concluso la fase di ricerca correttamente ma non ha trovato il risultato). E' probabile che tu stia cercando di accedere al tuo server Apache con un indirizzo errato.
Prima di aggiungere il certificato funzionava? Se si, ripercorri i passi seguiti fino all'aggiunta del certificato e controlla di non aver fatto errori nei file di configurazione. Se non funzionava... devi tornare ancora piu' indietro fino alla configurazione base.

E' un po' che metto le mani su Apache, se posti i file di configurazione vedo se posso darti una mano (o piu' facilmente qualcuno che lo usa spesso).
 

pentothal

Utente Attivo
632
185
Hardware Utente
CPU
CPU Intel Core 2 Duo E8500
Scheda Madre
Scheda Madre Asus P5KPL intel® Core™2 Extreme sk775
Hard Disk
500gb
RAM
2pz MEMORIA RAM KINGSTON 1 GB DDR II
Scheda Video
S. Video 9600 GT Point Of View GeForce 9600GT 512mb
Case
CABINET CASE AT-8 MODDING 500W TIPO BMW
Sistema Operativo
Windows
Quell'errore indica che il browser non e' stato in grado di tradurre l'indirizzo che hai digitato nel corrispettivo IP (piu' precisamente ha concluso la fase di ricerca correttamente ma non ha trovato il risultato). E' probabile che tu stia cercando di accedere al tuo server Apache con un indirizzo errato.
Prima di aggiungere il certificato funzionava? Se si, ripercorri i passi seguiti fino all'aggiunta del certificato e controlla di non aver fatto errori nei file di configurazione. Se non funzionava... devi tornare ancora piu' indietro fino alla configurazione base.

E' un po' che metto le mani su Apache, se posti i file di configurazione vedo se posso darti una mano (o piu' facilmente qualcuno che lo usa spesso).
Ciao icox, allora, non ho provato se funzionasse prima di aggiungere il certificato, anche perchè seguendo quella guida i passi sono prima creare il certificato e poi il resto, dovrei provare a fare il contrario.
Per configurazione intendi queste?

Codice:
<VirtualHost *:80>
    ServerAdmin webmaster@sitodiprovaterzo.com
    ServerName www.sitodiprovaterzo.com
    ServerAlias sitodiprovaterzo.com

    DocumentRoot /var/www/sitodiprovaterzo.com

    LogLevel warn
    ErrorLog /var/www/sitodiprovaterzo.com/log/error.log
    CustomLog /var/www/sitodiprovaterzo.com/log/access.log combined
</VirtualHost>


<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin webmaster@sitodiprovaterzo.com
        ServerName www.sitodiprovaterzo.com
        ServerAlias sitodiprovaterzo.com
        DocumentRoot /var/www/sitodiprovaterzo.com
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        SSLCertificateFile /etc/apache2/certificatiSSL/apache.crt
        SSLCertificateKeyFile /etc/apache2/certificatiSSL/apache.key
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-6]" \
                        nokeepalive ssl-unclean-shutdown \
                        downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    </VirtualHost>
</IfModule>
 

icox

Utente Attivo
347
130
Hardware Utente
Il dominio 'www.sitodiprovaterzo.com' immagino te lo sia inventato...? Se e' questo il caso, hai modificato il file hosts per mappare quel dominio all'indirizzo IP del server su cui gira Apache?

Io prima di imbarcarmi fra Virtual Host e certificati proverei a vedere se Apache e' installato e configurato a dovere.
Lascia la configurazione di base e fai una richiesta al tuo server, usa il suo IP se e' remoto o localhost se sei in locale.
Dovrebbe darti una pagina standard e qualche info sulla versione di Apache, se non vedi questa pagina significa che il tuo server/demone non e' in ascolto e/o non raggiunbile. Oppure stai sbagliando l'indirizzo.

Dove stai facendo girare questo Ubuntu server?
 
  • Mi piace
Reactions: Moffetta88

pentothal

Utente Attivo
632
185
Hardware Utente
CPU
CPU Intel Core 2 Duo E8500
Scheda Madre
Scheda Madre Asus P5KPL intel® Core™2 Extreme sk775
Hard Disk
500gb
RAM
2pz MEMORIA RAM KINGSTON 1 GB DDR II
Scheda Video
S. Video 9600 GT Point Of View GeForce 9600GT 512mb
Case
CABINET CASE AT-8 MODDING 500W TIPO BMW
Sistema Operativo
Windows
Il dominio 'www.sitodiprovaterzo.com' immagino te lo sia inventato...? Se e' questo il caso, hai modificato il file hosts per mappare quel dominio all'indirizzo IP del server su cui gira Apache?

Io prima di imbarcarmi fra Virtual Host e certificati proverei a vedere se Apache e' installato e configurato a dovere.
Lascia la configurazione di base e fai una richiesta al tuo server, usa il suo IP se e' remoto o localhost se sei in locale.
Dovrebbe darti una pagina standard e qualche info sulla versione di Apache, se non vedi questa pagina significa che il tuo server/demone non e' in ascolto e/o non raggiunbile. Oppure stai sbagliando l'indirizzo.

Dove stai facendo girare questo Ubuntu server?
Si, è inventato, ovviamente per questioni di test (quello è il terzo :D ), non ho mai toccato il file hosts, anche perchè seguendo alcune guide non lo nominano affatto.
Si, la pagina standard di apache mi viene caricata correttamente in tutti i test che faccio.
Sto usando virtualbox, ho un server virtualizzato che clono ogni volta che voglio testare varie configurazioni che trovo.
Adesso sto seguendo queste guide per capirci meglio, ma ci sono alcuni errori nella guida che devo risolvere da solo, tipo, in questa guida fa configurare entrambe le pagine di test e ad un certo punto dice di inserire:
Codice:
        ErrorLog  /var/log/apache2/www.esempio.it/error.log
        CustomLog /var/log/apache2/www.esempio.it/access.log combined
quando un po' più su mi fa creare le cartelle e il log è in /var/log/apache2/www.esempio.it/
oppure che il file di configurazione non lo nomina .conf ma per usare il comando
Codice:
# a2ensite www.esempio.it
# a2ensite www.esempio.org
devono essere entrambi .conf e altre cosucce che in questo momento non ricordo.

EDIT:
Ho modificato il file hosts di windows e mi sono collegato ad entrambi i siti di test, il primo mi porta alla pagina:
Forbidden
You don't have permission to access this resource.
Apache/2.4.29 (Ubuntu) Server at www.test4.it Port 80
Mentre la seconda mi porta alla pagina predefinita di Apache.
 
Ultima modifica:

icox

Utente Attivo
347
130
Hardware Utente
I file di configurazione e log potrebbero differire a seconda delle distribuzione (a volte anche dalla versione!), cerca di seguire una sola guida oppure controlla bene i path che riportano. Usarne uno o l'altro e' indifferente, basta che siano coerenti :)
La modifica del file hosts era necessaria se vuoi usare il nome a dominio, altrimenti la richiesta viene risolta da un DNS esterno che ovviamente non sa cosa sia "www.sitodiprovaterzo.com".

Comunque bene che tu riesca a raggiungere la pagina di default di Apache, significa che stai usando l'indirizzo corretto e che Apache risponde alle richieste.

L'ultimo errore postato riguarda i permessi di accesso, probabilmente stai dicendo ad Apache di accedere a risorse (directory o file) per le quali non possiede i permessi.
1. Controlla di aver usato i path giusti
2. Hai per caso modificato i permessi di /var/www e sotto directory?

Per ripristinare i permessi dai un chmod 644 sui file e 755 sulle directory (in giro troverai anche chi consiglia un barbaro 777, non farlo).
Se ti interessa, 644 da accesso in lettura-scrittura al proprietario e sola lettura nei restanti casi. 755 fa la stessa cosa ma aggiunge a tutti la possibilita' di "eseguire". I file in generale non dovrebbero mai essere eseguibili, dare la possibilita' di "eseguire" una directory serve invece per attraversarle ed accedere ai contenuti.

Se dopo aver controllato queste cose ancora non funziona bisogna capire perche' l'utente che esegue Apache (dovrebbe essere www-data in Ubuntu) non riesce ad accedere ai file che crei...
Posta anche il risultato di ls -lha di /var/www (o dove tieni quello che dovrebbe servire Apache)
 

pentothal

Utente Attivo
632
185
Hardware Utente
CPU
CPU Intel Core 2 Duo E8500
Scheda Madre
Scheda Madre Asus P5KPL intel® Core™2 Extreme sk775
Hard Disk
500gb
RAM
2pz MEMORIA RAM KINGSTON 1 GB DDR II
Scheda Video
S. Video 9600 GT Point Of View GeForce 9600GT 512mb
Case
CABINET CASE AT-8 MODDING 500W TIPO BMW
Sistema Operativo
Windows
I file di configurazione e log potrebbero differire a seconda delle distribuzione (a volte anche dalla versione!), cerca di seguire una sola guida oppure controlla bene i path che riportano. Usarne uno o l'altro e' indifferente, basta che siano coerenti :)
La modifica del file hosts era necessaria se vuoi usare il nome a dominio, altrimenti la richiesta viene risolta da un DNS esterno che ovviamente non sa cosa sia "www.sitodiprovaterzo.com".

Comunque bene che tu riesca a raggiungere la pagina di default di Apache, significa che stai usando l'indirizzo corretto e che Apache risponde alle richieste.

L'ultimo errore postato riguarda i permessi di accesso, probabilmente stai dicendo ad Apache di accedere a risorse (directory o file) per le quali non possiede i permessi.
1. Controlla di aver usato i path giusti
2. Hai per caso modificato i permessi di /var/www e sotto directory?

Per ripristinare i permessi dai un chmod 644 sui file e 755 sulle directory (in giro troverai anche chi consiglia un barbaro 777, non farlo).
Se ti interessa, 644 da accesso in lettura-scrittura al proprietario e sola lettura nei restanti casi. 755 fa la stessa cosa ma aggiunge a tutti la possibilita' di "eseguire". I file in generale non dovrebbero mai essere eseguibili, dare la possibilita' di "eseguire" una directory serve invece per attraversarle ed accedere ai contenuti.

Se dopo aver controllato queste cose ancora non funziona bisogna capire perche' l'utente che esegue Apache (dovrebbe essere www-data in Ubuntu) non riesce ad accedere ai file che crei...
Posta anche il risultato di ls -lha di /var/www (o dove tieni quello che dovrebbe servire Apache)
Ho preso questa guida perché sembra essere quella adatta alla mia versione.
Riguardo l'errore del primo sito test, test.it per la precisione, credo che il problema sia dovuto a una inesattezza della guida, come avevo scritto nel mio ultimo post, non so se gli hai dato un'occhiata, all'inizio mi fa creare delle nuove directory e nel momento di configurare i file di configurazione di entrambi i siti .it e .org mi porta come esempio:
Codice:
#
# www.esempio.it
#

<VirtualHost *:80>
        ServerAdmin webmaster@esempio.it
        ServerName  www.esempio.it
        ServerAlias esempio.it


        # Indexes + Directory Root.
        DirectoryIndex index.html index.htm index.php
        DocumentRoot /var/www/esempio.it/
        Alias /phpmyadmin /usr/share/phpmyadmin
        Alias /mailmanager /var/www/mailmanager

        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>

        <Directory /var/www/esempio.it/>
                Options -Indexes -FollowSymLinks +MultiViews
                AllowOverride All
Il problema sarebbe in DocumentRoot che scrive essere /var/www/esempio.it/ dimenticando che precedentemente ha nominato tale directory in www.esempio.it, nel caso della configurazione del sito .it ho lasciato volutamente questo "refuso" che invece ho modificato nel modo che mi sembrava giusto nella configurazione del .org, aggiungendo il www, immagino che l'errore sia dovuto a quello e non ai permessi.
Il secondo dubbio che ho è che, sempre all'inizio della guida, mi fa creare le cartelle www all'interno delle directory coi nomi del sito, immagino che dentro ci debbano andare i file del sito, tipo gli html (ho utilizzato nginx su openmediavault per un sito in locale immagino debba essere la stessa cosa), quindi ho creato due file index.html e inserito in entrambe le directory www dei "sitarelli", vabbè che uno mi da errore per i motivi che ho già fornito, ma nel caso del sito .org non avrebbe dovuto caricarmi l'index che ho creato invece che quello default di apache?
 

icox

Utente Attivo
347
130
Hardware Utente
Ho installato ora Apache2 su un server Ubuntu che avevo in giro e di default usa /var/www/ (ed anche /usr/share/), quindi se non hai fatto modifiche tutti i tuoi path dovranno partire da li (e non /apache2, /html o altro). Che tu metta esempio.it o www.esempio.it e' indifferente, basta che usi lo stesso nome sia nella configurazione sia per il nome della directory, serve solo ad indicare ad Apache dove andare a prendere i file. Il nome del dominio puo' poi essere anche un altro non importa. E' la stessa cosa di nginx come giustamente dici.

Non riesco a vedere l'ultima configurazione che hai postato per intero, in ogni caso ogni VirtualHost dovra' avere la sua DocumentRoot a partire da /var/www/<sito> e chiaramente dovrai creare la directory /var/www/<sito>. Tutto quello che metterai dentro <sito> sara' visibile, se poi c'e' un "index.html" credo che Apache lo serva in automatico.

Se visitando il tuo ".org" di prova vedi il default di Apache significa che quel VirtualHost e' settato per servire /var/www/html/ che e' la directory di default. Dove stai mettendo i file di configurazione dei VirtualHost e come li stai modificando?

Infine la questione permessi, potrebbe starci che un percorso sbagliato dia un 403 (forbidden) ma a meno di non aver inserito un path fuori dalla "root" di Apache mi suona un po' strano... Per una risorsa non trovata mi aspetterei un 404 (not found) che e' un errore diverso...
 

pentothal

Utente Attivo
632
185
Hardware Utente
CPU
CPU Intel Core 2 Duo E8500
Scheda Madre
Scheda Madre Asus P5KPL intel® Core™2 Extreme sk775
Hard Disk
500gb
RAM
2pz MEMORIA RAM KINGSTON 1 GB DDR II
Scheda Video
S. Video 9600 GT Point Of View GeForce 9600GT 512mb
Case
CABINET CASE AT-8 MODDING 500W TIPO BMW
Sistema Operativo
Windows
Ho installato ora Apache2 su un server Ubuntu che avevo in giro e di default usa /var/www/ (ed anche /usr/share/), quindi se non hai fatto modifiche tutti i tuoi path dovranno partire da li (e non /apache2, /html o altro). Che tu metta esempio.it o www.esempio.it e' indifferente, basta che usi lo stesso nome sia nella configurazione sia per il nome della directory, serve solo ad indicare ad Apache dove andare a prendere i file. Il nome del dominio puo' poi essere anche un altro non importa. E' la stessa cosa di nginx come giustamente dici.
mi sono spiegato male mi sa, il file config che mi fa configurare la guida dice ad apache di puntare DocumentRoot alla directory esempio.it ma è la directory sbagliata perchè la directory si chiama www.esempio.it, ed è proprio il sito che mi da problemi.

EDIT:
Ho risolto l'arcano mistero di esempio.org, nel file config del .org avevo modificato questa parte:
<VirtualHost *:80>
in
<VirtualHost xxx.xxx.xxx.xxx>
con l'ip pubblico, per questo, forse, mi caricava la pagina default di apache, me ne sono accorto adesso, nel mio smanettare me ne ero dimenticato, in più avevo già fixato la directory di DocumentRoot in www.esempio.it.
Nel frattempo sto smanettando ancora e modificando il config del .it da:
<VirtualHost *:80>
in
funziona anche lui, cioè mi indirizza alla pagina default di apache.


Non riesco a vedere l'ultima configurazione che hai postato per intero, in ogni caso ogni VirtualHost dovra' avere la sua DocumentRoot a partire da /var/www/<sito> e chiaramente dovrai creare la directory /var/www/<sito>. Tutto quello che metterai dentro <sito> sara' visibile, se poi c'e' un "index.html" credo che Apache lo serva in automatico.
Ho incollato solo la parte iniziale del file di configurazione della guida per mostrarti i percorsi che indicava.

Se visitando il tuo ".org" di prova vedi il default di Apache significa che quel VirtualHost e' settato per servire /var/www/html/ che e' la directory di default. Dove stai mettendo i file di configurazione dei VirtualHost e come li stai modificando?

Infine la questione permessi, potrebbe starci che un percorso sbagliato dia un 403 (forbidden) ma a meno di non aver inserito un path fuori dalla "root" di Apache mi suona un po' strano... Per una risorsa non trovata mi aspetterei un 404 (not found) che e' un errore diverso...
i file config sono in /etc/apache2/sites-available/ dove sono i file config default di apache, li modifico con nano, semplicemente copiando e incollando quelli della guida e modificandoli li dove mi serve.
 

pentothal

Utente Attivo
632
185
Hardware Utente
CPU
CPU Intel Core 2 Duo E8500
Scheda Madre
Scheda Madre Asus P5KPL intel® Core™2 Extreme sk775
Hard Disk
500gb
RAM
2pz MEMORIA RAM KINGSTON 1 GB DDR II
Scheda Video
S. Video 9600 GT Point Of View GeForce 9600GT 512mb
Case
CABINET CASE AT-8 MODDING 500W TIPO BMW
Sistema Operativo
Windows
Novità
questa volta ho seguito un'altra guida, ed è stato un successo, dopo aver provato anche soluzioni LEMP, avendo avuto a che fare già con Nginx, ma ho preferito intestardirmi con Apache, sono riuscito a configurare anche wordpress e un server ftp, per adesso sono solo test, il prossimo step è inoltrarmi di più sul mondo linux server, mi sta piacendo un sacco. Ho usato un solo host in locale, per adesso, visto che anche inserendo due virtual host riesco a raggiungerne solo uno, forse sbaglio nel configurare il file hosts di windows che, per come lo sto usando, è anche inutile, hostando praticamente l'ip locale del server in questo modo:
se aggiungo un secondo dominio allo stesso IP ovviamente mi indirizza alla stessa pagina, per adesso mi fermo qui, domani riprovo configurando wordpress in multisito, aggiungendone un altro oltre a quello già configurato e vediamo se riesce lui ad indirizzarmi al nuovo sito.
Per adesso è tutto, poi dovrò capire anche come funzionano i domini una volta acquistato uno e poi potrò passare ai fatti.
 

icox

Utente Attivo
347
130
Hardware Utente
Bravo bel lavoro. Se volessi fare qualche test piu' "serio" dai un'occhiata ai vari servizi cloud, molti offrono svariati mesi di utilizzo gratuito per le istanza piccole su Linux. AWS per esempio offre le t2/t3 micro gratuitamente per 12 mesi, istanze molto piccole ma ampiamente sufficienti per imparare a muovere i primi passi. GCP e Azure non li ho ancora provati ma sul primo sono abbastanza sicuro che abbiano un periodo di "prova" piuttosto esteso.
Con un tuo server privato/cloud puoi gia' iniziare a fare cose piuttosto interessanti e divertenti.
 
  • Mi piace
Reactions: pentothal

pentothal

Utente Attivo
632
185
Hardware Utente
CPU
CPU Intel Core 2 Duo E8500
Scheda Madre
Scheda Madre Asus P5KPL intel® Core™2 Extreme sk775
Hard Disk
500gb
RAM
2pz MEMORIA RAM KINGSTON 1 GB DDR II
Scheda Video
S. Video 9600 GT Point Of View GeForce 9600GT 512mb
Case
CABINET CASE AT-8 MODDING 500W TIPO BMW
Sistema Operativo
Windows
Bravo bel lavoro. Se volessi fare qualche test piu' "serio" dai un'occhiata ai vari servizi cloud, molti offrono svariati mesi di utilizzo gratuito per le istanza piccole su Linux. AWS per esempio offre le t2/t3 micro gratuitamente per 12 mesi, istanze molto piccole ma ampiamente sufficienti per imparare a muovere i primi passi. GCP e Azure non li ho ancora provati ma sul primo sono abbastanza sicuro che abbiano un periodo di "prova" piuttosto esteso.
Con un tuo server privato/cloud puoi gia' iniziare a fare cose piuttosto interessanti e divertenti.
La mia idea, non so se è malsana, è quella di realizzare un server che ospiti due siti, uno per me e uno per mio fratello, ovviamente non saranno siti grossi e non penso avranno un grosso carico di utenza. Per adesso voglio prima imparare le basi, poi approfondire il tutto e, solo dopo, concentrarmi sull'hardware necessario per realizzare l'idea. Quello dei servizi cloud è una buona idea, ho visto che anche Amazon ne ha a disposizione, non so se hanno un periodo di prova, mi informo meglio più tardi.
 

Entra

oppure Accedi utilizzando