Joomla.it Forum
Non solo Joomla... => Sezione dedicata ai Server => : piterdan 14 Feb 2007, 02:06:15
-
Sono un po' fuori topic, ma visto che avete installato anche voi Ubuntu vi pongo un quesito che non sono riuscito a risolvere.
Ho installato su un mio server che è su Internet Ubuntu 6.06. E' la prima volta che installo Linux con a disposizione solo la shell, ma mi sono deciso a farlo, tanto in remoto funziona solo quella. In generale, con i manuali alla mano, molti anche ben fatti dalla comunity italiana e studiando giorno e notte l'ho messo in piedi.
C'è però una cosa che proprio non riesco a fare e non ho trovato informazioni adeguate in giro.
Premetto che il server lo uso principalmente per il web, quindi sono installate le versioni:
Apache 2, mySQL 4.1, php 5
Su questo server girano siti principalmente Joomla!
Ho la necessità, quando occorre, di utilizzare i link amichevoli e per farlo è necessario abilitare il file ".htaccess" che non riesco in nessun modo a far funzionare.
Il modulo rewrite è funzionante, il codice utilizzato sia in "apache2.conf" che nei file di dominio sono quelli standard e cambiando le impostazioni in "deny for all" non mi permette più di accedere al dominio, dando errore 403, accesso negato.
Utilizzando le configurazioni standard l'errore è quello di Pagina non Trovata.
Per complicare il discorso, utilizzando lo stesso file .htaccess su un altro server ma non con Ubuntu la cosa funziona normalmente.
Grazie dell'aiuto.
-
le informazioni sono poche, tutto dipende dalla configurazione del server. Hai chiesto al tuo provider?
-
le informazioni sono poche, tutto dipende dalla configurazione del server. Hai chiesto al tuo provider?
Il server è mio e l'ho portato in webwarm. Che dati ti servono?
La configurazione di Apache2 nella parte relativa al .htaccess ha questa stringa:
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
UseCanonicalName Off
Il file di configurazione del dominio è questo:
<VirtualHost *>
ServerAdmin xxx
ServerName www.xxx.it
DocumentRoot /var/www/www.xxx.it/web/
ErrorLog /var/log/apache2/xxx.it-error.log
CustomLog /var/log/apache2/xxx.it-access.log combined
ServerSignature On
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Il file .htaccess è questo:
## Puo' essere commentato se causa errori, vedere le note sopra.Options +FollowSymLinks
## mod_rewrite in usoRewriteEngine On
# Decommentate la riga se la URL del vostro webserver non e' collegata con il path del file.
# Aggiungi la sottodirectory (/sottodirectory)
# RewriteBase
########## Inizio - Joomla! core SEF Section
########## Usa questa sezione se state usando SOLO il Core Joomla!
## TUTTE le righe (RewriteCond) in questa sezione sono richieste soltanto
## se avete directory chiamate 'content' o 'component' nel vostro server
## se non avete directory con questi nomi, commentate le righe.
#
# RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
# RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
# RewriteRule ^(.*) index.php
#
########## Fine sezione - Joomla! core SEF
########## Inizio - 3rd Party SEF Section
########## Usare questa sezione se state usando
########## 3rd party (Non Joomla! core) SEF extension - e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
#
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
#
########## Fine sezione - 3rd Party SEF
Grazie mille, ciao
-
allora prova a fare queste modifiche:
trova la stringa
AllowOverride None
e cambiala con
AllowOverride All
e vedi che succede.
Se non va prova anche questo: decommenta Rewrite base nel .htaccess, supponendo che hai il sito in root
fammi sapere
-
Le due opzioni le ho già provate entrambre.
AllowOverride None
se diventa
AllowOverride All
blocca l'accesso a tutti
Rewrite base
commentato e decommentato apparentemente non cambia nulla
Poi della stringa "AllowOvverride" ce ne sono diverse, quella che influenza il .htaccess è solo una o più di una?
Un'altra cosa che non mi è chiara è questa:
Io ho il sito in una sottodirectory:
www.nomesito.it/web
Apache2 punta direttamente alla sottodirectory:
www.nomesito.it/web
in questo caso Rewrite base deve rimanere:
Rewrite base
oppure
Rewite base/web
-
prova:
<Directory pathDelSito>
AllowOverride All
</Directory>
-
prova:
<Directory pathDelSito>
AllowOverride All
</Directory>
Avevo già provato, mi blocca completamente l'accesso al sito.
-
metti questa
Rewite base/web
-
Ho provato anche
Rewrite base/web
Non va, io per quel poco che ci capisco credo che il problema sia come dici tu nell'abilitare la riscrittura con
AllowOverride All
Solo che come inserisco la stringa non mi fa più accedere al dominio.
Questo è il file di configurazione del dominio che ho provato:
<VirtualHost *>
ServerAdmin xxx
ServerName www.xxx.it
DocumentRoot /var/www/www.xxx.it/web/
ErrorLog /var/log/apache2/xxx.it-error.log
CustomLog /var/log/apache2/xxx.it-access.log combined
ServerSignature On
<Directory /var/www/www.xxx.it/web>
AllowOverride All
</Directory>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
-
mi sembra che sia tutto a posto. comunque prova a cambiare questo
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
in
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
-
Ho già provato anche quello, anche se non dovrebbe entrarci niente, visto che lavora sugli alias.
La cosa più assurda è che se inderisco la stringa
<Directory xxxxx>
AllowOverride All
</Directory>
Non mi permette più di accedere al sito.
Esiste un programma o qualcosa che fa visualizzare tutto quello che carica Apache mentre lo carica?
-
La
allowOverride All
nn puo bloccarti il dominio, che errore ricevi?? se è un errore 500 vuol dire che hai un errore nel file htaccess!!!
Quella istruzione specifica che il tuo .htaccess puo andare a sovrascrivere(lo dice la parola stessa) le impostazioni (alcune) del tuo server.
-
infatti vola ha ragione. potrebbe esserci un errore nella stesura del file .htaccess altrimenti non si spiega. Il problema e' l'errore 403 che ti da! Ho cercato di spulciare quanto hai postato e mi sembra tutto in regola. Non vorrei che ci fosse una qualche direttiva strana sui permessi nell'httpd.conf
-
Ragazzi ho risolto.
I motivi sono diversi ma credo che su questo argomenti valga la pena di scivere delle note di riferimento perché ci sono una serie di condizioni che vanno soddisfatte.
Comunque il motivo principale sono i permessi dei file e soprattutto del .htaccess che deve essere settato almeno su 770. Per i conoscitori di Linux forse la cosa è banale, ma non così tanto per chi è alle prime armi.
Ciao e grazie
-
si l'htaccess deve essere eseguibile, di solito questi files che provengono dai pacchetti dovrebbe essere settati da chi li fornisce. Sinceramente non ho mai fatto caso se quello di joomla sia settato cosi in quanto non lo uso nemmeno da lontano. Comunque prova a dare l'eseguibilita' per tutti lasciando la scrittura solo al proprietario
-
si l'htaccess deve essere eseguibile, di solito questi files che provengono dai pacchetti dovrebbe essere settati da chi li fornisce. Sinceramente non ho mai fatto caso se quello di joomla sia settato cosi in quanto non lo uso nemmeno da lontano. Comunque prova a dare l'eseguibilita' per tutti lasciando la scrittura solo al proprietario
Era quello il problema principale che mi ha fatto impazzire per giorni (notti). Se .htaccess è settato su 740 ti butta fuori. Bisogna dargli i permessi almeno 770.
-
metto in evidenza il post. puo' essere utile e modifico il titolo per renderlo chiaro.