Per la serie, sperimentiamo framework a caso.
Nella mia spasmodica voglia di carpire qualcosa di utile in questi minchia di framework che popolano l’universo (non ci credete? O_o), ho installato rapidamente come test su rodio Catalyst.

Su freeBSD, cercare il port www/p5-Task-Catalyst/ e dare un bel # make build install clean.
Post installazione, andare in una dir a casaccio (magari servita dal webserver per ulteriori sviluppi) e, dopo aver letto rapidamente il man di catalyst, comandare:

# catalyst.pl nome_webapp

A questo punto si crea lo “scheletro” del framework – leggere il readme e cominciare a scrivere componenti. :)
(Con script/webapp_server.pl faremo girare l’applicazione sulla porta 3000. Per un neofita come me, pare ricalcare lo schema di rails.)

Oramai convinto di dover provare ad usare cocoon, ho ben deciso di metterlo su rodio – che non per niente mi dovrebbe fare da webserver casalingo.

Installarlo su freebsd è stato molto semplice (c’è il port in /usr/ports/www/cocoon , attualmente versione 2.1.11_1). Meno semplice è stato leggere tutte le vaccate di java, ma amen.

L’installazione si conclude con un ottimo spam, che spiega per filo e per segno il da farsi.

Cocoon is now installed in /usr/local/cocoon.                                   

In order to be able to run Cocoon, please add the following line to
/etc/rc.conf:                                                      

  cocoon_enable="YES"

