Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "GruppoAsk/Sviluppo"
Differenze tra le versioni 4 e 12 (in 8 versioni)
Versione 4 del 15/07/2012 13.50.25
Dimensione: 4583
Commento:
Versione 12 del 17/07/2012 19.43.04
Dimensione: 6832
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
<<Indice>>
Linea 20: Linea 21:
Consigliamo l'uso di Ubuntu 11.10 o Ubuntu 12.04 (forse anche Ubuntu 11.04. Infatti queste due versioni di Ubuntu dispongono già di tutti i pacchetti necessari per una corretta installazione. Infatti, un prerequisito è che la versione in uso di python-django sia la 1.3. In versioni precedenti di Ubuntu, invece, si trova Django 1.1. In versioni successive Django 1.4.  * Consigliato l'uso di Ubuntu 11.10 o Ubuntu 12.04 in quanto contengono i pacchetti necessari e nella giusta versione.
Linea 22: Linea 23:
Installare i seguenti pacchetti relativi a django, apache e il database postgresql: {{{
sudo apt-get install python-django python-django-south python-django-openid python-django-debug-toolbar python-migrate python-html5lib python-markdown python-elementtidy python-psycopg2 postgresql-9.1 libapache2-mod-wsgi subversion
 * Installare i seguenti pacchetti relativi a django, apache, database postgresql, subverson: {{{
sudo apt-get install python-django python-django-south python-django-openid-auth python-django-debug-toolbar python-migrate python-html5lib python-markdown python-elementtidy python-psycopg2 postgresql-9.1 libapache2-mod-wsgi subversion
Linea 28: Linea 29:
Configurare correttamente i permessi di postgresql. Assumiamo che l'utente proprietario del database sia ''postgresql''.
Linea 30: Linea 31:
 * Modificare il file /etc/postgresql/9.1/main/pg_hba.conf, sostituendo le ultime righe con questo {{{  * Configurare correttamente i permessi di postgresql modificando il file /etc/postgresql/9.1/main/pg_hba.conf, sostituendo le ultime righe con questo: {{{
Linea 32: Linea 33:
host all all 0.0.0.0 0.0.0.0 md5
host all all ::1/128 md5
local all all md5
host all all 192.168.1.20 255.255.255.0 md5 # <- 192.168.1.20 ip tua macchina
Linea 47: Linea 46:
 * Assumiamo che per installare il database si usi l'utente ''postgres'', cambiare la sua password: {{{  * Impostare la password dell'utente ''postgres'': {{{
Linea 53: Linea 52:
 * Creiamo il database ''osqa'' con proprietario ''postgres'': {{{  * Creare il database ''osqa'' con proprietario ''postgres'': {{{
Linea 60: Linea 59:
Assumiamo che il Virtual Host si chiami ''osqa'' e che la directory di installazione sia ''/var/www/osqa''.
Linea 64: Linea 65:
 * Adattare il seguente VH: http://bazaar.launchpad.net/~ubuntu-it-ask/ubuntu-it-ask/dev/view/head:/00-apache_site_avaible_rules  * Copiare il seguente Virtual Host in `/etc/apache2/site-available/ chiamandolo ''osqa'': {{{
WSGISocketPrefix ${APACHE_RUN_DIR}
Linea 66: Linea 68:
 * Abilitare il virtualhost prcedente e riavviare {{{
sudo a2ensite nome_virtualhost
<VirtualHost *:80>
        DocumentRoot /var/www/osqa/
        ServerName http://localhost
        ServerAlias http://localhost
 

        Alias /osqa/m/ "/var/www/osqa/forum/skins/"
        <Directory "/var/www/osqa/forum/skins">
                Order allow,deny
                Allow from all
        </Directory>

        Alias /osqa/upfiles/ "/var/www/osqa/forum/upfiles/"

        <Directory "/var/www/osqa/forum/upfiles">
                Order deny,allow
                Allow from all
        </Directory>

        Alias /admin_media/ /usr/lib/python2.7/dist-packages/django/contrib/admin/media/
        <Directory /usr/lib/python2.7/dist-packages/django/contrib/admin/media>
            Order allow,deny
            Allow from all
        </Directory>
        WSGIScriptAlias / /var/www/osqa/osqa.wsgi

        CustomLog ${APACHE_LOG_DIR}/osqa.access.log common
        ErrorLog ${APACHE_LOG_DIR}/osqa.error.log
</VirtualHost>
}}}

 * Abilitare il virtualhost e riavviare il servizio: {{{
sudo a2ensite osqa
Linea 73: Linea 106:
= Deploy =

* Scaricare il nostro branch in sviluppo: {{{
 * Scaricare il branch di sviluppo di Chiedi Ubuntu-it e copiarlo poi in `/var/www`: {{{
Linea 78: Linea 109:
 * Copiarlo in /var/www/osqa (la cartella DEVE chiamarsi osqa)  * Rinominare la cartella `/var/www/dev` in `/var/www/osqa` (nota bene: la cartella DEVE chiamarsi per forza ''osqa'').
Linea 97: Linea 128:
OSQA_DEFAULT_SKIN = 'light' OSQA_DEFAULT_SKIN = 'light' ## <-- è il tema di ubuntu-it, quello predefinito si chiama default
Linea 111: Linea 142:
Nota sulle traduzioni: in realtà la traduzione più aggiornata è sempre [[http://bazaar.launchpad.net/~ubuntu-it-ask/ubuntu-it-ask/stable/view/head:/locale/it/LC_MESSAGES/it.po | questa]] del ramo stabile. Per applicarla seguire gli stessi passi.
Linea 123: Linea 156:
= Un passo in più =

Non indispensabile, ma se si volesse utilizzare la medesima configurazione in uso su chiedi.ubuntu-it.org:
 * Fare un backup della tabella di configurazione: {{{
pg_dump osqa --clean -O -t forum_keyvalue -f mia_tabella.sql -U postgres -W
}}}
 * Importare il [[http://wiki.ubuntu-it.org/GruppoAsk/Hack?action=AttachFile&do=get&target=forum_keyvalue.sql|seguente file]] in questo modo: {{{
psql -U postgres osqa -W < forum_keyvalue.sql
}}}
 * Sync db: {{{
sudo python /var/www/osqa/manage.py syncdb
}}}

= Hack! =

E adesso? Abbiamo dei bug e delle cose che vorremmo realizzare (link a bugs e bluprint). Se hai un idea vieni in lista (mettere), dicci cosa vuoi fare e... falla!

= Faccelo vedere =

 * Assicurati di avere scaricato l'ultima revisione del nostro repository (mettere link)
 * Applica le modifiche
 * Quindi: {{{
bzr commit -m 'Descrivi le modifiche'
bzr push lp:~tuonome/ubuntu-it-ask/tuo-repository
}}}

Non conosci bazaar? (mettere link a guida).

Ti server una mano? Vieni in lista! (mettere link).

BOZZA, LA PAGINA SARA' MOLTO LUNGA. PIÙ AVANTI SPEZZARLA IN SOTTOPAGINE

Introduzione

Questa pagina contiene informazioni utili per coloro che vogliono partecipare allo sviluppo e al mantenimento del codice di chiedi.ubuntu-it.org

Come si fa

I passi sono:

  • Installare OSQA sul proprio computer;
  • Ottenere il nostro codice;
  • HACK!
  • Mandaci le tue modifiche.

Prerequisiti

  • Consigliato l'uso di Ubuntu 11.10 o Ubuntu 12.04 in quanto contengono i pacchetti necessari e nella giusta versione.
  • Installare i seguenti pacchetti relativi a django, apache, database postgresql, subverson:

    sudo apt-get install python-django python-django-south python-django-openid-auth python-django-debug-toolbar python-migrate python-html5lib python-markdown python-elementtidy python-psycopg2 postgresql-9.1 libapache2-mod-wsgi subversion

Database

Assumiamo che l'utente proprietario del database sia postgresql.

  • Configurare correttamente i permessi di postgresql modificando il file /etc/postgresql/9.1/main/pg_hba.conf, sostituendo le ultime righe con questo:

    # "local" is for Unix domain socket connections only
    host    all         all         192.168.1.20      255.255.255.0    md5 # <- 192.168.1.20 ip tua macchina
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    #local   replication     postgres                                peer
    #host    replication     postgres        127.0.0.1/32            md5
    #host    replication     postgres        ::1/128                 md5
  • Impostare la password dell'utente postgres:

    sudo su postgres
    psql -d template1 -U postgres
    alter user postgres with password 'la_tua_password';
    \q
  • Creare il database osqa con proprietario postgres:

    createdb -O postgres osqa
    exit

Apache

Assumiamo che il Virtual Host si chiami osqa e che la directory di installazione sia /var/www/osqa.

  • Assicurarsi di avere abilitato il modulo wsgi:

    sudo a2enmod wsgi
  • Copiare il seguente Virtual Host in `/etc/apache2/site-available/ chiamandolo osqa:

    WSGISocketPrefix ${APACHE_RUN_DIR}
    
    <VirtualHost *:80>
            DocumentRoot /var/www/osqa/
            ServerName http://localhost
            ServerAlias http://localhost
     
    
            Alias /osqa/m/ "/var/www/osqa/forum/skins/"
            <Directory "/var/www/osqa/forum/skins">
                    Order allow,deny
                    Allow from all
            </Directory>
    
            Alias /osqa/upfiles/ "/var/www/osqa/forum/upfiles/"
    
            <Directory "/var/www/osqa/forum/upfiles">
                    Order deny,allow
                    Allow from all
            </Directory>
    
            Alias /admin_media/ /usr/lib/python2.7/dist-packages/django/contrib/admin/media/
            <Directory /usr/lib/python2.7/dist-packages/django/contrib/admin/media>
                Order allow,deny
                Allow from all
            </Directory>
            WSGIScriptAlias / /var/www/osqa/osqa.wsgi
    
            CustomLog ${APACHE_LOG_DIR}/osqa.access.log common
            ErrorLog ${APACHE_LOG_DIR}/osqa.error.log
    </VirtualHost>
  • Abilitare il virtualhost e riavviare il servizio:

    sudo a2ensite osqa
    sudo service apache2 restart

Deploy

  • Scaricare il branch di sviluppo di Chiedi Ubuntu-it e copiarlo poi in /var/www:

    bzr branch lp:~ubuntu-it-ask/ubuntu-it-ask/dev
  • Rinominare la cartella /var/www/dev in /var/www/osqa (nota bene: la cartella DEVE chiamarsi per forza osqa).

  • Rinominare osqa.wsgi.dist in osqa.wsgi, quindi cambiare i path:

    sys.path.append('/var/www')
    sys.path.append('/var/www/osqa')
  • modificare settings_local.py affinché rifletta la reale configurazione della propria macchina. A titolo di esempio:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'osqa',
            'USER': 'postgresql',
            'PASSWORD': 'la_password_dell'utente_postgres',
            'HOST': '',
            'PORT': '',
        }
    }
    
    APP_URL = 'http://localhost'
    
    OSQA_DEFAULT_SKIN = 'light' ## <-- è il tema di ubuntu-it, quello predefinito si chiama default
  • Popolare il database (comandi da dare in /var/www/osqa):

    sudo python manage.py syncdb --all (dire no alla richiesta di creare un super utente)
    sudo python manage.py migrate forum --fake
  • Generare le ultime traduzioni (sempre da /var/www/osqa):

    cp locale/it/LC_MESSAGES/it.po locale/it/LC_MESSAGES/django.po 
    msgfmt locale/it/LC_MESSAGES/django.po -o locale/it/LC_MESSAGES/django.mo
    sudo python manage.py makemessages -l it

Nota sulle traduzioni: in realtà la traduzione più aggiornata è sempre questa del ramo stabile. Per applicarla seguire gli stessi passi.

Permessi

sudo chown -R www-data:www-data /var/www/osqa
sudo chmod -R g+w /var/www/osqa/forum/upfiles
sudo chmod -R g+w /var/www/osqa/log

Prova

Riavviare apache e postgres, per sicurezza per l'ultima volta e andare su http://localhost. Dovrebbe funzionare.

Un passo in più

Non indispensabile, ma se si volesse utilizzare la medesima configurazione in uso su chiedi.ubuntu-it.org:

  • Fare un backup della tabella di configurazione:

    pg_dump osqa --clean -O -t forum_keyvalue -f mia_tabella.sql -U postgres -W
  • Importare il seguente file in questo modo:

    psql -U postgres osqa -W < forum_keyvalue.sql
  • Sync db:

    sudo python /var/www/osqa/manage.py syncdb

Hack!

E adesso? Abbiamo dei bug e delle cose che vorremmo realizzare (link a bugs e bluprint). Se hai un idea vieni in lista (mettere), dicci cosa vuoi fare e... falla!

Faccelo vedere

  • Assicurati di avere scaricato l'ultima revisione del nostro repository (mettere link)
  • Applica le modifiche
  • Quindi:

    bzr commit -m 'Descrivi le modifiche'
    bzr push lp:~tuonome/ubuntu-it-ask/tuo-repository

Non conosci bazaar? (mettere link a guida).

Ti server una mano? Vieni in lista! (mettere link).


CategoryComunita