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 1 e 12 (in 11 versioni)
Versione 1 del 15/07/2012 12.39.31
Dimensione: 209
Commento: creata, inserita acl
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 1: Linea 1:
#acl GiuseppeTerrasi:admin,read,write,revert MiloCasagrande:admin,read,write,revert RiccardoPadovani:admin,read,write,revert PietroAlbini:admin,read,write,revert -Known:read -All:read #acl GiuseppeTerrasi:admin,read,write,revert MirkoPizii:admin,read,write,revert MiloCasagrande:admin,read,write,revert RiccardoPadovani:admin,read,write,revert PietroAlbini:admin,read,write,revert -Known:read -All:read

<<Indice>>

'''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 [[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.

= 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 [[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