mercoledì, febbraio 18, 2009

Come far funzionare Drupal 6.9 su Aruba.it

Dopo anni di utilizzo Joomla ho voluto provare a realizzare un sito con Drupal, e per aggiungere qualche incognita in più, ho provato a farlo ospitare sui servizi di Aruba.it.
Uno dei primi problemi è stato il lento e macchinoso sistema di attivazione dei servizi di Aruba, ci sono molteplici pannelli, credenziali diverse, arrivano progressivamente le e-mail delle singole attivazioni, creano già i DB mysql vuoti con una unica utenza.
Per me che ero abituato ad avere un servizio con il pannello unico, come CPanel, e tutto attivabile e configurabile a piacere, non è stato proprio il massimo. Però effettivamente Aruba ha tariffe convenienti, anche se per il prossimo sito voglio provare il servizio di godaddy.com, che pare avere buone tariffe insieme ad un unico pannello di gestione.
Proseguiamo..
Una volta risolti i problemini burocratici e gestionali, ho installato Drupal e ho cominciato ad avere problemi con la contorta gestione da parte di Aruba delle configurazioni nel file .htaccess. Solo dopo svariati tentativi sono arrivato ad ottenere una configurazione tollerata, funzionale e funzionante.
Qui di seguito allego la versione del file .htaccess finale che ho utilizzato (con i commenti):

#
# Apache/PHP/Drupal settings:
#
Grassetto

# Protect files and directories from prying eyes.
# Ok per Aruba

Order allow,deny


# Don't show directory listings for URLs which map to a directory.
# NON Ok per Aruba
#Options -Indexes

# Follow symbolic links in this directory.
# NON Ok per Aruba
#Options +FollowSymLinks

# Make Drupal handle any 404 errors.
# Ok per Aruba
ErrorDocument 404 /index.php

# Force simple error message for requests for non-existent favicon.ico.

# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.


# Set the default handler.
# NON OK per Aruba
#DirectoryIndex index.php

# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.

# PHP 4, Apache 1.

php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0


# PHP 4, Apache 2.

php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0


# PHP 5, Apache 1 and 2.

php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0


# Requires mod_expires to be enabled.

# Enable expirations.
ExpiresActive On

# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600

# Do not cache dynamically generated pages.
ExpiresByType text/html A1


# Various rewrite rules.

RewriteEngine on

# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
# RewriteBase /

# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


I comandi originari commentati per far funzionare il sito non credo abbiano impatti ne sul funzionamento ne per quanto concerna la sicurezza in quanto credo siano già così da sistema.

1 commento:

Antonio ha detto...

Drupal con GoDaddy si va alla grande... ma il primo livello di hosting e' un po' snervante se lo si vuole utilizzare piu' di un dominio
non ti fa configurare la directory
da pannello di controllo (tutti gli i domini puntano sulla stessa directory) e bisogna metterci un .htaccess che e' "influenzato" dalle regole di rewrite che godaddy avra'
nel httpd.conf che mi fanno impazzire.... meglio utilizzare il secondo livello ... domini illimitati :D