Tips'n'tricks
Backup
Non sempre vi viene fornito un sistema comodo per fare il backup del vostro sito. In attesa di un modulo Drupal che provveda al salvataggio globale (anche se l'accoppiata BackupMigrate + BackupMigrateFiles sembra che possa essere adeguata per molti), ecco uno script Perl (da rinominare per togliere l'estensione .txt) che potrebbe tornarvi utile, per esempio, per effettuare il backup dei soli file da Aruba senza usare quel piffero di sistema che vi vendono per 2.40€ e che si limita a copiare tutto in un paio di cartelle.
basedir, webdir ed exclude sono impostate per Aruba, per altri provider sarà probabilmente necessario modificarle.
È bene che proteggiate la directory cgi-bin con password, altrimenti chiunque conosca il nome dello script può "rubarvi" COMPLETAMENTE il sito (ricordatevi che la pass del db è in chiaro, nella config di Drupal)!
Se poi avete accesso a cron e l'accesso FTP vi permette di accedere ad aree al di fuori della webroot, è ancora più semplice: eseguite "tar cfj /path/al/backup/nomefile.tar.bz2 --exclude=*_Backup_* /path/alla/webroot
" e poi copiate via FTP il file compresso su un altro server (ricordatevi che le condizioni di servizio di Aruba non permettono di tenere file di backup in giro...). Oppure, da un altro computer, usate wget o curl per prelevare automaticamente il file. Oppure ve lo fate spedire automaticamente su un apposito account mail (magari su gmail, a questo script sto ancora lavorando) ... Insomma, l'unica limitazione è la fantasia.
Il backup dei db si può fare "comodamente" da phpMyAdmin, oppure con questo script (per tutti e 5 i DB messi a disposizione da Aruba).
Ovviamente host
è l'IP del server MySql, user
e pass
sono ovvi e dbnm
è una lista dei nomi di db da salvare (separati da spazi).
Spedizione mail
Alcuni hosting non permettono l'uso del comando mail() di PHP. Dovete quindi provare ad usare un servizio esterno (per esempio col modulo smtp).
Se l'hosting non vi permette neppure questo, allora è il momento di bidonarlo senza esitazioni.
Consiglio di dare, prima di tutto, un'occhiata a Google Apps: 50 indirizzi da 7G, gratuiti, nel vostro dominio (basta poter impostare i propri record MX ed un record TXT per l'SPF).
Aumento della memoria (o del tempo) disponibile
ATTENZIONE: questo, anche se tecnicamente possibile, potrebbe violare le condizioni del servizio, soprattutto per hosting free. Potreste quindi trovarvi "zappati" in un attimo! Meglio chiedere all'amministratore se può farlo lui!
Ci sono almeno quattro modi per aumentare la memoria a disposizione di PHP:
- "php_value memory_limit 64M" in .htaccess
- "ini_set('memory_limit', '64M')" in settings.php o nella pagina che dà problemi
- "memory_limit=64M" in php.ini da mettere nella home del sito o nella webroot (di solito non coincidono)
Tutti questi metodi possono essere disattivati dall'amministratore del sito e/o generare vari tipi di errore (il più comune è un "500 Internal server error").
Per quanto riguarda la limitazione del tempo, la chiave è la funzione set_time_limit(secondi)
. Mettetela nello script a cui intendete permettere un'esecuzione più lunga del limite imposto. Se "secondi" vale 0, non verrà imposto alcun limite al tempo di esecuzione (meglio riservare lo 0 al solo cron.php). Valgono le stesse considerazioni fatte riguardo la memoria.
Potrebbe anche essere possibile usare la direttiva max_execution_time in php.ini .
In alternativa, potete installare il modulo Drupal-Tweaks, che permette di "regolare" in modo abbastanza fine tutta una serie di parametri.
Generazione di indici limitata? Per gli altri!
Basta che mettiate questo index.php
nelle cartelle che volete rendere indicizzabili anche se il .htaccess non permette di impostare Options +Indexes
(come su Aruba).
Problemi di autenticazione se si usa fastcgi
Usando fastcgi, senza altre accortezze, non si riesce ad utilizzare l'autenticazione "classica" di PHP (quella con $_SERVER["PHP_AUTH_USER"] e $_SERVER["PHP_AUTH_PASS"]).
Semplicemente, lo script non riceve le variabili!
Per risolvere, è necessario aggiungere una riga al .htaccess
:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Se già state usando mod_rewrite, potete semplicemente aggiungerla in fondo, altrimenti non scordatevi di mettere anche RewriteEngine on
...
Dominio in regalo
Se non volete spendere per registrare un dominio, e vi accontentate di avere l'estensione .tk, potete approfittare di questo link:
.tk corrisponde ad una nazione piccolissima (Tokelau), nell'Oceano Pacifico, che riesce a finanziarsi vendendo domini, ma si fa pubblicità REGALANDONE. Ovviamente, sui domini gratuiti, ci sono alcune di limitazioni:
- Se non ci sono almeno 25 visite univoche ogni 2 mesi, il dominio viene cancellato
- È possibile solo il redirect "mascherato"
- Non è possibile editare i record (quindi niente Google Apps!)
Se per voi sono limitazioni accettabili, registratevi pure! A volte è comodo anche solo per "accorciare" url troppo lunghi.