Autentisera Vtiger mot Apache/htpasswd

Det händer att man vill utnyttja autentiseringen i Apache istället för den inbyggda i Vtiger. Anledningarna kan vara många, men ett ganska vanligt scenario är att man vill verifera användare mot en htpasswd-fil eller t.ex. OpenID.

Det ger en extra säkerhetsbarriär eftersom Vtiger helt stängs ute från det publika Internet och blir då imun mot SQL-injektioner och andra eventuella säkerhetshål.

En bra tumregel för de flesta webbapplikationer som inte är avsedda för allmänheten är just att använda Apache för att i möjligaste mån kapsla in den för att slippa problem.

Ett problem med Vtiger är att det inte finns stöd för att använda Apache istället för den vanliga inloggningen som är ett vanligt webbformulär. Här kommer en patch som fungerar till version 5.2.1.

För att installera patchen hoppar du in i din webbkatalog och skriver:

patch -p0 < vtigercrm-5.2.1_plain_auth.patch

Ett antal filer ska nu ändras. För att aktivera patchen, editera filen config.inc.php och lägg till:

$AUTHCFG['authType'] = "plain";

Din Apache-konfiguration borde se ut något i stil med:

<VirtualHost *:443>
  DocumentRoot /mnt/persist/vtigercrm
  ServerSignature Off
  <Directory /mnt/persist/vtigercrm>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
  <Location />
    Order deny,allow
    satisfy any
    AuthName "Private"
    AuthType Basic
    AuthUserFile /mnt/persist/www/htpasswd
    Deny from all
    Allow from 127.0.0.1 
    Require valid-user
  </Location>
  SSLEngine on
  SSLCertificateFile    /mnt/persist/www/server.crt
  SSLCertificateKeyFile /mnt/persist/www/server.key
</VirtualHost>

Om du nu surfar in på Vtiger så kommer en klassisk inloggningsruta från Apache poppa upp!