Commit 51bb915e7e912762b45c0d33c83423eb3d3fe07a
1 parent
c9eccb09
Exists in
master
and in
8 other branches
add .md extension on all descriptive files.
Showing
42 changed files
with
2107 additions
and
2107 deletions
Show diff stats
AUTHORS
| ... | ... | @@ -1,217 +0,0 @@ |
| 1 | -If you are not listed here, but should be, please write to the noosfero mailing | |
| 2 | -list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev | |
| 3 | -(this list requires subscription to post, but since you are an author of | |
| 4 | -noosfero, that's not a problem). | |
| 5 | - | |
| 6 | -Developers | |
| 7 | -========== | |
| 8 | - | |
| 9 | -Alan Freihof Tygel <alantygel@gmail.com> | |
| 10 | -Alessandro Palmeira <alessandro.palmeira@gmail.com> | |
| 11 | -Alessandro Palmeira + Caio C. Salgado <alessandro.palmeira@gmail.com> | |
| 12 | -Alessandro Palmeira + Caio Salgado <alessandro.palmeira@gmail.com> | |
| 13 | -Alessandro Palmeira + Caio Salgado <caio.csalgado@gmail.com> | |
| 14 | -Alessandro Palmeira + Caio Salgado + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
| 15 | -Alessandro Palmeira + Carlos Morais <alessandro.palmeira@gmail.com> | |
| 16 | -Alessandro Palmeira + Daniel Alves <alessandro.palmeira@gmail.com> | |
| 17 | -Alessandro Palmeira + Daniel Alves + Diego Araújo <diegoamc90@gmail.com> | |
| 18 | -Alessandro Palmeira + Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com> | |
| 19 | -Alessandro Palmeira + Diego Araujo <alessandro.palmeira@gmail.com> | |
| 20 | -Alessandro Palmeira + Diego Araújo <alessandro.palmeira@gmail.com> | |
| 21 | -Alessandro Palmeira + Diego Araujo + Daniela Feitosa <alessandro.palmeira@gmail.com> | |
| 22 | -Alessandro Palmeira + Diego Araujo <diegoamc90@gmail.com> | |
| 23 | -Alessandro Palmeira + Diego Araújo <diegoamc90@gmail.com> | |
| 24 | -Alessandro Palmeira + Diego Araujo + Eduardo Morais <alessandro.palmeira@gmail.com> | |
| 25 | -Alessandro Palmeira + Diego Araújo + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
| 26 | -Alessandro Palmeira + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
| 27 | -Alessandro Palmeira + Diego Araujo + João M. M. da Silva + Paulo Meirelles <alessandro.palmeira@gmail.com> | |
| 28 | -Alessandro Palmeira + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 29 | -Alessandro Palmeira + Diego Araújo + Pedro Leal + João M. M. da Silva <diegoamc90@gmail.com> | |
| 30 | -Alessandro Palmeira + Diego Araujo + Rafael Manzo <alessandro.palmeira@gmail.com> | |
| 31 | -Alessandro Palmeira + Eduardo Morais <alessandro.palmeira@gmail.com> | |
| 32 | -Alessandro Palmeira + Guilherme Rojas <alessandro.palmeira@gmail.com> | |
| 33 | -Alessandro Palmeira + Jefferson Fernandes <alessandro.palmeira@gmail.com> | |
| 34 | -Alessandro Palmeira + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
| 35 | -Alessandro Palmeira + Joao M. M. da Silva + Diego Araujo <alessandro.palmeira@gmail.com> | |
| 36 | -Alessandro Palmeira + João M. M. da Silva + Renan Teruo <alessandro.palmeira@gmail.com> | |
| 37 | -Alessandro Palmeira + João M. M. Silva <alessandro.palmeira@gmail.com> | |
| 38 | -Alessandro Palmeira + Paulo Meirelles <alessandro.palmeira@gmail.com> | |
| 39 | -Alessandro Palmeira + Paulo Meirelles + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
| 40 | -Alessandro Palmeira + Rafael Manzo <alessandro.palmeira@gmail.com> | |
| 41 | -Antonio Terceiro + Carlos Morais <terceiro@colivre.coop.br> | |
| 42 | -Antonio Terceiro + Paulo Meirelles <terceiro@colivre.coop.br> | |
| 43 | -Antonio Terceiro <terceiro@colivre.coop.br> | |
| 44 | -Aurelio A. Heckert <aurelio@colivre.coop.br> | |
| 45 | -Braulio Bhavamitra <brauliobo@gmail.com> | |
| 46 | -Bráulio Bhavamitra <brauliobo@gmail.com> | |
| 47 | -Braulio Bhavamitra <braulio@eita.org.br> | |
| 48 | -Caio <caio.csalgado@gmail.com> | |
| 49 | -Caio + Diego + Pedro + João <caio.csalgado@gmail.com> | |
| 50 | -Caio Formiga <caio.formiga@gmail.com> | |
| 51 | -Caio, Pedro <caio.csalgado@gmail.com> | |
| 52 | -Caio Salgado + Alessandro Palmeira <caio.csalgado@gmail.com> | |
| 53 | -Caio Salgado <caio.csalgado@gmail.com> | |
| 54 | -Caio Salgado + Carlos Morais + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 55 | -Caio Salgado + Diego Araujo <caio.csalgado@gmail.com> | |
| 56 | -Caio Salgado + Diego Araújo <caio.csalgado@gmail.com> | |
| 57 | -Caio Salgado + Diego Araújo <diegoamc90@gmail.com> | |
| 58 | -Caio Salgado + Diego Araújo + Jefferson Fernandes <caio.csalgado@gmail.com> | |
| 59 | -Caio Salgado + Diego Araújo + João M. M. da Silva <caio.csalgado@gmail.com> | |
| 60 | -Caio Salgado + Diego Araújo + Pedro Leal <caio.csalgado@gmail.com> | |
| 61 | -Caio Salgado + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 62 | -Caio Salgado + Diego Araújo + Rafael Manzo <diegoamc90@gmail.com> | |
| 63 | -Caio Salgado + Jefferson Fernandes <caio.csalgado@gmail.com> | |
| 64 | -Caio Salgado + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
| 65 | -Caio Salgado + Rafael Manzo <caio.csalgado@gmail.com> | |
| 66 | -Caio Salgado + Renan Teruo <caio.csalgado@gmail.com> | |
| 67 | -Caio Salgado + Renan Teruo <caio.salgado@gmail.com> | |
| 68 | -Caio Salgado + Renan Teruo + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
| 69 | -Caio Salgado + Renan Teruo <renanteruoc@gmail.com> | |
| 70 | -Caio SBA <caio@colivre.coop.br> | |
| 71 | -Carlos Morais <carlos88morais@gmail.com> | |
| 72 | -Carlos Morais + Diego Araújo <diegoamc90@gmail.com> | |
| 73 | -Carlos Morais + Eduardo Morais <carlos88morais@gmail.com> | |
| 74 | -Carlos Morais + Paulo Meirelles <carlos88morais@gmail.com> | |
| 75 | -Carlos Morais + Pedro Leal <carlos88morais@gmail.com> | |
| 76 | -Daniel Alves + Diego Araújo <danpaulalves@gmail.com> | |
| 77 | -Daniel Alves + Diego Araújo <diegoamc90@gmail.com> | |
| 78 | -Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com> | |
| 79 | -Daniel Alves + Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com> | |
| 80 | -Daniel Alves + Diego Araújo + Guilherme Rojas <guilhermehrojas@gmail.com> | |
| 81 | -Daniel Alves + Guilherme Rojas <danpaulalves@gmail.com> | |
| 82 | -Daniel Alves + Rafael Manzo <rr.manzo@gmail.com> | |
| 83 | -Daniela Soares Feitosa <danielafeitosa@colivre.coop.br> | |
| 84 | -Daniel Cunha <daniel@colivre.coop.br> | |
| 85 | -diegoamc <diegoamc90@gmail.com> | |
| 86 | -Diego Araújo + Alessandro Palmeira <diegoamc90@gmail.com> | |
| 87 | -Diego Araújo + Alessandro Palmeira + João M. M. da Silva <diegoamc90@gmail.com> | |
| 88 | -Diego Araújo + Alessandro Palmeira + Rafael Manzo <rr.manzo@gmail.com> | |
| 89 | -Diego Araujo + Caio Salgado <diegoamc90@gmail.com> | |
| 90 | -Diego Araújo + Daniel Alves + Rafael Manzo <rr.manzo@gmail.com> | |
| 91 | -Diego Araújo <diegoamc90@gmail.com> | |
| 92 | -Diego Araújo + Eduardo Morais + Paulo Meirelles <diegoamc90@gmail.com> | |
| 93 | -Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com> | |
| 94 | -Diego Araújo + Jefferson Fernandes <diegoamc90@gmail.com> | |
| 95 | -Diego Araujo + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
| 96 | -Diego Araújo + João Machini <diegoamc90@gmail.com> | |
| 97 | -Diego Araújo + João Machini <digoamc90@gmail.com> | |
| 98 | -Diego Araújo + João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 99 | -Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
| 100 | -Diego Araújo + João M. M. da Silva + João Machini <diegoamc90@gmail.com> | |
| 101 | -Diego Araújo + João M. M. da Silva + Pedro Leal <diegoamc90@gmail.com> | |
| 102 | -Diego Araújo + Paulo Meirelles <diegoamc90@gmail.com> | |
| 103 | -Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 104 | -Diego Araujo + Rafael Manzo <diegoamc90@gmail.com> | |
| 105 | -Diego Araújo + Rafael Manzo <diegoamc90@gmail.com> | |
| 106 | -Diego Araújo + Renan Teruo + Alessandro Palmeira <diegoamc90@gmail.com> | |
| 107 | -Diego Araújo + Renan Teruo <diegoamc90@gmail.com> | |
| 108 | -Diego Araujo + Rodrigo Souto + Rafael Manzo <rr.manzo@gmail.com> | |
| 109 | -Diego + Jefferson <diegoamc90@gmail.com> | |
| 110 | -Diego Martinez <diegoamc90@gmail.com> | |
| 111 | -Diego Martinez <diego@diego-K55A.(none)> | |
| 112 | -Diego + Renan <renanteruoc@gmail.com> | |
| 113 | -Fernanda Lopes <nanda.listas+psl@gmail.com> | |
| 114 | -Francisco Marcelo A. Lima Júnior <francisco.lima-junior@serpro.gov.br> | |
| 115 | -Francisco Marcelo de Araujo Lima Junior <79350259591@serpro-1457614.(none)> | |
| 116 | -Grazieno Pellegrino <grazieno@gmail.com> | |
| 117 | -Isaac Canan <isaac@intelletto.com.br> | |
| 118 | -Italo Valcy <italo@dcc.ufba.br> | |
| 119 | -Jefferson Fernandes + Diego Araujo + Rafael Manzo <jeffs.fernandes@gmail.com> | |
| 120 | -Jefferson Fernandes + Joao M. M. da Silva <jeffs.fernandes@gmail.com> | |
| 121 | -Jefferson Fernandes + Joao M. M. Silva <jeffs.fernandes@gmail.com> | |
| 122 | -João da Silva <jaodsilv@linux.ime.usp.br> | |
| 123 | -João Marco Maciel da Silva + Rafael Manzo + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
| 124 | -João M. M. da Silva + Alessandro Palmeira + Diego Araújo + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
| 125 | -João M. M. da Silva + Alessandro Palmeira + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 126 | -Joao M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 127 | -João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 128 | -João M. M. da Silva + Alessandro Palmeira + João Machini <jaodsilv@linux.ime.usp.br> | |
| 129 | -João M. M. da Silva + Caio Salgado + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 130 | -João M. M. da Silva + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
| 131 | -João M. M. da Silva + Carlos Morais <jaodsilv@linux.ime.usp.br> | |
| 132 | -João M. M. da Silva + Diego Araújo <diegoamc90@gmail.com> | |
| 133 | -João M. M. da Silva + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 134 | -João M. M. da Silva + Diego Araújo + Pedro Leal <jaodsilv@linux.ime.usp.br> | |
| 135 | -João M. M. da Silva <jaodsilv@linux.ime.usp.br> | |
| 136 | -Joao M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
| 137 | -João M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
| 138 | -João M. M. da Silva + João M. Miranda <jaodsilv@linux.ime.usp.br> | |
| 139 | -João M. M. da Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br> | |
| 140 | -João M. M. da Silva + Pedro Leal <jaodsilv@linux.ime.usp.br> | |
| 141 | -João M. M. da Silva + Rafael Manzo + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 142 | -João M. M. da Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br> | |
| 143 | -João M. M. da Silva + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
| 144 | -João M. M. Silva + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
| 145 | -João M. M. Silva + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 146 | -Joao M. M. Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
| 147 | -João M. M. Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br> | |
| 148 | -João M. M. Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br> | |
| 149 | -João M. M. Silva + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
| 150 | -Joenio Costa <joenio@colivre.coop.br> | |
| 151 | -Josef Spillner <josef.spillner@tu-dresden.de> | |
| 152 | -Junior Silva <juniorsilva1001@gmail.com> | |
| 153 | -Junior Silva <juniorsilva7@juniorsilva-Aspire-5750Z.(none)> | |
| 154 | -Keilla Menezes <keilla@colivre.coop.br> | |
| 155 | -Larissa Reis <larissa@colivre.coop.br> | |
| 156 | -Larissa Reis <reiss.larissa@gmail.com> | |
| 157 | -Leandro Nunes dos Santos <leandronunes@gmail.com> | |
| 158 | -Leandro Nunes dos Santos <leandro.santos@serpro.gov.br> | |
| 159 | -LinguÁgil 2010 <linguagil.bahia@gmail.com> | |
| 160 | -Lucas Melo <lucas@colivre.coop.br> | |
| 161 | -Lucas Melo <lucaspradomelo@gmail.com> | |
| 162 | -Luis David Aguilar Carlos <ludwig9003@gmail.com> | |
| 163 | -Martín Olivera <molivera@solar.org.ar> | |
| 164 | -Moises Machado <moises@colivre.coop.br> | |
| 165 | -Naíla Alves <naila@colivre.coop.br> | |
| 166 | -Nanda Lopes <nanda.listas+psl@gmail.com> | |
| 167 | -Paulo Meirelles + Alessandro Palmeira + João M. M. da Silva <paulo@softwarelivre.org> | |
| 168 | -Paulo Meirelles + Alessandro Palmeira <paulo@softwarelivre.org> | |
| 169 | -Paulo Meirelles + Carlos Morais <paulo@softwarelivre.org> | |
| 170 | -Paulo Meirelles + Diego Araújo <paulo@softwarelivre.org> | |
| 171 | -Paulo Meirelles + João M. M. da Silva <paulo@softwarelivre.org> | |
| 172 | -Paulo Meirelles <paulo@softwarelivre.org> | |
| 173 | -Paulo Meirelles + Rafael Manzo <paulo@softwarelivre.org> | |
| 174 | -Rafael Gomes <rafaelgomes@techfree.com.br> | |
| 175 | -Rafael Manzo + Alessandro Palmeira <rr.manzo@gmail.com> | |
| 176 | -Rafael Manzo + Daniel Alves <danpaulalves@gmail.com> | |
| 177 | -Rafael Manzo + Diego Araújo <rr.manzo@gmail.com> | |
| 178 | -Rafael Manzo + João M. M. Silva <rr.manzo@gmail.com> | |
| 179 | -Rafael Manzo + Paulo Meirelles <rr.manzo@gmail.com> | |
| 180 | -Rafael Martins <rmmartins@gmail.com> | |
| 181 | -Rafael Reggiani Manzo + Caio Salgado + Jefferson Fernandes <rr.manzo@gmail.com> | |
| 182 | -Rafael Reggiani Manzo + Diego Araujo <diegoamc90@gmail.com> | |
| 183 | -Rafael Reggiani Manzo + Diego Araujo <rr.manzo@gmail.com> | |
| 184 | -Rafael Reggiani Manzo + Diego Araújo <rr.manzo@gmail.com> | |
| 185 | -Rafael Reggiani Manzo + João M. M. da Silva <rr.manzo@gmail.com> | |
| 186 | -Rafael Reggiani Manzo <rr.manzo@gmail.com> | |
| 187 | -Raphaël Rousseau <raph@r4f.org> | |
| 188 | -Raquel Lira <raquel.lira@gmail.com> | |
| 189 | -Renan Teruo + Caio Salgado <renanteruoc@gmail.com> | |
| 190 | -Renan Teruoc + Diego Araujo <renanteruoc@gmail.com> | |
| 191 | -Renan Teruo + Diego Araujo <renanteruoc@gmail.com> | |
| 192 | -Renan Teruo + Diego Araújo <renanteruoc@gmail.com> | |
| 193 | -Renan Teruo + Paulo Meirelles <renanteruoc@gmail.com> | |
| 194 | -Renan Teruo + Rafael Manzo <renanteruoc@gmail.com> | |
| 195 | -Rodrigo Souto <diguliu@gmail.com> | |
| 196 | -Rodrigo Souto <rodrigo@colivre.coop.br> | |
| 197 | -Ronny Kursawe <kursawe.ronny@googlemail.com> | |
| 198 | -root <root@debian.sdr.serpro> | |
| 199 | -Samuel R. C. Vale <srcvale@holoscopio.com> | |
| 200 | -Valessio Brito <valessio@gmail.com> | |
| 201 | -vfcosta <vfcosta@gmail.com> | |
| 202 | -Victor Costa <vfcosta@gmail.com> | |
| 203 | -Vinicius Cubas Brand <viniciuscb@gmail.com> | |
| 204 | -Visita <visita@debian.(none)> | |
| 205 | -Yann Lugrin <yann.lugrin@liquid-concept.ch> | |
| 206 | - | |
| 207 | -Ideas, specifications and incentive | |
| 208 | -=================================== | |
| 209 | -Daniel Tygel <dtygel@fbes.org.br> | |
| 210 | -Guilherme Rocha <guilherme@gf7.com.br> | |
| 211 | -Raphael Rousseau <raph@r4f.org> | |
| 212 | -Théo Bondolfi <move@cooperation.net> | |
| 213 | -Vicente Aguiar <vicenteaguiar@colivre.coop.br> | |
| 214 | - | |
| 215 | -Arts | |
| 216 | -=================================== | |
| 217 | -Nara Oliveira <narananet@gmail.com> |
| ... | ... | @@ -0,0 +1,217 @@ |
| 1 | +If you are not listed here, but should be, please write to the noosfero mailing | |
| 2 | +list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev | |
| 3 | +(this list requires subscription to post, but since you are an author of | |
| 4 | +noosfero, that's not a problem). | |
| 5 | + | |
| 6 | +Developers | |
| 7 | +========== | |
| 8 | + | |
| 9 | +Alan Freihof Tygel <alantygel@gmail.com> | |
| 10 | +Alessandro Palmeira <alessandro.palmeira@gmail.com> | |
| 11 | +Alessandro Palmeira + Caio C. Salgado <alessandro.palmeira@gmail.com> | |
| 12 | +Alessandro Palmeira + Caio Salgado <alessandro.palmeira@gmail.com> | |
| 13 | +Alessandro Palmeira + Caio Salgado <caio.csalgado@gmail.com> | |
| 14 | +Alessandro Palmeira + Caio Salgado + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
| 15 | +Alessandro Palmeira + Carlos Morais <alessandro.palmeira@gmail.com> | |
| 16 | +Alessandro Palmeira + Daniel Alves <alessandro.palmeira@gmail.com> | |
| 17 | +Alessandro Palmeira + Daniel Alves + Diego Araújo <diegoamc90@gmail.com> | |
| 18 | +Alessandro Palmeira + Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com> | |
| 19 | +Alessandro Palmeira + Diego Araujo <alessandro.palmeira@gmail.com> | |
| 20 | +Alessandro Palmeira + Diego Araújo <alessandro.palmeira@gmail.com> | |
| 21 | +Alessandro Palmeira + Diego Araujo + Daniela Feitosa <alessandro.palmeira@gmail.com> | |
| 22 | +Alessandro Palmeira + Diego Araujo <diegoamc90@gmail.com> | |
| 23 | +Alessandro Palmeira + Diego Araújo <diegoamc90@gmail.com> | |
| 24 | +Alessandro Palmeira + Diego Araujo + Eduardo Morais <alessandro.palmeira@gmail.com> | |
| 25 | +Alessandro Palmeira + Diego Araújo + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
| 26 | +Alessandro Palmeira + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
| 27 | +Alessandro Palmeira + Diego Araujo + João M. M. da Silva + Paulo Meirelles <alessandro.palmeira@gmail.com> | |
| 28 | +Alessandro Palmeira + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 29 | +Alessandro Palmeira + Diego Araújo + Pedro Leal + João M. M. da Silva <diegoamc90@gmail.com> | |
| 30 | +Alessandro Palmeira + Diego Araujo + Rafael Manzo <alessandro.palmeira@gmail.com> | |
| 31 | +Alessandro Palmeira + Eduardo Morais <alessandro.palmeira@gmail.com> | |
| 32 | +Alessandro Palmeira + Guilherme Rojas <alessandro.palmeira@gmail.com> | |
| 33 | +Alessandro Palmeira + Jefferson Fernandes <alessandro.palmeira@gmail.com> | |
| 34 | +Alessandro Palmeira + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
| 35 | +Alessandro Palmeira + Joao M. M. da Silva + Diego Araujo <alessandro.palmeira@gmail.com> | |
| 36 | +Alessandro Palmeira + João M. M. da Silva + Renan Teruo <alessandro.palmeira@gmail.com> | |
| 37 | +Alessandro Palmeira + João M. M. Silva <alessandro.palmeira@gmail.com> | |
| 38 | +Alessandro Palmeira + Paulo Meirelles <alessandro.palmeira@gmail.com> | |
| 39 | +Alessandro Palmeira + Paulo Meirelles + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
| 40 | +Alessandro Palmeira + Rafael Manzo <alessandro.palmeira@gmail.com> | |
| 41 | +Antonio Terceiro + Carlos Morais <terceiro@colivre.coop.br> | |
| 42 | +Antonio Terceiro + Paulo Meirelles <terceiro@colivre.coop.br> | |
| 43 | +Antonio Terceiro <terceiro@colivre.coop.br> | |
| 44 | +Aurelio A. Heckert <aurelio@colivre.coop.br> | |
| 45 | +Braulio Bhavamitra <brauliobo@gmail.com> | |
| 46 | +Bráulio Bhavamitra <brauliobo@gmail.com> | |
| 47 | +Braulio Bhavamitra <braulio@eita.org.br> | |
| 48 | +Caio <caio.csalgado@gmail.com> | |
| 49 | +Caio + Diego + Pedro + João <caio.csalgado@gmail.com> | |
| 50 | +Caio Formiga <caio.formiga@gmail.com> | |
| 51 | +Caio, Pedro <caio.csalgado@gmail.com> | |
| 52 | +Caio Salgado + Alessandro Palmeira <caio.csalgado@gmail.com> | |
| 53 | +Caio Salgado <caio.csalgado@gmail.com> | |
| 54 | +Caio Salgado + Carlos Morais + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 55 | +Caio Salgado + Diego Araujo <caio.csalgado@gmail.com> | |
| 56 | +Caio Salgado + Diego Araújo <caio.csalgado@gmail.com> | |
| 57 | +Caio Salgado + Diego Araújo <diegoamc90@gmail.com> | |
| 58 | +Caio Salgado + Diego Araújo + Jefferson Fernandes <caio.csalgado@gmail.com> | |
| 59 | +Caio Salgado + Diego Araújo + João M. M. da Silva <caio.csalgado@gmail.com> | |
| 60 | +Caio Salgado + Diego Araújo + Pedro Leal <caio.csalgado@gmail.com> | |
| 61 | +Caio Salgado + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 62 | +Caio Salgado + Diego Araújo + Rafael Manzo <diegoamc90@gmail.com> | |
| 63 | +Caio Salgado + Jefferson Fernandes <caio.csalgado@gmail.com> | |
| 64 | +Caio Salgado + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
| 65 | +Caio Salgado + Rafael Manzo <caio.csalgado@gmail.com> | |
| 66 | +Caio Salgado + Renan Teruo <caio.csalgado@gmail.com> | |
| 67 | +Caio Salgado + Renan Teruo <caio.salgado@gmail.com> | |
| 68 | +Caio Salgado + Renan Teruo + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
| 69 | +Caio Salgado + Renan Teruo <renanteruoc@gmail.com> | |
| 70 | +Caio SBA <caio@colivre.coop.br> | |
| 71 | +Carlos Morais <carlos88morais@gmail.com> | |
| 72 | +Carlos Morais + Diego Araújo <diegoamc90@gmail.com> | |
| 73 | +Carlos Morais + Eduardo Morais <carlos88morais@gmail.com> | |
| 74 | +Carlos Morais + Paulo Meirelles <carlos88morais@gmail.com> | |
| 75 | +Carlos Morais + Pedro Leal <carlos88morais@gmail.com> | |
| 76 | +Daniel Alves + Diego Araújo <danpaulalves@gmail.com> | |
| 77 | +Daniel Alves + Diego Araújo <diegoamc90@gmail.com> | |
| 78 | +Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com> | |
| 79 | +Daniel Alves + Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com> | |
| 80 | +Daniel Alves + Diego Araújo + Guilherme Rojas <guilhermehrojas@gmail.com> | |
| 81 | +Daniel Alves + Guilherme Rojas <danpaulalves@gmail.com> | |
| 82 | +Daniel Alves + Rafael Manzo <rr.manzo@gmail.com> | |
| 83 | +Daniela Soares Feitosa <danielafeitosa@colivre.coop.br> | |
| 84 | +Daniel Cunha <daniel@colivre.coop.br> | |
| 85 | +diegoamc <diegoamc90@gmail.com> | |
| 86 | +Diego Araújo + Alessandro Palmeira <diegoamc90@gmail.com> | |
| 87 | +Diego Araújo + Alessandro Palmeira + João M. M. da Silva <diegoamc90@gmail.com> | |
| 88 | +Diego Araújo + Alessandro Palmeira + Rafael Manzo <rr.manzo@gmail.com> | |
| 89 | +Diego Araujo + Caio Salgado <diegoamc90@gmail.com> | |
| 90 | +Diego Araújo + Daniel Alves + Rafael Manzo <rr.manzo@gmail.com> | |
| 91 | +Diego Araújo <diegoamc90@gmail.com> | |
| 92 | +Diego Araújo + Eduardo Morais + Paulo Meirelles <diegoamc90@gmail.com> | |
| 93 | +Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com> | |
| 94 | +Diego Araújo + Jefferson Fernandes <diegoamc90@gmail.com> | |
| 95 | +Diego Araujo + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
| 96 | +Diego Araújo + João Machini <diegoamc90@gmail.com> | |
| 97 | +Diego Araújo + João Machini <digoamc90@gmail.com> | |
| 98 | +Diego Araújo + João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 99 | +Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
| 100 | +Diego Araújo + João M. M. da Silva + João Machini <diegoamc90@gmail.com> | |
| 101 | +Diego Araújo + João M. M. da Silva + Pedro Leal <diegoamc90@gmail.com> | |
| 102 | +Diego Araújo + Paulo Meirelles <diegoamc90@gmail.com> | |
| 103 | +Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
| 104 | +Diego Araujo + Rafael Manzo <diegoamc90@gmail.com> | |
| 105 | +Diego Araújo + Rafael Manzo <diegoamc90@gmail.com> | |
| 106 | +Diego Araújo + Renan Teruo + Alessandro Palmeira <diegoamc90@gmail.com> | |
| 107 | +Diego Araújo + Renan Teruo <diegoamc90@gmail.com> | |
| 108 | +Diego Araujo + Rodrigo Souto + Rafael Manzo <rr.manzo@gmail.com> | |
| 109 | +Diego + Jefferson <diegoamc90@gmail.com> | |
| 110 | +Diego Martinez <diegoamc90@gmail.com> | |
| 111 | +Diego Martinez <diego@diego-K55A.(none)> | |
| 112 | +Diego + Renan <renanteruoc@gmail.com> | |
| 113 | +Fernanda Lopes <nanda.listas+psl@gmail.com> | |
| 114 | +Francisco Marcelo A. Lima Júnior <francisco.lima-junior@serpro.gov.br> | |
| 115 | +Francisco Marcelo de Araujo Lima Junior <79350259591@serpro-1457614.(none)> | |
| 116 | +Grazieno Pellegrino <grazieno@gmail.com> | |
| 117 | +Isaac Canan <isaac@intelletto.com.br> | |
| 118 | +Italo Valcy <italo@dcc.ufba.br> | |
| 119 | +Jefferson Fernandes + Diego Araujo + Rafael Manzo <jeffs.fernandes@gmail.com> | |
| 120 | +Jefferson Fernandes + Joao M. M. da Silva <jeffs.fernandes@gmail.com> | |
| 121 | +Jefferson Fernandes + Joao M. M. Silva <jeffs.fernandes@gmail.com> | |
| 122 | +João da Silva <jaodsilv@linux.ime.usp.br> | |
| 123 | +João Marco Maciel da Silva + Rafael Manzo + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
| 124 | +João M. M. da Silva + Alessandro Palmeira + Diego Araújo + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
| 125 | +João M. M. da Silva + Alessandro Palmeira + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 126 | +Joao M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 127 | +João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 128 | +João M. M. da Silva + Alessandro Palmeira + João Machini <jaodsilv@linux.ime.usp.br> | |
| 129 | +João M. M. da Silva + Caio Salgado + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
| 130 | +João M. M. da Silva + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
| 131 | +João M. M. da Silva + Carlos Morais <jaodsilv@linux.ime.usp.br> | |
| 132 | +João M. M. da Silva + Diego Araújo <diegoamc90@gmail.com> | |
| 133 | +João M. M. da Silva + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 134 | +João M. M. da Silva + Diego Araújo + Pedro Leal <jaodsilv@linux.ime.usp.br> | |
| 135 | +João M. M. da Silva <jaodsilv@linux.ime.usp.br> | |
| 136 | +Joao M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
| 137 | +João M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
| 138 | +João M. M. da Silva + João M. Miranda <jaodsilv@linux.ime.usp.br> | |
| 139 | +João M. M. da Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br> | |
| 140 | +João M. M. da Silva + Pedro Leal <jaodsilv@linux.ime.usp.br> | |
| 141 | +João M. M. da Silva + Rafael Manzo + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 142 | +João M. M. da Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br> | |
| 143 | +João M. M. da Silva + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
| 144 | +João M. M. Silva + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
| 145 | +João M. M. Silva + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
| 146 | +Joao M. M. Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
| 147 | +João M. M. Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br> | |
| 148 | +João M. M. Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br> | |
| 149 | +João M. M. Silva + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
| 150 | +Joenio Costa <joenio@colivre.coop.br> | |
| 151 | +Josef Spillner <josef.spillner@tu-dresden.de> | |
| 152 | +Junior Silva <juniorsilva1001@gmail.com> | |
| 153 | +Junior Silva <juniorsilva7@juniorsilva-Aspire-5750Z.(none)> | |
| 154 | +Keilla Menezes <keilla@colivre.coop.br> | |
| 155 | +Larissa Reis <larissa@colivre.coop.br> | |
| 156 | +Larissa Reis <reiss.larissa@gmail.com> | |
| 157 | +Leandro Nunes dos Santos <leandronunes@gmail.com> | |
| 158 | +Leandro Nunes dos Santos <leandro.santos@serpro.gov.br> | |
| 159 | +LinguÁgil 2010 <linguagil.bahia@gmail.com> | |
| 160 | +Lucas Melo <lucas@colivre.coop.br> | |
| 161 | +Lucas Melo <lucaspradomelo@gmail.com> | |
| 162 | +Luis David Aguilar Carlos <ludwig9003@gmail.com> | |
| 163 | +Martín Olivera <molivera@solar.org.ar> | |
| 164 | +Moises Machado <moises@colivre.coop.br> | |
| 165 | +Naíla Alves <naila@colivre.coop.br> | |
| 166 | +Nanda Lopes <nanda.listas+psl@gmail.com> | |
| 167 | +Paulo Meirelles + Alessandro Palmeira + João M. M. da Silva <paulo@softwarelivre.org> | |
| 168 | +Paulo Meirelles + Alessandro Palmeira <paulo@softwarelivre.org> | |
| 169 | +Paulo Meirelles + Carlos Morais <paulo@softwarelivre.org> | |
| 170 | +Paulo Meirelles + Diego Araújo <paulo@softwarelivre.org> | |
| 171 | +Paulo Meirelles + João M. M. da Silva <paulo@softwarelivre.org> | |
| 172 | +Paulo Meirelles <paulo@softwarelivre.org> | |
| 173 | +Paulo Meirelles + Rafael Manzo <paulo@softwarelivre.org> | |
| 174 | +Rafael Gomes <rafaelgomes@techfree.com.br> | |
| 175 | +Rafael Manzo + Alessandro Palmeira <rr.manzo@gmail.com> | |
| 176 | +Rafael Manzo + Daniel Alves <danpaulalves@gmail.com> | |
| 177 | +Rafael Manzo + Diego Araújo <rr.manzo@gmail.com> | |
| 178 | +Rafael Manzo + João M. M. Silva <rr.manzo@gmail.com> | |
| 179 | +Rafael Manzo + Paulo Meirelles <rr.manzo@gmail.com> | |
| 180 | +Rafael Martins <rmmartins@gmail.com> | |
| 181 | +Rafael Reggiani Manzo + Caio Salgado + Jefferson Fernandes <rr.manzo@gmail.com> | |
| 182 | +Rafael Reggiani Manzo + Diego Araujo <diegoamc90@gmail.com> | |
| 183 | +Rafael Reggiani Manzo + Diego Araujo <rr.manzo@gmail.com> | |
| 184 | +Rafael Reggiani Manzo + Diego Araújo <rr.manzo@gmail.com> | |
| 185 | +Rafael Reggiani Manzo + João M. M. da Silva <rr.manzo@gmail.com> | |
| 186 | +Rafael Reggiani Manzo <rr.manzo@gmail.com> | |
| 187 | +Raphaël Rousseau <raph@r4f.org> | |
| 188 | +Raquel Lira <raquel.lira@gmail.com> | |
| 189 | +Renan Teruo + Caio Salgado <renanteruoc@gmail.com> | |
| 190 | +Renan Teruoc + Diego Araujo <renanteruoc@gmail.com> | |
| 191 | +Renan Teruo + Diego Araujo <renanteruoc@gmail.com> | |
| 192 | +Renan Teruo + Diego Araújo <renanteruoc@gmail.com> | |
| 193 | +Renan Teruo + Paulo Meirelles <renanteruoc@gmail.com> | |
| 194 | +Renan Teruo + Rafael Manzo <renanteruoc@gmail.com> | |
| 195 | +Rodrigo Souto <diguliu@gmail.com> | |
| 196 | +Rodrigo Souto <rodrigo@colivre.coop.br> | |
| 197 | +Ronny Kursawe <kursawe.ronny@googlemail.com> | |
| 198 | +root <root@debian.sdr.serpro> | |
| 199 | +Samuel R. C. Vale <srcvale@holoscopio.com> | |
| 200 | +Valessio Brito <valessio@gmail.com> | |
| 201 | +vfcosta <vfcosta@gmail.com> | |
| 202 | +Victor Costa <vfcosta@gmail.com> | |
| 203 | +Vinicius Cubas Brand <viniciuscb@gmail.com> | |
| 204 | +Visita <visita@debian.(none)> | |
| 205 | +Yann Lugrin <yann.lugrin@liquid-concept.ch> | |
| 206 | + | |
| 207 | +Ideas, specifications and incentive | |
| 208 | +=================================== | |
| 209 | +Daniel Tygel <dtygel@fbes.org.br> | |
| 210 | +Guilherme Rocha <guilherme@gf7.com.br> | |
| 211 | +Raphael Rousseau <raph@r4f.org> | |
| 212 | +Théo Bondolfi <move@cooperation.net> | |
| 213 | +Vicente Aguiar <vicenteaguiar@colivre.coop.br> | |
| 214 | + | |
| 215 | +Arts | |
| 216 | +=================================== | |
| 217 | +Nara Oliveira <narananet@gmail.com> | ... | ... |
HACKING
| ... | ... | @@ -1,63 +0,0 @@ |
| 1 | -= Noosfero instructions for developers | |
| 2 | - | |
| 3 | -== A work about your the development platform | |
| 4 | - | |
| 5 | -These instructions are tested and known to work on Debian stable, which is the | |
| 6 | -system that the Noosfero core developers use to work on Noosfero. | |
| 7 | - | |
| 8 | -If you want to use another OS, read "Instructions for other systems" below. | |
| 9 | - | |
| 10 | -== Instructions for Debian stable | |
| 11 | - | |
| 12 | -Download the source code: | |
| 13 | - | |
| 14 | - $ git clone git://gitorious.org/noosfero/noosfero.git | |
| 15 | - $ cd noosfero | |
| 16 | - | |
| 17 | -Run the quick start script: | |
| 18 | - | |
| 19 | - $ ./script/quick-start | |
| 20 | - | |
| 21 | -Now you can execute the development server with: | |
| 22 | - | |
| 23 | - $ ./script/development | |
| 24 | - | |
| 25 | -You will be able to access Noosfero at http://localhost:3000/ | |
| 26 | - | |
| 27 | -If you want to use a different port than 3000, pass `-p <PORT>` to | |
| 28 | -./script/development | |
| 29 | - | |
| 30 | -== Instructions for other systems | |
| 31 | - | |
| 32 | -On other OS, you have 2 options: | |
| 33 | - | |
| 34 | -1) using a chroot or a VM with Debian stable (easier) | |
| 35 | - | |
| 36 | -Use a chroot (http://wiki.debian.org/Schroot) or a Virtual Machine (e.g. with | |
| 37 | -VirtualBox) with a Debian stable system and follow the instructions above for | |
| 38 | -Debian stable. | |
| 39 | - | |
| 40 | -2) Installing dependencies on other OS (harder) | |
| 41 | - | |
| 42 | -If you want to setup a development environment in another OS, you can create a | |
| 43 | -file under script/install-dependencies/, called <OS>-<CODENAME>.sh, which | |
| 44 | -installed the dependencies for your system. With this script in place, | |
| 45 | -./script/quick-start will call it at the point of installing the required | |
| 46 | -packages for Noosfero development. | |
| 47 | - | |
| 48 | -You can check script/install-dependencies/debian-squeeze.sh to have an idea of | |
| 49 | -what kind of stuff that script has to do. | |
| 50 | - | |
| 51 | -If you write such script for your own OS, *please* share it with us at the | |
| 52 | -development mailing list so that we can include it in the official repository. | |
| 53 | -This way other people using the same OS will have to put less effort to develop | |
| 54 | -Noosfero. | |
| 55 | - | |
| 56 | -== Submitting your changes back | |
| 57 | - | |
| 58 | -For now please read: | |
| 59 | - | |
| 60 | -- Coding conventions | |
| 61 | - http://noosfero.org/Development/CodingConventions | |
| 62 | -- Patch guidelines | |
| 63 | - http://noosfero.org/Development/PatchGuidelines |
| ... | ... | @@ -0,0 +1,63 @@ |
| 1 | += Noosfero instructions for developers | |
| 2 | + | |
| 3 | +== A work about your the development platform | |
| 4 | + | |
| 5 | +These instructions are tested and known to work on Debian stable, which is the | |
| 6 | +system that the Noosfero core developers use to work on Noosfero. | |
| 7 | + | |
| 8 | +If you want to use another OS, read "Instructions for other systems" below. | |
| 9 | + | |
| 10 | +== Instructions for Debian stable | |
| 11 | + | |
| 12 | +Download the source code: | |
| 13 | + | |
| 14 | + $ git clone git://gitorious.org/noosfero/noosfero.git | |
| 15 | + $ cd noosfero | |
| 16 | + | |
| 17 | +Run the quick start script: | |
| 18 | + | |
| 19 | + $ ./script/quick-start | |
| 20 | + | |
| 21 | +Now you can execute the development server with: | |
| 22 | + | |
| 23 | + $ ./script/development | |
| 24 | + | |
| 25 | +You will be able to access Noosfero at http://localhost:3000/ | |
| 26 | + | |
| 27 | +If you want to use a different port than 3000, pass `-p <PORT>` to | |
| 28 | +./script/development | |
| 29 | + | |
| 30 | +== Instructions for other systems | |
| 31 | + | |
| 32 | +On other OS, you have 2 options: | |
| 33 | + | |
| 34 | +1) using a chroot or a VM with Debian stable (easier) | |
| 35 | + | |
| 36 | +Use a chroot (http://wiki.debian.org/Schroot) or a Virtual Machine (e.g. with | |
| 37 | +VirtualBox) with a Debian stable system and follow the instructions above for | |
| 38 | +Debian stable. | |
| 39 | + | |
| 40 | +2) Installing dependencies on other OS (harder) | |
| 41 | + | |
| 42 | +If you want to setup a development environment in another OS, you can create a | |
| 43 | +file under script/install-dependencies/, called <OS>-<CODENAME>.sh, which | |
| 44 | +installed the dependencies for your system. With this script in place, | |
| 45 | +./script/quick-start will call it at the point of installing the required | |
| 46 | +packages for Noosfero development. | |
| 47 | + | |
| 48 | +You can check script/install-dependencies/debian-squeeze.sh to have an idea of | |
| 49 | +what kind of stuff that script has to do. | |
| 50 | + | |
| 51 | +If you write such script for your own OS, *please* share it with us at the | |
| 52 | +development mailing list so that we can include it in the official repository. | |
| 53 | +This way other people using the same OS will have to put less effort to develop | |
| 54 | +Noosfero. | |
| 55 | + | |
| 56 | +== Submitting your changes back | |
| 57 | + | |
| 58 | +For now please read: | |
| 59 | + | |
| 60 | +- Coding conventions | |
| 61 | + http://noosfero.org/Development/CodingConventions | |
| 62 | +- Patch guidelines | |
| 63 | + http://noosfero.org/Development/PatchGuidelines | ... | ... |
INSTALL
| ... | ... | @@ -1,417 +0,0 @@ |
| 1 | -= Noosfero installation instructions from source for production environments | |
| 2 | - | |
| 3 | -The instructions below can be used for setting up a Noosfero production | |
| 4 | -environment from the Noosfero sources. | |
| 5 | - | |
| 6 | -Before you start installing Noosfero manually, see the information about the | |
| 7 | -Noosfero Debian package at http://noosfero.org/Development/DebianPackage. Using | |
| 8 | -the Debian packages on a Debian stable system is the recommended method for | |
| 9 | -installing production environments. | |
| 10 | - | |
| 11 | -If you want to setup a development environment instead of a production one, | |
| 12 | -stop reading this file right now and read the file HACKING instead. | |
| 13 | - | |
| 14 | -For a complete installation guide, please see the following web page: | |
| 15 | -http://noosfero.org/Development/HowToInstall | |
| 16 | - | |
| 17 | -If you have problems with the setup, please feel free to ask questions in the | |
| 18 | -development mailing list. | |
| 19 | - | |
| 20 | -== Requirements | |
| 21 | - | |
| 22 | -DISCLAIMER: this installation procedure is tested with Debian stable, which is | |
| 23 | -currently the only recommended operating system for production usage. It is | |
| 24 | -possible that you can install it on other systems, and if you do so, please | |
| 25 | -report it on one of the Noosfero mailing lists, and please send a patch | |
| 26 | -updating these instructions. | |
| 27 | - | |
| 28 | -Noosfero is written in Ruby with the "Rails | |
| 29 | -framework":http://www.rubyonrails.org, so the process of setting it up is | |
| 30 | -pretty similar to other Rails applications. | |
| 31 | - | |
| 32 | -You need to install some packages Noosfero depends on. On Debian GNU/Linux or | |
| 33 | -Debian-based systems, all of these packages are available through the Debian | |
| 34 | -archive. You can install them with the following command: | |
| 35 | - | |
| 36 | - # apt-get install ruby rake po4a libgettext-ruby-util libgettext-ruby1.8 libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby libwill-paginate-ruby iso-codes libfeedparser-ruby libdaemons-ruby thin tango-icon-theme libhpricot-ruby | |
| 37 | - | |
| 38 | -On other systems, they may or may not be available through your regular package | |
| 39 | -management system. Below are the links to their homepages. | |
| 40 | - | |
| 41 | -* Ruby: http://www.ruby-lang.org/ | |
| 42 | -* Rake: http://rake.rubyforge.org/ | |
| 43 | -* po4a: http://po4a.alioth.debian.org/ | |
| 44 | -* Ruby-sqlite3: http://rubyforge.org/projects/sqlite-ruby | |
| 45 | -* rcov: http://eigenclass.org/hiki/rcov | |
| 46 | -* RMagick: http://rmagick.rubyforge.org/ | |
| 47 | -* RedCloth: http://redcloth.org/ | |
| 48 | -* will_paginate: http://github.com/mislav/will_paginate/wikis | |
| 49 | -* iso-codes: http://pkg-isocodes.alioth.debian.org/ | |
| 50 | -* feedparser: http://packages.debian.org/sid/libfeedparser-ruby | |
| 51 | -* Daemons - http://daemons.rubyforge.org/ | |
| 52 | -* Thin: http://code.macournoyer.com/thin/ | |
| 53 | -* tango-icon-theme: http://tango.freedesktop.org/Tango_Icon_Library | |
| 54 | -* Hpricot: http://hpricot.com/ | |
| 55 | - | |
| 56 | -If you manage to install Noosfero successfully on other systems than Debian, | |
| 57 | -please feel free to contact the Noosfero development mailing with the | |
| 58 | -instructions for doing so, and we'll include it here. | |
| 59 | - | |
| 60 | -As root user | |
| 61 | -============ | |
| 62 | - | |
| 63 | -Install memcached. On Debian: | |
| 64 | - | |
| 65 | -# apt-get install memcached | |
| 66 | - | |
| 67 | -Study whether you need to raise the ammount of memory it uses for caching, | |
| 68 | -depending on the demand you expect for your site. If you are going to run a | |
| 69 | -high-traffic site, you will want to raise the ammount of memory reserved for | |
| 70 | -caching. | |
| 71 | - | |
| 72 | -It is recommended that you run noosfero with its own user account. To create | |
| 73 | -such an account, please do the following: | |
| 74 | - | |
| 75 | -# adduser --system --group noosfero --shell /bin/sh --home /var/lib/noosfero | |
| 76 | - | |
| 77 | -(note that you can change the $HOME directory of the user if you wish, here we | |
| 78 | -are using /var/lib/noosfero) | |
| 79 | - | |
| 80 | -The --system option will tell adduser to create a system user, i.e. this user | |
| 81 | -will not have a password and cannot login to the system directly. To become | |
| 82 | -this user, you have to use sudo: | |
| 83 | - | |
| 84 | -# sudo -u noosfero -i | |
| 85 | - | |
| 86 | -or | |
| 87 | - | |
| 88 | -# su - noosfero | |
| 89 | - | |
| 90 | -As noosfero user | |
| 91 | -================ | |
| 92 | - | |
| 93 | -downloading from git | |
| 94 | --------------------- | |
| 95 | - | |
| 96 | -Here we are cloning the noosfero repository from git. Note: you will need to | |
| 97 | -install git before. | |
| 98 | - | |
| 99 | -$ git clone git://gitorious.org/noosfero/noosfero.git current | |
| 100 | -$ cd current | |
| 101 | -$ git checkout -b stable origin/stable | |
| 102 | - | |
| 103 | -downloading tarball | |
| 104 | -------------------- | |
| 105 | - | |
| 106 | -Note: replace 0.39.0 below from the latest stable version. | |
| 107 | - | |
| 108 | -$ wget http://noosfero.org/pub/Development/NoosferoVersion00x39x00/noosfero-0.39.0.tar.gz | |
| 109 | -$ tar -zxvf noosfero-0.39.0.tar.gz | |
| 110 | -$ ln -s noosfero-0.39.0 current | |
| 111 | -$ cd current | |
| 112 | - | |
| 113 | -Create the thin configuration file: | |
| 114 | - | |
| 115 | -$ thin -C config/thin.yml -e production config | |
| 116 | - | |
| 117 | -Edit config/thin.yml to suit your needs. Make sure your apache | |
| 118 | -configuration matches the thin cluster configuration, specially in respect | |
| 119 | -to the ports and numbers of thin instances. | |
| 120 | - | |
| 121 | -Note: currently Noosfero only supports Rails 2.3.5, which is the version in | |
| 122 | -Debian Squeeze. If you have a Rails version newer than that, Noosfero will | |
| 123 | -probably not work. You can install Rails 2.3.5 into your Noosfero installation | |
| 124 | -with the following procedure: | |
| 125 | - | |
| 126 | -$ cd /var/lib/noosfero/current/vendor | |
| 127 | -$ wget http://ftp.de.debian.org/debian/pool/main/r/rails/rails_2.3.5.orig.tar.gz | |
| 128 | -$ tar xzf rails_2.3.5.orig.tar.gz | |
| 129 | -$ ln -s rails-2.3.5 rails | |
| 130 | - | |
| 131 | -As root user | |
| 132 | -============ | |
| 133 | - | |
| 134 | -Setup Noosfero log and tmp directories: | |
| 135 | - | |
| 136 | -# cd /var/lib/noosfero/current | |
| 137 | -# ./etc/init.d/noosfero setup | |
| 138 | - | |
| 139 | -Now it's time to setup the database. In this example we are using PostgreSQL, | |
| 140 | -so if you are planning to use a different database this steps won't apply. | |
| 141 | - | |
| 142 | -# apt-get install postgresql libpgsql-ruby | |
| 143 | -# su postgres -c 'createuser noosfero -S -d -R' | |
| 144 | - | |
| 145 | -By default Rails will try to connect on postgresql through 5432 port, | |
| 146 | -you can check it on /etc/postgresql/8.4/main/postgresql.conf file. | |
| 147 | - | |
| 148 | -Restart postgresql: | |
| 149 | - | |
| 150 | -# invoke-rc.d postgresql restart | |
| 151 | - | |
| 152 | -Noosfero needs a functional e-mail setup to work: the local mail system should | |
| 153 | -be able to deliver e-mail to the internet, either directly or through an | |
| 154 | -external SMTP server. Please check the documentation at the INSTALL.email file. | |
| 155 | - | |
| 156 | -As noosfero user | |
| 157 | -================ | |
| 158 | - | |
| 159 | -Now create the databases: | |
| 160 | - | |
| 161 | -$ cd /var/lib/noosfero/current | |
| 162 | -$ createdb noosfero_production | |
| 163 | -$ createdb noosfero_development | |
| 164 | -$ createdb noosfero_test | |
| 165 | - | |
| 166 | -The development and test databases are actually optional. If you are creating a | |
| 167 | -stricly production server, you will probably not need them. | |
| 168 | - | |
| 169 | -Now we want to configure Noosfero for accessing the database we just created. | |
| 170 | -To do that, you can 1) copy config/database.yml.pgsql to config/database.yml, | |
| 171 | -or create config/database.yml from scratch with the following content: | |
| 172 | - | |
| 173 | - production: | |
| 174 | - adapter: postgresql | |
| 175 | - encoding: unicode | |
| 176 | - database: noosfero_production | |
| 177 | - username: noosfero | |
| 178 | - | |
| 179 | -Now, to test the database access, you can fire the Rails database console: | |
| 180 | - | |
| 181 | -$ ./script/dbconsole production | |
| 182 | - | |
| 183 | -If it connects to your database, then everything is fine. If you got an error | |
| 184 | -message, then you have to check your database configuration. | |
| 185 | - | |
| 186 | -Create the database structure: | |
| 187 | - | |
| 188 | -$ RAILS_ENV=production rake db:schema:load | |
| 189 | - | |
| 190 | -Compile the translations: | |
| 191 | - | |
| 192 | -$ RAILS_ENV=production rake noosfero:translations:compile | |
| 193 | - | |
| 194 | -Now we must create some initial data. To create your default environment | |
| 195 | -(the first one), run the command below: | |
| 196 | - | |
| 197 | -$ RAILS_ENV=production ./script/runner 'Environment.create!(:name => "My environment", :is_default => true)' | |
| 198 | - | |
| 199 | -(of course, replace "My environment" with your environment's name!) | |
| 200 | - | |
| 201 | -And now you have to add the domain name you will be using for your noosfero | |
| 202 | -site to the list of domains of that default environment you just created: | |
| 203 | - | |
| 204 | -$ RAILS_ENV=production ./script/runner "Environment.default.domains << Domain.new(:name => 'your.domain.com')" | |
| 205 | - | |
| 206 | -(replace "your.domain.com" with your actual domain name) | |
| 207 | - | |
| 208 | -Add at least one user as admin of environment: | |
| 209 | - | |
| 210 | -$ RAILS_ENV=production ./script/runner "User.create(:login => 'adminuser', :email => 'admin@example.com', :password => 'admin', :password_confirmation => 'admin', :environment => Environment.default, :activated_at => Time.new)" | |
| 211 | - | |
| 212 | -(replace "adminuser", "admin@example.com", "admin" with the login, email | |
| 213 | -and password of your environment administrator) | |
| 214 | - | |
| 215 | -To start the Noosfero application servers: | |
| 216 | - | |
| 217 | -$ ./script/production start | |
| 218 | - | |
| 219 | -At this point you have a functional Noosfero installation running, the only | |
| 220 | -thing left is to configure your webserver as a reverse proxy to pass requests | |
| 221 | -to them. | |
| 222 | - | |
| 223 | - | |
| 224 | -================== | |
| 225 | -Apache instalation | |
| 226 | -================== | |
| 227 | - | |
| 228 | -# apt-get install apache2 | |
| 229 | - | |
| 230 | -Apache configuration | |
| 231 | --------------------- | |
| 232 | - | |
| 233 | -First you have to enable the following some apache modules: | |
| 234 | - | |
| 235 | - deflate | |
| 236 | - expires | |
| 237 | - proxy | |
| 238 | - proxy_balancer | |
| 239 | - proxy_http | |
| 240 | - rewrite | |
| 241 | - | |
| 242 | -On Debian GNU/Linux system, these modules can be enabled with the following | |
| 243 | -command line, as root: | |
| 244 | - | |
| 245 | -# a2enmod deflate expires proxy proxy_balancer proxy_http rewrite | |
| 246 | - | |
| 247 | -In other systems the way by which you enable apache modules may be different. | |
| 248 | - | |
| 249 | -Now with the Apache configuration. You can use the template below, replacing | |
| 250 | -/var/lib/noosfero/current with the directory in which your noosfero | |
| 251 | -installation is, your.domain.com with the domain name of your noosfero site. | |
| 252 | -We are assuming that you are running two thin instances on ports 3000 and | |
| 253 | -3001. If your setup is different you'll need to adjust <Proxy> section. If you | |
| 254 | -don't understand something in the configuration, please refer to the apache | |
| 255 | -documentation. | |
| 256 | - | |
| 257 | -Add a file called "mysite" (or whatever name you want to give to your noosfero | |
| 258 | -site) to /etc/apache2/sites-available with the following content, and customize | |
| 259 | -as needed (as usual, make sure you replace "your.domain.com" with you actual | |
| 260 | -domain name, and "/var/lib/noosfero/current" with the directory where Noosfero | |
| 261 | -is installed): | |
| 262 | - | |
| 263 | - <VirtualHost *:80> | |
| 264 | - ServerName your.domain.com | |
| 265 | - | |
| 266 | - DocumentRoot "/var/lib/noosfero/current/public" | |
| 267 | - <Directory "/var/lib/noosfero/current/public"> | |
| 268 | - Options FollowSymLinks | |
| 269 | - AllowOverride None | |
| 270 | - Order Allow,Deny | |
| 271 | - Allow from all | |
| 272 | - </Directory> | |
| 273 | - | |
| 274 | - RewriteEngine On | |
| 275 | - | |
| 276 | - # Rewrite index to check for static index.html | |
| 277 | - RewriteRule ^/$ /index.html [QSA] | |
| 278 | - | |
| 279 | - # Rewrite to check for Rails cached page | |
| 280 | - RewriteRule ^([^.]+)$ $1.html [QSA] | |
| 281 | - | |
| 282 | - RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | |
| 283 | - RewriteRule ^.*$ balancer://noosfero%{REQUEST_URI} [P,QSA,L] | |
| 284 | - | |
| 285 | - ErrorDocument 503 /503.html | |
| 286 | - | |
| 287 | - ErrorLog /var/log/apache2/noosfero.log | |
| 288 | - LogLevel warn | |
| 289 | - CustomLog /var/log/apache2/noosfero.access.log combined | |
| 290 | - | |
| 291 | - Include /var/lib/noosfero/current/etc/noosfero/apache/cache.conf | |
| 292 | - | |
| 293 | - </VirtualHost> | |
| 294 | - | |
| 295 | - <Proxy balancer://noosfero> | |
| 296 | - BalancerMember http://127.0.0.1:3000 | |
| 297 | - BalancerMember http://127.0.0.1:3001 | |
| 298 | - Order Allow,Deny | |
| 299 | - Allow from All | |
| 300 | - </Proxy> | |
| 301 | - | |
| 302 | -The cache.conf file included in the end of the <VirtualHost> section is | |
| 303 | -important, since it will tell apache to pass expiration and cache headers to | |
| 304 | -clients so that the site feels faster for users. Do we need to say that using | |
| 305 | -that configuration is strongly recommended? | |
| 306 | - | |
| 307 | -Enable that site with (as root, replace "mysite" with the actual name you gave | |
| 308 | -to your site configuration): | |
| 309 | - | |
| 310 | -# a2ensite mysite | |
| 311 | - | |
| 312 | -Now restart your apache server (as root): | |
| 313 | - | |
| 314 | -# invoke-rc.d apache2 restart | |
| 315 | - | |
| 316 | - | |
| 317 | -Enabling exception notifications | |
| 318 | -================================ | |
| 319 | - | |
| 320 | -This is an optional step. You will need it only if you want to receive e-mail | |
| 321 | -notifications when some exception occurs on Noosfero. | |
| 322 | - | |
| 323 | -First, install this version of the gem. | |
| 324 | -Others versions may not be compatible with Noosfero: | |
| 325 | - | |
| 326 | -# gem install exception_notification -v 1.0.20090728 | |
| 327 | - | |
| 328 | -You can configure the e-mails that will receive the notifications. | |
| 329 | -Change the file config/noosfero.yml as the following example, replacing the | |
| 330 | -e-mails by real ones: | |
| 331 | - | |
| 332 | - production: | |
| 333 | - exception_recipients: [admin@example.com, you@example.com] | |
| 334 | - | |
| 335 | - | |
| 336 | -============ | |
| 337 | -Maintainance | |
| 338 | -============ | |
| 339 | - | |
| 340 | -To ease the maintainance, install a symbolic link for the Noosfero startup | |
| 341 | -script in your server and add it to the system initialization and shutdown | |
| 342 | -sequences (as root): | |
| 343 | - | |
| 344 | -# ln -s /var/lib/noosfero/current/etc/init.d/noosfero /etc/init.d/noosfero | |
| 345 | -# update-rc.d noosfero defaults | |
| 346 | - Adding system startup for /etc/init.d/noosfero ... | |
| 347 | - /etc/rc0.d/K20noosfero -> ../init.d/noosfero | |
| 348 | - /etc/rc1.d/K20noosfero -> ../init.d/noosfero | |
| 349 | - /etc/rc6.d/K20noosfero -> ../init.d/noosfero | |
| 350 | - /etc/rc2.d/S20noosfero -> ../init.d/noosfero | |
| 351 | - /etc/rc3.d/S20noosfero -> ../init.d/noosfero | |
| 352 | - /etc/rc4.d/S20noosfero -> ../init.d/noosfero | |
| 353 | - /etc/rc5.d/S20noosfero -> ../init.d/noosfero | |
| 354 | - | |
| 355 | -Now to start Noosfero, you do as root: | |
| 356 | - | |
| 357 | -# invoke-rc.d noosfero start | |
| 358 | - | |
| 359 | -To stop Noosfero: | |
| 360 | - | |
| 361 | -# invoke-rc.d noosfero start | |
| 362 | - | |
| 363 | -To restart Noosfero: | |
| 364 | - | |
| 365 | -# invoke-rc.d noosfero restart | |
| 366 | - | |
| 367 | -Noosfero will be automatically started during system boot, and automatically | |
| 368 | -stopped if the system shuts down for some reason (or during the shutdown part | |
| 369 | -of a reboot). | |
| 370 | - | |
| 371 | -============= | |
| 372 | -Rotating logs | |
| 373 | -============= | |
| 374 | - | |
| 375 | -Noosfero provides an example logrotate configuation to rotate its logs. To use | |
| 376 | -it, create a symbolic link in /etc/logrotate.d/: | |
| 377 | - | |
| 378 | -# cd /etc/logrotate.d/ | |
| 379 | -# ln -s /var/lib/noosfero/current/etc/logrotate.d/noosfero | |
| 380 | - | |
| 381 | -Note that the provided file assumes Noosfero logging is being done in | |
| 382 | -/var/log/noosfero (which is the case if you followed the instructions above | |
| 383 | -correctly). If the logs are stored elsewhere, it's recommended that you copy | |
| 384 | -the file over to /etc/logrotate.d/ and modify it to point to your local log | |
| 385 | -directly. | |
| 386 | - | |
| 387 | -========= | |
| 388 | -Upgrading | |
| 389 | -========= | |
| 390 | - | |
| 391 | -If you followed the steps in this document and installed Noosfero from the git | |
| 392 | -repository, then upgrading is easy. First, you need to allow the noosfero user | |
| 393 | -to restart the memcached server with sudo, by adding the following line in | |
| 394 | -/etc/sudoers: | |
| 395 | - | |
| 396 | -noosfero ALL=NOPASSWD: /etc/init.d/memcached | |
| 397 | - | |
| 398 | -Then, to perform an upgrade, do the following as the noosfero user: | |
| 399 | - | |
| 400 | -$ cd /var/lib/noosfero/current | |
| 401 | -$ ./script/git-upgrade | |
| 402 | - | |
| 403 | -The git-upgrade script will take care of everything for you. It will first stop | |
| 404 | -the service, then fetch the current source code, upgrade database, compile | |
| 405 | -translations, and then start the service again. | |
| 406 | - | |
| 407 | -Note 1: make sure your local git repository is following the "stable" branch, | |
| 408 | -just like the instructions above. The "master" branch is not recommended for | |
| 409 | -use in production environments. | |
| 410 | - | |
| 411 | -Note 2: always read the release notes before upgrading. Sometimes there will be | |
| 412 | -steps that must be performed manually. If that is the case, you can invoke the | |
| 413 | -git-upgrade script with the special parameter "--shell" that will give you a | |
| 414 | -shell after the upgrade, which you can use to perform any manual steps | |
| 415 | -required: | |
| 416 | - | |
| 417 | -$ ./script/git-upgrade --shell |
INSTALL.awstats
| ... | ... | @@ -1,78 +0,0 @@ |
| 1 | -= AWStats setup for Noosfero | |
| 2 | - | |
| 3 | -AWStats is a free powerful and featureful tool that generates advanced web, | |
| 4 | -streaming, ftp or mail server statistics, graphically. | |
| 5 | - | |
| 6 | -See http://awstats.sourceforge.net/ | |
| 7 | - | |
| 8 | -This guide supposes that the Noosfero server is running GNU/Linux Debian Squeeze. | |
| 9 | - | |
| 10 | -1. Install AWStats | |
| 11 | - | |
| 12 | -# apt-get install awstats libgeo-ip-perl geoip-database | |
| 13 | - | |
| 14 | -2. Basic setup | |
| 15 | - | |
| 16 | -Create AWStats config file: | |
| 17 | - | |
| 18 | - * /etc/awstats/awstats.<domain>.conf | |
| 19 | - | |
| 20 | -Include "/etc/awstats/awstats.conf" | |
| 21 | -Include "/etc/noosfero/awstats-noosfero.conf" | |
| 22 | -SiteDomain="<domain>" | |
| 23 | -HostAliases="<domain-aliases>" | |
| 24 | - | |
| 25 | -<domain> should be the domain used in your Noosfero server (eg.: | |
| 26 | -softwarelivre.org) and the <domain-aliases> should be a list with all aliases | |
| 27 | -that you configured in apache (eg.: www.softwarelivre.org | |
| 28 | -www2.softwarelivre.org etc). | |
| 29 | - | |
| 30 | -This setup is considering that the Noosfero server is running varnish (see | |
| 31 | -INSTALL.varnish) and varnishncsa-vhost [1]. | |
| 32 | - | |
| 33 | -[1] http://gitorious.org/varnisnncsa-vhost | |
| 34 | - | |
| 35 | -3. Running AWStats for the first time | |
| 36 | - | |
| 37 | -Run awstats by hand via command line: | |
| 38 | - | |
| 39 | -# /usr/lib/cgi-bin/awstats.pl -config=<domain> | |
| 40 | - | |
| 41 | -You should see something as below as output of this command: | |
| 42 | - | |
| 43 | -# /usr/lib/cgi-bin/awstats.pl -config=softwarelivre.org | |
| 44 | -Create/Update database for config "/etc/awstats/awstats.softwarelivre.org.conf" by AWStats version 6.7 (build 1.892) | |
| 45 | -From data in log file "/var/log/varnish/varnishncsa-vhost.log"... | |
| 46 | -Phase 1 : First bypass old records, searching new record... | |
| 47 | -Searching new records from beginning of log file... | |
| 48 | -Phase 2 : Now process new records (Flush history on disk after 20000 hosts)... | |
| 49 | -Jumped lines in file: 0 | |
| 50 | -Parsed lines in file: 452 | |
| 51 | - Found 0 dropped records, | |
| 52 | - Found 0 corrupted records, | |
| 53 | - Found 0 old records, | |
| 54 | - Found 452 new qualified records. | |
| 55 | - | |
| 56 | -4. Setup frontend | |
| 57 | - | |
| 58 | -You should create a new subdomain to have access to the AWStats, usually | |
| 59 | -something like tools.<domain> (eg.: tools.softwarelivre.org). Don't include | |
| 60 | -this subdomain in HostAliases in the AWStats neither in SiteAlias in the | |
| 61 | -Apache. | |
| 62 | - | |
| 63 | -# cp /usr/share/doc/awstats/examples/apache.conf /etc/apache2/conf.d/awstats.conf | |
| 64 | -# invoke-rc.d apache2 restart | |
| 65 | - | |
| 66 | -ps.: Don't forget to change the port /etc/apache/sites-enabled/000-default to | |
| 67 | -8080. | |
| 68 | - | |
| 69 | -Try: http://tools.<domain>/cgi-bin/awstats.pl?config=<domain> | |
| 70 | -(eg.: http://tools.softwarelivre.org/cgi-bin/awstats.pl?config=softwarelivre.org). | |
| 71 | - | |
| 72 | -5. Schedule AWStats in crontab | |
| 73 | - | |
| 74 | - * /etc/cron.d/awstats | |
| 75 | - | |
| 76 | -0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.<domain>.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=<domain> -update >/dev/null | |
| 77 | - | |
| 78 | -Done, check the AWStats frontend after one or two days to see if everything is working properly. |
| ... | ... | @@ -0,0 +1,78 @@ |
| 1 | += AWStats setup for Noosfero | |
| 2 | + | |
| 3 | +AWStats is a free powerful and featureful tool that generates advanced web, | |
| 4 | +streaming, ftp or mail server statistics, graphically. | |
| 5 | + | |
| 6 | +See http://awstats.sourceforge.net/ | |
| 7 | + | |
| 8 | +This guide supposes that the Noosfero server is running GNU/Linux Debian Squeeze. | |
| 9 | + | |
| 10 | +1. Install AWStats | |
| 11 | + | |
| 12 | +# apt-get install awstats libgeo-ip-perl geoip-database | |
| 13 | + | |
| 14 | +2. Basic setup | |
| 15 | + | |
| 16 | +Create AWStats config file: | |
| 17 | + | |
| 18 | + * /etc/awstats/awstats.<domain>.conf | |
| 19 | + | |
| 20 | +Include "/etc/awstats/awstats.conf" | |
| 21 | +Include "/etc/noosfero/awstats-noosfero.conf" | |
| 22 | +SiteDomain="<domain>" | |
| 23 | +HostAliases="<domain-aliases>" | |
| 24 | + | |
| 25 | +<domain> should be the domain used in your Noosfero server (eg.: | |
| 26 | +softwarelivre.org) and the <domain-aliases> should be a list with all aliases | |
| 27 | +that you configured in apache (eg.: www.softwarelivre.org | |
| 28 | +www2.softwarelivre.org etc). | |
| 29 | + | |
| 30 | +This setup is considering that the Noosfero server is running varnish (see | |
| 31 | +INSTALL.varnish) and varnishncsa-vhost [1]. | |
| 32 | + | |
| 33 | +[1] http://gitorious.org/varnisnncsa-vhost | |
| 34 | + | |
| 35 | +3. Running AWStats for the first time | |
| 36 | + | |
| 37 | +Run awstats by hand via command line: | |
| 38 | + | |
| 39 | +# /usr/lib/cgi-bin/awstats.pl -config=<domain> | |
| 40 | + | |
| 41 | +You should see something as below as output of this command: | |
| 42 | + | |
| 43 | +# /usr/lib/cgi-bin/awstats.pl -config=softwarelivre.org | |
| 44 | +Create/Update database for config "/etc/awstats/awstats.softwarelivre.org.conf" by AWStats version 6.7 (build 1.892) | |
| 45 | +From data in log file "/var/log/varnish/varnishncsa-vhost.log"... | |
| 46 | +Phase 1 : First bypass old records, searching new record... | |
| 47 | +Searching new records from beginning of log file... | |
| 48 | +Phase 2 : Now process new records (Flush history on disk after 20000 hosts)... | |
| 49 | +Jumped lines in file: 0 | |
| 50 | +Parsed lines in file: 452 | |
| 51 | + Found 0 dropped records, | |
| 52 | + Found 0 corrupted records, | |
| 53 | + Found 0 old records, | |
| 54 | + Found 452 new qualified records. | |
| 55 | + | |
| 56 | +4. Setup frontend | |
| 57 | + | |
| 58 | +You should create a new subdomain to have access to the AWStats, usually | |
| 59 | +something like tools.<domain> (eg.: tools.softwarelivre.org). Don't include | |
| 60 | +this subdomain in HostAliases in the AWStats neither in SiteAlias in the | |
| 61 | +Apache. | |
| 62 | + | |
| 63 | +# cp /usr/share/doc/awstats/examples/apache.conf /etc/apache2/conf.d/awstats.conf | |
| 64 | +# invoke-rc.d apache2 restart | |
| 65 | + | |
| 66 | +ps.: Don't forget to change the port /etc/apache/sites-enabled/000-default to | |
| 67 | +8080. | |
| 68 | + | |
| 69 | +Try: http://tools.<domain>/cgi-bin/awstats.pl?config=<domain> | |
| 70 | +(eg.: http://tools.softwarelivre.org/cgi-bin/awstats.pl?config=softwarelivre.org). | |
| 71 | + | |
| 72 | +5. Schedule AWStats in crontab | |
| 73 | + | |
| 74 | + * /etc/cron.d/awstats | |
| 75 | + | |
| 76 | +0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.<domain>.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=<domain> -update >/dev/null | |
| 77 | + | |
| 78 | +Done, check the AWStats frontend after one or two days to see if everything is working properly. | ... | ... |
INSTALL.chat
| ... | ... | @@ -1,258 +0,0 @@ |
| 1 | -== XMPP/Chat Client Setup | |
| 2 | - | |
| 3 | -To configure XMPP/BOSH in Noosfero you need: | |
| 4 | - | |
| 5 | -* REST Client - http://github.com/archiloque/rest-client | |
| 6 | -* SystemTimer - http://ph7spot.com/musings/system-timer | |
| 7 | -* Pidgin data files - http://www.pidgin.im/ | |
| 8 | - | |
| 9 | -If you use Debian 6.0 (squeeze): | |
| 10 | - | |
| 11 | -# apt-get install librestclient-ruby pidgin-data ruby1.8-dev | |
| 12 | -# gem install SystemTimer | |
| 13 | - | |
| 14 | -The samples of config file to configure a XMPP/BOSH server with | |
| 15 | -ejabberd, postgresql and apache2 can be found at util/chat directory. | |
| 16 | - | |
| 17 | -== XMPP/Chat Server Setup | |
| 18 | - | |
| 19 | -This is a step-by-step guide to get a XMPP service working, in a Debian system. | |
| 20 | - | |
| 21 | -1. Install the required packages | |
| 22 | - | |
| 23 | -# apt-get install ejabberd odbc-postgresql | |
| 24 | - | |
| 25 | -2. Ejabberd configuration | |
| 26 | - | |
| 27 | -All the following changes must be done in config file: | |
| 28 | - | |
| 29 | - /etc/ejabberd/ejabberd.cfg | |
| 30 | - | |
| 31 | - 2.1. Set the default admin user | |
| 32 | - | |
| 33 | -{ acl, admin, { user, "john", "www.example.com" } }. | |
| 34 | -{ acl, admin, { user, "bart", "www.example.com" } }. | |
| 35 | - | |
| 36 | - 2.2. Set the default host | |
| 37 | - | |
| 38 | -{ hosts, [ "www.example.com" ] }. | |
| 39 | - | |
| 40 | - 2.3. Http-Bind activation | |
| 41 | - | |
| 42 | -{ 5280, ejabberd_http, [ | |
| 43 | - http_bind, | |
| 44 | - web_admin | |
| 45 | - ] | |
| 46 | -} | |
| 47 | - | |
| 48 | -(...) | |
| 49 | - | |
| 50 | -{ modules, [ | |
| 51 | - {mod_http_bind, []}, | |
| 52 | - ... | |
| 53 | -] }. | |
| 54 | - | |
| 55 | -Ejabberd creates semi-anonymous rooms by default, but Noosfero's Jabber client | |
| 56 | -needs non-anonymous room, then we need to change default params of creation | |
| 57 | -rooms in ejabberd to create non-anonymous rooms. | |
| 58 | - | |
| 59 | -In non-anonymous rooms the jabber service sends the new occupant's full JID to | |
| 60 | -all occupants in the room[1]. | |
| 61 | - | |
| 62 | -Add option "{default_room_options, [{anonymous, false}]}" to | |
| 63 | -/etc/ejabberd/ejabberd.cfg in mod_muc session. See below: | |
| 64 | - | |
| 65 | -{ mod_muc, [ | |
| 66 | - %%{host, "conference.@HOST@"}, | |
| 67 | - {access, muc}, | |
| 68 | - {access_create, muc}, | |
| 69 | - {access_persistent, muc}, | |
| 70 | - {access_admin, muc_admin}, | |
| 71 | - {max_users, 500}, | |
| 72 | - {default_room_options, [{anonymous, false}]} | |
| 73 | -]}, | |
| 74 | - | |
| 75 | -[1] - http://xmpp.org/extensions/xep-0045.html#enter-nonanon | |
| 76 | - | |
| 77 | - | |
| 78 | - 2.4. Authentication method | |
| 79 | - | |
| 80 | -To use Postgresql through ODBC, the following modifications must be done: | |
| 81 | - | |
| 82 | - * Disable the default method: | |
| 83 | - | |
| 84 | -{auth_method, internal}. | |
| 85 | - | |
| 86 | - * Enable autheticantion through ODBC: | |
| 87 | - | |
| 88 | -{auth_method, odbc}. | |
| 89 | - | |
| 90 | - * Set database server name | |
| 91 | - | |
| 92 | -{odbc_server, "DSN=PostgreSQLEjabberdNoosfero"}. | |
| 93 | - | |
| 94 | - | |
| 95 | - 2.5. Increase the shaper traffic limit | |
| 96 | - | |
| 97 | -{ shaper, normal, { maxrate, 10000000 } }. | |
| 98 | - | |
| 99 | - | |
| 100 | - 2.6. Disable unused modules | |
| 101 | - | |
| 102 | -Unused modules can be disabled, for example: | |
| 103 | - | |
| 104 | - * s2s | |
| 105 | - * web_admin | |
| 106 | - * mod_pubsub | |
| 107 | - * mod_irc | |
| 108 | - * mod_offline | |
| 109 | - * mod_admin_extra | |
| 110 | - * mod_register | |
| 111 | - | |
| 112 | - | |
| 113 | - 2.7. Enable ODBC modules | |
| 114 | - | |
| 115 | - * mod_privacy -> mod_privacy_odbc | |
| 116 | - * mod_private -> mod_private_odbc | |
| 117 | - * mod_roster -> mod_roster_odbc | |
| 118 | - | |
| 119 | -3. Configuring Postgresql | |
| 120 | - | |
| 121 | -Login as noosfero user, and execute: | |
| 122 | - | |
| 123 | - $ psql noosfero < /path/to/noosfero/util/chat/postgresql/ejabberd.sql | |
| 124 | - | |
| 125 | -Where 'noosfero' may need to be replace by the name of the database used for | |
| 126 | -Noosfero. | |
| 127 | - | |
| 128 | -This will create a new schema inside the noosfero database, called 'ejabberd'. | |
| 129 | - | |
| 130 | -Note 'noosfero' user should have permission to create Postgresql schemas. Also, | |
| 131 | -there should be at least one domain with 'is_default = true' in 'domains' | |
| 132 | -table, otherwise people won't be able to see their friends online. | |
| 133 | - | |
| 134 | - | |
| 135 | -4. ODBC configuration | |
| 136 | - | |
| 137 | -The following files must be created: | |
| 138 | - | |
| 139 | - * /etc/odbc.ini | |
| 140 | - | |
| 141 | -[PostgreSQLEjabberdNoosfero] | |
| 142 | -Description = PostgreSQL Noosfero ejabberd database | |
| 143 | -Driver = PostgreSQL Unicode | |
| 144 | -Trace = No | |
| 145 | -TraceFile = /tmp/psqlodbc.log | |
| 146 | -Database = noosfero | |
| 147 | -Servername = localhost | |
| 148 | -UserName = <DBUSER> | |
| 149 | -Password = <DBPASS> | |
| 150 | -Port = | |
| 151 | -ReadOnly = No | |
| 152 | -RowVersioning = No | |
| 153 | -ShowSystemTables = No | |
| 154 | -ShowOidColumn = No | |
| 155 | -FakeOidIndex = No | |
| 156 | -ConnSettings = SET search_path TO ejabberd | |
| 157 | - | |
| 158 | - * /etc/odbcinst.ini | |
| 159 | - | |
| 160 | -[PostgreSQL Unicode] | |
| 161 | -Description = PostgreSQL ODBC driver (Unicode version) | |
| 162 | -Driver = /usr/lib/odbc/psqlodbcw.so | |
| 163 | -Setup = /usr/lib/odbc/libodbcpsqlS.so | |
| 164 | -Debug = 0 | |
| 165 | -CommLog = 1 | |
| 166 | -UsageCount = 3 | |
| 167 | - | |
| 168 | - 4.1 testing all: | |
| 169 | - | |
| 170 | -# isql 'PostgreSQLEjabberdNoosfero' | |
| 171 | - | |
| 172 | -If the configuration was done right, the message "Connected!" | |
| 173 | -will be displayed. | |
| 174 | - | |
| 175 | - | |
| 176 | -5. Enabling kernel polling and SMP in /etc/default/ejabberd | |
| 177 | - | |
| 178 | -POLL=true | |
| 179 | -SMP=auto | |
| 180 | - | |
| 181 | - | |
| 182 | -6. Increase the file descriptors limit for user ejabberd | |
| 183 | - | |
| 184 | - 6.1. Uncomment this line in file /etc/pam.d/su: | |
| 185 | - | |
| 186 | -session required pam_limits.so | |
| 187 | - | |
| 188 | - | |
| 189 | - 6.2. Add this lines to file /etc/security/limits.conf: | |
| 190 | - | |
| 191 | -ejabberd hard nofile 65536 | |
| 192 | -ejabberd soft nofile 65536 | |
| 193 | - | |
| 194 | -Now, test the configuration: | |
| 195 | - | |
| 196 | -# cat /proc/<EJABBERD_BEAM_PROCESS_PID>/limits | |
| 197 | - | |
| 198 | - | |
| 199 | -7. Apache Configuration | |
| 200 | - | |
| 201 | -Apache server must be configurated as follow: | |
| 202 | - | |
| 203 | - * /etc/apache2/sites-enabled/noosfero | |
| 204 | - | |
| 205 | -RewriteEngine On | |
| 206 | -Include /usr/share/noosfero/util/chat/apache/xmpp.conf | |
| 207 | - | |
| 208 | - * /etc/apache2/apache2.conf: | |
| 209 | - | |
| 210 | -<IfModule mpm_worker_module> | |
| 211 | - StartServers 8 | |
| 212 | - MinSpareThreads 25 | |
| 213 | - MaxSpareThreads 75 | |
| 214 | - ThreadLimit 128 | |
| 215 | - ThreadsPerChild 128 | |
| 216 | - MaxClients 2048 | |
| 217 | - MaxRequestsPerChild 0 | |
| 218 | -</IfModule> | |
| 219 | - | |
| 220 | -Note: module proxy_http must be enabled: | |
| 221 | - | |
| 222 | -# a2enmod proxy_http | |
| 223 | - | |
| 224 | -8. DNS configuration | |
| 225 | - | |
| 226 | -For this point, we assume you are using BIND as your DNS server. You need to | |
| 227 | -add the following entries to the DNS zone file corresponding to the domain | |
| 228 | -of your noosfero site: | |
| 229 | - | |
| 230 | -_xmpp-client._tcp SRV 5 100 5222 master | |
| 231 | -conference CNAME master | |
| 232 | -_xmpp-client._tcp.conference SRV 5 100 5222 master | |
| 233 | - | |
| 234 | -If you are running a DNS server other than BIND, you will have to figure out | |
| 235 | -how to create equivalente rules for your zone file. Patches to this | |
| 236 | -documentation are welcome. | |
| 237 | - | |
| 238 | -9. Testing this Setup | |
| 239 | - | |
| 240 | -Adjust shell limits to proceed with some benchmarks and load tests: | |
| 241 | - | |
| 242 | -# ulimit −s 256 | |
| 243 | -# ulimit −n 8192 | |
| 244 | -# echo 10 > /proc/sys/net/ipv4/tcp_syn_retries | |
| 245 | - | |
| 246 | -To measure the bandwidth between server and client: | |
| 247 | - | |
| 248 | - * at server side: | |
| 249 | - | |
| 250 | -# iperf −s | |
| 251 | - | |
| 252 | - * at client side: | |
| 253 | - | |
| 254 | -# iperf −c server_ip | |
| 255 | - | |
| 256 | -For heavy load tests, clone and use this software: | |
| 257 | - | |
| 258 | -git clone http://git.holoscopio.com/git/metal/tester.git |
| ... | ... | @@ -0,0 +1,258 @@ |
| 1 | +== XMPP/Chat Client Setup | |
| 2 | + | |
| 3 | +To configure XMPP/BOSH in Noosfero you need: | |
| 4 | + | |
| 5 | +* REST Client - http://github.com/archiloque/rest-client | |
| 6 | +* SystemTimer - http://ph7spot.com/musings/system-timer | |
| 7 | +* Pidgin data files - http://www.pidgin.im/ | |
| 8 | + | |
| 9 | +If you use Debian 6.0 (squeeze): | |
| 10 | + | |
| 11 | +# apt-get install librestclient-ruby pidgin-data ruby1.8-dev | |
| 12 | +# gem install SystemTimer | |
| 13 | + | |
| 14 | +The samples of config file to configure a XMPP/BOSH server with | |
| 15 | +ejabberd, postgresql and apache2 can be found at util/chat directory. | |
| 16 | + | |
| 17 | +== XMPP/Chat Server Setup | |
| 18 | + | |
| 19 | +This is a step-by-step guide to get a XMPP service working, in a Debian system. | |
| 20 | + | |
| 21 | +1. Install the required packages | |
| 22 | + | |
| 23 | +# apt-get install ejabberd odbc-postgresql | |
| 24 | + | |
| 25 | +2. Ejabberd configuration | |
| 26 | + | |
| 27 | +All the following changes must be done in config file: | |
| 28 | + | |
| 29 | + /etc/ejabberd/ejabberd.cfg | |
| 30 | + | |
| 31 | + 2.1. Set the default admin user | |
| 32 | + | |
| 33 | +{ acl, admin, { user, "john", "www.example.com" } }. | |
| 34 | +{ acl, admin, { user, "bart", "www.example.com" } }. | |
| 35 | + | |
| 36 | + 2.2. Set the default host | |
| 37 | + | |
| 38 | +{ hosts, [ "www.example.com" ] }. | |
| 39 | + | |
| 40 | + 2.3. Http-Bind activation | |
| 41 | + | |
| 42 | +{ 5280, ejabberd_http, [ | |
| 43 | + http_bind, | |
| 44 | + web_admin | |
| 45 | + ] | |
| 46 | +} | |
| 47 | + | |
| 48 | +(...) | |
| 49 | + | |
| 50 | +{ modules, [ | |
| 51 | + {mod_http_bind, []}, | |
| 52 | + ... | |
| 53 | +] }. | |
| 54 | + | |
| 55 | +Ejabberd creates semi-anonymous rooms by default, but Noosfero's Jabber client | |
| 56 | +needs non-anonymous room, then we need to change default params of creation | |
| 57 | +rooms in ejabberd to create non-anonymous rooms. | |
| 58 | + | |
| 59 | +In non-anonymous rooms the jabber service sends the new occupant's full JID to | |
| 60 | +all occupants in the room[1]. | |
| 61 | + | |
| 62 | +Add option "{default_room_options, [{anonymous, false}]}" to | |
| 63 | +/etc/ejabberd/ejabberd.cfg in mod_muc session. See below: | |
| 64 | + | |
| 65 | +{ mod_muc, [ | |
| 66 | + %%{host, "conference.@HOST@"}, | |
| 67 | + {access, muc}, | |
| 68 | + {access_create, muc}, | |
| 69 | + {access_persistent, muc}, | |
| 70 | + {access_admin, muc_admin}, | |
| 71 | + {max_users, 500}, | |
| 72 | + {default_room_options, [{anonymous, false}]} | |
| 73 | +]}, | |
| 74 | + | |
| 75 | +[1] - http://xmpp.org/extensions/xep-0045.html#enter-nonanon | |
| 76 | + | |
| 77 | + | |
| 78 | + 2.4. Authentication method | |
| 79 | + | |
| 80 | +To use Postgresql through ODBC, the following modifications must be done: | |
| 81 | + | |
| 82 | + * Disable the default method: | |
| 83 | + | |
| 84 | +{auth_method, internal}. | |
| 85 | + | |
| 86 | + * Enable autheticantion through ODBC: | |
| 87 | + | |
| 88 | +{auth_method, odbc}. | |
| 89 | + | |
| 90 | + * Set database server name | |
| 91 | + | |
| 92 | +{odbc_server, "DSN=PostgreSQLEjabberdNoosfero"}. | |
| 93 | + | |
| 94 | + | |
| 95 | + 2.5. Increase the shaper traffic limit | |
| 96 | + | |
| 97 | +{ shaper, normal, { maxrate, 10000000 } }. | |
| 98 | + | |
| 99 | + | |
| 100 | + 2.6. Disable unused modules | |
| 101 | + | |
| 102 | +Unused modules can be disabled, for example: | |
| 103 | + | |
| 104 | + * s2s | |
| 105 | + * web_admin | |
| 106 | + * mod_pubsub | |
| 107 | + * mod_irc | |
| 108 | + * mod_offline | |
| 109 | + * mod_admin_extra | |
| 110 | + * mod_register | |
| 111 | + | |
| 112 | + | |
| 113 | + 2.7. Enable ODBC modules | |
| 114 | + | |
| 115 | + * mod_privacy -> mod_privacy_odbc | |
| 116 | + * mod_private -> mod_private_odbc | |
| 117 | + * mod_roster -> mod_roster_odbc | |
| 118 | + | |
| 119 | +3. Configuring Postgresql | |
| 120 | + | |
| 121 | +Login as noosfero user, and execute: | |
| 122 | + | |
| 123 | + $ psql noosfero < /path/to/noosfero/util/chat/postgresql/ejabberd.sql | |
| 124 | + | |
| 125 | +Where 'noosfero' may need to be replace by the name of the database used for | |
| 126 | +Noosfero. | |
| 127 | + | |
| 128 | +This will create a new schema inside the noosfero database, called 'ejabberd'. | |
| 129 | + | |
| 130 | +Note 'noosfero' user should have permission to create Postgresql schemas. Also, | |
| 131 | +there should be at least one domain with 'is_default = true' in 'domains' | |
| 132 | +table, otherwise people won't be able to see their friends online. | |
| 133 | + | |
| 134 | + | |
| 135 | +4. ODBC configuration | |
| 136 | + | |
| 137 | +The following files must be created: | |
| 138 | + | |
| 139 | + * /etc/odbc.ini | |
| 140 | + | |
| 141 | +[PostgreSQLEjabberdNoosfero] | |
| 142 | +Description = PostgreSQL Noosfero ejabberd database | |
| 143 | +Driver = PostgreSQL Unicode | |
| 144 | +Trace = No | |
| 145 | +TraceFile = /tmp/psqlodbc.log | |
| 146 | +Database = noosfero | |
| 147 | +Servername = localhost | |
| 148 | +UserName = <DBUSER> | |
| 149 | +Password = <DBPASS> | |
| 150 | +Port = | |
| 151 | +ReadOnly = No | |
| 152 | +RowVersioning = No | |
| 153 | +ShowSystemTables = No | |
| 154 | +ShowOidColumn = No | |
| 155 | +FakeOidIndex = No | |
| 156 | +ConnSettings = SET search_path TO ejabberd | |
| 157 | + | |
| 158 | + * /etc/odbcinst.ini | |
| 159 | + | |
| 160 | +[PostgreSQL Unicode] | |
| 161 | +Description = PostgreSQL ODBC driver (Unicode version) | |
| 162 | +Driver = /usr/lib/odbc/psqlodbcw.so | |
| 163 | +Setup = /usr/lib/odbc/libodbcpsqlS.so | |
| 164 | +Debug = 0 | |
| 165 | +CommLog = 1 | |
| 166 | +UsageCount = 3 | |
| 167 | + | |
| 168 | + 4.1 testing all: | |
| 169 | + | |
| 170 | +# isql 'PostgreSQLEjabberdNoosfero' | |
| 171 | + | |
| 172 | +If the configuration was done right, the message "Connected!" | |
| 173 | +will be displayed. | |
| 174 | + | |
| 175 | + | |
| 176 | +5. Enabling kernel polling and SMP in /etc/default/ejabberd | |
| 177 | + | |
| 178 | +POLL=true | |
| 179 | +SMP=auto | |
| 180 | + | |
| 181 | + | |
| 182 | +6. Increase the file descriptors limit for user ejabberd | |
| 183 | + | |
| 184 | + 6.1. Uncomment this line in file /etc/pam.d/su: | |
| 185 | + | |
| 186 | +session required pam_limits.so | |
| 187 | + | |
| 188 | + | |
| 189 | + 6.2. Add this lines to file /etc/security/limits.conf: | |
| 190 | + | |
| 191 | +ejabberd hard nofile 65536 | |
| 192 | +ejabberd soft nofile 65536 | |
| 193 | + | |
| 194 | +Now, test the configuration: | |
| 195 | + | |
| 196 | +# cat /proc/<EJABBERD_BEAM_PROCESS_PID>/limits | |
| 197 | + | |
| 198 | + | |
| 199 | +7. Apache Configuration | |
| 200 | + | |
| 201 | +Apache server must be configurated as follow: | |
| 202 | + | |
| 203 | + * /etc/apache2/sites-enabled/noosfero | |
| 204 | + | |
| 205 | +RewriteEngine On | |
| 206 | +Include /usr/share/noosfero/util/chat/apache/xmpp.conf | |
| 207 | + | |
| 208 | + * /etc/apache2/apache2.conf: | |
| 209 | + | |
| 210 | +<IfModule mpm_worker_module> | |
| 211 | + StartServers 8 | |
| 212 | + MinSpareThreads 25 | |
| 213 | + MaxSpareThreads 75 | |
| 214 | + ThreadLimit 128 | |
| 215 | + ThreadsPerChild 128 | |
| 216 | + MaxClients 2048 | |
| 217 | + MaxRequestsPerChild 0 | |
| 218 | +</IfModule> | |
| 219 | + | |
| 220 | +Note: module proxy_http must be enabled: | |
| 221 | + | |
| 222 | +# a2enmod proxy_http | |
| 223 | + | |
| 224 | +8. DNS configuration | |
| 225 | + | |
| 226 | +For this point, we assume you are using BIND as your DNS server. You need to | |
| 227 | +add the following entries to the DNS zone file corresponding to the domain | |
| 228 | +of your noosfero site: | |
| 229 | + | |
| 230 | +_xmpp-client._tcp SRV 5 100 5222 master | |
| 231 | +conference CNAME master | |
| 232 | +_xmpp-client._tcp.conference SRV 5 100 5222 master | |
| 233 | + | |
| 234 | +If you are running a DNS server other than BIND, you will have to figure out | |
| 235 | +how to create equivalente rules for your zone file. Patches to this | |
| 236 | +documentation are welcome. | |
| 237 | + | |
| 238 | +9. Testing this Setup | |
| 239 | + | |
| 240 | +Adjust shell limits to proceed with some benchmarks and load tests: | |
| 241 | + | |
| 242 | +# ulimit −s 256 | |
| 243 | +# ulimit −n 8192 | |
| 244 | +# echo 10 > /proc/sys/net/ipv4/tcp_syn_retries | |
| 245 | + | |
| 246 | +To measure the bandwidth between server and client: | |
| 247 | + | |
| 248 | + * at server side: | |
| 249 | + | |
| 250 | +# iperf −s | |
| 251 | + | |
| 252 | + * at client side: | |
| 253 | + | |
| 254 | +# iperf −c server_ip | |
| 255 | + | |
| 256 | +For heavy load tests, clone and use this software: | |
| 257 | + | |
| 258 | +git clone http://git.holoscopio.com/git/metal/tester.git | ... | ... |
INSTALL.email
| ... | ... | @@ -1,43 +0,0 @@ |
| 1 | -= Noosfero email setup | |
| 2 | - | |
| 3 | -If you know mail systems well, you just need to make sure that the local MTA, | |
| 4 | -listening on localhost:25, is able to deliver e-mails to the internet. Any mail | |
| 5 | -server will do it. You can stop reading now. | |
| 6 | - | |
| 7 | -If you are not an email specialist, then follow the instructions below. We | |
| 8 | -suggest that you use the Postfix mail server, since it is easy to configure and | |
| 9 | -very reliable. Just follow the instructions below. | |
| 10 | - | |
| 11 | -To install Postfix: | |
| 12 | - | |
| 13 | -# apt-get install postfix | |
| 14 | - | |
| 15 | -During the installation process, you will be asked a few questions. Your answer | |
| 16 | -to them will vary in 2 cases: | |
| 17 | - | |
| 18 | -Case 1: you can send e-mails directly to the internet. This will be the case | |
| 19 | -for most commercial private servers. Your answers should be: | |
| 20 | - | |
| 21 | - General type of mail configuration: Internet site | |
| 22 | - System mail name: the name of your domain, e.g. "mysocialnetwork.com" | |
| 23 | - | |
| 24 | -Case 2: you cannot, or don't want to, send e-mail directly to the internet. | |
| 25 | -This happens for example if your server is not allowed to make outbound | |
| 26 | -connections on port 25, or if you want to concentrate all your outbound mail | |
| 27 | -through a single SMTP server. Your answers in this case should be: | |
| 28 | - | |
| 29 | - General type of mail configuration: Internet with smarthost | |
| 30 | - System mail name: the name of your domain, e.g. "mysocialnetwork.com" | |
| 31 | - SMTP relay host: smtp.yourprovider.com | |
| 32 | - | |
| 33 | -Note that smtp.yourprovider.com must allow your server to deliver e-mails | |
| 34 | -through it. You should probably ask your servive provider about this. | |
| 35 | - | |
| 36 | -There is another possibility: if you are installing on a shared server, and | |
| 37 | -don't have permission to configure the local MTA, you can instruct Noosfero to | |
| 38 | -send e-mails directly through an external server. Please note that this should | |
| 39 | -be your last option, since contacting an external SMTP server directly may slow | |
| 40 | -down your Noosfero application server. To configure Noosfero to send e-mails | |
| 41 | -through an external SMTP server, follow the instructions on | |
| 42 | -http://noosfero.org/Development/SMTPMailSending | |
| 43 | - |
| ... | ... | @@ -0,0 +1,43 @@ |
| 1 | += Noosfero email setup | |
| 2 | + | |
| 3 | +If you know mail systems well, you just need to make sure that the local MTA, | |
| 4 | +listening on localhost:25, is able to deliver e-mails to the internet. Any mail | |
| 5 | +server will do it. You can stop reading now. | |
| 6 | + | |
| 7 | +If you are not an email specialist, then follow the instructions below. We | |
| 8 | +suggest that you use the Postfix mail server, since it is easy to configure and | |
| 9 | +very reliable. Just follow the instructions below. | |
| 10 | + | |
| 11 | +To install Postfix: | |
| 12 | + | |
| 13 | +# apt-get install postfix | |
| 14 | + | |
| 15 | +During the installation process, you will be asked a few questions. Your answer | |
| 16 | +to them will vary in 2 cases: | |
| 17 | + | |
| 18 | +Case 1: you can send e-mails directly to the internet. This will be the case | |
| 19 | +for most commercial private servers. Your answers should be: | |
| 20 | + | |
| 21 | + General type of mail configuration: Internet site | |
| 22 | + System mail name: the name of your domain, e.g. "mysocialnetwork.com" | |
| 23 | + | |
| 24 | +Case 2: you cannot, or don't want to, send e-mail directly to the internet. | |
| 25 | +This happens for example if your server is not allowed to make outbound | |
| 26 | +connections on port 25, or if you want to concentrate all your outbound mail | |
| 27 | +through a single SMTP server. Your answers in this case should be: | |
| 28 | + | |
| 29 | + General type of mail configuration: Internet with smarthost | |
| 30 | + System mail name: the name of your domain, e.g. "mysocialnetwork.com" | |
| 31 | + SMTP relay host: smtp.yourprovider.com | |
| 32 | + | |
| 33 | +Note that smtp.yourprovider.com must allow your server to deliver e-mails | |
| 34 | +through it. You should probably ask your servive provider about this. | |
| 35 | + | |
| 36 | +There is another possibility: if you are installing on a shared server, and | |
| 37 | +don't have permission to configure the local MTA, you can instruct Noosfero to | |
| 38 | +send e-mails directly through an external server. Please note that this should | |
| 39 | +be your last option, since contacting an external SMTP server directly may slow | |
| 40 | +down your Noosfero application server. To configure Noosfero to send e-mails | |
| 41 | +through an external SMTP server, follow the instructions on | |
| 42 | +http://noosfero.org/Development/SMTPMailSending | |
| 43 | + | ... | ... |
| ... | ... | @@ -0,0 +1,417 @@ |
| 1 | += Noosfero installation instructions from source for production environments | |
| 2 | + | |
| 3 | +The instructions below can be used for setting up a Noosfero production | |
| 4 | +environment from the Noosfero sources. | |
| 5 | + | |
| 6 | +Before you start installing Noosfero manually, see the information about the | |
| 7 | +Noosfero Debian package at http://noosfero.org/Development/DebianPackage. Using | |
| 8 | +the Debian packages on a Debian stable system is the recommended method for | |
| 9 | +installing production environments. | |
| 10 | + | |
| 11 | +If you want to setup a development environment instead of a production one, | |
| 12 | +stop reading this file right now and read the file HACKING instead. | |
| 13 | + | |
| 14 | +For a complete installation guide, please see the following web page: | |
| 15 | +http://noosfero.org/Development/HowToInstall | |
| 16 | + | |
| 17 | +If you have problems with the setup, please feel free to ask questions in the | |
| 18 | +development mailing list. | |
| 19 | + | |
| 20 | +== Requirements | |
| 21 | + | |
| 22 | +DISCLAIMER: this installation procedure is tested with Debian stable, which is | |
| 23 | +currently the only recommended operating system for production usage. It is | |
| 24 | +possible that you can install it on other systems, and if you do so, please | |
| 25 | +report it on one of the Noosfero mailing lists, and please send a patch | |
| 26 | +updating these instructions. | |
| 27 | + | |
| 28 | +Noosfero is written in Ruby with the "Rails | |
| 29 | +framework":http://www.rubyonrails.org, so the process of setting it up is | |
| 30 | +pretty similar to other Rails applications. | |
| 31 | + | |
| 32 | +You need to install some packages Noosfero depends on. On Debian GNU/Linux or | |
| 33 | +Debian-based systems, all of these packages are available through the Debian | |
| 34 | +archive. You can install them with the following command: | |
| 35 | + | |
| 36 | + # apt-get install ruby rake po4a libgettext-ruby-util libgettext-ruby1.8 libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby libwill-paginate-ruby iso-codes libfeedparser-ruby libdaemons-ruby thin tango-icon-theme libhpricot-ruby | |
| 37 | + | |
| 38 | +On other systems, they may or may not be available through your regular package | |
| 39 | +management system. Below are the links to their homepages. | |
| 40 | + | |
| 41 | +* Ruby: http://www.ruby-lang.org/ | |
| 42 | +* Rake: http://rake.rubyforge.org/ | |
| 43 | +* po4a: http://po4a.alioth.debian.org/ | |
| 44 | +* Ruby-sqlite3: http://rubyforge.org/projects/sqlite-ruby | |
| 45 | +* rcov: http://eigenclass.org/hiki/rcov | |
| 46 | +* RMagick: http://rmagick.rubyforge.org/ | |
| 47 | +* RedCloth: http://redcloth.org/ | |
| 48 | +* will_paginate: http://github.com/mislav/will_paginate/wikis | |
| 49 | +* iso-codes: http://pkg-isocodes.alioth.debian.org/ | |
| 50 | +* feedparser: http://packages.debian.org/sid/libfeedparser-ruby | |
| 51 | +* Daemons - http://daemons.rubyforge.org/ | |
| 52 | +* Thin: http://code.macournoyer.com/thin/ | |
| 53 | +* tango-icon-theme: http://tango.freedesktop.org/Tango_Icon_Library | |
| 54 | +* Hpricot: http://hpricot.com/ | |
| 55 | + | |
| 56 | +If you manage to install Noosfero successfully on other systems than Debian, | |
| 57 | +please feel free to contact the Noosfero development mailing with the | |
| 58 | +instructions for doing so, and we'll include it here. | |
| 59 | + | |
| 60 | +As root user | |
| 61 | +============ | |
| 62 | + | |
| 63 | +Install memcached. On Debian: | |
| 64 | + | |
| 65 | +# apt-get install memcached | |
| 66 | + | |
| 67 | +Study whether you need to raise the ammount of memory it uses for caching, | |
| 68 | +depending on the demand you expect for your site. If you are going to run a | |
| 69 | +high-traffic site, you will want to raise the ammount of memory reserved for | |
| 70 | +caching. | |
| 71 | + | |
| 72 | +It is recommended that you run noosfero with its own user account. To create | |
| 73 | +such an account, please do the following: | |
| 74 | + | |
| 75 | +# adduser --system --group noosfero --shell /bin/sh --home /var/lib/noosfero | |
| 76 | + | |
| 77 | +(note that you can change the $HOME directory of the user if you wish, here we | |
| 78 | +are using /var/lib/noosfero) | |
| 79 | + | |
| 80 | +The --system option will tell adduser to create a system user, i.e. this user | |
| 81 | +will not have a password and cannot login to the system directly. To become | |
| 82 | +this user, you have to use sudo: | |
| 83 | + | |
| 84 | +# sudo -u noosfero -i | |
| 85 | + | |
| 86 | +or | |
| 87 | + | |
| 88 | +# su - noosfero | |
| 89 | + | |
| 90 | +As noosfero user | |
| 91 | +================ | |
| 92 | + | |
| 93 | +downloading from git | |
| 94 | +-------------------- | |
| 95 | + | |
| 96 | +Here we are cloning the noosfero repository from git. Note: you will need to | |
| 97 | +install git before. | |
| 98 | + | |
| 99 | +$ git clone git://gitorious.org/noosfero/noosfero.git current | |
| 100 | +$ cd current | |
| 101 | +$ git checkout -b stable origin/stable | |
| 102 | + | |
| 103 | +downloading tarball | |
| 104 | +------------------- | |
| 105 | + | |
| 106 | +Note: replace 0.39.0 below from the latest stable version. | |
| 107 | + | |
| 108 | +$ wget http://noosfero.org/pub/Development/NoosferoVersion00x39x00/noosfero-0.39.0.tar.gz | |
| 109 | +$ tar -zxvf noosfero-0.39.0.tar.gz | |
| 110 | +$ ln -s noosfero-0.39.0 current | |
| 111 | +$ cd current | |
| 112 | + | |
| 113 | +Create the thin configuration file: | |
| 114 | + | |
| 115 | +$ thin -C config/thin.yml -e production config | |
| 116 | + | |
| 117 | +Edit config/thin.yml to suit your needs. Make sure your apache | |
| 118 | +configuration matches the thin cluster configuration, specially in respect | |
| 119 | +to the ports and numbers of thin instances. | |
| 120 | + | |
| 121 | +Note: currently Noosfero only supports Rails 2.3.5, which is the version in | |
| 122 | +Debian Squeeze. If you have a Rails version newer than that, Noosfero will | |
| 123 | +probably not work. You can install Rails 2.3.5 into your Noosfero installation | |
| 124 | +with the following procedure: | |
| 125 | + | |
| 126 | +$ cd /var/lib/noosfero/current/vendor | |
| 127 | +$ wget http://ftp.de.debian.org/debian/pool/main/r/rails/rails_2.3.5.orig.tar.gz | |
| 128 | +$ tar xzf rails_2.3.5.orig.tar.gz | |
| 129 | +$ ln -s rails-2.3.5 rails | |
| 130 | + | |
| 131 | +As root user | |
| 132 | +============ | |
| 133 | + | |
| 134 | +Setup Noosfero log and tmp directories: | |
| 135 | + | |
| 136 | +# cd /var/lib/noosfero/current | |
| 137 | +# ./etc/init.d/noosfero setup | |
| 138 | + | |
| 139 | +Now it's time to setup the database. In this example we are using PostgreSQL, | |
| 140 | +so if you are planning to use a different database this steps won't apply. | |
| 141 | + | |
| 142 | +# apt-get install postgresql libpgsql-ruby | |
| 143 | +# su postgres -c 'createuser noosfero -S -d -R' | |
| 144 | + | |
| 145 | +By default Rails will try to connect on postgresql through 5432 port, | |
| 146 | +you can check it on /etc/postgresql/8.4/main/postgresql.conf file. | |
| 147 | + | |
| 148 | +Restart postgresql: | |
| 149 | + | |
| 150 | +# invoke-rc.d postgresql restart | |
| 151 | + | |
| 152 | +Noosfero needs a functional e-mail setup to work: the local mail system should | |
| 153 | +be able to deliver e-mail to the internet, either directly or through an | |
| 154 | +external SMTP server. Please check the documentation at the INSTALL.email file. | |
| 155 | + | |
| 156 | +As noosfero user | |
| 157 | +================ | |
| 158 | + | |
| 159 | +Now create the databases: | |
| 160 | + | |
| 161 | +$ cd /var/lib/noosfero/current | |
| 162 | +$ createdb noosfero_production | |
| 163 | +$ createdb noosfero_development | |
| 164 | +$ createdb noosfero_test | |
| 165 | + | |
| 166 | +The development and test databases are actually optional. If you are creating a | |
| 167 | +stricly production server, you will probably not need them. | |
| 168 | + | |
| 169 | +Now we want to configure Noosfero for accessing the database we just created. | |
| 170 | +To do that, you can 1) copy config/database.yml.pgsql to config/database.yml, | |
| 171 | +or create config/database.yml from scratch with the following content: | |
| 172 | + | |
| 173 | + production: | |
| 174 | + adapter: postgresql | |
| 175 | + encoding: unicode | |
| 176 | + database: noosfero_production | |
| 177 | + username: noosfero | |
| 178 | + | |
| 179 | +Now, to test the database access, you can fire the Rails database console: | |
| 180 | + | |
| 181 | +$ ./script/dbconsole production | |
| 182 | + | |
| 183 | +If it connects to your database, then everything is fine. If you got an error | |
| 184 | +message, then you have to check your database configuration. | |
| 185 | + | |
| 186 | +Create the database structure: | |
| 187 | + | |
| 188 | +$ RAILS_ENV=production rake db:schema:load | |
| 189 | + | |
| 190 | +Compile the translations: | |
| 191 | + | |
| 192 | +$ RAILS_ENV=production rake noosfero:translations:compile | |
| 193 | + | |
| 194 | +Now we must create some initial data. To create your default environment | |
| 195 | +(the first one), run the command below: | |
| 196 | + | |
| 197 | +$ RAILS_ENV=production ./script/runner 'Environment.create!(:name => "My environment", :is_default => true)' | |
| 198 | + | |
| 199 | +(of course, replace "My environment" with your environment's name!) | |
| 200 | + | |
| 201 | +And now you have to add the domain name you will be using for your noosfero | |
| 202 | +site to the list of domains of that default environment you just created: | |
| 203 | + | |
| 204 | +$ RAILS_ENV=production ./script/runner "Environment.default.domains << Domain.new(:name => 'your.domain.com')" | |
| 205 | + | |
| 206 | +(replace "your.domain.com" with your actual domain name) | |
| 207 | + | |
| 208 | +Add at least one user as admin of environment: | |
| 209 | + | |
| 210 | +$ RAILS_ENV=production ./script/runner "User.create(:login => 'adminuser', :email => 'admin@example.com', :password => 'admin', :password_confirmation => 'admin', :environment => Environment.default, :activated_at => Time.new)" | |
| 211 | + | |
| 212 | +(replace "adminuser", "admin@example.com", "admin" with the login, email | |
| 213 | +and password of your environment administrator) | |
| 214 | + | |
| 215 | +To start the Noosfero application servers: | |
| 216 | + | |
| 217 | +$ ./script/production start | |
| 218 | + | |
| 219 | +At this point you have a functional Noosfero installation running, the only | |
| 220 | +thing left is to configure your webserver as a reverse proxy to pass requests | |
| 221 | +to them. | |
| 222 | + | |
| 223 | + | |
| 224 | +================== | |
| 225 | +Apache instalation | |
| 226 | +================== | |
| 227 | + | |
| 228 | +# apt-get install apache2 | |
| 229 | + | |
| 230 | +Apache configuration | |
| 231 | +-------------------- | |
| 232 | + | |
| 233 | +First you have to enable the following some apache modules: | |
| 234 | + | |
| 235 | + deflate | |
| 236 | + expires | |
| 237 | + proxy | |
| 238 | + proxy_balancer | |
| 239 | + proxy_http | |
| 240 | + rewrite | |
| 241 | + | |
| 242 | +On Debian GNU/Linux system, these modules can be enabled with the following | |
| 243 | +command line, as root: | |
| 244 | + | |
| 245 | +# a2enmod deflate expires proxy proxy_balancer proxy_http rewrite | |
| 246 | + | |
| 247 | +In other systems the way by which you enable apache modules may be different. | |
| 248 | + | |
| 249 | +Now with the Apache configuration. You can use the template below, replacing | |
| 250 | +/var/lib/noosfero/current with the directory in which your noosfero | |
| 251 | +installation is, your.domain.com with the domain name of your noosfero site. | |
| 252 | +We are assuming that you are running two thin instances on ports 3000 and | |
| 253 | +3001. If your setup is different you'll need to adjust <Proxy> section. If you | |
| 254 | +don't understand something in the configuration, please refer to the apache | |
| 255 | +documentation. | |
| 256 | + | |
| 257 | +Add a file called "mysite" (or whatever name you want to give to your noosfero | |
| 258 | +site) to /etc/apache2/sites-available with the following content, and customize | |
| 259 | +as needed (as usual, make sure you replace "your.domain.com" with you actual | |
| 260 | +domain name, and "/var/lib/noosfero/current" with the directory where Noosfero | |
| 261 | +is installed): | |
| 262 | + | |
| 263 | + <VirtualHost *:80> | |
| 264 | + ServerName your.domain.com | |
| 265 | + | |
| 266 | + DocumentRoot "/var/lib/noosfero/current/public" | |
| 267 | + <Directory "/var/lib/noosfero/current/public"> | |
| 268 | + Options FollowSymLinks | |
| 269 | + AllowOverride None | |
| 270 | + Order Allow,Deny | |
| 271 | + Allow from all | |
| 272 | + </Directory> | |
| 273 | + | |
| 274 | + RewriteEngine On | |
| 275 | + | |
| 276 | + # Rewrite index to check for static index.html | |
| 277 | + RewriteRule ^/$ /index.html [QSA] | |
| 278 | + | |
| 279 | + # Rewrite to check for Rails cached page | |
| 280 | + RewriteRule ^([^.]+)$ $1.html [QSA] | |
| 281 | + | |
| 282 | + RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | |
| 283 | + RewriteRule ^.*$ balancer://noosfero%{REQUEST_URI} [P,QSA,L] | |
| 284 | + | |
| 285 | + ErrorDocument 503 /503.html | |
| 286 | + | |
| 287 | + ErrorLog /var/log/apache2/noosfero.log | |
| 288 | + LogLevel warn | |
| 289 | + CustomLog /var/log/apache2/noosfero.access.log combined | |
| 290 | + | |
| 291 | + Include /var/lib/noosfero/current/etc/noosfero/apache/cache.conf | |
| 292 | + | |
| 293 | + </VirtualHost> | |
| 294 | + | |
| 295 | + <Proxy balancer://noosfero> | |
| 296 | + BalancerMember http://127.0.0.1:3000 | |
| 297 | + BalancerMember http://127.0.0.1:3001 | |
| 298 | + Order Allow,Deny | |
| 299 | + Allow from All | |
| 300 | + </Proxy> | |
| 301 | + | |
| 302 | +The cache.conf file included in the end of the <VirtualHost> section is | |
| 303 | +important, since it will tell apache to pass expiration and cache headers to | |
| 304 | +clients so that the site feels faster for users. Do we need to say that using | |
| 305 | +that configuration is strongly recommended? | |
| 306 | + | |
| 307 | +Enable that site with (as root, replace "mysite" with the actual name you gave | |
| 308 | +to your site configuration): | |
| 309 | + | |
| 310 | +# a2ensite mysite | |
| 311 | + | |
| 312 | +Now restart your apache server (as root): | |
| 313 | + | |
| 314 | +# invoke-rc.d apache2 restart | |
| 315 | + | |
| 316 | + | |
| 317 | +Enabling exception notifications | |
| 318 | +================================ | |
| 319 | + | |
| 320 | +This is an optional step. You will need it only if you want to receive e-mail | |
| 321 | +notifications when some exception occurs on Noosfero. | |
| 322 | + | |
| 323 | +First, install this version of the gem. | |
| 324 | +Others versions may not be compatible with Noosfero: | |
| 325 | + | |
| 326 | +# gem install exception_notification -v 1.0.20090728 | |
| 327 | + | |
| 328 | +You can configure the e-mails that will receive the notifications. | |
| 329 | +Change the file config/noosfero.yml as the following example, replacing the | |
| 330 | +e-mails by real ones: | |
| 331 | + | |
| 332 | + production: | |
| 333 | + exception_recipients: [admin@example.com, you@example.com] | |
| 334 | + | |
| 335 | + | |
| 336 | +============ | |
| 337 | +Maintainance | |
| 338 | +============ | |
| 339 | + | |
| 340 | +To ease the maintainance, install a symbolic link for the Noosfero startup | |
| 341 | +script in your server and add it to the system initialization and shutdown | |
| 342 | +sequences (as root): | |
| 343 | + | |
| 344 | +# ln -s /var/lib/noosfero/current/etc/init.d/noosfero /etc/init.d/noosfero | |
| 345 | +# update-rc.d noosfero defaults | |
| 346 | + Adding system startup for /etc/init.d/noosfero ... | |
| 347 | + /etc/rc0.d/K20noosfero -> ../init.d/noosfero | |
| 348 | + /etc/rc1.d/K20noosfero -> ../init.d/noosfero | |
| 349 | + /etc/rc6.d/K20noosfero -> ../init.d/noosfero | |
| 350 | + /etc/rc2.d/S20noosfero -> ../init.d/noosfero | |
| 351 | + /etc/rc3.d/S20noosfero -> ../init.d/noosfero | |
| 352 | + /etc/rc4.d/S20noosfero -> ../init.d/noosfero | |
| 353 | + /etc/rc5.d/S20noosfero -> ../init.d/noosfero | |
| 354 | + | |
| 355 | +Now to start Noosfero, you do as root: | |
| 356 | + | |
| 357 | +# invoke-rc.d noosfero start | |
| 358 | + | |
| 359 | +To stop Noosfero: | |
| 360 | + | |
| 361 | +# invoke-rc.d noosfero start | |
| 362 | + | |
| 363 | +To restart Noosfero: | |
| 364 | + | |
| 365 | +# invoke-rc.d noosfero restart | |
| 366 | + | |
| 367 | +Noosfero will be automatically started during system boot, and automatically | |
| 368 | +stopped if the system shuts down for some reason (or during the shutdown part | |
| 369 | +of a reboot). | |
| 370 | + | |
| 371 | +============= | |
| 372 | +Rotating logs | |
| 373 | +============= | |
| 374 | + | |
| 375 | +Noosfero provides an example logrotate configuation to rotate its logs. To use | |
| 376 | +it, create a symbolic link in /etc/logrotate.d/: | |
| 377 | + | |
| 378 | +# cd /etc/logrotate.d/ | |
| 379 | +# ln -s /var/lib/noosfero/current/etc/logrotate.d/noosfero | |
| 380 | + | |
| 381 | +Note that the provided file assumes Noosfero logging is being done in | |
| 382 | +/var/log/noosfero (which is the case if you followed the instructions above | |
| 383 | +correctly). If the logs are stored elsewhere, it's recommended that you copy | |
| 384 | +the file over to /etc/logrotate.d/ and modify it to point to your local log | |
| 385 | +directly. | |
| 386 | + | |
| 387 | +========= | |
| 388 | +Upgrading | |
| 389 | +========= | |
| 390 | + | |
| 391 | +If you followed the steps in this document and installed Noosfero from the git | |
| 392 | +repository, then upgrading is easy. First, you need to allow the noosfero user | |
| 393 | +to restart the memcached server with sudo, by adding the following line in | |
| 394 | +/etc/sudoers: | |
| 395 | + | |
| 396 | +noosfero ALL=NOPASSWD: /etc/init.d/memcached | |
| 397 | + | |
| 398 | +Then, to perform an upgrade, do the following as the noosfero user: | |
| 399 | + | |
| 400 | +$ cd /var/lib/noosfero/current | |
| 401 | +$ ./script/git-upgrade | |
| 402 | + | |
| 403 | +The git-upgrade script will take care of everything for you. It will first stop | |
| 404 | +the service, then fetch the current source code, upgrade database, compile | |
| 405 | +translations, and then start the service again. | |
| 406 | + | |
| 407 | +Note 1: make sure your local git repository is following the "stable" branch, | |
| 408 | +just like the instructions above. The "master" branch is not recommended for | |
| 409 | +use in production environments. | |
| 410 | + | |
| 411 | +Note 2: always read the release notes before upgrading. Sometimes there will be | |
| 412 | +steps that must be performed manually. If that is the case, you can invoke the | |
| 413 | +git-upgrade script with the special parameter "--shell" that will give you a | |
| 414 | +shell after the upgrade, which you can use to perform any manual steps | |
| 415 | +required: | |
| 416 | + | |
| 417 | +$ ./script/git-upgrade --shell | ... | ... |
INSTALL.multitenancy
| ... | ... | @@ -1,163 +0,0 @@ |
| 1 | -== Multitenancy support | |
| 2 | - | |
| 3 | -Multitenancy refers to a principle in software architecture where a | |
| 4 | -single instance of the software runs on a server, serving multiple | |
| 5 | -client organizations (tenants). Multitenancy is contrasted with a | |
| 6 | -multi-instance architecture where separate software instances (or | |
| 7 | -hardware systems) are set up for different client organizations. With | |
| 8 | -a multitenant architecture, a software application is designed to | |
| 9 | -virtually partition its data and configuration, and each client | |
| 10 | -organization works with a customized virtual application instance. | |
| 11 | - | |
| 12 | -Today this feature is available only for PostgreSQL databases. | |
| 13 | - | |
| 14 | -This document assumes that you have a new fully PostgresSQL default Noosfero | |
| 15 | -installation as explained at the INSTALL file. | |
| 16 | - | |
| 17 | -== Separated data | |
| 18 | - | |
| 19 | -The items below are separated for each hosted environment: | |
| 20 | - | |
| 21 | -* Uploaded files | |
| 22 | -* Database | |
| 23 | -* Solr index | |
| 24 | -* ActiveRecord#cache_key | |
| 25 | -* Feed updater | |
| 26 | -* Delayed Job Workers | |
| 27 | - | |
| 28 | -== Database configuration file | |
| 29 | - | |
| 30 | -The file config/database.yml must follow a structure in order to | |
| 31 | -achieve multitenancy support. In this example, we will set 3 | |
| 32 | -different environments: env1, env2 and env3. | |
| 33 | - | |
| 34 | -Each "hosted" environment must have an entry like this: | |
| 35 | - | |
| 36 | -env1_production: | |
| 37 | - adapter: postgresql | |
| 38 | - encoding: unicode | |
| 39 | - database: noosfero | |
| 40 | - schema_search_path: public | |
| 41 | - username: noosfero | |
| 42 | - domains: | |
| 43 | - - env1.com | |
| 44 | - - env1.org | |
| 45 | - | |
| 46 | -env2_production: | |
| 47 | - adapter: postgresql | |
| 48 | - encoding: unicode | |
| 49 | - database: noosfero | |
| 50 | - schema_search_path: env2 | |
| 51 | - username: noosfero | |
| 52 | - domains: | |
| 53 | - - env2.com | |
| 54 | - - env2.org | |
| 55 | - | |
| 56 | -env3_production: | |
| 57 | - adapter: postgresql | |
| 58 | - encoding: unicode | |
| 59 | - database: noosfero | |
| 60 | - schema_search_path: env3 | |
| 61 | - username: noosfero | |
| 62 | - domains: | |
| 63 | - - env3.com | |
| 64 | - - env3.net | |
| 65 | - | |
| 66 | -The "hosted" environments define, besides the schema_search_path, a | |
| 67 | -list of domains that, when accessed, tells which database the | |
| 68 | -application should use. Also, the environment name must end with | |
| 69 | -'_hosting', where 'hosting' is the name of the hosting environment. | |
| 70 | - | |
| 71 | -You must also tell the application which is the default environment. | |
| 72 | - | |
| 73 | -production: | |
| 74 | - env1_production | |
| 75 | - | |
| 76 | -On the example above there are only three hosted environments, but it | |
| 77 | -can be more than three. The schemas 'env2' and 'env3' must already | |
| 78 | -exist in the same database of the hosting environment. As postgres | |
| 79 | -user, you can create them typing: | |
| 80 | - | |
| 81 | -$ psql database_name -c "CREATE SCHEMA env2 AUTHORIZATION database_user" | |
| 82 | -$ psql database_name -c "CREATE SCHEMA env3 AUTHORIZATION database_user" | |
| 83 | - | |
| 84 | -Replace database_name and database_user above with your stuff. | |
| 85 | - | |
| 86 | -So, yet on this same example, when a user accesses http://env2.com or | |
| 87 | -http://env2.org, the Noosfero application running on production will | |
| 88 | -turn the database schema to 'env2'. When the access is from domains | |
| 89 | -http://env3.com or http://env3.net, the schema to be loaded will be | |
| 90 | -'env3'. | |
| 91 | - | |
| 92 | -There is an example of this file in config/database.yml.multitenancy | |
| 93 | - | |
| 94 | -== Preparing the database | |
| 95 | - | |
| 96 | -Now create the environments: | |
| 97 | - | |
| 98 | -$ RAILS_ENV=production rake multitenancy:create | |
| 99 | - | |
| 100 | -This command above will create the hosted environment files equal to | |
| 101 | -their hosting environment, here called 'production'. | |
| 102 | - | |
| 103 | -Run db:schema:load for each other environment: | |
| 104 | - | |
| 105 | -$ RAILS_ENV=env2_production rake db:schema:load | |
| 106 | -$ RAILS_ENV=env3_production rake db:schema:load | |
| 107 | - | |
| 108 | -Then run the migrations for the hosting environment, and it will | |
| 109 | -run for each of its hosted environments: | |
| 110 | - | |
| 111 | -RAILS_ENV=production rake db:migrate | |
| 112 | - | |
| 113 | -== Start Noosfero | |
| 114 | - | |
| 115 | -Run Noosfero init file as root: | |
| 116 | - | |
| 117 | -# invoke-rc.d noosfero start | |
| 118 | - | |
| 119 | -== Solr | |
| 120 | - | |
| 121 | -It's necessary to run only one instance of Solr. Don't worry | |
| 122 | -about this, Noosfero initializer had already done this for you. | |
| 123 | - | |
| 124 | -== Feed updater & Delayed job | |
| 125 | - | |
| 126 | -Just for your information, a daemon of feed-updater and delayed_job | |
| 127 | -must be running for each environment. Noosfero initializer do this, | |
| 128 | -relax. | |
| 129 | - | |
| 130 | -== Uploaded files | |
| 131 | - | |
| 132 | -When running with PostgreSQL, Noosfero uploads stuff to a folder named | |
| 133 | -the same way as the running schema. Inside the upload folder root, for | |
| 134 | -example, will be public/image_uploads/env2 and public/image_uploads/env3. | |
| 135 | - | |
| 136 | -== Adding multitenancy support to an existing Noosfero environment | |
| 137 | - | |
| 138 | -If you already have a Noosfero environment, you can turn it multitenant | |
| 139 | -by following the steps below in addition to the previous steps: | |
| 140 | - | |
| 141 | -1. Reindex your database | |
| 142 | - | |
| 143 | -Rebuild the Solr index by running the following task just | |
| 144 | -for your hosting environment, do this as noosfero user: | |
| 145 | - | |
| 146 | -$ RAILS_ENV=production rake multitenancy:reindex | |
| 147 | - | |
| 148 | -2. Move the uploaded files to the right place | |
| 149 | - | |
| 150 | -Add a directory with the same name as your schema name (by default this | |
| 151 | -name is 'public') in the root of each upload directory, for example, | |
| 152 | -public/articles/0000 will be moved to public/articles/public/0000. Do this | |
| 153 | -with the directories public/image_uploads, public/articles and public/thumbnails. | |
| 154 | - | |
| 155 | -3. Fix paths on activities | |
| 156 | - | |
| 157 | -The profile activities store static paths to the images, so it's necessary to fix | |
| 158 | -these paths. You can do this easily by setting an alias on your webserver. | |
| 159 | -On Apache you can add the three rules below, where 'public' is the schema name: | |
| 160 | - | |
| 161 | - RewriteRule ^/articles(.+) /articles/public$1 | |
| 162 | - RewriteRule ^/image_uploads(.+) /image_uploads/public$1 | |
| 163 | - RewriteRule ^/thumbnails(.+) /thumbnails/public$1 |
| ... | ... | @@ -0,0 +1,163 @@ |
| 1 | +== Multitenancy support | |
| 2 | + | |
| 3 | +Multitenancy refers to a principle in software architecture where a | |
| 4 | +single instance of the software runs on a server, serving multiple | |
| 5 | +client organizations (tenants). Multitenancy is contrasted with a | |
| 6 | +multi-instance architecture where separate software instances (or | |
| 7 | +hardware systems) are set up for different client organizations. With | |
| 8 | +a multitenant architecture, a software application is designed to | |
| 9 | +virtually partition its data and configuration, and each client | |
| 10 | +organization works with a customized virtual application instance. | |
| 11 | + | |
| 12 | +Today this feature is available only for PostgreSQL databases. | |
| 13 | + | |
| 14 | +This document assumes that you have a new fully PostgresSQL default Noosfero | |
| 15 | +installation as explained at the INSTALL file. | |
| 16 | + | |
| 17 | +== Separated data | |
| 18 | + | |
| 19 | +The items below are separated for each hosted environment: | |
| 20 | + | |
| 21 | +* Uploaded files | |
| 22 | +* Database | |
| 23 | +* Solr index | |
| 24 | +* ActiveRecord#cache_key | |
| 25 | +* Feed updater | |
| 26 | +* Delayed Job Workers | |
| 27 | + | |
| 28 | +== Database configuration file | |
| 29 | + | |
| 30 | +The file config/database.yml must follow a structure in order to | |
| 31 | +achieve multitenancy support. In this example, we will set 3 | |
| 32 | +different environments: env1, env2 and env3. | |
| 33 | + | |
| 34 | +Each "hosted" environment must have an entry like this: | |
| 35 | + | |
| 36 | +env1_production: | |
| 37 | + adapter: postgresql | |
| 38 | + encoding: unicode | |
| 39 | + database: noosfero | |
| 40 | + schema_search_path: public | |
| 41 | + username: noosfero | |
| 42 | + domains: | |
| 43 | + - env1.com | |
| 44 | + - env1.org | |
| 45 | + | |
| 46 | +env2_production: | |
| 47 | + adapter: postgresql | |
| 48 | + encoding: unicode | |
| 49 | + database: noosfero | |
| 50 | + schema_search_path: env2 | |
| 51 | + username: noosfero | |
| 52 | + domains: | |
| 53 | + - env2.com | |
| 54 | + - env2.org | |
| 55 | + | |
| 56 | +env3_production: | |
| 57 | + adapter: postgresql | |
| 58 | + encoding: unicode | |
| 59 | + database: noosfero | |
| 60 | + schema_search_path: env3 | |
| 61 | + username: noosfero | |
| 62 | + domains: | |
| 63 | + - env3.com | |
| 64 | + - env3.net | |
| 65 | + | |
| 66 | +The "hosted" environments define, besides the schema_search_path, a | |
| 67 | +list of domains that, when accessed, tells which database the | |
| 68 | +application should use. Also, the environment name must end with | |
| 69 | +'_hosting', where 'hosting' is the name of the hosting environment. | |
| 70 | + | |
| 71 | +You must also tell the application which is the default environment. | |
| 72 | + | |
| 73 | +production: | |
| 74 | + env1_production | |
| 75 | + | |
| 76 | +On the example above there are only three hosted environments, but it | |
| 77 | +can be more than three. The schemas 'env2' and 'env3' must already | |
| 78 | +exist in the same database of the hosting environment. As postgres | |
| 79 | +user, you can create them typing: | |
| 80 | + | |
| 81 | +$ psql database_name -c "CREATE SCHEMA env2 AUTHORIZATION database_user" | |
| 82 | +$ psql database_name -c "CREATE SCHEMA env3 AUTHORIZATION database_user" | |
| 83 | + | |
| 84 | +Replace database_name and database_user above with your stuff. | |
| 85 | + | |
| 86 | +So, yet on this same example, when a user accesses http://env2.com or | |
| 87 | +http://env2.org, the Noosfero application running on production will | |
| 88 | +turn the database schema to 'env2'. When the access is from domains | |
| 89 | +http://env3.com or http://env3.net, the schema to be loaded will be | |
| 90 | +'env3'. | |
| 91 | + | |
| 92 | +There is an example of this file in config/database.yml.multitenancy | |
| 93 | + | |
| 94 | +== Preparing the database | |
| 95 | + | |
| 96 | +Now create the environments: | |
| 97 | + | |
| 98 | +$ RAILS_ENV=production rake multitenancy:create | |
| 99 | + | |
| 100 | +This command above will create the hosted environment files equal to | |
| 101 | +their hosting environment, here called 'production'. | |
| 102 | + | |
| 103 | +Run db:schema:load for each other environment: | |
| 104 | + | |
| 105 | +$ RAILS_ENV=env2_production rake db:schema:load | |
| 106 | +$ RAILS_ENV=env3_production rake db:schema:load | |
| 107 | + | |
| 108 | +Then run the migrations for the hosting environment, and it will | |
| 109 | +run for each of its hosted environments: | |
| 110 | + | |
| 111 | +RAILS_ENV=production rake db:migrate | |
| 112 | + | |
| 113 | +== Start Noosfero | |
| 114 | + | |
| 115 | +Run Noosfero init file as root: | |
| 116 | + | |
| 117 | +# invoke-rc.d noosfero start | |
| 118 | + | |
| 119 | +== Solr | |
| 120 | + | |
| 121 | +It's necessary to run only one instance of Solr. Don't worry | |
| 122 | +about this, Noosfero initializer had already done this for you. | |
| 123 | + | |
| 124 | +== Feed updater & Delayed job | |
| 125 | + | |
| 126 | +Just for your information, a daemon of feed-updater and delayed_job | |
| 127 | +must be running for each environment. Noosfero initializer do this, | |
| 128 | +relax. | |
| 129 | + | |
| 130 | +== Uploaded files | |
| 131 | + | |
| 132 | +When running with PostgreSQL, Noosfero uploads stuff to a folder named | |
| 133 | +the same way as the running schema. Inside the upload folder root, for | |
| 134 | +example, will be public/image_uploads/env2 and public/image_uploads/env3. | |
| 135 | + | |
| 136 | +== Adding multitenancy support to an existing Noosfero environment | |
| 137 | + | |
| 138 | +If you already have a Noosfero environment, you can turn it multitenant | |
| 139 | +by following the steps below in addition to the previous steps: | |
| 140 | + | |
| 141 | +1. Reindex your database | |
| 142 | + | |
| 143 | +Rebuild the Solr index by running the following task just | |
| 144 | +for your hosting environment, do this as noosfero user: | |
| 145 | + | |
| 146 | +$ RAILS_ENV=production rake multitenancy:reindex | |
| 147 | + | |
| 148 | +2. Move the uploaded files to the right place | |
| 149 | + | |
| 150 | +Add a directory with the same name as your schema name (by default this | |
| 151 | +name is 'public') in the root of each upload directory, for example, | |
| 152 | +public/articles/0000 will be moved to public/articles/public/0000. Do this | |
| 153 | +with the directories public/image_uploads, public/articles and public/thumbnails. | |
| 154 | + | |
| 155 | +3. Fix paths on activities | |
| 156 | + | |
| 157 | +The profile activities store static paths to the images, so it's necessary to fix | |
| 158 | +these paths. You can do this easily by setting an alias on your webserver. | |
| 159 | +On Apache you can add the three rules below, where 'public' is the schema name: | |
| 160 | + | |
| 161 | + RewriteRule ^/articles(.+) /articles/public$1 | |
| 162 | + RewriteRule ^/image_uploads(.+) /image_uploads/public$1 | |
| 163 | + RewriteRule ^/thumbnails(.+) /thumbnails/public$1 | ... | ... |
INSTALL.varnish
| ... | ... | @@ -1,71 +0,0 @@ |
| 1 | -= Setting up Varnish for your Noosfero site | |
| 2 | - | |
| 3 | -Varnish is a HTTP caching server, and using it together with Noosfero is highly | |
| 4 | -recommended. See http://www.varnish-cache.org/ for more information on Varnish. | |
| 5 | - | |
| 6 | -Varnish can be set up to use with Noosfero with the following steps: | |
| 7 | - | |
| 8 | -1) setup Noosfero with apache according to the INSTALL file. If you used the | |
| 9 | -Debian package to install noosfero, you don't need to do anything about this. | |
| 10 | - | |
| 11 | -2) install Varnish | |
| 12 | - | |
| 13 | - # apt-get install varnish | |
| 14 | - | |
| 15 | -Install the RPAF apache module (or skip this step if not using apache): | |
| 16 | - | |
| 17 | - # apt-get install libapache2-mod-rpaf | |
| 18 | - | |
| 19 | -3) Change Apache to listen on port 8080 instead of 80 | |
| 20 | - | |
| 21 | -3a) Edit /etc/apache2/ports.conf, and: | |
| 22 | - | |
| 23 | - * change 'NameVirtualHost *:80' to 'NameVirtualHost *:8080' | |
| 24 | - * change 'Listen 80' to 'Listen 127.0.0.1:8080' | |
| 25 | - | |
| 26 | -3b) Edit /etc/apache2/sites-enabled/*, and change '<VirtualHost *:80>' to | |
| 27 | -'<VirtualHost *:8080>' | |
| 28 | - | |
| 29 | -3c) Restart apache | |
| 30 | - | |
| 31 | - # invoke-rc.d apache2 restart | |
| 32 | - | |
| 33 | -4) Varnish configuration | |
| 34 | - | |
| 35 | -4a) Edit /etc/default/varnish | |
| 36 | - | |
| 37 | - * change the line that says "START=no" to say "START=yes" | |
| 38 | - * change '-a :6081' to '-a :80' | |
| 39 | - | |
| 40 | -4b) Edit /etc/varnish/default.vcl and add the following lines at the end: | |
| 41 | - | |
| 42 | - include "/etc/noosfero/varnish-noosfero.vcl"; | |
| 43 | - include "/etc/noosfero/varnish-accept-language.vcl"; | |
| 44 | - | |
| 45 | -On manual installations, change "/etc/noosfero/*" to | |
| 46 | -"{Rails.root}/etc/noosfero/*" | |
| 47 | - | |
| 48 | -NOTE: it is very important that the *.vcl files are included in that order, | |
| 49 | -i.e. *first* include "varnish-noosfero.vcl", and *after* | |
| 50 | -"noosfero-accept-language.cvl". | |
| 51 | - | |
| 52 | -4c) Restart Varnish | |
| 53 | - | |
| 54 | - # invoke-rc.d varnish restart | |
| 55 | - | |
| 56 | -5) Enable varnish logging: | |
| 57 | - | |
| 58 | -5a) Edit /etc/default/varnishncsa and uncomment the line that contains: | |
| 59 | - | |
| 60 | -VARNISHNCSA_ENABLED=1 | |
| 61 | - | |
| 62 | -The varnish log will be written to /var/log/varnish/varnishncsa.log in an | |
| 63 | -apache-compatible format. You should change your statistics generation software | |
| 64 | -(e.g. awstats) to use that instead of apache logs. | |
| 65 | - | |
| 66 | -5b) Restart Varnish Logging service | |
| 67 | - | |
| 68 | - # invoke-rc.d varnishncsa restart | |
| 69 | - | |
| 70 | -Thanks to Cosimo Streppone for varnish-accept-language. See | |
| 71 | -http://github.com/cosimo/varnish-accept-language for more information. |
| ... | ... | @@ -0,0 +1,71 @@ |
| 1 | += Setting up Varnish for your Noosfero site | |
| 2 | + | |
| 3 | +Varnish is a HTTP caching server, and using it together with Noosfero is highly | |
| 4 | +recommended. See http://www.varnish-cache.org/ for more information on Varnish. | |
| 5 | + | |
| 6 | +Varnish can be set up to use with Noosfero with the following steps: | |
| 7 | + | |
| 8 | +1) setup Noosfero with apache according to the INSTALL file. If you used the | |
| 9 | +Debian package to install noosfero, you don't need to do anything about this. | |
| 10 | + | |
| 11 | +2) install Varnish | |
| 12 | + | |
| 13 | + # apt-get install varnish | |
| 14 | + | |
| 15 | +Install the RPAF apache module (or skip this step if not using apache): | |
| 16 | + | |
| 17 | + # apt-get install libapache2-mod-rpaf | |
| 18 | + | |
| 19 | +3) Change Apache to listen on port 8080 instead of 80 | |
| 20 | + | |
| 21 | +3a) Edit /etc/apache2/ports.conf, and: | |
| 22 | + | |
| 23 | + * change 'NameVirtualHost *:80' to 'NameVirtualHost *:8080' | |
| 24 | + * change 'Listen 80' to 'Listen 127.0.0.1:8080' | |
| 25 | + | |
| 26 | +3b) Edit /etc/apache2/sites-enabled/*, and change '<VirtualHost *:80>' to | |
| 27 | +'<VirtualHost *:8080>' | |
| 28 | + | |
| 29 | +3c) Restart apache | |
| 30 | + | |
| 31 | + # invoke-rc.d apache2 restart | |
| 32 | + | |
| 33 | +4) Varnish configuration | |
| 34 | + | |
| 35 | +4a) Edit /etc/default/varnish | |
| 36 | + | |
| 37 | + * change the line that says "START=no" to say "START=yes" | |
| 38 | + * change '-a :6081' to '-a :80' | |
| 39 | + | |
| 40 | +4b) Edit /etc/varnish/default.vcl and add the following lines at the end: | |
| 41 | + | |
| 42 | + include "/etc/noosfero/varnish-noosfero.vcl"; | |
| 43 | + include "/etc/noosfero/varnish-accept-language.vcl"; | |
| 44 | + | |
| 45 | +On manual installations, change "/etc/noosfero/*" to | |
| 46 | +"{Rails.root}/etc/noosfero/*" | |
| 47 | + | |
| 48 | +NOTE: it is very important that the *.vcl files are included in that order, | |
| 49 | +i.e. *first* include "varnish-noosfero.vcl", and *after* | |
| 50 | +"noosfero-accept-language.cvl". | |
| 51 | + | |
| 52 | +4c) Restart Varnish | |
| 53 | + | |
| 54 | + # invoke-rc.d varnish restart | |
| 55 | + | |
| 56 | +5) Enable varnish logging: | |
| 57 | + | |
| 58 | +5a) Edit /etc/default/varnishncsa and uncomment the line that contains: | |
| 59 | + | |
| 60 | +VARNISHNCSA_ENABLED=1 | |
| 61 | + | |
| 62 | +The varnish log will be written to /var/log/varnish/varnishncsa.log in an | |
| 63 | +apache-compatible format. You should change your statistics generation software | |
| 64 | +(e.g. awstats) to use that instead of apache logs. | |
| 65 | + | |
| 66 | +5b) Restart Varnish Logging service | |
| 67 | + | |
| 68 | + # invoke-rc.d varnishncsa restart | |
| 69 | + | |
| 70 | +Thanks to Cosimo Streppone for varnish-accept-language. See | |
| 71 | +http://github.com/cosimo/varnish-accept-language for more information. | ... | ... |
README
| ... | ... | @@ -1,33 +0,0 @@ |
| 1 | -Noosfero - a web-based social platform | |
| 2 | -====================================== | |
| 3 | - | |
| 4 | -http://www.noosfero.org/ | |
| 5 | - | |
| 6 | -Documentation | |
| 7 | -------------- | |
| 8 | - | |
| 9 | -The following documentation is available: | |
| 10 | - | |
| 11 | -File Purpose | |
| 12 | -~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 13 | -INSTALL install instructions | |
| 14 | -INSTALL.awstats install instructions - access statistics service | |
| 15 | -INSTALL.chat install instructions - chat service | |
| 16 | -INSTALL.email install instructions - email service | |
| 17 | -INSTALL.multitenancy install instructions - multiple sites | |
| 18 | -INSTALL.varnish install instructions - varnish HTTP caching (recommended) | |
| 19 | -HACKING development instruction | |
| 20 | -RELEASING instructions for doing releases | |
| 21 | -doc/noosfero/* user documentation (available through the app itself) | |
| 22 | - | |
| 23 | - | |
| 24 | -Authors and copyright | |
| 25 | ---------------------- | |
| 26 | - | |
| 27 | -Authorship and copyright information is available in the files listed below. | |
| 28 | - | |
| 29 | -File Purpose | |
| 30 | -~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 31 | -AUTHORS list of authors (updated at each release) | |
| 32 | -COPYRIGHT Copyright statement for the project | |
| 33 | -COPYING Full text of the project license |
| ... | ... | @@ -0,0 +1,33 @@ |
| 1 | +Noosfero - a web-based social platform | |
| 2 | +====================================== | |
| 3 | + | |
| 4 | +http://www.noosfero.org/ | |
| 5 | + | |
| 6 | +Documentation | |
| 7 | +------------- | |
| 8 | + | |
| 9 | +The following documentation is available: | |
| 10 | + | |
| 11 | +File Purpose | |
| 12 | +~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 13 | +INSTALL install instructions | |
| 14 | +INSTALL.awstats install instructions - access statistics service | |
| 15 | +INSTALL.chat install instructions - chat service | |
| 16 | +INSTALL.email install instructions - email service | |
| 17 | +INSTALL.multitenancy install instructions - multiple sites | |
| 18 | +INSTALL.varnish install instructions - varnish HTTP caching (recommended) | |
| 19 | +HACKING development instruction | |
| 20 | +RELEASING instructions for doing releases | |
| 21 | +doc/noosfero/* user documentation (available through the app itself) | |
| 22 | + | |
| 23 | + | |
| 24 | +Authors and copyright | |
| 25 | +--------------------- | |
| 26 | + | |
| 27 | +Authorship and copyright information is available in the files listed below. | |
| 28 | + | |
| 29 | +File Purpose | |
| 30 | +~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 31 | +AUTHORS list of authors (updated at each release) | |
| 32 | +COPYRIGHT Copyright statement for the project | |
| 33 | +COPYING Full text of the project license | ... | ... |
README.rails
| ... | ... | @@ -1,183 +0,0 @@ |
| 1 | -== Welcome to Rails | |
| 2 | - | |
| 3 | -Rails is a web-application and persistence framework that includes everything | |
| 4 | -needed to create database-backed web-applications according to the | |
| 5 | -Model-View-Control pattern of separation. This pattern splits the view (also | |
| 6 | -called the presentation) into "dumb" templates that are primarily responsible | |
| 7 | -for inserting pre-built data in between HTML tags. The model contains the | |
| 8 | -"smart" domain objects (such as Account, Product, Person, Post) that holds all | |
| 9 | -the business logic and knows how to persist themselves to a database. The | |
| 10 | -controller handles the incoming requests (such as Save New Account, Update | |
| 11 | -Product, Show Post) by manipulating the model and directing data to the view. | |
| 12 | - | |
| 13 | -In Rails, the model is handled by what's called an object-relational mapping | |
| 14 | -layer entitled Active Record. This layer allows you to present the data from | |
| 15 | -database rows as objects and embellish these data objects with business logic | |
| 16 | -methods. You can read more about Active Record in | |
| 17 | -link:files/vendor/rails/activerecord/README.html. | |
| 18 | - | |
| 19 | -The controller and view are handled by the Action Pack, which handles both | |
| 20 | -layers by its two parts: Action View and Action Controller. These two layers | |
| 21 | -are bundled in a single package due to their heavy interdependence. This is | |
| 22 | -unlike the relationship between the Active Record and Action Pack that is much | |
| 23 | -more separate. Each of these packages can be used independently outside of | |
| 24 | -Rails. You can read more about Action Pack in | |
| 25 | -link:files/vendor/rails/actionpack/README.html. | |
| 26 | - | |
| 27 | - | |
| 28 | -== Getting started | |
| 29 | - | |
| 30 | -1. Start the web server: <tt>ruby script/server</tt> (run with --help for options) | |
| 31 | -2. Go to http://localhost:3000/ and get "Welcome aboard: You’re riding the Rails!" | |
| 32 | -3. Follow the guidelines to start developing your application | |
| 33 | - | |
| 34 | - | |
| 35 | -== Web servers | |
| 36 | - | |
| 37 | -Rails uses the built-in web server in Ruby called WEBrick by default, so you don't | |
| 38 | -have to install or configure anything to play around. | |
| 39 | - | |
| 40 | -If you have lighttpd installed, though, it'll be used instead when running script/server. | |
| 41 | -It's considerably faster than WEBrick and suited for production use, but requires additional | |
| 42 | -installation and currently only works well on OS X/Unix (Windows users are encouraged | |
| 43 | -to start with WEBrick). We recommend version 1.4.11 and higher. You can download it from | |
| 44 | -http://www.lighttpd.net. | |
| 45 | - | |
| 46 | -If you want something that's halfway between WEBrick and lighttpd, we heartily recommend | |
| 47 | -Mongrel. It's a Ruby-based web server with a C-component (so it requires compilation) that | |
| 48 | -also works very well with Windows. See more at http://mongrel.rubyforge.org/. | |
| 49 | - | |
| 50 | -But of course its also possible to run Rails with the premiere open source web server Apache. | |
| 51 | -To get decent performance, though, you'll need to install FastCGI. For Apache 1.3, you want | |
| 52 | -to use mod_fastcgi. For Apache 2.0+, you want to use mod_fcgid. | |
| 53 | - | |
| 54 | -See http://wiki.rubyonrails.com/rails/pages/FastCGI for more information on FastCGI. | |
| 55 | - | |
| 56 | -== Example for Apache conf | |
| 57 | - | |
| 58 | - <VirtualHost *:80> | |
| 59 | - ServerName rails | |
| 60 | - DocumentRoot /path/application/public/ | |
| 61 | - ErrorLog /path/application/log/server.log | |
| 62 | - | |
| 63 | - <Directory /path/application/public/> | |
| 64 | - Options ExecCGI FollowSymLinks | |
| 65 | - AllowOverride all | |
| 66 | - Allow from all | |
| 67 | - Order allow,deny | |
| 68 | - </Directory> | |
| 69 | - </VirtualHost> | |
| 70 | - | |
| 71 | -NOTE: Be sure that CGIs can be executed in that directory as well. So ExecCGI | |
| 72 | -should be on and ".cgi" should respond. All requests from 127.0.0.1 go | |
| 73 | -through CGI, so no Apache restart is necessary for changes. All other requests | |
| 74 | -go through FCGI (or mod_ruby), which requires a restart to show changes. | |
| 75 | - | |
| 76 | - | |
| 77 | -== Debugging Rails | |
| 78 | - | |
| 79 | -Have "tail -f" commands running on both the server.log, production.log, and | |
| 80 | -test.log files. Rails will automatically display debugging and runtime | |
| 81 | -information to these files. Debugging info will also be shown in the browser | |
| 82 | -on requests from 127.0.0.1. | |
| 83 | - | |
| 84 | - | |
| 85 | -== Breakpoints | |
| 86 | - | |
| 87 | -Breakpoint support is available through the script/breakpointer client. This | |
| 88 | -means that you can break out of execution at any point in the code, investigate | |
| 89 | -and change the model, AND then resume execution! Example: | |
| 90 | - | |
| 91 | - class WeblogController < ActionController::Base | |
| 92 | - def index | |
| 93 | - @posts = Post.find_all | |
| 94 | - breakpoint "Breaking out from the list" | |
| 95 | - end | |
| 96 | - end | |
| 97 | - | |
| 98 | -So the controller will accept the action, run the first line, then present you | |
| 99 | -with a IRB prompt in the breakpointer window. Here you can do things like: | |
| 100 | - | |
| 101 | -Executing breakpoint "Breaking out from the list" at .../webrick_server.rb:16 in 'breakpoint' | |
| 102 | - | |
| 103 | - >> @posts.inspect | |
| 104 | - => "[#<Post:0x14a6be8 @attributes={\"title\"=>nil, \"body\"=>nil, \"id\"=>\"1\"}>, | |
| 105 | - #<Post:0x14a6620 @attributes={\"title\"=>\"Rails you know!\", \"body\"=>\"Only ten..\", \"id\"=>\"2\"}>]" | |
| 106 | - >> @posts.first.title = "hello from a breakpoint" | |
| 107 | - => "hello from a breakpoint" | |
| 108 | - | |
| 109 | -...and even better is that you can examine how your runtime objects actually work: | |
| 110 | - | |
| 111 | - >> f = @posts.first | |
| 112 | - => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}> | |
| 113 | - >> f. | |
| 114 | - Display all 152 possibilities? (y or n) | |
| 115 | - | |
| 116 | -Finally, when you're ready to resume execution, you press CTRL-D | |
| 117 | - | |
| 118 | - | |
| 119 | -== Console | |
| 120 | - | |
| 121 | -You can interact with the domain model by starting the console through script/console. | |
| 122 | -Here you'll have all parts of the application configured, just like it is when the | |
| 123 | -application is running. You can inspect domain models, change values, and save to the | |
| 124 | -database. Starting the script without arguments will launch it in the development environment. | |
| 125 | -Passing an argument will specify a different environment, like <tt>script/console production</tt>. | |
| 126 | - | |
| 127 | -To reload your controllers and models after launching the console run <tt>reload!</tt> | |
| 128 | - | |
| 129 | - | |
| 130 | - | |
| 131 | -== Description of contents | |
| 132 | - | |
| 133 | -app | |
| 134 | - Holds all the code that's specific to this particular application. | |
| 135 | - | |
| 136 | -app/controllers | |
| 137 | - Holds controllers that should be named like weblog_controller.rb for | |
| 138 | - automated URL mapping. All controllers should descend from | |
| 139 | - ActionController::Base. | |
| 140 | - | |
| 141 | -app/models | |
| 142 | - Holds models that should be named like post.rb. | |
| 143 | - Most models will descend from ActiveRecord::Base. | |
| 144 | - | |
| 145 | -app/views | |
| 146 | - Holds the template files for the view that should be named like | |
| 147 | - weblog/index.rhtml for the WeblogController#index action. All views use eRuby | |
| 148 | - syntax. This directory can also be used to keep stylesheets, images, and so on | |
| 149 | - that can be symlinked to public. | |
| 150 | - | |
| 151 | -app/helpers | |
| 152 | - Holds view helpers that should be named like weblog_helper.rb. | |
| 153 | - | |
| 154 | -app/apis | |
| 155 | - Holds API classes for web services. | |
| 156 | - | |
| 157 | -config | |
| 158 | - Configuration files for the Rails environment, the routing map, the database, and other dependencies. | |
| 159 | - | |
| 160 | -components | |
| 161 | - Self-contained mini-applications that can bundle together controllers, models, and views. | |
| 162 | - | |
| 163 | -db | |
| 164 | - Contains the database schema in schema.rb. db/migrate contains all | |
| 165 | - the sequence of Migrations for your schema. | |
| 166 | - | |
| 167 | -lib | |
| 168 | - Application specific libraries. Basically, any kind of custom code that doesn't | |
| 169 | - belong under controllers, models, or helpers. This directory is in the load path. | |
| 170 | - | |
| 171 | -public | |
| 172 | - The directory available for the web server. Contains subdirectories for images, stylesheets, | |
| 173 | - and javascripts. Also contains the dispatchers and the default HTML files. | |
| 174 | - | |
| 175 | -script | |
| 176 | - Helper scripts for automation and generation. | |
| 177 | - | |
| 178 | -test | |
| 179 | - Unit and functional tests along with fixtures. | |
| 180 | - | |
| 181 | -vendor | |
| 182 | - External libraries that the application depends on. Also includes the plugins subdirectory. | |
| 183 | - This directory is in the load path. |
| ... | ... | @@ -0,0 +1,183 @@ |
| 1 | +== Welcome to Rails | |
| 2 | + | |
| 3 | +Rails is a web-application and persistence framework that includes everything | |
| 4 | +needed to create database-backed web-applications according to the | |
| 5 | +Model-View-Control pattern of separation. This pattern splits the view (also | |
| 6 | +called the presentation) into "dumb" templates that are primarily responsible | |
| 7 | +for inserting pre-built data in between HTML tags. The model contains the | |
| 8 | +"smart" domain objects (such as Account, Product, Person, Post) that holds all | |
| 9 | +the business logic and knows how to persist themselves to a database. The | |
| 10 | +controller handles the incoming requests (such as Save New Account, Update | |
| 11 | +Product, Show Post) by manipulating the model and directing data to the view. | |
| 12 | + | |
| 13 | +In Rails, the model is handled by what's called an object-relational mapping | |
| 14 | +layer entitled Active Record. This layer allows you to present the data from | |
| 15 | +database rows as objects and embellish these data objects with business logic | |
| 16 | +methods. You can read more about Active Record in | |
| 17 | +link:files/vendor/rails/activerecord/README.html. | |
| 18 | + | |
| 19 | +The controller and view are handled by the Action Pack, which handles both | |
| 20 | +layers by its two parts: Action View and Action Controller. These two layers | |
| 21 | +are bundled in a single package due to their heavy interdependence. This is | |
| 22 | +unlike the relationship between the Active Record and Action Pack that is much | |
| 23 | +more separate. Each of these packages can be used independently outside of | |
| 24 | +Rails. You can read more about Action Pack in | |
| 25 | +link:files/vendor/rails/actionpack/README.html. | |
| 26 | + | |
| 27 | + | |
| 28 | +== Getting started | |
| 29 | + | |
| 30 | +1. Start the web server: <tt>ruby script/server</tt> (run with --help for options) | |
| 31 | +2. Go to http://localhost:3000/ and get "Welcome aboard: You’re riding the Rails!" | |
| 32 | +3. Follow the guidelines to start developing your application | |
| 33 | + | |
| 34 | + | |
| 35 | +== Web servers | |
| 36 | + | |
| 37 | +Rails uses the built-in web server in Ruby called WEBrick by default, so you don't | |
| 38 | +have to install or configure anything to play around. | |
| 39 | + | |
| 40 | +If you have lighttpd installed, though, it'll be used instead when running script/server. | |
| 41 | +It's considerably faster than WEBrick and suited for production use, but requires additional | |
| 42 | +installation and currently only works well on OS X/Unix (Windows users are encouraged | |
| 43 | +to start with WEBrick). We recommend version 1.4.11 and higher. You can download it from | |
| 44 | +http://www.lighttpd.net. | |
| 45 | + | |
| 46 | +If you want something that's halfway between WEBrick and lighttpd, we heartily recommend | |
| 47 | +Mongrel. It's a Ruby-based web server with a C-component (so it requires compilation) that | |
| 48 | +also works very well with Windows. See more at http://mongrel.rubyforge.org/. | |
| 49 | + | |
| 50 | +But of course its also possible to run Rails with the premiere open source web server Apache. | |
| 51 | +To get decent performance, though, you'll need to install FastCGI. For Apache 1.3, you want | |
| 52 | +to use mod_fastcgi. For Apache 2.0+, you want to use mod_fcgid. | |
| 53 | + | |
| 54 | +See http://wiki.rubyonrails.com/rails/pages/FastCGI for more information on FastCGI. | |
| 55 | + | |
| 56 | +== Example for Apache conf | |
| 57 | + | |
| 58 | + <VirtualHost *:80> | |
| 59 | + ServerName rails | |
| 60 | + DocumentRoot /path/application/public/ | |
| 61 | + ErrorLog /path/application/log/server.log | |
| 62 | + | |
| 63 | + <Directory /path/application/public/> | |
| 64 | + Options ExecCGI FollowSymLinks | |
| 65 | + AllowOverride all | |
| 66 | + Allow from all | |
| 67 | + Order allow,deny | |
| 68 | + </Directory> | |
| 69 | + </VirtualHost> | |
| 70 | + | |
| 71 | +NOTE: Be sure that CGIs can be executed in that directory as well. So ExecCGI | |
| 72 | +should be on and ".cgi" should respond. All requests from 127.0.0.1 go | |
| 73 | +through CGI, so no Apache restart is necessary for changes. All other requests | |
| 74 | +go through FCGI (or mod_ruby), which requires a restart to show changes. | |
| 75 | + | |
| 76 | + | |
| 77 | +== Debugging Rails | |
| 78 | + | |
| 79 | +Have "tail -f" commands running on both the server.log, production.log, and | |
| 80 | +test.log files. Rails will automatically display debugging and runtime | |
| 81 | +information to these files. Debugging info will also be shown in the browser | |
| 82 | +on requests from 127.0.0.1. | |
| 83 | + | |
| 84 | + | |
| 85 | +== Breakpoints | |
| 86 | + | |
| 87 | +Breakpoint support is available through the script/breakpointer client. This | |
| 88 | +means that you can break out of execution at any point in the code, investigate | |
| 89 | +and change the model, AND then resume execution! Example: | |
| 90 | + | |
| 91 | + class WeblogController < ActionController::Base | |
| 92 | + def index | |
| 93 | + @posts = Post.find_all | |
| 94 | + breakpoint "Breaking out from the list" | |
| 95 | + end | |
| 96 | + end | |
| 97 | + | |
| 98 | +So the controller will accept the action, run the first line, then present you | |
| 99 | +with a IRB prompt in the breakpointer window. Here you can do things like: | |
| 100 | + | |
| 101 | +Executing breakpoint "Breaking out from the list" at .../webrick_server.rb:16 in 'breakpoint' | |
| 102 | + | |
| 103 | + >> @posts.inspect | |
| 104 | + => "[#<Post:0x14a6be8 @attributes={\"title\"=>nil, \"body\"=>nil, \"id\"=>\"1\"}>, | |
| 105 | + #<Post:0x14a6620 @attributes={\"title\"=>\"Rails you know!\", \"body\"=>\"Only ten..\", \"id\"=>\"2\"}>]" | |
| 106 | + >> @posts.first.title = "hello from a breakpoint" | |
| 107 | + => "hello from a breakpoint" | |
| 108 | + | |
| 109 | +...and even better is that you can examine how your runtime objects actually work: | |
| 110 | + | |
| 111 | + >> f = @posts.first | |
| 112 | + => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}> | |
| 113 | + >> f. | |
| 114 | + Display all 152 possibilities? (y or n) | |
| 115 | + | |
| 116 | +Finally, when you're ready to resume execution, you press CTRL-D | |
| 117 | + | |
| 118 | + | |
| 119 | +== Console | |
| 120 | + | |
| 121 | +You can interact with the domain model by starting the console through script/console. | |
| 122 | +Here you'll have all parts of the application configured, just like it is when the | |
| 123 | +application is running. You can inspect domain models, change values, and save to the | |
| 124 | +database. Starting the script without arguments will launch it in the development environment. | |
| 125 | +Passing an argument will specify a different environment, like <tt>script/console production</tt>. | |
| 126 | + | |
| 127 | +To reload your controllers and models after launching the console run <tt>reload!</tt> | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | +== Description of contents | |
| 132 | + | |
| 133 | +app | |
| 134 | + Holds all the code that's specific to this particular application. | |
| 135 | + | |
| 136 | +app/controllers | |
| 137 | + Holds controllers that should be named like weblog_controller.rb for | |
| 138 | + automated URL mapping. All controllers should descend from | |
| 139 | + ActionController::Base. | |
| 140 | + | |
| 141 | +app/models | |
| 142 | + Holds models that should be named like post.rb. | |
| 143 | + Most models will descend from ActiveRecord::Base. | |
| 144 | + | |
| 145 | +app/views | |
| 146 | + Holds the template files for the view that should be named like | |
| 147 | + weblog/index.rhtml for the WeblogController#index action. All views use eRuby | |
| 148 | + syntax. This directory can also be used to keep stylesheets, images, and so on | |
| 149 | + that can be symlinked to public. | |
| 150 | + | |
| 151 | +app/helpers | |
| 152 | + Holds view helpers that should be named like weblog_helper.rb. | |
| 153 | + | |
| 154 | +app/apis | |
| 155 | + Holds API classes for web services. | |
| 156 | + | |
| 157 | +config | |
| 158 | + Configuration files for the Rails environment, the routing map, the database, and other dependencies. | |
| 159 | + | |
| 160 | +components | |
| 161 | + Self-contained mini-applications that can bundle together controllers, models, and views. | |
| 162 | + | |
| 163 | +db | |
| 164 | + Contains the database schema in schema.rb. db/migrate contains all | |
| 165 | + the sequence of Migrations for your schema. | |
| 166 | + | |
| 167 | +lib | |
| 168 | + Application specific libraries. Basically, any kind of custom code that doesn't | |
| 169 | + belong under controllers, models, or helpers. This directory is in the load path. | |
| 170 | + | |
| 171 | +public | |
| 172 | + The directory available for the web server. Contains subdirectories for images, stylesheets, | |
| 173 | + and javascripts. Also contains the dispatchers and the default HTML files. | |
| 174 | + | |
| 175 | +script | |
| 176 | + Helper scripts for automation and generation. | |
| 177 | + | |
| 178 | +test | |
| 179 | + Unit and functional tests along with fixtures. | |
| 180 | + | |
| 181 | +vendor | |
| 182 | + External libraries that the application depends on. Also includes the plugins subdirectory. | |
| 183 | + This directory is in the load path. | ... | ... |
RELEASING
| ... | ... | @@ -1,40 +0,0 @@ |
| 1 | -= Noosfero release tasks | |
| 2 | - | |
| 3 | -This file documents release-related activities. | |
| 4 | - | |
| 5 | -== Working with translations | |
| 6 | - | |
| 7 | -* Update translation files: <tt>rake updatepo</tt>. Then <tt>git commit</tt> them. | |
| 8 | -* Send the PO files to the translators. | |
| 9 | -* Get the PO files back from translators, put in po/ under the correct language | |
| 10 | - name (e.,g. po/pt_BR/) and <tt>git commit</tt>. | |
| 11 | -* test translations: <tt>rake makemo</tt> and browse the application on the web. | |
| 12 | - | |
| 13 | -== Releasing noosfero | |
| 14 | - | |
| 15 | -Considering you are on a Debian GNU/Linux or Debian-based system | |
| 16 | - # apt-get install devscripts debhelper | |
| 17 | - | |
| 18 | -To prepare a release of noosfero, you must follow the steps below: | |
| 19 | - | |
| 20 | -* Finish all requirements and bugs assigned to the to-be-released version | |
| 21 | -* Make sure all tests pass | |
| 22 | -* Write release notes at the version's wiki topic | |
| 23 | -* Generate packages with <tt>rake noosfero:release[(stable|test)]</tt>. This task will: | |
| 24 | - * Update the version in lib/noosfero.rb and debian/changelog. | |
| 25 | - * Create the tarbal and the deb pkg under pkg/ directory. | |
| 26 | - * Create a git tag and push it. | |
| 27 | - * Upload the pkg to the configured repository (if configured) on ~/.dput.cf. | |
| 28 | -* Test that the tarball and deb package are ok | |
| 29 | -* Go to the version's wiki topic and edit it to reflect the new reality | |
| 30 | -* Edit the topic WebPreferences and update DEBIAN_REPOSITORY_TOPICS setting | |
| 31 | -* Attach the generated packages to that topic. Before attaching calculate the | |
| 32 | - sha1 of the package (with sha1sum and paste the SHA1 hash as comment in the | |
| 33 | - attachment form) | |
| 34 | -* Download the attached and verify the MD5 hash | |
| 35 | -* Update an eventual demonstration version that you run. | |
| 36 | -* Write an announcement e-mail to the relevant mailing lists pointing to the | |
| 37 | - release notes, and maybe to the demonstration version. | |
| 38 | - | |
| 39 | -If you had any problem during these steps, you can do <tt>rake clobber_package</tt> to | |
| 40 | -completely delete the generated packages and start the process again. |
| ... | ... | @@ -0,0 +1,40 @@ |
| 1 | += Noosfero release tasks | |
| 2 | + | |
| 3 | +This file documents release-related activities. | |
| 4 | + | |
| 5 | +== Working with translations | |
| 6 | + | |
| 7 | +* Update translation files: <tt>rake updatepo</tt>. Then <tt>git commit</tt> them. | |
| 8 | +* Send the PO files to the translators. | |
| 9 | +* Get the PO files back from translators, put in po/ under the correct language | |
| 10 | + name (e.,g. po/pt_BR/) and <tt>git commit</tt>. | |
| 11 | +* test translations: <tt>rake makemo</tt> and browse the application on the web. | |
| 12 | + | |
| 13 | +== Releasing noosfero | |
| 14 | + | |
| 15 | +Considering you are on a Debian GNU/Linux or Debian-based system | |
| 16 | + # apt-get install devscripts debhelper | |
| 17 | + | |
| 18 | +To prepare a release of noosfero, you must follow the steps below: | |
| 19 | + | |
| 20 | +* Finish all requirements and bugs assigned to the to-be-released version | |
| 21 | +* Make sure all tests pass | |
| 22 | +* Write release notes at the version's wiki topic | |
| 23 | +* Generate packages with <tt>rake noosfero:release[(stable|test)]</tt>. This task will: | |
| 24 | + * Update the version in lib/noosfero.rb and debian/changelog. | |
| 25 | + * Create the tarbal and the deb pkg under pkg/ directory. | |
| 26 | + * Create a git tag and push it. | |
| 27 | + * Upload the pkg to the configured repository (if configured) on ~/.dput.cf. | |
| 28 | +* Test that the tarball and deb package are ok | |
| 29 | +* Go to the version's wiki topic and edit it to reflect the new reality | |
| 30 | +* Edit the topic WebPreferences and update DEBIAN_REPOSITORY_TOPICS setting | |
| 31 | +* Attach the generated packages to that topic. Before attaching calculate the | |
| 32 | + sha1 of the package (with sha1sum and paste the SHA1 hash as comment in the | |
| 33 | + attachment form) | |
| 34 | +* Download the attached and verify the MD5 hash | |
| 35 | +* Update an eventual demonstration version that you run. | |
| 36 | +* Write an announcement e-mail to the relevant mailing lists pointing to the | |
| 37 | + release notes, and maybe to the demonstration version. | |
| 38 | + | |
| 39 | +If you had any problem during these steps, you can do <tt>rake clobber_package</tt> to | |
| 40 | +completely delete the generated packages and start the process again. | ... | ... |
plugins/anti_spam/README
| ... | ... | @@ -1,33 +0,0 @@ |
| 1 | -README - AntiSpam (AntiSpam Plugin) | |
| 2 | -======================================= | |
| 3 | - | |
| 4 | -Plugin that checks comments against a spam checking service compatible | |
| 5 | -with the Akismet API. | |
| 6 | - | |
| 7 | - | |
| 8 | -Enable Plugin | |
| 9 | -------------- | |
| 10 | - | |
| 11 | -Also, you need to enable AntiSpam Plugin at your Noosfero: | |
| 12 | - | |
| 13 | -cd <your_noosfero_dir> | |
| 14 | -./script/noosfero-plugins enable anti_spam | |
| 15 | - | |
| 16 | - | |
| 17 | -Activate Plugin | |
| 18 | -------------- | |
| 19 | - | |
| 20 | -As a Noosfero administrator user, go to administrator panel: | |
| 21 | - | |
| 22 | -- Click on "Plugins" option | |
| 23 | -- Click on "AntiSpam Plugin" check-box | |
| 24 | - | |
| 25 | -Configure Plugin | |
| 26 | ----------------- | |
| 27 | - | |
| 28 | -As a Noosfero administrator user, go to administrator panel: | |
| 29 | - | |
| 30 | -- Click on "Configuration" below the "AntiSpam Plugin" | |
| 31 | -- Fill in the "API key" field with the key generated after signing up to | |
| 32 | - akismet: https://akismet.com/signup/ | |
| 33 | -- Save your changes |
| ... | ... | @@ -0,0 +1,33 @@ |
| 1 | +README - AntiSpam (AntiSpam Plugin) | |
| 2 | +======================================= | |
| 3 | + | |
| 4 | +Plugin that checks comments against a spam checking service compatible | |
| 5 | +with the Akismet API. | |
| 6 | + | |
| 7 | + | |
| 8 | +Enable Plugin | |
| 9 | +------------- | |
| 10 | + | |
| 11 | +Also, you need to enable AntiSpam Plugin at your Noosfero: | |
| 12 | + | |
| 13 | +cd <your_noosfero_dir> | |
| 14 | +./script/noosfero-plugins enable anti_spam | |
| 15 | + | |
| 16 | + | |
| 17 | +Activate Plugin | |
| 18 | +------------- | |
| 19 | + | |
| 20 | +As a Noosfero administrator user, go to administrator panel: | |
| 21 | + | |
| 22 | +- Click on "Plugins" option | |
| 23 | +- Click on "AntiSpam Plugin" check-box | |
| 24 | + | |
| 25 | +Configure Plugin | |
| 26 | +---------------- | |
| 27 | + | |
| 28 | +As a Noosfero administrator user, go to administrator panel: | |
| 29 | + | |
| 30 | +- Click on "Configuration" below the "AntiSpam Plugin" | |
| 31 | +- Fill in the "API key" field with the key generated after signing up to | |
| 32 | + akismet: https://akismet.com/signup/ | |
| 33 | +- Save your changes | ... | ... |
plugins/display_content/README
| ... | ... | @@ -1,70 +0,0 @@ |
| 1 | -README - DisplayContent (DisplayContent Plugin) | |
| 2 | -================================ | |
| 3 | - | |
| 4 | -DisplayContent is a plugin to allow the user adds a block where you could choose any of your content for display it. | |
| 5 | - | |
| 6 | -The DisplayContent block will be available for all layout columns of communities, peole, enterprises and environments. | |
| 7 | - | |
| 8 | -All the articles choosen are displayed as a list with a link for the title and the lead content. | |
| 9 | - | |
| 10 | -If a Blog or a Folder is choosen the block will display all articles inside the blog or the folder. | |
| 11 | - | |
| 12 | -Galleries are not displayed in this block. | |
| 13 | - | |
| 14 | -INSTALL | |
| 15 | -======= | |
| 16 | - | |
| 17 | -Enable Plugin | |
| 18 | -------------- | |
| 19 | - | |
| 20 | -Also, you need to enable DisplayContent Plugin at you Noosfero: | |
| 21 | - | |
| 22 | -cd <your_noosfero_dir> | |
| 23 | -./script/noosfero-plugins enable display_content | |
| 24 | - | |
| 25 | -Active Plugin | |
| 26 | -------------- | |
| 27 | - | |
| 28 | -As a Noosfero administrator user, go to administrator panel: | |
| 29 | - | |
| 30 | -- Click on "Enable/disable plugins" option | |
| 31 | -- Click on "Display Content Plugin" check-box | |
| 32 | - | |
| 33 | -DEVELOPMENT | |
| 34 | -=========== | |
| 35 | - | |
| 36 | -Noosfero uses jQuery 1.5.1 and the jsTree doesn't works fine with this jQuery version. | |
| 37 | -Until Noosfero upgrade its JQuery version to a newer one is necessary to load jQuery 1.8.3 inside plugin and apply some changes in jsTree to avoid jQuery conflit. | |
| 38 | - | |
| 39 | -Get the Display Content (Noosfero with Display Content Plugin) development repository: | |
| 40 | - | |
| 41 | -$ git clone https://gitorious.org/+noosfero/noosfero/display_content | |
| 42 | - | |
| 43 | -Running DisplayContent tests | |
| 44 | --------------------- | |
| 45 | - | |
| 46 | -$ rake test:noosfero_plugins:display_content | |
| 47 | - | |
| 48 | - | |
| 49 | -Get Involved | |
| 50 | -============ | |
| 51 | - | |
| 52 | -If you found any bug and/or want to collaborate, please send an e-mail to leandronunes@gmail.com | |
| 53 | - | |
| 54 | -LICENSE | |
| 55 | -======= | |
| 56 | - | |
| 57 | -Copyright (c) The Author developers. | |
| 58 | - | |
| 59 | -See Noosfero license. | |
| 60 | - | |
| 61 | - | |
| 62 | -AUTHORS | |
| 63 | -======= | |
| 64 | - | |
| 65 | - Leandro Nunes dos Santos (leandronunes at gmail.com) | |
| 66 | - | |
| 67 | -ACKNOWLEDGMENTS | |
| 68 | -=============== | |
| 69 | - | |
| 70 | -The author have been supported by Serpro |
| ... | ... | @@ -0,0 +1,70 @@ |
| 1 | +README - DisplayContent (DisplayContent Plugin) | |
| 2 | +================================ | |
| 3 | + | |
| 4 | +DisplayContent is a plugin to allow the user adds a block where you could choose any of your content for display it. | |
| 5 | + | |
| 6 | +The DisplayContent block will be available for all layout columns of communities, peole, enterprises and environments. | |
| 7 | + | |
| 8 | +All the articles choosen are displayed as a list with a link for the title and the lead content. | |
| 9 | + | |
| 10 | +If a Blog or a Folder is choosen the block will display all articles inside the blog or the folder. | |
| 11 | + | |
| 12 | +Galleries are not displayed in this block. | |
| 13 | + | |
| 14 | +INSTALL | |
| 15 | +======= | |
| 16 | + | |
| 17 | +Enable Plugin | |
| 18 | +------------- | |
| 19 | + | |
| 20 | +Also, you need to enable DisplayContent Plugin at you Noosfero: | |
| 21 | + | |
| 22 | +cd <your_noosfero_dir> | |
| 23 | +./script/noosfero-plugins enable display_content | |
| 24 | + | |
| 25 | +Active Plugin | |
| 26 | +------------- | |
| 27 | + | |
| 28 | +As a Noosfero administrator user, go to administrator panel: | |
| 29 | + | |
| 30 | +- Click on "Enable/disable plugins" option | |
| 31 | +- Click on "Display Content Plugin" check-box | |
| 32 | + | |
| 33 | +DEVELOPMENT | |
| 34 | +=========== | |
| 35 | + | |
| 36 | +Noosfero uses jQuery 1.5.1 and the jsTree doesn't works fine with this jQuery version. | |
| 37 | +Until Noosfero upgrade its JQuery version to a newer one is necessary to load jQuery 1.8.3 inside plugin and apply some changes in jsTree to avoid jQuery conflit. | |
| 38 | + | |
| 39 | +Get the Display Content (Noosfero with Display Content Plugin) development repository: | |
| 40 | + | |
| 41 | +$ git clone https://gitorious.org/+noosfero/noosfero/display_content | |
| 42 | + | |
| 43 | +Running DisplayContent tests | |
| 44 | +-------------------- | |
| 45 | + | |
| 46 | +$ rake test:noosfero_plugins:display_content | |
| 47 | + | |
| 48 | + | |
| 49 | +Get Involved | |
| 50 | +============ | |
| 51 | + | |
| 52 | +If you found any bug and/or want to collaborate, please send an e-mail to leandronunes@gmail.com | |
| 53 | + | |
| 54 | +LICENSE | |
| 55 | +======= | |
| 56 | + | |
| 57 | +Copyright (c) The Author developers. | |
| 58 | + | |
| 59 | +See Noosfero license. | |
| 60 | + | |
| 61 | + | |
| 62 | +AUTHORS | |
| 63 | +======= | |
| 64 | + | |
| 65 | + Leandro Nunes dos Santos (leandronunes at gmail.com) | |
| 66 | + | |
| 67 | +ACKNOWLEDGMENTS | |
| 68 | +=============== | |
| 69 | + | |
| 70 | +The author have been supported by Serpro | ... | ... |
plugins/ldap/README
| ... | ... | @@ -1,71 +0,0 @@ |
| 1 | -README - LDAP (LDAP Plugin) | |
| 2 | -================================ | |
| 3 | - | |
| 4 | -LDAP is a plugin to allow ldap authentication to noosfero | |
| 5 | - | |
| 6 | - | |
| 7 | -INSTALL | |
| 8 | -======= | |
| 9 | - | |
| 10 | -Dependences | |
| 11 | ------------ | |
| 12 | - | |
| 13 | -See the Noosfero install file. After install Noosfero, install LDAP dependences: | |
| 14 | - | |
| 15 | -$ gem install net-ldap -v 0.3.1 | |
| 16 | - | |
| 17 | -Enable Plugin | |
| 18 | -------------- | |
| 19 | - | |
| 20 | -Also, you need to enable LDAP Plugin at you Noosfero: | |
| 21 | - | |
| 22 | -cd <your_noosfero_dir> | |
| 23 | -./script/noosfero-plugins enable ldap | |
| 24 | - | |
| 25 | -Active Plugin | |
| 26 | -------------- | |
| 27 | - | |
| 28 | -As a Noosfero administrator user, go to administrator panel: | |
| 29 | - | |
| 30 | -- Click on "Enable/disable plugins" option | |
| 31 | -- Click on "LDAP Plugin" check-box | |
| 32 | - | |
| 33 | - | |
| 34 | -DEVELOPMENT | |
| 35 | -=========== | |
| 36 | - | |
| 37 | -Get the LDAP (Noosfero with LDAP Plugin) development repository: | |
| 38 | - | |
| 39 | -$ git clone https://gitorious.org/+noosfero/noosfero/ldap | |
| 40 | - | |
| 41 | -Running LDAP tests | |
| 42 | --------------------- | |
| 43 | - | |
| 44 | -Configure the ldap server creating the file 'plugins/ldap/fixtures/ldap.yml'. | |
| 45 | -A sample file is offered in 'plugins/ldap/fixtures/ldap.yml.dist' | |
| 46 | - | |
| 47 | -$ rake test:noosfero_plugins:ldap | |
| 48 | - | |
| 49 | - | |
| 50 | -Get Involved | |
| 51 | -============ | |
| 52 | - | |
| 53 | -If you found any bug and/or want to collaborate, please send an e-mail to leandronunes@gmail.com | |
| 54 | - | |
| 55 | -LICENSE | |
| 56 | -======= | |
| 57 | - | |
| 58 | -Copyright (c) The Author developers. | |
| 59 | - | |
| 60 | -See Noosfero license. | |
| 61 | - | |
| 62 | - | |
| 63 | -AUTHORS | |
| 64 | -======= | |
| 65 | - | |
| 66 | - Leandro Nunes dos Santos (leandronunes at gmail.com) | |
| 67 | - | |
| 68 | -ACKNOWLEDGMENTS | |
| 69 | -=============== | |
| 70 | - | |
| 71 | -The author have been supported by Serpro |
| ... | ... | @@ -0,0 +1,71 @@ |
| 1 | +README - LDAP (LDAP Plugin) | |
| 2 | +================================ | |
| 3 | + | |
| 4 | +LDAP is a plugin to allow ldap authentication to noosfero | |
| 5 | + | |
| 6 | + | |
| 7 | +INSTALL | |
| 8 | +======= | |
| 9 | + | |
| 10 | +Dependences | |
| 11 | +----------- | |
| 12 | + | |
| 13 | +See the Noosfero install file. After install Noosfero, install LDAP dependences: | |
| 14 | + | |
| 15 | +$ gem install net-ldap -v 0.3.1 | |
| 16 | + | |
| 17 | +Enable Plugin | |
| 18 | +------------- | |
| 19 | + | |
| 20 | +Also, you need to enable LDAP Plugin at you Noosfero: | |
| 21 | + | |
| 22 | +cd <your_noosfero_dir> | |
| 23 | +./script/noosfero-plugins enable ldap | |
| 24 | + | |
| 25 | +Active Plugin | |
| 26 | +------------- | |
| 27 | + | |
| 28 | +As a Noosfero administrator user, go to administrator panel: | |
| 29 | + | |
| 30 | +- Click on "Enable/disable plugins" option | |
| 31 | +- Click on "LDAP Plugin" check-box | |
| 32 | + | |
| 33 | + | |
| 34 | +DEVELOPMENT | |
| 35 | +=========== | |
| 36 | + | |
| 37 | +Get the LDAP (Noosfero with LDAP Plugin) development repository: | |
| 38 | + | |
| 39 | +$ git clone https://gitorious.org/+noosfero/noosfero/ldap | |
| 40 | + | |
| 41 | +Running LDAP tests | |
| 42 | +-------------------- | |
| 43 | + | |
| 44 | +Configure the ldap server creating the file 'plugins/ldap/fixtures/ldap.yml'. | |
| 45 | +A sample file is offered in 'plugins/ldap/fixtures/ldap.yml.dist' | |
| 46 | + | |
| 47 | +$ rake test:noosfero_plugins:ldap | |
| 48 | + | |
| 49 | + | |
| 50 | +Get Involved | |
| 51 | +============ | |
| 52 | + | |
| 53 | +If you found any bug and/or want to collaborate, please send an e-mail to leandronunes@gmail.com | |
| 54 | + | |
| 55 | +LICENSE | |
| 56 | +======= | |
| 57 | + | |
| 58 | +Copyright (c) The Author developers. | |
| 59 | + | |
| 60 | +See Noosfero license. | |
| 61 | + | |
| 62 | + | |
| 63 | +AUTHORS | |
| 64 | +======= | |
| 65 | + | |
| 66 | + Leandro Nunes dos Santos (leandronunes at gmail.com) | |
| 67 | + | |
| 68 | +ACKNOWLEDGMENTS | |
| 69 | +=============== | |
| 70 | + | |
| 71 | +The author have been supported by Serpro | ... | ... |
plugins/mezuro/README
| ... | ... | @@ -1,144 +0,0 @@ |
| 1 | -README - Mezuro Plugin | |
| 2 | -====================== | |
| 3 | - | |
| 4 | -Mezuro is a source code tracking platform based on Noosfero social networking | |
| 5 | -platform with Mezuro Plugin actived to access Kalibro Web Service. | |
| 6 | - | |
| 7 | - | |
| 8 | -INSTALL | |
| 9 | -======= | |
| 10 | - | |
| 11 | -Dependences | |
| 12 | ------------ | |
| 13 | - | |
| 14 | -See the Noosfero INSTALL (and HACKING) file. After install Noosfero, you must | |
| 15 | -install Mezuro dependences: | |
| 16 | - | |
| 17 | -$ gem install --no-ri --no-rdoc nokogiri -v 1.5.0 | |
| 18 | -$ gem install --no-ri --no-rdoc wasabi -v 2.0.0 | |
| 19 | -$ gem install --no-ri --no-rdoc savon -v 0.9.7 | |
| 20 | -$ gem install --no-ri --no-rdoc googlecharts | |
| 21 | - | |
| 22 | -$ gem uninstall rack | |
| 23 | -$ gem install --no-ri --no-rdoc rack -v 1.0.1 | |
| 24 | - | |
| 25 | - | |
| 26 | -*with RVM* | |
| 27 | - | |
| 28 | -if you want to use RVM (Ruby Version Manager) environment, just run: | |
| 29 | - | |
| 30 | -$ plugins/mezuro/script/install/install-rvm.sh | |
| 31 | - | |
| 32 | - | |
| 33 | -Enable Mezuro Plugin | |
| 34 | --------------------- | |
| 35 | - | |
| 36 | -Also, you need to enable Mezuro Plugin at your Noosfero installation: | |
| 37 | - | |
| 38 | -cd <your_noosfero_dir> | |
| 39 | -./script/noosfero-plugins enable mezuro | |
| 40 | - | |
| 41 | - | |
| 42 | -Install Service | |
| 43 | ---------------- | |
| 44 | - | |
| 45 | -To run Mezuro (Noosfero with Mezuro Plugin), you need to install the Kalibro | |
| 46 | -Service. For that, see: | |
| 47 | -https://gitorious.org/kalibro/kalibro/blobs/master/INSTALL | |
| 48 | - | |
| 49 | - | |
| 50 | -Configure Service Address | |
| 51 | -------------------------- | |
| 52 | - | |
| 53 | -Addictionaly, copy service.yml.example to service.yml and define your Kalibro | |
| 54 | -Service address: | |
| 55 | - | |
| 56 | -$ cd <your_noosfero_dir>/plugin/mezuro | |
| 57 | -$ cp service.yml.example service.yml | |
| 58 | - | |
| 59 | -If you install Kalibro Service at localhost, just keep the default | |
| 60 | -adress: | |
| 61 | - | |
| 62 | -http://localhost:8080/KalibroService/ | |
| 63 | - | |
| 64 | - | |
| 65 | -Set Licences list | |
| 66 | ------------------ | |
| 67 | - | |
| 68 | -$ cd <your_noosfero_dir>/plugin/mezuro | |
| 69 | -$ cp licence.yml.example licence.yml | |
| 70 | - | |
| 71 | - | |
| 72 | -Apply Mezuro Theme | |
| 73 | ---------------------- | |
| 74 | - | |
| 75 | -(Our RVM install script already do that) | |
| 76 | - | |
| 77 | -If you want, you can use the Mezuro default theme: | |
| 78 | - | |
| 79 | -$ cd public/designs/themes && rm -f default | |
| 80 | -$ git clone git://gitorious.org/mezuro/mezuro-theme.git | |
| 81 | -$ ln -s mezuro-theme/ default && cd ../../../ | |
| 82 | - | |
| 83 | - | |
| 84 | -Active Mezuro Plugin on Noosfero Environment | |
| 85 | --------------------------------------------- | |
| 86 | - | |
| 87 | -As a Noosfero administrator user, go to administrator panel: | |
| 88 | - | |
| 89 | -- Click on "Enable/disable plugins" option | |
| 90 | -- Click on "Mezuro Plugin" check-box | |
| 91 | - | |
| 92 | - | |
| 93 | -DEVELOPMENT | |
| 94 | -=========== | |
| 95 | - | |
| 96 | -Get the Mezuro (Noosfero with Mezuro Plugin) development repository: | |
| 97 | - | |
| 98 | -$ git clone https://gitorious.org/+mezuro/noosfero/mezuro | |
| 99 | -$ cd mezuro | |
| 100 | -$ git checkout mezuro | |
| 101 | - | |
| 102 | -Running Mezuro tests | |
| 103 | --------------------- | |
| 104 | - | |
| 105 | -$ rake test:noosfero_plugins:mezuro | |
| 106 | - | |
| 107 | -or just: | |
| 108 | - | |
| 109 | -$ rake test:noosfero_plugin_mezuro:units | |
| 110 | -$ rake test:noosfero_plugin:mezuro:functionals | |
| 111 | - | |
| 112 | - | |
| 113 | -Get Involved | |
| 114 | -============ | |
| 115 | - | |
| 116 | -If you found any bug and/or want to collaborate, please send an e-mail to | |
| 117 | -paulo@softwarelivre.org | |
| 118 | - | |
| 119 | - | |
| 120 | -LICENSE | |
| 121 | -======= | |
| 122 | - | |
| 123 | -Copyright (c) The Author developers. | |
| 124 | - | |
| 125 | -See Noosfero license. | |
| 126 | - | |
| 127 | - | |
| 128 | -AUTHORS | |
| 129 | -======= | |
| 130 | - | |
| 131 | -Please, see the Mezuro AUTHORS file. | |
| 132 | - | |
| 133 | - | |
| 134 | -ACKNOWLEDGMENTS | |
| 135 | -=============== | |
| 136 | - | |
| 137 | -The authors have been supported by organizations: | |
| 138 | - | |
| 139 | -University of São Paulo (USP) | |
| 140 | -FLOSS Competence Center | |
| 141 | -http://ccsl.ime.usp.br | |
| 142 | - | |
| 143 | -Brazilian National Research Council (CNPQ) | |
| 144 | -http://www.cnpq.br/ |
| ... | ... | @@ -0,0 +1,144 @@ |
| 1 | +README - Mezuro Plugin | |
| 2 | +====================== | |
| 3 | + | |
| 4 | +Mezuro is a source code tracking platform based on Noosfero social networking | |
| 5 | +platform with Mezuro Plugin actived to access Kalibro Web Service. | |
| 6 | + | |
| 7 | + | |
| 8 | +INSTALL | |
| 9 | +======= | |
| 10 | + | |
| 11 | +Dependences | |
| 12 | +----------- | |
| 13 | + | |
| 14 | +See the Noosfero INSTALL (and HACKING) file. After install Noosfero, you must | |
| 15 | +install Mezuro dependences: | |
| 16 | + | |
| 17 | +$ gem install --no-ri --no-rdoc nokogiri -v 1.5.0 | |
| 18 | +$ gem install --no-ri --no-rdoc wasabi -v 2.0.0 | |
| 19 | +$ gem install --no-ri --no-rdoc savon -v 0.9.7 | |
| 20 | +$ gem install --no-ri --no-rdoc googlecharts | |
| 21 | + | |
| 22 | +$ gem uninstall rack | |
| 23 | +$ gem install --no-ri --no-rdoc rack -v 1.0.1 | |
| 24 | + | |
| 25 | + | |
| 26 | +*with RVM* | |
| 27 | + | |
| 28 | +if you want to use RVM (Ruby Version Manager) environment, just run: | |
| 29 | + | |
| 30 | +$ plugins/mezuro/script/install/install-rvm.sh | |
| 31 | + | |
| 32 | + | |
| 33 | +Enable Mezuro Plugin | |
| 34 | +-------------------- | |
| 35 | + | |
| 36 | +Also, you need to enable Mezuro Plugin at your Noosfero installation: | |
| 37 | + | |
| 38 | +cd <your_noosfero_dir> | |
| 39 | +./script/noosfero-plugins enable mezuro | |
| 40 | + | |
| 41 | + | |
| 42 | +Install Service | |
| 43 | +--------------- | |
| 44 | + | |
| 45 | +To run Mezuro (Noosfero with Mezuro Plugin), you need to install the Kalibro | |
| 46 | +Service. For that, see: | |
| 47 | +https://gitorious.org/kalibro/kalibro/blobs/master/INSTALL | |
| 48 | + | |
| 49 | + | |
| 50 | +Configure Service Address | |
| 51 | +------------------------- | |
| 52 | + | |
| 53 | +Addictionaly, copy service.yml.example to service.yml and define your Kalibro | |
| 54 | +Service address: | |
| 55 | + | |
| 56 | +$ cd <your_noosfero_dir>/plugin/mezuro | |
| 57 | +$ cp service.yml.example service.yml | |
| 58 | + | |
| 59 | +If you install Kalibro Service at localhost, just keep the default | |
| 60 | +adress: | |
| 61 | + | |
| 62 | +http://localhost:8080/KalibroService/ | |
| 63 | + | |
| 64 | + | |
| 65 | +Set Licences list | |
| 66 | +----------------- | |
| 67 | + | |
| 68 | +$ cd <your_noosfero_dir>/plugin/mezuro | |
| 69 | +$ cp licence.yml.example licence.yml | |
| 70 | + | |
| 71 | + | |
| 72 | +Apply Mezuro Theme | |
| 73 | +--------------------- | |
| 74 | + | |
| 75 | +(Our RVM install script already do that) | |
| 76 | + | |
| 77 | +If you want, you can use the Mezuro default theme: | |
| 78 | + | |
| 79 | +$ cd public/designs/themes && rm -f default | |
| 80 | +$ git clone git://gitorious.org/mezuro/mezuro-theme.git | |
| 81 | +$ ln -s mezuro-theme/ default && cd ../../../ | |
| 82 | + | |
| 83 | + | |
| 84 | +Active Mezuro Plugin on Noosfero Environment | |
| 85 | +-------------------------------------------- | |
| 86 | + | |
| 87 | +As a Noosfero administrator user, go to administrator panel: | |
| 88 | + | |
| 89 | +- Click on "Enable/disable plugins" option | |
| 90 | +- Click on "Mezuro Plugin" check-box | |
| 91 | + | |
| 92 | + | |
| 93 | +DEVELOPMENT | |
| 94 | +=========== | |
| 95 | + | |
| 96 | +Get the Mezuro (Noosfero with Mezuro Plugin) development repository: | |
| 97 | + | |
| 98 | +$ git clone https://gitorious.org/+mezuro/noosfero/mezuro | |
| 99 | +$ cd mezuro | |
| 100 | +$ git checkout mezuro | |
| 101 | + | |
| 102 | +Running Mezuro tests | |
| 103 | +-------------------- | |
| 104 | + | |
| 105 | +$ rake test:noosfero_plugins:mezuro | |
| 106 | + | |
| 107 | +or just: | |
| 108 | + | |
| 109 | +$ rake test:noosfero_plugin_mezuro:units | |
| 110 | +$ rake test:noosfero_plugin:mezuro:functionals | |
| 111 | + | |
| 112 | + | |
| 113 | +Get Involved | |
| 114 | +============ | |
| 115 | + | |
| 116 | +If you found any bug and/or want to collaborate, please send an e-mail to | |
| 117 | +paulo@softwarelivre.org | |
| 118 | + | |
| 119 | + | |
| 120 | +LICENSE | |
| 121 | +======= | |
| 122 | + | |
| 123 | +Copyright (c) The Author developers. | |
| 124 | + | |
| 125 | +See Noosfero license. | |
| 126 | + | |
| 127 | + | |
| 128 | +AUTHORS | |
| 129 | +======= | |
| 130 | + | |
| 131 | +Please, see the Mezuro AUTHORS file. | |
| 132 | + | |
| 133 | + | |
| 134 | +ACKNOWLEDGMENTS | |
| 135 | +=============== | |
| 136 | + | |
| 137 | +The authors have been supported by organizations: | |
| 138 | + | |
| 139 | +University of São Paulo (USP) | |
| 140 | +FLOSS Competence Center | |
| 141 | +http://ccsl.ime.usp.br | |
| 142 | + | |
| 143 | +Brazilian National Research Council (CNPQ) | |
| 144 | +http://www.cnpq.br/ | ... | ... |
plugins/recent_content/README
| ... | ... | @@ -1,69 +0,0 @@ |
| 1 | -README - RecentContent (RecentContent Plugin) | |
| 2 | -================================ | |
| 3 | - | |
| 4 | -RecentContent is a plugin that provides a blog which displays the content posted inside a blog chosen by the user. | |
| 5 | - | |
| 6 | -The RecentContent block will be available for all layout columns of communities, people, enterprises and environments. | |
| 7 | - | |
| 8 | -The articles posted from the chosen blog are displayed as a list with a link for the title and optionally the abstract/lead content. | |
| 9 | - | |
| 10 | -If the chosen blog has a cover image, the user can configure the block to show the same image displayed on that blog. | |
| 11 | - | |
| 12 | -Galleries and folders are not displayed in this block. | |
| 13 | - | |
| 14 | -INSTALL | |
| 15 | -======= | |
| 16 | - | |
| 17 | -Enable Plugin | |
| 18 | -------------- | |
| 19 | - | |
| 20 | -Also, you need to enable RecentContent Plugin at your Noosfero: | |
| 21 | - | |
| 22 | -cd <your_noosfero_dir> | |
| 23 | -./script/noosfero-plugins enable recent_content | |
| 24 | - | |
| 25 | -Active Plugin | |
| 26 | -------------- | |
| 27 | - | |
| 28 | -As a Noosfero administrator user, go to administrator panel: | |
| 29 | - | |
| 30 | -- Click on "Enable/disable plugins" option | |
| 31 | -- Click on "Recent Content Plugin" check-box | |
| 32 | - | |
| 33 | -DEVELOPMENT | |
| 34 | -=========== | |
| 35 | - | |
| 36 | -Get the Recent Content (Noosfero with Recent Content Plugin) development repository: | |
| 37 | - | |
| 38 | -$ git clone https://github.com/fga-unb/noosfero/tree/AI2848-block_recent_articles | |
| 39 | - | |
| 40 | -Running RecentContent tests | |
| 41 | --------------------- | |
| 42 | - | |
| 43 | -$ rake test:noosfero_plugins:recent_content | |
| 44 | - | |
| 45 | - | |
| 46 | -Get Involved | |
| 47 | -============ | |
| 48 | - | |
| 49 | -If you found any bug and/or want to collaborate, please send an e-mail to contato@valessiobrito.com.br | |
| 50 | - | |
| 51 | -LICENSE | |
| 52 | -======= | |
| 53 | - | |
| 54 | -Copyright (c) The Author developers. | |
| 55 | - | |
| 56 | -See Noosfero license. | |
| 57 | - | |
| 58 | - | |
| 59 | -AUTHORS | |
| 60 | -======= | |
| 61 | - David Carlos (ddavidcarlos1392 at gmail.com) | |
| 62 | - Gabriela Navarro (navarro1703 at gmail.com) | |
| 63 | - Marcos Ramos (ms.ramos at outlook.com) | |
| 64 | - Valessio Brito (contato at valessiobrito.com.br) | |
| 65 | - | |
| 66 | -ACKNOWLEDGMENTS | |
| 67 | -=============== | |
| 68 | - | |
| 69 | -The author have been supported by FGA - UnB and Lappis |
| ... | ... | @@ -0,0 +1,69 @@ |
| 1 | +README - RecentContent (RecentContent Plugin) | |
| 2 | +================================ | |
| 3 | + | |
| 4 | +RecentContent is a plugin that provides a blog which displays the content posted inside a blog chosen by the user. | |
| 5 | + | |
| 6 | +The RecentContent block will be available for all layout columns of communities, people, enterprises and environments. | |
| 7 | + | |
| 8 | +The articles posted from the chosen blog are displayed as a list with a link for the title and optionally the abstract/lead content. | |
| 9 | + | |
| 10 | +If the chosen blog has a cover image, the user can configure the block to show the same image displayed on that blog. | |
| 11 | + | |
| 12 | +Galleries and folders are not displayed in this block. | |
| 13 | + | |
| 14 | +INSTALL | |
| 15 | +======= | |
| 16 | + | |
| 17 | +Enable Plugin | |
| 18 | +------------- | |
| 19 | + | |
| 20 | +Also, you need to enable RecentContent Plugin at your Noosfero: | |
| 21 | + | |
| 22 | +cd <your_noosfero_dir> | |
| 23 | +./script/noosfero-plugins enable recent_content | |
| 24 | + | |
| 25 | +Active Plugin | |
| 26 | +------------- | |
| 27 | + | |
| 28 | +As a Noosfero administrator user, go to administrator panel: | |
| 29 | + | |
| 30 | +- Click on "Enable/disable plugins" option | |
| 31 | +- Click on "Recent Content Plugin" check-box | |
| 32 | + | |
| 33 | +DEVELOPMENT | |
| 34 | +=========== | |
| 35 | + | |
| 36 | +Get the Recent Content (Noosfero with Recent Content Plugin) development repository: | |
| 37 | + | |
| 38 | +$ git clone https://github.com/fga-unb/noosfero/tree/AI2848-block_recent_articles | |
| 39 | + | |
| 40 | +Running RecentContent tests | |
| 41 | +-------------------- | |
| 42 | + | |
| 43 | +$ rake test:noosfero_plugins:recent_content | |
| 44 | + | |
| 45 | + | |
| 46 | +Get Involved | |
| 47 | +============ | |
| 48 | + | |
| 49 | +If you found any bug and/or want to collaborate, please send an e-mail to contato@valessiobrito.com.br | |
| 50 | + | |
| 51 | +LICENSE | |
| 52 | +======= | |
| 53 | + | |
| 54 | +Copyright (c) The Author developers. | |
| 55 | + | |
| 56 | +See Noosfero license. | |
| 57 | + | |
| 58 | + | |
| 59 | +AUTHORS | |
| 60 | +======= | |
| 61 | + David Carlos (ddavidcarlos1392 at gmail.com) | |
| 62 | + Gabriela Navarro (navarro1703 at gmail.com) | |
| 63 | + Marcos Ramos (ms.ramos at outlook.com) | |
| 64 | + Valessio Brito (contato at valessiobrito.com.br) | |
| 65 | + | |
| 66 | +ACKNOWLEDGMENTS | |
| 67 | +=============== | |
| 68 | + | |
| 69 | +The author have been supported by FGA - UnB and Lappis | ... | ... |
plugins/solr/INSTALL
| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | -(THIS INSTALL IS INCOMPLETE) | |
| 2 | - | |
| 3 | -Dependencies | |
| 4 | -============ | |
| 5 | - | |
| 6 | -apt-get install openjdk-6-jre | |
| 7 | - | |
| 8 | -* Solr: http://lucene.apache.org/solr | |
| 9 | - | |
| 10 | -Instalation | |
| 11 | -=========== | |
| 12 | - | |
| 13 | -$ rake solr:download | |
| 14 | - | |
| 15 | -Running the server | |
| 16 | -================== | |
| 17 | -Run Solr | |
| 18 | - | |
| 19 | -$ rake solr:start |
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | +(THIS INSTALL IS INCOMPLETE) | |
| 2 | + | |
| 3 | +Dependencies | |
| 4 | +============ | |
| 5 | + | |
| 6 | +apt-get install openjdk-6-jre | |
| 7 | + | |
| 8 | +* Solr: http://lucene.apache.org/solr | |
| 9 | + | |
| 10 | +Instalation | |
| 11 | +=========== | |
| 12 | + | |
| 13 | +$ rake solr:download | |
| 14 | + | |
| 15 | +Running the server | |
| 16 | +================== | |
| 17 | +Run Solr | |
| 18 | + | |
| 19 | +$ rake solr:start | ... | ... |
plugins/solr/README
plugins/spaminator/README
| ... | ... | @@ -1,44 +0,0 @@ |
| 1 | -README - Spaminator (Spaminator Plugin) | |
| 2 | -======================================= | |
| 3 | - | |
| 4 | -Plugin that search and destroy spams and spammers. | |
| 5 | - | |
| 6 | - | |
| 7 | -Enable Plugin | |
| 8 | -------------- | |
| 9 | - | |
| 10 | -Also, you need to enable Spaminator Plugin at your Noosfero: | |
| 11 | - | |
| 12 | -cd <your_noosfero_dir> | |
| 13 | -./script/noosfero-plugins enable spaminator | |
| 14 | - | |
| 15 | -And run the migrations for Spaminator Plugin at your Noosfero: | |
| 16 | -cd <your_noosfero_dir> | |
| 17 | - | |
| 18 | -- Development environment: | |
| 19 | -rake db:migrate | |
| 20 | - | |
| 21 | -- Production environment: | |
| 22 | -RAILS_ENV=production rake db:migrate | |
| 23 | - | |
| 24 | - | |
| 25 | -Activate Plugin | |
| 26 | -------------- | |
| 27 | - | |
| 28 | -As a Noosfero administrator user, go to administrator panel: | |
| 29 | - | |
| 30 | -- Click on "Plugins" option | |
| 31 | -- Click on "Spaminator Plugin" check-box | |
| 32 | - | |
| 33 | -Configure Plugin | |
| 34 | ----------------- | |
| 35 | - | |
| 36 | -As a Noosfero administrator user, go to administrator panel: | |
| 37 | - | |
| 38 | -- Click on "Configuration" below the "Spaminator Plugin" | |
| 39 | -- Define how often the plugin will run on "Period (days) for scanning spammers" | |
| 40 | -- Save your changes | |
| 41 | - | |
| 42 | -The "Scan now!" button will run spaminator plugin when clicked. | |
| 43 | -The "Deploy" button will schedule scanning to run after the period | |
| 44 | -defined on "Period (days) for scanning spammers". |
| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | +README - Spaminator (Spaminator Plugin) | |
| 2 | +======================================= | |
| 3 | + | |
| 4 | +Plugin that search and destroy spams and spammers. | |
| 5 | + | |
| 6 | + | |
| 7 | +Enable Plugin | |
| 8 | +------------- | |
| 9 | + | |
| 10 | +Also, you need to enable Spaminator Plugin at your Noosfero: | |
| 11 | + | |
| 12 | +cd <your_noosfero_dir> | |
| 13 | +./script/noosfero-plugins enable spaminator | |
| 14 | + | |
| 15 | +And run the migrations for Spaminator Plugin at your Noosfero: | |
| 16 | +cd <your_noosfero_dir> | |
| 17 | + | |
| 18 | +- Development environment: | |
| 19 | +rake db:migrate | |
| 20 | + | |
| 21 | +- Production environment: | |
| 22 | +RAILS_ENV=production rake db:migrate | |
| 23 | + | |
| 24 | + | |
| 25 | +Activate Plugin | |
| 26 | +------------- | |
| 27 | + | |
| 28 | +As a Noosfero administrator user, go to administrator panel: | |
| 29 | + | |
| 30 | +- Click on "Plugins" option | |
| 31 | +- Click on "Spaminator Plugin" check-box | |
| 32 | + | |
| 33 | +Configure Plugin | |
| 34 | +---------------- | |
| 35 | + | |
| 36 | +As a Noosfero administrator user, go to administrator panel: | |
| 37 | + | |
| 38 | +- Click on "Configuration" below the "Spaminator Plugin" | |
| 39 | +- Define how often the plugin will run on "Period (days) for scanning spammers" | |
| 40 | +- Save your changes | |
| 41 | + | |
| 42 | +The "Scan now!" button will run spaminator plugin when clicked. | |
| 43 | +The "Deploy" button will schedule scanning to run after the period | |
| 44 | +defined on "Period (days) for scanning spammers". | ... | ... |
plugins/stoa/README
| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | -README - Stoa (Stoa Plugin) | |
| 2 | -================================ | |
| 3 | - | |
| 4 | -Plugin that includes features to Stoa, USP's social network | |
| 5 | - | |
| 6 | -More informartion about Stoa: http://wiki.stoa.usp.br/Stoa:Sobre | |
| 7 | - | |
| 8 | -DATABASE | |
| 9 | -======== | |
| 10 | - | |
| 11 | -First you need to configure Noosfero to connect with the database users from USP. | |
| 12 | -For that, add a section setting the connection on file config/database.yml with the the identifier "stoa". | |
| 13 | - | |
| 14 | -Example: | |
| 15 | --------- | |
| 16 | - | |
| 17 | -stoa: | |
| 18 | - adapter: mysql | |
| 19 | - host: db2.stoa.usp.br | |
| 20 | - database: usp | |
| 21 | - username: <usuario> | |
| 22 | - password: <senha> | |
| 23 | - | |
| 24 | -CONFIGURATION | |
| 25 | -============= | |
| 26 | - | |
| 27 | -Copy config.yml.dist to config.yml on Stoa plugin's folder. | |
| 28 | -You need to customize this configuration, adding a Salt ( http://en.wikipedia.org/wiki/Salt_(cryptography) ). |
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | +README - Stoa (Stoa Plugin) | |
| 2 | +================================ | |
| 3 | + | |
| 4 | +Plugin that includes features to Stoa, USP's social network | |
| 5 | + | |
| 6 | +More informartion about Stoa: http://wiki.stoa.usp.br/Stoa:Sobre | |
| 7 | + | |
| 8 | +DATABASE | |
| 9 | +======== | |
| 10 | + | |
| 11 | +First you need to configure Noosfero to connect with the database users from USP. | |
| 12 | +For that, add a section setting the connection on file config/database.yml with the the identifier "stoa". | |
| 13 | + | |
| 14 | +Example: | |
| 15 | +-------- | |
| 16 | + | |
| 17 | +stoa: | |
| 18 | + adapter: mysql | |
| 19 | + host: db2.stoa.usp.br | |
| 20 | + database: usp | |
| 21 | + username: <usuario> | |
| 22 | + password: <senha> | |
| 23 | + | |
| 24 | +CONFIGURATION | |
| 25 | +============= | |
| 26 | + | |
| 27 | +Copy config.yml.dist to config.yml on Stoa plugin's folder. | |
| 28 | +You need to customize this configuration, adding a Salt ( http://en.wikipedia.org/wiki/Salt_(cryptography) ). | ... | ... |
plugins/video/README
| ... | ... | @@ -1,57 +0,0 @@ |
| 1 | -README - Video (Video Plugin) | |
| 2 | -================================ | |
| 3 | - | |
| 4 | -Video is a plugin that allow users to add a block where you can choose | |
| 5 | -any url from youtube, vimeo and url's of the following file formats: | |
| 6 | -mp4, ogg, ogv and webm. | |
| 7 | - | |
| 8 | -The Video block will be available for all layout columns of communities, | |
| 9 | -people, enterprises and environments. | |
| 10 | - | |
| 11 | -INSTALL | |
| 12 | -======= | |
| 13 | - | |
| 14 | -Enable Plugin | |
| 15 | -------------- | |
| 16 | - | |
| 17 | -Also, you need to enable Video Plugin on your Noosfero: | |
| 18 | - | |
| 19 | -cd <your_noosfero_dir> | |
| 20 | -./script/noosfero-plugins enable video | |
| 21 | - | |
| 22 | -Active Plugin | |
| 23 | -------------- | |
| 24 | - | |
| 25 | -As a Noosfero administrator user, go to administrator panel: | |
| 26 | - | |
| 27 | -- Click on "Enable/disable plugins" option | |
| 28 | -- Click on "Display Content Plugin" check-box | |
| 29 | - | |
| 30 | -Running Video tests | |
| 31 | --------------------- | |
| 32 | - | |
| 33 | -$ rake test:noosfero_plugins:video | |
| 34 | - | |
| 35 | - | |
| 36 | -Get Involved | |
| 37 | -============ | |
| 38 | - | |
| 39 | -If you find any bug and/or want to collaborate, please send an e-mail to leandronunes@gmail.com | |
| 40 | - | |
| 41 | -LICENSE | |
| 42 | -======= | |
| 43 | - | |
| 44 | -Copyright (c) The Author developers. | |
| 45 | - | |
| 46 | -See Noosfero license. | |
| 47 | - | |
| 48 | - | |
| 49 | -AUTHORS | |
| 50 | -======= | |
| 51 | - | |
| 52 | - Leandro Nunes dos Santos (leandronunes at gmail.com) | |
| 53 | - | |
| 54 | -ACKNOWLEDGMENTS | |
| 55 | -=============== | |
| 56 | - | |
| 57 | -The author have been supported by Serpro |
| ... | ... | @@ -0,0 +1,57 @@ |
| 1 | +README - Video (Video Plugin) | |
| 2 | +================================ | |
| 3 | + | |
| 4 | +Video is a plugin that allow users to add a block where you can choose | |
| 5 | +any url from youtube, vimeo and url's of the following file formats: | |
| 6 | +mp4, ogg, ogv and webm. | |
| 7 | + | |
| 8 | +The Video block will be available for all layout columns of communities, | |
| 9 | +people, enterprises and environments. | |
| 10 | + | |
| 11 | +INSTALL | |
| 12 | +======= | |
| 13 | + | |
| 14 | +Enable Plugin | |
| 15 | +------------- | |
| 16 | + | |
| 17 | +Also, you need to enable Video Plugin on your Noosfero: | |
| 18 | + | |
| 19 | +cd <your_noosfero_dir> | |
| 20 | +./script/noosfero-plugins enable video | |
| 21 | + | |
| 22 | +Active Plugin | |
| 23 | +------------- | |
| 24 | + | |
| 25 | +As a Noosfero administrator user, go to administrator panel: | |
| 26 | + | |
| 27 | +- Click on "Enable/disable plugins" option | |
| 28 | +- Click on "Display Content Plugin" check-box | |
| 29 | + | |
| 30 | +Running Video tests | |
| 31 | +-------------------- | |
| 32 | + | |
| 33 | +$ rake test:noosfero_plugins:video | |
| 34 | + | |
| 35 | + | |
| 36 | +Get Involved | |
| 37 | +============ | |
| 38 | + | |
| 39 | +If you find any bug and/or want to collaborate, please send an e-mail to leandronunes@gmail.com | |
| 40 | + | |
| 41 | +LICENSE | |
| 42 | +======= | |
| 43 | + | |
| 44 | +Copyright (c) The Author developers. | |
| 45 | + | |
| 46 | +See Noosfero license. | |
| 47 | + | |
| 48 | + | |
| 49 | +AUTHORS | |
| 50 | +======= | |
| 51 | + | |
| 52 | + Leandro Nunes dos Santos (leandronunes at gmail.com) | |
| 53 | + | |
| 54 | +ACKNOWLEDGMENTS | |
| 55 | +=============== | |
| 56 | + | |
| 57 | +The author have been supported by Serpro | ... | ... |