• Come installare vBulletin: Parte 2

    Dopo l'invio di tutti i file alla forum home, locazione dello spazio web che normalmente contiene i file index.php, forum.php e , dobbiamo impostare il file config.php. Chiameremo questa locazione in seguito [forumhome].

    Il file config.php contiene alcuni parametri particolari che verranno caricati per tutte le procedure del forum. Se questo file non viene trovato, il forum mostra un messaggio simile a:

    Warning: include(C:\vhosts\local.com\httpdocs\413/includes/config.php) [function.include]: failed to open stream: No such file or directory in C:\vhosts\local.com\httpdocs\413\includes\class_co re.php on line 3220

    Warning: include() [function.include]: Failed opening 'C:\vhosts\local.com\httpdocs\413/includes/config.php' for inclusion (include_path='.;C:\xampp\php\pear\') in C:\vhosts\local.com\httpdocs\413\includes\class_co re.php on line 3220


    Configuration: includes/config.php does not exist. Please fill out the data in config.php.new and rename it to config.php
    Nelle nuove installazioni si trova un file denominato config.php.new nella cartella [forumhome]/includes/. Questo file va rinominato a config.php e aperto con un editore di testo. FileZilla ci da una valida mano in questo compito. Nella cartella includes clicchiamo con il tasto destro del mouse sul nome di file e scegliamo Rename o Rinomina, e cambiamo quindi il nome del file. Se il file config.php è già presente, non dobbiamo fare nulla:





    Dopo aver rinominato il file, lo apriamo per la modifica. Eventualmente sarà necessario impostare FileZilla in modo che utilizza il nostro editore di testo preferito. In tal caso è necessario utilizzare un programma che sia in grado di salvare i file in testo puro. Non va bene l'utilizzo di Word o simili programmi. Vanno invece benissimo Notepad, PSPad, gEdit:



    FileZilla si connette al server FTP e scarica il file config.php in una cartella temporanea, dove viene monitorata per i cambiamenti. Per applicare un cambiamento è necessario salvare il file e e passare a FileZilla, che chiederà di aggiornare il file in remoto. Questo passaggio è indispensabile, altrimenti vBulletin non vede le modifiche e continua a dare errori di vario genere:



    Il file config.php contiene una serie di informazioni, in gran parte commenti. Un editor che ci mostra la sintassi di PHP è di grande aiuto (PSPad, phpDesigner, gEdit), in quanto è più facile a distinguere i commenti dal codice, e con phpDesigner, evitare che si introducono errori.

    E' particolarmente importante di prestare attenzione alle stringhe che si devono chiudere correttamente e terminare con punto e virgola.

    Vediamo ora i parametri da impostare:

    • $config['Database']['dbtype'] = 'mysql'; - Questo parametro indica quale motore MySQL utilizzare. mysql è la scelta predefinita e si dovrebbe usare sempre, soprattutto per i forum grandi, dove le prestazioni sono importanti. mysqli aggiunge uno strato di astrazione e semplifica la programmazione, che per noi però non è di interesse.
    • $config['Database']['dbname'] = 'nomedatabase'; - Il nome del database ci viene normalmente fornito dal nostro hosting provider e si deve inserire esattamente come specificato. Non è facoltativo usare lettere maiuscole o minuscole a nostro piacere.
    • $config['Database']['tableprefix'] = ''; - Se abbiamo più applicazioni in un solo database, ci conviene mettere un prefisso, ad esempio 'vb4_'. Ci permette di risparmiare sulla spesa dei database, ma rallenta eventualmente un poco, perché il sistema operativo deve cercare fra più file. Il database non dovrebbe contenere più di 1000 tabelle (3000 file binari) per non compromettere la performance.
    • $config['Database']['technicalemail'] = 'webmaster@dominio.tld'; - Questo parametro indica l'indirizzo email dello staff tecnico, che si occupa della manutenzione del database e del forum. Questo tecnico viene avvisato via email per errori del database. E' importante concordare gli aspetti della manutenzione, in quanto i webmaster ricevono molte notifiche di questo genere e potrebbero altrimenti decidere di far scartare i messaggi (spam).
    • $config['Database']['force_sql_mode'] = false; - Questo parametro va cambiato soltanto se vbulletin lo richiede. In tal casao apparirà un messaggio che indica come impostare questo valore.
    • $config['MasterServer']['servername'] = 'localhost'; - Questo valore indica il server che ospita il database. Normalmente è 'localhost', la macchina su cui risiede anche il sito. Alcune configurazioni di shared hosting richiedono un server database esterno. In questi casi il nome sarà un IP o un dominio.
    • $config['MasterServer']['port'] = 3306; - La porta del database server è abbinato al nome. Normalmente è impostata a 3306.
    • $config['MasterServer']['username'] = 'nomeutente'; - Il nome utente è necessario per connettersi al database per ogni operazione del forum. Questo nome ci viene dato solitamente dal hosting provider. Se usiamo invece un nostro server dedicato, è preferibile usare un nome utente nuovo per questa applicazione web.
    • $config['MasterServer']['password'] = 'password'; - La password è necessaria per autorizzare l'utente all'accesso del database. Questa password ci viene dato solitamente dal hosting provider. Se usiamo invece un server dedicato, è preferibile usare una password nuova e non troppo facile da indovinare. Vediamo questo aspetto particolare nel prossimo capitolo.
    • $config['MasterServer']['usepconnect'] = 0; - Questo parametro indica se aprire sempre la stessa connessione per tutte le operazioni (1) oppure crearne sempre nuove (0). Suggeriamo di usare sempre nuove connessioni, in quanto errori di database anche non dovute da malconfigurazioni possono bloccare gradualmente l'accesso al database e richiedere alla fine il riavvio del server.
    • $config['SlaveServer']['servername'] = ''; - $config['SlaveServer']['port'] = 3306; - $config['SlaveServer']['username'] = ''; - $config['SlaveServer']['password'] = ''; - $config['SlaveServer']['usepconnect'] = 0; - Similmente, questi parametri contengono username e password al database slave nelle configurazioni, dove esiste un database di sola lettura. Questa configurazione è presente nei server con database sincronizzati master-slave.
    • $config['Misc']['admincpdir'] = 'admincp'; - Nei siti con un numero elevato di tentativi di intrusione si consiglia di spostare la cartella contenenti i file di l'amministrazione altrove (ma sempre nello spazio web del forum), dove gli hacker non possono accedere facilmente. In abbinamento conviene proteggere la cartella con un file .htaccess e .htpasswd. Se viene cambiata la cartella, è qui che si indica il nuovo nome. Nota che alcuni plugin non si installano correttamente se questa cartella è variata.
    • $config['Misc']['modcpdir'] = 'modcp'; - Similmente, il percorso per i file accessibili ai moderatori.
    • $config['Misc']['cookieprefix'] = 'bb'; - Questo valore è di particolare interesse quando si passa da una versione maggiore di vBulletin all'altra, ad esempio dalla 3.x alla 4.x. Cambiando il prefisso del cookie, si evitano una serie di problemi dovuti ai cambiamenti strutturali del software. Inoltre, se un forum soffre dal problema di non ricordare gli utenti connessi, il cambio del prefisso dei cookie può fare miracoli. Ovviamente non si deve trattare della malconfigurazione del proprio browser, ma di un problema riscontrato da molti utenti.
    • $config['Misc']['forumpath'] = ''; - Questo valore potrebbe essere necessario nelle configurazioni in cui PHP non è in grado di leggere il percorso attuale e nei sistemi mal configurati. E' un tentativo di far funzionare il forum, ma è consigliato di riparare i problemi del server.
    • $config['SpecialUsers']['canviewadminlog'] = '1'; - Questo valore contiene una lista di utenti, ad esempio '1,2,3', che possono accedere in lettura ai log degli amministratori.
    • $config['SpecialUsers']['canpruneadminlog'] = '1'; - Questo valore contiene una lista di utenti, ad esempio '1,2,3', che possono eliminare tutto o parte del log degli amministratori.
    • $config['SpecialUsers']['canrunqueries'] = ''; - Questo valore contiene una lista di utenti, ad esempio '1,2,3', che possonoeseguire query dall'area manutenzione. E' un permesso molto rischioso e non si dovrebbe concedere a nessun utente.
    • $config['SpecialUsers']['undeletableusers'] = ''; - Questo valore contiene una lista di utenti, ad esempio '1,2,3', che non si possono modificare dal pannello di controllo (ACP, MCP). E' una misura contro la variazione de i credenziali di utenti chiave del forum.
    • $config['SpecialUsers']['superadministrators'] = '1'; - Questo valore contiene una lista di utenti chiave del forum, ad esempio '1,2,3'.

    Gli altri parametri eventualmente presenti sono di minore importanza e non si devono impostare salvo configurazioni rarissime in ambienti particolari. In tal caso si dispone già di un tecnico che sa dove e come mettere mano.

    Nella terza parte che segue a breve, vedremo come creare un database vuoto con phpMyAdmin.