If you wish to start cocoon right now, invoke the startup script with
`/usr/local/etc/rc.d/cocoon.sh start' and point your web browser to the default
home page at http://localhost:8888/ where you may read the documentation and
test the samples.                                                              

For this control script to run seamlessly, it is recommended to increase the
maximum length of commands displayed by ps(1).  Please append the following
setting to /etc/sysctl.conf:                                                

  # Do not truncate command line arguments in ps(1) listing
  kern.ps_arg_cache_limit=10000                            

This setting will take effect at next reboot, however it is possible to have
immediate effect with the following command as root:                        

  # sysctl kern.ps_arg_cache_limit=10000

If you wish to skip this setting, please note that the `stop', `restart' and
`status' will not function properly with cocoon.sh.                         

Enjoy!

Altre opzioni (“avanzate”):

If you need to pass special options to Java, please set the
cocoon_flags option in /etc/rc.conf, see examples below:

  # Prevent Java from opening an X11 display

  cocoon_flags="-Djava.awt.headless=true"

  # Increase memory limit of the Java virtual machine

  cocoon_flags="-Xms32m -Xmx256m"

  # Run Java with remote debugging turned on on port 8000

  cocoon_flags="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"

To specify the java version to use, please use cocoon_java_version:

  cocoon_java_version="1.4"

Boh. Per ora ho poco da dire: puntato un web browser sulla 8888 ho visto quel che volevo vedere. In /usr/local/cocoon c’è un po’ tutto.

Ora mi toccherà studiarlo. Ma almeno funge – anche se direi sul server fuffa; in /usr/ports/www/jetty
c’è un server un po’ più serio.

Oramai trovo grub un boot loader pratico e bello (sarà abitudine).
Quello di FreeBSD invece mi ha lasciato un po’ perplesso, così ho partizionato la solita box in 3 parti:

hda1) /boot/ per Grub,
hda2) FreeBSD,
hda3) / di Debian.

In effetti installando FreeBSD dopo Debian, il boot loader era gentile (anche se brutto) e mi permetteva di accedere alle varie partizioni sul disco; quando invece ho fatto viceversa (prima FreeBSD e poi Linux) il grub di Debian ha diligentemente riscritto tutto, e non vede il loader del demonietto. Male male.

Ho dovuto dunque un po’ pistolare…

Per montare il filesystem di FreeBSD (che è UFS) si deve sfruttare il seguente comando:

mount -r -t ufs /dev(hda2 /mnt/

Questo mi è stato utile per vedere il percorso ed i file all’interno del fs di BSD, ricordandomi che nella sottopartizione a c’era root.

A questo punto ho modificato il /boot/grub/ menu.lst aggiungendo le seguenti righe:

title  FreeBSD 7.1
root   (hd0,1,a)
kernel /boot/loader

… ed il gioco è fatto.

(Già che c’ero con Debian ho apt-gettato memtest86+ per i check sulla ram. Quello si installa da solo nella partizione /boot/ , si deve solo modificare la menu.lst di grub facendo puntare al memtest86+.bin)

Il bello di una box nuova, è che ce la si può personalizzare.
Dopo aver ricompilato il kernel (quello FreeBSD m’è sembrato molto più semplice di quello Linux), rodio è stata sottoposta ad alcune modifiche necessarie.

Installazione dai ports della shell bash, del bash completition e di vim, per cominciare.

Altra cosa utile, è stato attivare il server ssh.

In /etc/rc.conf aggiungere la riga:
sshd_enable="YES"
Poi:
# /etc/rc.d/sshd start

Altri programmi installati: lsof, mutt, nmap, portaudit, ssh2, wget.

E poi il webserver… Per provare questa volta mi sono dedicato a lighttpd – e mi è parso davvero simpatico. :)
(Grazie Jack per la dritta di secoli fa… che ho deciso di sfruttare ora.)

Riferimenti:
* Documentazione su FreeBSD
* FreeBSD Diary
* Info su Openssh.

Se invece che compilare ogni singolo port, si preferisce prendere i pacchetti precompilati, leggere qua.

Più di un anno fa m’ero installato un sistema FreeBSD sulla box avanzata di casa, ma per mancanza di tempo e di capacità non ci avevo giocato molto.
Attualmente il tempo non è aumentato, ma l’esperienza sì e così mi sono ri-cimentato.
Così ho brasato radon e creato rodio.

La nuova versione di FreeBSD è la 7.1; fare il CD di boot e installarla è stato banale.
Ho deciso di completare un’installazione minima (senza pacchetti), per poi personalizzarla ed esplorarla a modo in un secondo tempo.

Giusto per iniziare bene, ho scagliato l’appartenenza ai gruppi – se si vuole che un normal user possa diventare root, meglio appartenere al gruppo wheel.

In generale, # sysinstall è il comando sempre pronto a dare una mano: sysinstall -> Configure -> Distribution -> man per esempio. :-P
I sorgenti del kernel sono accattabili attraverso sysinstall in Configure -> Distribution -> src -> sys, e serve “base” per avere il Makefile e altre cose utili sul fs.

Volevo vedere la documentazione di FreeBSD, che fra le altre cose è servita come un file iso qui.
E’ stato possibile montare i file iso nel filesystem con un semplice

# mount -o loop /home/sim/distro/freebsd/7.1-RELEASE-i386-docs.iso /mnt/

Il punto chiave è avere il supporto del kernel in tutto questo; per abilitare la proprietà nella ricompilazione bisogna avere attive le seguenti voci:

Device Drivers  --->
    [*] Block devices  --->
        <*>   Loopback device support
File systems  --->
    CD-ROM/DVD Filesystems  --->
        <*> ISO 9660 CDROM file system support

Facile e di soddisfazione. ^_^

idrogeno:~# nmap -O 192.168.0.0/24

Starting Nmap 4.53 ( http://insecure.org ) at 2008-02-08 21:54 CET

Interesting ports on idrogeno (192.168.0.1):
Running: Linux 2.6.X
OS details: Linux 2.6.22 – 2.6.23

Uptime: 6.947 days (since Fri Feb  1 23:10:31 2008)
Network Distance: 0 hops

Interesting ports on [elio] 192.168.0.2:
Running: Microsoft Windows XP
OS details: Microsoft Windows XP SP2

Network Distance: 1 hop

Interesting ports on [radon] 192.168.0.3:
Running: FreeBSD 6.X
OS details: FreeBSD 6.2-STABLE – 6.3-PRERELEASE

Uptime: 0.009 days (since Fri Feb  8 21:42:34 2008)
Network Distance: 1 hop

Nmap done: 256 IP addresses (3 hosts up) scanned in 24.720 seconds

« Previous Articles    
SIMOTRONE WEB PAGE is based on WordPress platform, RSS tech , RSS comments design by Gx3.