Installazione¶
pTabsWeb può essere installato sia su un server Windows che su un server Linux. Si consiglia l’utilizzo di un server Linux.
Avvertimento
Dati i differenti ambienti di deployment che possono essere utilizzati, potrebbe essere necessario adattare queste istruzioni al proprio ambiente di produzione.
Preparazione del server¶
pTabsWeb è un’applicazione Ruby on Rails realizzata con il linguaggio di programmazione Ruby versione 1.9.3, pertanto è necessario configurare il server per l’esecuzione di una qualsiasi applicazione Ruby on Rails.
Sul server deve essere installato:
- Apache HTTP Server o altro server HTTP
- Phusion Passenger
- MySql
- SQLite3 (già presente su molti sistemi)
- Ruby Version Manager (RVM) o altro gestore di versioni di Ruby
- Ruby versione 1.9.3
- 7zip
In questa pagina sono disponibili le istruzioni per la configurazione di un server Ubuntu.
Per verificare che l’ambiente sia configurato correttamente, è possibile generare una sempice applicazione Rails di test seguendo le istruzioni disponibili in questa pagina.
Installazione di pTabsWeb¶
Attenzione
Prima di procedere dell’installazione di pTabsWeb, il server deve essere configurato con i software citati nella precedente sezione Preparazione del server.
Nota
Negli esempi sequenti si ipotizza che pTabsWeb sia installato nella cartella pTabsWeb. Tutti i comandi da console, se non diversamente specificato, devono essere eseguiti dalla cartella pTabsWeb.
bundler¶
Installare bundler che permette di gestire le dipendenze dell’applicazione eseguendo il comando:
gem install bundler
Copia file applicazione¶
Creare la cartella dell’applicazione:
mkdir pTabsWeb
Estrarre l’archizio compresso contenente pTabsWeb preservando le cartelle al suo interno:
7za x pTabsWeb_#.#.#.#.7z -opTabsWeb
la struttura risultante sarà di questo tipo:
pTabsWeb
|-- app
|-- config
|-- db
|-- public
|-- ...
Generazione database¶
Creare un database (per esempio ptabsweb) e un utente MySQL con diritti di acesso (ALL PRIVILEGES) al database.
Configurare i riferimenti al database dell’applicazione, l’utente e la password, nella sezione production del file config/database.yml:
Generare il database, le tabelle e popolarle con i dati iniziali, eseguendo il comando:
rake db:migrate RAILS_ENV=production --trace
Compilazione assets¶
Compilare i file statici: css, js, ecc., (ci vuole qualche minuto) eseguendo:
rake assets:precompile --trace
wkhtmltopdf¶
Installare wkhtmltopdf con:
sudo apt-get install wkhtmltopdf
Importante
Assicurarsi di installare la versione 0.12.2.1 o superiore.
Configurare il parametro :wkhtmltopdf (per Linux) o :exe_path (per Windows) con il percorso di wkhtmltopdf nel file config/initializers/wicked_pdf.rb.
Configurazione Apache/Passenger¶
Esempio dei file di configurazione.
/etc/apache2/apache2.conf:
...
...
LoadModule passenger_module /home/username/.rvm/gems/ruby-1.9.3-p551/gems/passenger-5.0.15/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/username/.rvm/gems/ruby-1.9.3-p551/gems/passenger-5.0.15
PassengerDefaultRuby /home/username/.rvm/wrappers/ruby-1.9.3-p551/ruby
PassengerMaxPoolSize 15
PassengerMaxInstancesPerApp 7
PassengerMinInstances 2
</IfModule>
/etc/apache2/sites-available/apps.ptabs.eu.conf:
<VirtualHost *:80>
ServerName apps.ptabs.eu
DocumentRoot /home/websites/root
<Directory /home/websites/root>
Allow from all
Options -MultiViews
Require all granted
</Directory>
Alias /ptabsweb /home/webapps/pTabsWeb/public
<Location /ptabsweb>
RailsEnv production
PassengerBaseURI /ptabsweb
PassengerAppRoot /home/webapps/pTabsWeb
</Location>
<Directory /home/webapps/pTabsWeb/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
Percorso DB report¶
Accedere all’applicazione e impostare il percorso dei db dei report in Configurazioni ‣ db_path.
Avvertimento
Utilizzare un percorso esterno al percorso di installazione dell’applicazione.
Accesso¶
L’utente predefinito per l’accesso è:
- login: ptweb
- password: 6h2w7uSq
Avvertimento
Dopo l’accesso si consiglia di modificare la password e la login.
Deve esistere almeno un utente con ruolo admin. Gli utenti amministratori devono essere associati al gruppo .default.
Note