Differences between revisions 12 and 13
Revision 12 as of 2017-03-03 15:33:01
Size: 6505
Editor: crudo
Comment:
Revision 13 as of 2017-03-03 19:03:20
Size: 5547
Editor: crudo
Comment: Major refactoring
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
== Linee guida ==

Consiglio: puoi leggere il codice di altre pagine premendo il tasto `Edit`
o `More Actions:` → `Raw Text`. ;)

=== Creare una nuova pagina ===

Prima di creare una nuova pagina è necessario pensare a che nome attribuirgli.
Il nome farà parte dell'indirizzo della pagina e deve essere in formato Camel
Case: la prima lettera deve essere maiuscola (le pagine utente possono non
seguire questa regola). Se il nome contiene più parole esse devono essere
scritte unite, con la prima lettera di ogni parola maiuscola. Trovi informazioni
più dettagliate alla pagina [[WikiName]].

=== Scrivere una nuova pagina ===

All'inizio della pagina inserisci alcuni metadati sul formato della sintassi e
la lingua del documento.

{{
#format wiki
#language it
}}

Quindi scrivi il titolo della pagina, dovrebbe più o meno rispecchiare il nome.
Il titolo va indicato con la sintassi `= Titolo della pagina =` in una riga
priva di altro contenuto.

Le sezioni della pagina assumono una forma gerarchica in base al numero di `=`.
Una sezione di primo livello si indicherà con `== Sezione 1 ==`, una di secondo
con `=== Sezione 1.1 ===`, e via discorrendo. Trovi
[[HelpOnMoinWikiSyntax#Headings_and_table_of_contents|qui] maggiori
informazioni.

Dividi il tuo testo in paragrafi che concludano un concetto. Separa ogni
paragrafo con una riga vuota. Inserisci inoltre una riga vuota prima e dopo aver
definito una sezione.

Per favore, scrivi la pagina in locale usando un editor degno di questo nome e
imposta a 80 caratteri il limite della riga. Sono ammesse eccezioni (URL,
tabelle).

Puoi scrivere in ''corsivo'' inserendo il testo tra una coppia di `''` o in
'''grassetto''' usando `'''`. Trovi [[HelpOnFormatting|qui] maggiori
informazioni.

Puoi linkare una pagina interna con la sintassi `[[NomeDellaPagina]]` oppure
con [[NomeDellaPagina|testo del link che sarà mostrato]].

Puoi linkare una pagina esterna cona la stessa sintassi, inserendo un URL
valido al posto del [[WikiName]]. Se inserisci un link esterno considera di
aggiungere l'opzione per aprirlo in una nuova scheda del browser. Esempio:
`[[http://www.macaomilano.org|MACAO|target="_blank"]]`. Trovi
[[HelpOnLinking|qui]] maggiori informazioni.

Per tutto il resto ti invito a leggere la [[HelpOnMoinWikiSyntax|guida
ufficiale]] :D
Line 7: Line 65:
La wiki è gestita da MoinMoin 1.9.8 in esecuzione su FreeBSD 10.2.
La seguente documentazione fa riferimento a tale
configurazione, ciononostante il setup è facilmente riproducibile.
Si supponga che nginx sia già in esecuzione e che uwsgi sia già installato.
Si suppone inoltre che nginx sia in esecuzione come utente `www`.
Si scarichi la versione 1.9.8 di MoinMoin e la si estragge in una directory a
scelta, in questo esempio `/usr/local/www/unit_moinmoin`.
Line 11: Line 70:
Si danno per scontati:
 * un sistema host già in esecuzione;
 * un filesystem pronto ad ospitare jail;
 * una instanza di Nginx all'interno di una jail configurato e in esecuzione.
=== Configurazione di uwsgi ===
Line 16: Line 72:
È consigliato avere uno snapshot aggiornato dell'archivio dei ports prima di
procedere.
Si salvi la configurazione di uwsgi per la wiki, ad esempio in
`/usr/local/etc/uwsgi/unit_moinmoin.ini`.
Line 19: Line 75:
=== Installazione della jail ===

{{{#!highlight bash
zfs create antigone/usr/local/jails/unit_moinmoin
cd /usr/local/jails/unit_moinmoin
fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.2-RELEASE/base.txz | tar xpf -
mkdir -p usr/ports var/ports/packages var/ports/distfiles var/ports/obj
echo "nameserver 10.1.1.1" > etc/resolv.conf
}}}

/etc/jail.conf
{{{
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.clean;

host.hostname = "$host.oikia.unit.macaomilano.org";

path = "/usr/local/jails/$host";
mount.fstab = "/etc/jail.fstab.d/$host.fstab";

http-proxy {
  interface = "re0";
  ip4.addr = "re0|10.1.1.3/24";
  $host = "http-proxy";
  allow.mount.devfs;
  allow.mount.procfs;
  mount.devfs;
  mount.procfs;
  enforce_statfs = 1;
}

unit_moinmoin {
  interface = "re0";
  ip4.addr = "re0|10.1.1.9/24";
  $host = "unit_moinmoin";
  allow.mount.devfs;
  allow.mount.procfs;
  mount.devfs;
  mount.procfs;
  enforce_statfs = 1;
}
}}}

/etc/jail.fstab.d/unit_moinmoin.fstab
{{{
/usr/ports /usr/local/jails/unit_moinmoin/usr/ports nullfs ro 0 0
}}}

/usr/local/jails/unit_moinmoin/etc/rc.conf
{{{#!highlight bash
uwsgi_enable="YES"
uwsgi_flags="-T --ini /usr/local/etc/uwsgi.ini"
}}}

/usr/local/jails/unit_moinmoin/etc/make.conf
{{{#!highlight makefile
CFLAGS = -O2 -pipe
MAKE_JOBS_NUMBER = 4

WRKDIRPREFIX= /var/ports/obj
DISTDIR= /var/ports/distfiles
PACKAGES= /var/ports/packages

DEFAULT_VERSIONS=python=2.7 ssl=libressl

OPTIONS_UNSET+= DEBUG DOCS EXAMPLES TESTS NLS IPV6

lang_perl5.20_UNSET += PERL_64BITINT
}}}

/usr/local/jails/unit_moinmoin/etc/periodic.conf
{{{
daily_output="/dev/null"
daily_status_security_output="/dev/null"
weekly_output="/dev/null"
monthly_output="/dev/null"
}}}

=== Configurazione del reverse proxy nginx ===

/usr/local/jails/http-proxy/var/www/robots.txt
{{{
User-agent: *
Disallow: /
}}}

/usr/local/jails/http-proxy/usr/local/etc/nginx/sites-available/wiki.unit.macaomilano.org.conf
{{{#!highlight nginx
server {
  listen 80;
  server_name wiki.unit.macaomilano.org;
  return 301 https://$server_name$request_uri;
}

server {
  listen 443 ssl;
  server_name wiki.unit.macaomilano.org;

  access_log /var/log/nginx/wiki.unit.macaomilano.org-access.log;
  error_log /var/log/nginx/wiki.unit.macaomilano.org-error.log error;

  ssl on;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
  ssl_session_cache shared:SSL:5m;
  ssl_session_timeout 5m;
  ssl_dhparam /path/to/dhparam.pem;
  ssl_certificate /path/to/unit.macaomilano.org-bundle.pem;
  ssl_certificate_key /path/to/unit.macaomilano.org.key;

  location / {
    uwsgi_pass 10.1.1.9:9000;
    include uwsgi_params;
  }

  location = /robots.txt {
    alias /var/www/robots.txt;
  }
}
}}}

{{{#!highlight bash
jexec http-proxy "ln -s /usr/local/etc/nginx/sites-available/wiki.unit.macaomilano.org.conf /usr/local/etc/nginx/sites-enabled/
jexec http-proxy service nginx reload
}}}

=== Installazione di moinmoin ===

{{{#!highlight bash
jail -c unit_moinmoin
jexec unit_moinmoin tzselect
jexec unit_moinmoin csh
cd /usr/ports/www/uwsgi
make config-recursive
make install clean
cd /usr/ports/www/moinmoin
make config-recursive
make install
make MOINTYPE=WSGI MOINDEST=/usr/local/www/unit instance
exit
}}}

/usr/local/jails/unit_moinmoin/usr/local/etc/uwsgi.ini
Line 166: Line 77:
socket = 10.1.1.9:9000 socket = /tmp/unit_moinmoin.sock
Line 169: Line 80:
chdir = /usr/local/www/unit chdir = /usr/local/www/unit_moinmoin
Line 179: Line 90:
{{{#!highlight bash
jexec unit_moinmoin "service uwsgi start"
Si avvii il demone con `uwsgi -T --ini /usr/local/etc/uwsgi/unit_moinmoin.ini`.

=== Configurazione di nginx ===

Aggiungere al blocco `server` desiderato la direttiva

{{{
location / {
    uwsgi_pass /tmp/unit_moinmoin.sock;
    include uwsgi_params;
}
Line 183: Line 103:
Quindi ricaricare la configurazione come usuale.
Line 184: Line 106:

Wiki

Linee guida

Consiglio: puoi leggere il codice di altre pagine premendo il tasto Edit o More Actions:Raw Text. ;)

Creare una nuova pagina

Prima di creare una nuova pagina è necessario pensare a che nome attribuirgli. Il nome farà parte dell'indirizzo della pagina e deve essere in formato Camel Case: la prima lettera deve essere maiuscola (le pagine utente possono non seguire questa regola). Se il nome contiene più parole esse devono essere scritte unite, con la prima lettera di ogni parola maiuscola. Trovi informazioni più dettagliate alla pagina WikiName.

Scrivere una nuova pagina

All'inizio della pagina inserisci alcuni metadati sul formato della sintassi e la lingua del documento.

{{ #format wiki #language it }}

Quindi scrivi il titolo della pagina, dovrebbe più o meno rispecchiare il nome. Il titolo va indicato con la sintassi = Titolo della pagina = in una riga priva di altro contenuto.

Le sezioni della pagina assumono una forma gerarchica in base al numero di =. Una sezione di primo livello si indicherà con == Sezione 1 ==, una di secondo con === Sezione 1.1 ===, e via discorrendo. Trovi [[HelpOnMoinWikiSyntax#Headings_and_table_of_contents|qui] maggiori informazioni.

Dividi il tuo testo in paragrafi che concludano un concetto. Separa ogni paragrafo con una riga vuota. Inserisci inoltre una riga vuota prima e dopo aver definito una sezione.

Per favore, scrivi la pagina in locale usando un editor degno di questo nome e imposta a 80 caratteri il limite della riga. Sono ammesse eccezioni (URL, tabelle).

Puoi scrivere in corsivo inserendo il testo tra una coppia di '' o in grassetto usando '''. Trovi [[HelpOnFormatting|qui] maggiori informazioni.

Puoi linkare una pagina interna con la sintassi [[NomeDellaPagina]] oppure con testo del link che sarà mostrato.

Puoi linkare una pagina esterna cona la stessa sintassi, inserendo un URL valido al posto del WikiName. Se inserisci un link esterno considera di aggiungere l'opzione per aprirlo in una nuova scheda del browser. Esempio: [[http://www.macaomilano.org|MACAO|target="_blank"]]. Trovi qui maggiori informazioni.

Per tutto il resto ti invito a leggere la [[HelpOnMoinWikiSyntax|guida ufficiale]] :D

Installazione

Si supponga che nginx sia già in esecuzione e che uwsgi sia già installato. Si suppone inoltre che nginx sia in esecuzione come utente www. Si scarichi la versione 1.9.8 di MoinMoin e la si estragge in una directory a scelta, in questo esempio /usr/local/www/unit_moinmoin.

Configurazione di uwsgi

Si salvi la configurazione di uwsgi per la wiki, ad esempio in /usr/local/etc/uwsgi/unit_moinmoin.ini.

   1 [uwsgi]
   2 socket = /tmp/unit_moinmoin.sock
   3 chmod-socket = 660
   4 
   5 chdir = /usr/local/www/unit_moinmoin
   6 wsgi-file = moin.wsgi
   7 
   8 master
   9 workers = 2
  10 max-requests = 200
  11 harakiri = 30
  12 die-on-term

Si avvii il demone con uwsgi -T --ini /usr/local/etc/uwsgi/unit_moinmoin.ini.

Configurazione di nginx

Aggiungere al blocco server desiderato la direttiva

location / {
    uwsgi_pass /tmp/unit_moinmoin.sock;
    include uwsgi_params;
}

Quindi ricaricare la configurazione come usuale.

Configurazione di MoinMoin

   1     # Wiki identity ----------------------------------------------------
   2 
   3     # Site name, used by default for wiki name-logo [Unicode]
   4     sitename = u'Unit'
   5 
   6     # Wiki logo. You can use an image, text or both. [Unicode]
   7     # For no logo or text, use '' - the default is to show the sitename.
   8     # See also url_prefix setting below!
   9     logo_string = u'<img src="%s/common/moinmoin.png" alt="MoinMoin Logo">' % url_prefix_static
  10 
  11     # name of entry page / front page [Unicode], choose one of those:
  12 
  13     # a) if most wiki content is in a single language
  14     #page_front_page = u"MyStartingPage"
  15 
  16     # b) if wiki content is maintained in many languages
  17     page_front_page = u"FrontPage"
  18 
  19     # The interwiki name used in interwiki links
  20     #interwikiname = u'UntitledWiki'
  21     # Show the interwiki name (and link it to page_front_page) in the Theme,
  22     # nice for farm setups or when your logo does not show the wiki's name.
  23     #show_interwiki = 1

(↓ da rivedere)

   1     # Security ----------------------------------------------------------
   2 
   3     # This is checked by some rather critical and potentially harmful actions,
   4     # like despam or PackageInstaller action:
   5     superuser = [u"crudo", ]
   6 
   7     # IMPORTANT: grant yourself admin rights! replace YourName with
   8     # your user name. See HelpOnAccessControlLists for more help.
   9     # All acl_rights_xxx options must use unicode [Unicode]
  10     acl_rights_before = u"crudo:read,write,delete,revert,admin EditorsGroup:read,write,delete,revert All:read"
  11 
  12     # The default (ENABLED) password_checker will keep users from choosing too
  13     # short or too easy passwords. If you don't like this and your site has
  14     # rather low security requirements, feel free to DISABLE the checker by:
  15     #password_checker = None # None means "don't do any password strength checks"
  16 
  17     # Link spam protection for public wikis (Uncomment to enable)
  18     # Needs a reliable internet connection.
  19     #from MoinMoin.security.antispam import SecurityPolicy

WikiGuideLines (last edited 2017-09-15 09:35:52 by crudo)