lunedì 15 novembre 2010

Fedora 14 - Qualche tips......



Come al solito, ad ogni release-upgrade nascono problemini di settaggio e/o funzionamento di alcuni software installati, ed ognuno ha i suoi specifici.
A parte quelli per i quali è sufficiente la reinstallazione (disinstallazione --> yum clean all --> installazione), alcuni mostrano problemi di compatibilità con la release, ed è necessario un piccolo intervento di manutenzione. (NB come al solito, si usa la console o yumex).

Per quanto ho riscontrato (se ne trovo altri, updato il post), in particolare:

- Teamviewer (v 5.0.8888):
Come chiarito in questo thread, teamviewer utilizza una sua versione di wine che va in conflitto con quella installata; si può risolvere scaricando ed installando wine dai repository e dal sito di teamviewer la versione per windows (scegliendo, in fase di installazione, "avvia" anzichè "installa").
La soluzione più elegante e risolutiva, però, mantenendo installata la versione rpm per Fedora scaricata dal sito, è dare da console root:
# cp /usr/bin/wine-preloader /opt/teamviewer/teamviewer/5/wine/bin/wine-preloader

- Picasa 3 (aggiornamento del 23/11/2010):
Analogamente al caso precedente, anche l'eventuale problema di lancio di Picasa si può risolvere con:
# cp /usr/bin/wine-preloader /opt/google/picasa/3.0/wine/bin/wine-preloader

- Googleearth
In caso di crash o mancato avvio, la cosa migliore è disinstallare la versione già presente, dare yum clean all, e scaricare di nuovo la versione presente sul sito (se non avete già il .bin salvato da qualche parte).
Quindi spostarsi nella cartella di scaricamento, o comunque dove si trova il file, e dare in sequenza, da root, i seguenti comandi:

# chmod +x GoogleEartLinux.bin
# ./GoogleEarthLinux.bin --target /tmp/ge
# cd /tmp/ge/setup.data/bin/Linux/x86/
# mv setup.gtk setup.gtk2
# cd /tmp/ge
# ./setup.sh

Se tutto è ok, magicamente, Googleearth ripartirà.... :-)

PS addendum del 20/06/2011 :
Per chi volesse installare la versione 64 bit con il suo bel rpm, si ricordi di installare comunque la libreria i686 della propria scheda grafica; con nVidia, ad es., è necessario il pacchetto xorg-x11-drv-nvidia-libs i686 per evitare l'errore 11 al lancio dell'applicazione.

- Avidemux
Lo lanciate e.... non parte ! Beh, poco male, lo si disinstalla e lo si reinstalla, no ? No. Al momento in cui scrivo questo post, Avidemux NON c'è nei consueti repository (base o RPMfusion, e sconsiglio di allontanarsi da questi...). Questo per via di un conflitto con la libreria libx264.so.83. Come fare ? Semplice: trovate il pacchetto per la 13, scaricatelo qui (x86) o qui (x86_64) se non lo avete già; quindi, come è specificato in questo post, spostatevi nella cartella dove si trova il file e date in console root:
# rpm -iVh --nodeps avidemux*.rpm
per evitare spiacevoli riferimenti a dipendenze che non ci sono ancora
(PS al posto di avidemux* mettete per sicurezza il nome completo della versione scelta)

- Magento (aggiornamento del 23/11/2010):
Il problema di avere un server locale attivo per provare le varie piattaforme web based su una distro così avanzata come Fedora, è che a volte capita di trovarsi di fronte a bug ancora non risolti che possono impedire il funzionamento del framework.
Quello che ho riscontrato è stato un problema di "500 Internal Server Error" che impediva l'ingresso alla piattaforma; andando ad analizzare il log di apache (/var/log/httpd/error_log), ho visto che dipendeva da una paio di linee di php
[Tue Nov 23 18:56:17 2010] [error] [client 127.0.0.1] PHP Fatal error: Method Varien_Object::__tostring() cannot take arguments in /media/HD370GB/Serverspace/magento/lib/Varien/Object.php on line 488
Cercando in rete questo tipo di errore ho trovato questo thread, che ha risolto la questione, causata da una versione di php (5.3.3.-1) troppo avanzata, di cui riporto il sunto.
In particolare, vanno modificati il file /lib/Varien/Object.php alla linea ~ 484

public function ___toString(array $arrAttributes = array(), $valueSeparator=',')

con l'istruzione

public function __invoke(array $arrAttributes = array(), $valueSeparator=',')

ed il file /app/code/core/Mage/Core/Controller/Request/Http.php alla linea 274

$host = split(':', $_SERVER['HTTP_HOST'])

con l'istruzione

$host = explode(':', $_SERVER['HTTP_HOST']);

L'altro problema incontrato riguarda phpMyAdmin, che mi ha impedito di caricare il file database di esempio "magento_sample_data_for_1.2.0.sql" entro il database creato per magento, per limiti di quota; per risolverlo, basta dare in console root:
# mysql magento < magento_sample_data_for_1.2.0.sql

- OpenOffice
In attesa di liberarci della versione griffata da Oracle per la più libera LibreOffice (che può già essere scaricata dal sito in versione beta2), una piccola osservazione: la voracità di CPU dell'app quickstart di OOo è impressionante, specie con KDE. Disinstallatela !
Per farlo, lanciate un'applicazione qualunque della suite, scegliete strumenti -> opzioni -> OpenOffice.org -> Memoria Principale e deselezionate "Abilita quickstart nell'area di notifica".
Il vostro procio ve ne sarà immensamente grato ;-) .

- QTParted (aggiornamento del 16/11/2010)
Come descritto in questo bug report, QTParted si blocca a causa di un banale bug, relativo al mancato riconoscimento della versione in uso dopo l'aggiornamento (qtparted cerca di lanciare una versione di parted in formato x.y.z anzichè in formato x.y come risulta dopo l'aggiornamento).
Il bug è già stato risolto, ma è ancora in fase di testing, quindi, se volete certezza di funzionamento testato, attendete l'inserimento della versione 0.4.5-25.fc14 nel ramo repositorio update, utilizzato di default.
Se invece volete usare subito la versione patchata, abilitate update-testing e scaricate l'aggiornamento.
NB consiglio vivamente, subito dopo, di disabilitare nuovamente il repositorio update-testing, se non volete avere un sistema rollante come un fuscello in mezzo ad una tempesta :-)

mercoledì 3 novembre 2010

Fedora 14 Laughlin



Insieme all'uscita della versione definitiva della nuova release, avvenuta il 02/11/2010, è stato effettuato un completo restyling del sito di Fedora Project, il quale ora mostra un'interfaccia più accattivante ed una navigabilità ulteriormente semplificata.
Approfondiremo nel tempo le nuove features, che si preannunciamo moderne ed al passo con i tempi; ad ora, nel contesto del restyling, mi preme sottolineare la pubblicazione, rinnovata e completa, della guida ben strutturata per l'installazione ed il settaggio dei principali programmi utilizzati dai Linux Musicians.
Davvero un'ottimo lavoro.

mercoledì 6 ottobre 2010

L'Open Source ha già vinto...

... ma non lo sa ancora :-)

Clay Shirky: come il surplus cognitivo cambierà il mondo



Il quantitativo di ore/uomo disponibili alla creatività ed alla collaborazione qualitativa nei rapporti sociali in rete sta salendo a dismisura con grande rapidità.
Ne basta una minima parte dedicata al'Open Source, come già adesso sta accadendo, perchè per gli arcaici soloni del closed sia la fine del loro innaturale business.
Ma al posto di open source e closed source potete mettere i termini che volete, purchè rappresentino da una parte obiettivi ottenibili con la creatività e la collaborazione delle persone in rete e dall'altra parte conservazione di posizioni o raggiungimento di obiettivi che non prevedano condivisione.

martedì 6 aprile 2010

The Internet


"- Manoeuvring browsers, Mr. Sulu
- Browsers on standby
- Take us out
- Aye-aye, Captain"

Internet, the Final Frontier.
These are the voyages of the Browser Enterprise.
Her ongoing mission, to explore strange new worlds
to seek out new life-forms and new civilizations
to boldly go where we have never been before.

We all are Kirk.

venerdì 2 aprile 2010

Linux Fedora - Googleearth su Fedora 12 X86_64

Lo so, ormai è tardi e sta per uscire la release 13, ma visto che la cosa mi ha fatto imbestialire non poco, è bene postarla, poiché credo di non essere il solo ad avere avuto questi problemi. Inoltre, una buona installazione adesso non penso (almeno spero :-) ) che verrà buttata all'aria dal prossimo upgrade, quindi....

Come è noto, Googleearth è solo in versione i686, e sul x86_64 a molti da problemi di installazione, in pratica si installa ma non parte, per la mancanza di dipendenze che non vengono scaricate ed installate in automatico nella loro completezza. In rete si trovano molti howto che riportano istruzioni di installazione da console che risultano (almeno, a me è accaduto così) incomplete o scritte con imprecisioni che ne impedivano l'utilizzo efficace. Neanche con Autoten di Dnmouse riuscivo a cavare un ragno dal buco. Allora mi ci sono messo di buzzo buono, ed ecco i passi che mi hanno permesso finalmente di superare gli inghippi e far funzionare correttamente questo ottimo programma.

Verificate prima di tutto che la scheda video abbia i drivers correttamente installati; in particolare, per i possessori di nVidia, è necessario che sia presente la libreria xorg-x11-drv-nvidia-libs.i686, quindi tanto per iniziare diamo in console root (o da console utente con sudo):

# yum install xorg-x11-drv-nvidia-libs.i686

Quindi copiamo ed incolliamo il seguente comando

# yum install libSM*.i686 glib2*.i686 freetype*.i686 libXrender*.i686 libXfixes*.i686 mesa-libGL*.i686 libstdc*.fc12.i686 glibc*.i686 libcanberra-gtk2*.i686 freetype*.i686 libXrandr*.i686 mesa-libGL*.i686 gtk2*.i686

Gli asterischi, che ho aggiunto, permetteranno di scaricare i files necessari a prescindere dalla versione; questi faranno scaricare anche delle dipendenze costituite prevalentemente da files devel, che, per quanto non siano strettamente necessari, non comportano problemi (qualche mega in più di pacchetti vi ci stà nell'HD, no?), ma almeno risolve il problema delle dipendenze mancanti.

Una volta fatto questo, anzichè scaricare il file .bin dal sito ufficiale, andate con il browser a prendervi il file .rpm nel sito http://dnmouse.org/fedora dove accederete all'index dei contenuti. Cliccate su googleearth, quindi sulla versione di fedora che vi interessa (attualmente la 12), e cliccate sul file googleearth*.rpm presente per il download, magari, per semplicità, facendo in modo che il browser stesso vi consenta di far partire l'installazione una volta scaricato (Google Chrome ad es. lo fa di default).

Usare il comando rpm -ivh in console in questo caso è sconsigliato perchè i parametri potrebbero cambiare e rendere quindi impossibile andare avanti senza le dovute correzioni; inoltre, stiamo parlando di un pacchetto con chiave GPG ma non verificato, quindi è meglio che ci pensi l'installer grafico a chiedervi le password al momento giusto. A me è partito kpackagekit, che funziona egregiamente anche sotto Gnome.

Beh, che devo dire: completato questo passaggio è finalmente partito, alla grande :-) .

Ultima considerazione: io lascio disabled SELinux per limitar le rogne. Per chi invece ha la necessità di mantenerlo attivo, si consiglia (ma non ho provato) di dare questo comando:

# textrel_shlib_t chcon-t /usr/lib/googleearth/*.so

Buon Googleearth a tutti :-)

domenica 28 febbraio 2010

Linux Fedora - Oltre l'installazione base review


Avete presente questo post (ma anche quest'altro) ?
Bene. Per renderlo più pratico in termini di installazione (usare Yumex è certamente simpatico ed istruttivo, ma quando si tratta di richiamare un così gran numero di pacchetti può risultare estremamente macchinoso da utilizzare), ho pensato di recuperare i pacchetti citati nell'articolo e riassumere il tutto in comandi da console, così da fare un bel copia-incolla e rendere il tutto più agevole.
Li ho spezzati in varie parti per evitare che l'installazione possa creare dei problemi; ovviamente possono essere riuniti in un numero minore di comandi.
Inoltre, alcuni aspetti sono stati ampliati ed integrati da programmi aggiuntivi, a volte collaterali, a volte significativi.
Spero comunque vi sia utile :-)

Per la configurazione di Fedora 12, oltre ai post precedenti, da non dimenticare questa ottima guida di Fedoraonline

NB aggiornamento del 27/11/2010: i comandi valgono anche per F13 e F14; ovviamente, i pacchetti già presenti o non più necessari od obsoleti non verranno scaricati.


Sistema:

# rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm


# yum install yumex yum-presto yum-plugin-fastestmirror yum-plugin-basearchonly yum-plugin-downloadonly yum-plugin-filter-data yum-plugin-list-data yum-plugin-tmprepo

# yum update

# yum install arj avant-window-navigator backuppc beesu bluecurve-icon-theme bluefish bluez bluez-alsa bluez-cups bluez-libs kdebluetooth chkrootkit compat-libstdc++-33 compiz-fusion-extras compiz-fusion-extras-gnome dkms dpkg eventlog file-browser-applet filelight

NB per i pacchetti backgrounds conviene usare yumex e selezionare quelli di interesse

# yum install fslint fusion-icon fusion-icon-gtk fusion-icon-qt gconf-cleaner gconf-editor gdesklets git git-arch git-cola git-gui gitg gitk gnome-do gnome-phone-manager gnome-scan google-gadgets google-gadgets-gtk google-gadgets-qt kdebase-workspace-googlegadgets kdiff3 krename gparted qtparted hardinfo kdebase3 kdesdk kdiff3

# yum install krename lha libunrar livecd-tools lshw* nautilus* ntfs* revisor revisor-cli liveusb-creator mercurial numlockx oxygen* PackageKit-browser-plugin policycoreutils-gui realcrypt* rpmorphan seahorse seahorse-plugins system-config-display system-config-kickstart system-config-lvm system-config-printer system-config-printer-kde system-config-printer-libs system-config-printer-udev system-config-rootpassword tango-icon-theme tango-icon-theme-extras testdisk unace unhide unrar wallpapoz wp_tray

P.S. se avete una scheda grafica nVidia, il driver più adeguato va selezionato maualmente cercando "kmod" con yumex, e scegliendo il kmod corrispondente al kernel in uso (con gnome: sistema --> informazioni sul computer)

Multimedia:

# yum install AcetoneISO2 agg alsa-plugins-pulseaudio amarok amarok-libs amarok-utils amrnb amrwb audacity-freeworld avidemux avidemux-cli avidemux-devel avidemux-gtk avidemux-qt avidemux-libs avidemux-plugins bchunk brasero brasero-libs brasero-nautilus dvd95 dvdrip DVDRipOMatic

# yum install ffmpeg ffmpeg-libs fswebcam gecko-mediaplayer gnome-applet-music gstreamer-ffmpeg gstreamer-plugins-bad gstreamer-plugins-bad-extras gstreamer-plugins-flumpegdemux gstreamer-plugins-ugly isomaster k3b k3b-common k3b-extras-freeworld k3b-libs

# yum install mythtv mytharchive mythbrowser mythflix mythgallery mythgame mythmovies mythmusic mythnews mythplugins mythtv-backend mythtv-base-themes mythtv-common mythtv-docs mythtv-frontend mythtv-setup mythtv-themes mythvideo mythweather mythweb mythzoneminder perl-MythTV totem-mythtv

# yum install k9copy me-tv Miro mplayer padevchooser paman paprefs pavucontrol pavumeter pulseaudio-libs-zeroconf pulseaudio-module-zeroconf gtk-recordmydesktop qt-recordmydesktop rosegarden4 rosegarden4-feta-fonts rosegarden4-parmesan-fonts themonospot* v4l2-tool v4l2ucp vlc mozilla-vlc vobcopy libdvdread xine xine-lib xine-lib-extras xine-lib-extras-freeworld xine-plugin xine-ui xine-ui-skins xvidcore

# yum install swfdec swfdec-gnome swfdec-gtk

PS è sconsigliata l'installazione di swfdec-mozilla per i possibili conflitti con flash plugin nativo, la cui installazione su Fedora 12 è chiaramente spiegata in questo post.



Office:

# yum install oooqs2 openoffice.org-base openoffice.org-base-core openoffice.org-brand openoffice.org-calc openoffice.org-calc-core openoffice.org-core openoffice.org-draw openoffice.org-draw-core openoffice.org-extendedPDF openoffice.org-graphicfilter openoffice.org-impress openoffice.org-impress-core openoffice.org-javafilter openoffice.org-langpack-it openoffice.org-math openoffice.org-math-core openoffice.org-ogltrans openoffice.org-opensymbol-fonts openoffice.org-pdfimport openoffice.org-presentation-minimizer openoffice.org-presenter-screen openoffice.org-report-builder openoffice.org-rhino openoffice.org-ure openoffice.org-wiki-publisher openoffice.org-writer openoffice.org-writer-core openoffice.org-writer2xhtml openoffice.org-xsltfilter

# yum install cups-pdf firebird flamerobin kdepim kdepim-libs kdepim-runtime kdepim-runtime-libs kdepimlibs kdepimlibs-akonadi kdepimlibs-devel konq-plugins krusader p7zip-plugins pdfchain pdfedit pdfmerge pdf-renderer pdfshuffler pdftk pdf-tools poppler poppler-utils pyPdf pypoppler scanbuttond thunderbird xpdf

Educativi:

# yum install celestia kdeedu kdeedu-kstars kdeedu-kstars-libs kdeedu-libs kdeedu-marble kdeedu-marble-libs kdeedu-math stellarium telescope-server

Grafica:


# yum install dia fontmatrix glabels glabels-doc glabels-libs gnome-specimen gqview gscan2pdf gsview inkscape inkscape-view kdebase kdebase-devel kdebase-libs kdebase-runtime kdebase-runtime-flags kdebase-runtime-libs kdebase-workspace kdebase-workspace-devel kdebase-workspace-googlegadgets kdebase-workspace-libs kdebase-workspace-wallpapers kdegraphics

# yum install kflickr openclipart scribus tuxpaint tuxpaint-devel tuxpaint-stamps uniconvertor xscreensaver-base xscreensaver-extras xscreensaver-extras-gss xscreensaver-gl-base xscreensaver-gl-extras xscreensaver-gl-extras-gss rss-glx-xscreensaver kdeartwork-kxs

NB per chi possiede uno scanner Epson, in alternativa al comando successivo, può essere scaricato dalla rete ed installato separatamente il pacchetto iscan-proprietary-drivers nella versione più aggiornata
# yum -y install iscan-firmware

Internet:

# yum install amsn amsn-plugins amule deluge deluge-flags epiphany epiphany-devel epiphany-extensions gwget-epiphany-extension filezilla gwget httrack kdewebdev kdewebdev-devel kdewebdev-libs ktorrent ktorrent-libs kde-plasma-ktorrent jigdo libpurple prozilla privoxy purple-plugin_pack purple-plugin_pack-pidgin spamassassin tor vidalia wordpress

Rete:

# yum install aircrack-ng dstat gnome-netstatus gnome-nettool knetstats netactview netstat-nat openvpn system-config-nfs system-config-nfs-docs system-config-samba system-config-samba-docs wifiroamd

N.B. nota del 06/04/2010. Dall'elenco ho tolto:
- qemu: l'installazione di questo virtualizzatore determina modifiche al kernel tali da renderlo inutilizzabile per Virtualbox, che darà quindi errore se installato; se uno vuole utilizzare qemu, si ricordi di disinstallarlo qualora volesse provare Virtualbox;
- wine: la versione x86_64, che verrebbe installata di default, non consente di utilizzare alcune applicazioni Win i686; per evitare che Wine sembri non funzionare, ho lasciato da parte la possibilità di caricarlo con la versione preferita (i686 o x86_64), ed i suoi principali plugins, tenendo conto che l'installazione di entrambe crea conflitto e malfunzionamento; io consiglio di installare anche sui x86_64 la versione i686, con le sue dipendenze, perchè buona parte delle applicazioni Win possano girare correttamente.

Se volete caricarlo secondo la versione del kernel in uso, e quindi del tipo di release adottata:

# yum install wine wine-alsa wine-capi wine-cms wine-common wine-core wine-desktop wine-fonts wine-ldap wine-pulseaudio wine-twain

Altrimenti (ad es. se siete su una x86_64 e volete i pacchetti i686) lanciate yumex e sceglieteli con quella.

mercoledì 13 gennaio 2010

Sito dinamico su virtual host locale [03-03] - Fedora How-to


Attivazione del database
E' necessario a questo punto inizializzare un database, associarlo con il sito e creare l'amministratore di questo.

Nel caso di MySQL, è possibile consultare ottimi tutorial qui e qui,

Le istruzioni di seguito si basano su comandi da console, utili a capire le basi della gestione di MySQL da linea di comando; se invece volete usare un'interfaccia grafica, si possono usare, come detto nel post 01 di 03, mysql-administrator oppure phpMyAdmin, con le quali è possibile effettuare tutte le operazioni di seguito descritte (e molte di più!).
Torniamo alla gestione da linea di comando

Per far partire il servizio, in console root:
# service mysqld start

Per fermarlo:
# service mysqld stop

Per riavviarlo mentre è in esecuzione:
# service mysqld restart

Per far partire il servizio all'avvio (boot) del computer, così da evitare di doverlo attivare tutte le volte che lo si vuole usare (comando opzionale):
# chkconfig mysqld on

Per testare il funzionamento di MySQL, così da verificare se effettivamente è stato attivato e quali sono i processi cui è associato:
# pgrep mysqld

All'atto dell'installazione, MySQL crea automaticamente un amministratore di nome root ed un utente di nome mysql, entrambi senza password.
Anche se non è indispensabile ai fini della nostra installazione, è opportuno eliminare la possibilità di accedere al database in modo anonimo e insicuro.
Per far questo è necessario eliminare gli utenti presenti, amministratore escluso, attribuire una password all'amministratore, creare il database che ci interessa (MySQL può gestire più database), creare il nostro utente associandolo ad una password, e consentire all'utente l'accesso allo specifico database. Vediamo come.

Per prima cosa entriamo nel server MySQL come amministratore:
# mysql -u root

Il prompt si trasformerà in:
mysql>

Per eliminare gli utenti presenti (da fare solo alla prima inizializzazione del server MySQL, dove l'unico utente è quello creato di default dal sistema; se il server è già stato utilizzato e sono già stati creati altri utenti, questa operazione può danneggiare l'accesso a MySQL, quindi va fatta con criterio):
mysql> DELETE FROM mysql.user WHERE User = '';

Il punto e virgola al termine della frase è importante, perchè fa parte della sintassi di MySQL ed indica la fine del comando; '' rappresenta contenuto vuoto tra apici.

Aggiorniamo ora i privilegi, in modo da consentire a MySQL di riconoscere la modifica che abbiamo apportato:
mysql> FLUSH PRIVILEGES;

A questo punto impostiamo la password dell'amministratore; nell'esempio di seguito, la password è he43klc9 ed è contenuta tra apici; sostituitela con quella da voi scelta:
mysql> UPDATE mysql.user SET Password = 'he43klc9' WHERE User = 'root';

Quindi creiamo il database, che chiameremo joomladb, ed aggiorniamo il server.
mysql> CREATE DATABASE joomladb;
mysql> FLUSH PRIVILEGES;

Per vedere i database che sono stati creati
mysql> SHOW DATABASES;

Per rimuovere il database creato:
mysql> DROP DATABASE joomladb;
mysql> FLUSH PRIVILEGES;

Creiamo quindi il nostro utente (nell'esempio è pippo) e la sua password (nell'esempio è asdasd) ed associamolo al database creato (nell'esempio è joomladb) sul server localhost, aggiornando quindi MySQL:
mysql> GRANT ALL PRIVILEGES ON joomladb.* TO pippo@localhost IDENTIFIED BY ‘asdasd’ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

Nel caso in cui venga creato più di un database e si voglia associare l'utente a tutti i database creati, il comando diventa:
mysql> GRANT ALL PRIVILEGES ON *.* TO pippo@localhost IDENTIFIED BY ‘asdasd’ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

Per vedere gli utenti che possono loggarsi:
mysql> SELECT Host, User FROM mysql.user;

Per eliminare un utente
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='pippo';
mysql> FLUSH PRIVILEGES

dove pippo è l'utente e localhost è il suo host corrispondente nella tabella.

Per uscire la MySQL digitare:
mysql> EXIT;

Per rientrare in MySQL digitare:
# mysql -u xxxxx -p

dove xxxxx è il vostro utente od amministratore.
L'opzione -p serve a far si che il server chieda la password di accesso che avrete impostato prima; qualora non l'aveste impostata, togliete l'opzione ( -p) prima di dare il comando.


Nel caso di postgreSQL, in console root, l'inizializzazione del database, come descritto qui e qui, sarà:
# service postgresql initdb

Avvio del database
# service postgresql start

In questo momento, l'unico utente riconosciuto (e loggabile) nel database è postgres. Per poter creare databases e ulteriori utenti loggabili è indispensabile loggarsi ed iniziare una sessione come utente postgres.
# su -l postgres

Una volta loggati, creiamo un altro super utente (notare il cambiamento del riferimento della bash)
-bash-4.0$ createuser --no-superuser --no-createdb --no-createrole --pwprompt nomeutente

Ci verrà richiesta l'impostazione della password e la sua ridigitazione per conferma.
A questo punto creiamo un database con lo stesso nome dell'utente appena creato. La sintassi sarà:
-bash-4.0$ createdb -W -E utf8 -O nomeutente nomeutente

Verrà chiesta per conferma la password appena impostata.
A questo punto editiamo il file di configurazione della security di postgreSQL
-bash-4.0$ nano /var/lib/pgsql/data/pg_hba.conf

scorriamo con la barra laterale fino al fondo del file ed editiamo le righe sostituendo rispettivamente alla linea local e dell'host IPv4 i valori di identificazione in:
local all all trust
host all all 127.0.0.1/32 md5

ottenendo un risultato di questo genere:


Al posto di trust può essere messo md5, per una maggiore sicurezza. Digitiamo quindi ^O per salvare il file, ^X per uscire da nano e tornare alla shell (^ corrisponde al tasto control).
Ovviamente, al posto di nano può essere usato il più complesso vi (per uscire da vi si usa il comando :wq)

Riavviamo il database digitando
-bash-4.0$ service postgresql reload

Nel caso in cui la bash dia degli errori (ad es. perchè l'utente non ha sufficienti privilegi per effettuare le operazioni richieste), apriamo una nuova scheda di bash, entriamo in console root con su + password e diamo lo stesso comando di reload

Altri settaggi potete trovarli nel link riportato.
Qui potete trovare un altro ottimo tutorial.

A questo punto chiudiamo la console e lanciamo la GUI pgAdmin III (in Menu Fedora --> Programmazione). Comparirà la schermata di accesso al database: su questa inseriamo i dati che abbiamo impostato: nome utente, nome database e password, inseriamo come host 127.0.0.1 ed il nostro db sarà pronto.


Usare il Sito Joomla!
Apriamo il browser e lanciamo http://127.0.0.1 e verifichiamo subito che il sito si attivi, e che tutte le impostazioni siano attive e funzionanti, compresa la compilazione automatica del file configuration.php.
Se l'impostazione automatica non venisse accettata (cioè fosse marcata in rosso), non proseguite, chiudete il browser, aprite la shell e, in console root, cambiate i permessi alla cartella dove si trova il sito con un comando ricorsivo del tipo

# chmod 777 -R /media/HD350GB/Serverspace

così tagliate la testa al toro. (NB ricordate di mettere il percorso corretto della vostra cartella)
NB questa operazione NON E' CORRETTA sotto il profilo della sicurezza, e e può servire solo se il vostro server locale non viene pubblicato, altrimenti sono guai.
L'operazione corretta consiste nel sostituire il proprietario della cartella (in questo momento voi) con apache.
Con

$ cat /etc/group

verifichiamo l'esistenza dell'utente 'apache'. Con

sudo chown -R apache:apache /media/HD350GB/Serverspace

assegniamo all'utente ed al gruppo apache in maniera ricorsiva tutte le cartelle contenute in Serverspace.
Se vogliamo smanettare direttamente in queste cartelle (con cognizione di causa) allora l'operazione più corretta è aggiungere il nostro utente al gruppo apache con

# gedit /etc/group

aggiungendo l'utente, separato con una virgola dagli altri membri al gruppo prescelto.
Se avete timore di sbagliare a digitare, questa operazione può essere fatta anche attraverso il menu amministrazione --> utenti e gruppi

A questo punto riavviate Apache

Quindi fate ripartire il browser e, se non sbagliate l'inserimento dei dati, tutto dovrebbe funzionare correttamente.
Inoltre, se avete applicato la procedura di entrambi i database, avrete la possibilità di scegliere tra MySQL e postgreSQL, entrambi funzionanti, come RDBMS di appoggio.
Se scegliete MySQL, utilizzate l'opzione mysql e non l'opzione mysqli, soprattutto per questioni di praticità, e verificate che nelle impostazioni avanzate sia settato il parametro jos_ .
A questo punto dovreste aver superato tutti gli ostacoli, inserite la vostra personalizzazione iniziale (nome del vostro sito, mail di riferimento, password dell'amministratore) e create il vostro sito Joomla!.

Buon sito a tutti ! :-)

P.S. Grazie a Mirella per l'aiuto e la pazienza nella revisione di questo tutorial.

( <-- torna al 02 di 03)

Sito dinamico su virtual host locale [02-03] - Fedora How-to


Virtual hosts in locale
Veniamo a questo punto alla creazione degli hosts virtuali.
Apache gestisce i contenuti in locale nella cartella /var/www/ , che non è proprio il massimo del posizionamento.
Per fare in modo che Apache possa raggiungere, ma soprattutto gestire, contenuti al di fuori di questa cartella è necessario fare alcune modifiche ai file di configurazione.
Quelle proposte sono il minimo indispensabile per il funzionamento del tutto; inoltre, i permessi applicati danno per scontato che non vi siano problemi di utenza di accesso, cioè che non vi sia la necessità di effettuare particolari limitazioni ad utenti specifici.
Nel caso, la documentazione più approfondita, che tratta questi aspetti, da cui sono state attinte le informazioni che seguono potrete trovarla qui (il sito di Miranda), qui (Apache - userdir) e qui (Apache - cartelle pubbliche).

Individuiamo o creiamo prima di tutto una cartella dove ci interessa inserire il materiale.
La sintassi prevederebbe l'obbligo dell'utilizzo del nome public_html, cioè prevedere un percorso del tipo / ... /public_html/nomecartella) ma sotto l'aspetto della funzionalità non è strettamente necessario. Poi fate voi.

Proviamo con Joomla!, ad esempio, e scarichiamo il file attualmente stable nella versione 1.5 in italiano: Joomla_1.5.15_ita-Stable.tgz.
Io nel NB ho un HD da 500 Gb con varie partizioni, di cui una di solo dati da 350GB formattata in EXT3; questa per me è la partizione ideale per parcheggiare un po' di siti di prova e sviluppo.
Ho quindi creato all'interno di questa la cartella Serverspace. Poichè la partizione, che si chiama HD350GB, viene montata nella directory /media , il percorso assoluto di questa cartella sarà /media/HD350GB/Serverspace .
Una volta scaricato, ho scompattato il file scaricato da Joomla! in una cartella chiamata joomla15ita, che ho tagliato ed incollato entro la cartella Serverspace, ottenendo il percorso assoluto /media/HD350GB/Serverspace/joomla15ita.
Ho quindi creato, visto che mancava (ma in questo caso non è indispensabile), la cartella cgi-bin entro la cartella joomla15ita.

A questo punto, in console root ho digitato:
# chmod 755 -R /media/HD350GB/Serverspace
# chmod 701 -R /media/HD350GB/Serverspace/joomla15ita/cgi-bin

Il -R ricorsivo estende i permessi a tutte le cartelle contenute, e questo elemento, cioè l'assegnazione dei permessi, è determinante per la buona riuscita della configurazione automatica iniziale di Joomla!, soprattutto per la cartella Installation ed il file configuration.php contenuti all'interno del sito.
A questo punto vanno creati gli alias, cioè i puntatori alternativi di Apache, quindi ho digitato:
# gedit /etc/httpd/conf.d/alias

ed ho inserito nel file, secondo la sintassi alias /URL-path /directory_del_file/ , le seguenti righe:
Alias /joomla15ita /media/HD350GB/Serverspace/joomla15ita

§Directory /media/HD350GB/Serverspace/joomla15ita§
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
§/Directory§

La cosa interessante è che se ho altri siti contenuti in altre cartelle denominate, ad es. sito02, sito03, ecc. e copio queste cartelle entro la cartella Serverspace, dopo aver inserito all'interno la cartella cgi-bin se mancante ed assegnato i permessi come in precedenza, mi basterà inserire nello stesso file altri gruppi di comandi del tipo:
Alias /sito02 /media/HD350GB/Serverspace/sito02

§Directory /media/HD350GB/Serverspace/sito02§
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
§/Directory§

ecc.

per far si che Apache riconosca anche questi.


Però questo passaggio non basta: è necessario intervenire anche nel cuore della configurazione di Apache, cioè nel file httpd.conf
# gedit /etc/httpd/conf/httpd.conf

Prima di tutto facciamo si che il percorso /media/HD350GB/Serverspace/ , oltre che esistere, sia abilitato; per ottenerlo, è necessario abilitare, nell'intorno della linea 350, la funzione UserDir, commentando (cioè inserendo all'inizio della frase il carattere cancelletto #) la linea "UserDir disabled", e togliendo il commento alla linea finale UserDir, apponendo il percorso di nostro interesse, come di seguito riportato a titolo di esempio:

§IfModule mod_userdir.c§
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
# UserDir disabled#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir /media/HD350GB/Serverspace
§/IfModule§

Andiamo a questo punto nell'intorno della linea 975 dove è presente il comando NameVirtualHost *:80 e decommentiamolo (cioè togliamo il carattere cancelletto # all'inizio della frase).

#
NameVirtualHost *:80
#

poi andiamo nell'intorno della linea 996 e inseriamo i virtualhost

#§VirtualHost *:80§
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#§/VirtualHost§

§VirtualHost *:80§
DocumentRoot /media/HD350GB/Serverspace/joomla15ita
ServerName joomla15ita
ScriptAlias /cgi-bin/ "/media/HD350GB/Serverspace/joomla15ita/cgi-bin/"
§Directory /media/HD350GB/Serverspace/joomla15ita§
AllowOverride All
Options All
§/Directory§
§/VirtualHost§

§VirtualHost *:80§
DocumentRoot /media/HD350GB/Serverspace/sito02
ServerName sito02
ScriptAlias /cgi-bin/ "/media/HD350GB/Serverspace/sito02/cgi-bin/"
§Directory /media/HD350GB/Serverspace/sito02§
AllowOverride All
Options All
§/Directory§
§/VirtualHost§

ecc.

Mi raccomando: lasciate i cancelletti iniziali solo nelle stringhe di esempio (come il primo blocco sopra, che troverete già impostato nello script), ricordando che una riga che inizia con un cancelletto viene interpretata come una semplice annotazione ininfluente anziché come un'istruzione di programma.

A questo punto si esce da gedit salvando il file httpd modificato, e si lancia il restart di Apache (il restart va fatto obbligatoriamente ogni volta che si modifica il file httpd.conf), con la seguente sintassi:
# /etc/init.d/httpd restart

quindi si modifica il file hosts:
# gedit /etc/hosts

inserendo nel file una riga per ogni host configurato:
127.0.0.1 joomla15ita
127.0.0.1 sito02

e salvando al'uscita.

Ogni host a questo punto potrà essere richiamato nel browser con la sintassi, ad es.
http://joomla15ita

( <-- torna all'01 di 03)

(vai al 03 di 03 --> )

Sito dinamico su virtual host locale [01-03] - Fedora How-to


Ultima revisione: 12 gennaio 2011

Un how-to per far girare un sito dinamico in locale sotto Fedora ? Con tutte le guide che ci sono in giro ? Si.
Maccome, si dirà, basta prendere un CMS open source come Joomla!, andare su Joomla.org o su Joomla.it o su Joomlaitalia.com, e si trova tutto ciò che si vuole.
Mmmmmhhh, proprio tutto ? Direi di no. C'è sempre qualcosa che non funziona, o un'istruzione non adatta, o un piccolo intoppo interpretativo, o un settaggio da rivedere, e io mi sono rotto le scatole di perdere tempo.
Questo è un pro-memo completo che consente di arrivare a far girare un sito dinamico (PHP, Perl, Phyton) come Joomla!, ma anche Drupal od altri, in locale su sito virtuale per provarlo offline con tutti i template che vogliamo, con RDBMS - Relational database management system - funzionanti, superando tutta una riga di problemini che normalmente si incontrano, e che è ben difficile che vengano presi in considerazione tutti insieme da ognuna delle singole fonti, prima che il sito riesca ad attivarsi.
Insomma, un semplice step by step per i niubbi come me, del tipo "conosci, ad es., Joomla ? No ? Allora, se mi dai 20 minuti te lo faccio provare sulla tua Linuxbox..." :-D

N.B. per tutto quanto riguarda l'installazione dei pacchetti di seguito riportata, cercate con yumex quelli da installare, più facili da trovare se selezionate vista gruppi; in alternativa, digitate l'installazione del pacchetto in console root (premettendo sudo se appartenete al gruppo sudoers, oppure loggandovi come root con su (enter) e password (enter))

Primo passo: do per scontato che si parta da zero, cioè che nella Linuxbox non ci sia installato ed attivato un server LAMP/LAPP, cioè un gruppo di programmi server-side:
- Linux - sistema operativo;
- Apache http server - server Web
- MySQL o postgreSQL RDBMS - sistema di gestione di database relazionale server side
- PHP - linguaggio di scripting.

Due precisazioni:
- come è noto, la seconda P può stare, anzichè a Php, a Perl o Phyton a seconda del linguaggio scelto.
- il server da installare può essere può essere LAMP anzichè LAPP; ciò significa che il RDBMS può essere scelto (la P che sostituisce la M) tra MySQL e Postgres.. Entrambi questi RDBMS sono presenti nei repository. La scelta dovrebbe basarsi sull'effettivo supporto che il provider di Hosting scelto offre (ad es. piattaforma Linux anzichè Win). Creare un sistema, cioè, basato su postgreSQL per poi scoprire che non è pienamente supportato, diversamente da MySQL, potrebbe non essere simpatico. Il privilegio a postgreSQL imo sarebbe da dare non solo perche questo RDBMS è oggettivamente superiore a MySQL, ma anche perchè postgreSQL, oltre che essere anch'esso open source, è tutt'ora in fase di sviluppo, mentre lo sviluppo di MySQL, dopo la recente acquisizione, da parte di Oracle, di Sun (Java, OpenOffice, Solaris, MySQL) e le dichiarazioni del suo CEO, resta per ora, tristemente, una grande incognita.
Purtroppo per Postgres, il suo supporto in Joomla è più complesso, ed è quindi consigliabile per una installazione rapida usare MySQL; di seguito vengono comunque riportate anche le istruzioni per la sua installazione.

Visto che LAMP è indispensabile ai nostri scopi, andiamo a scaricarlo ed ad attivarlo.


Linux.
Se non lo avete ancora installato allora andate subito su Fedora project e scaricatevelo. NB per voi ci vorrà un po' di più di 20 minuti... :-DDD

Apache 2
# yum -y install httpd

va comunque controllato che siano installati anche i seguenti pacchetti, con il seguente comando:
# yum -y install httpd-manual mod_ssl mod_perl mod_python mod_auth_mysql mod_auth_pgsql awstats distcache crypto-utils

Per avviare il server:
# /etc/init.d/httpd start

Per verifica, nel browser digitare
http://localhost
verrà visualizzata la pagina di benvenuto di Apache

Per fermare il server:
# /etc/init.d/httpd stop

Per riavviare il server:
# /etc/init.d/httpd restart

Per semplificare, al posto di
# /etc/init.d/nomeservizio nomecomando
può essere utilizzato
# service nomeservizio nomecomando

Nell'esempio di httpd:
# service httpd restart

PHP
[N.B. non ho voglia di cercare in rete il modo per evitare che il codice php da scrivere interferisca con il codice nativo con cui è scritto il blog, risultandone modificato se non cancellato. Il sistema più rapido, per tutte le righe di codice php che seguiranno, è stato quello di sostituire l'elemento iniziale (<) e finale (>) di uno script con l'elemento (§).
Ovviamente, le righe di codice eventualmente copincollate da questo articolo non funzioneranno fino al ripristino degli elementi originali.]

Installiamo php
# yum -y install php

va comunque controllato che siano installati anche i seguenti pacchetti, con il seguente comando:
# yum -y install php-mysql php-pgsql phpMyAdmin tomcat5 phpldapadmin php-odbc php-ldap php-pdo php-pgsql perl-DBD-MySQL perl-DBI

Per verificarne il funzionamento:
# /etc/init.d/httpd restart
# gedit /var/www/html/testphp.php

inserire nel file questo script
§?php phpinfo(); ?§

Salvate e nel browser digitate:
http://localhost/testphp.php

MySQL
# yum -y install mysql

va comunque controllato che siano installati anche i seguenti pacchetti, con il seguente comando:
# yum -y install mysql-server php-mysql MySQL-python libdbi-dbd-mysql mysql-devel mod_auth_mysql perl-DBD-MySQL mysql-gui-common mysql-gui-tools mysql-libs mysql-query-browser

Per installare MySQL control center (dalla release F14):
# yum -y install mysql-workbench

od anche, e probabilmente meglio
# yum install phpMyAdmin

mysql-administrator è un'interfaccia grafica che si lancia dal menu sistema.
phpMyAdmin, invece, è un'interfaccia grafica che si lancia nel browser scrivendo nello spazio dell'URL:
http://localhost/phpmyadmin/

Ciò verrà utile più avanti (post 03 di 03) parlando della gestione del database.


PostgreSQL
In alternativa a MySQL si può installare Postgres.
# yum -y install postgresql

va comunque controllato che siano installati anche i seguenti pacchetti, con il seguente comando:
# yum -y install postgresql-jdbc postgresql-phyton postgresql-contrib unixODBC libdbi-dbd-pgsql perl-DBD-Pg postgresql-ODBC rhdb-utils postgresql-test qt-postgresql postgresql-server

Installare pgSQL control center
# yum -y install pgadmin3 phpPgAdmin

(vai al 02 di 03 --> )

giovedì 7 gennaio 2010

La Baia Magnetica


A volte non si capisce se si va avanti oppure indietro :-D .
Il Mulo va, il Mulo non va, bisogna passare al torrent, segano i server, il Mulo va meglio col Kad che però è lento, la Baia è presa d'assalto, i Pirati sono in fuga....
Poi uno all'improvviso si ferma, si gira e dice: Alt ! Ora ci avete davvero scassato ..... i tracker ! :-D

Riassunto: The Pirate Bay, stufa di andar per tribunali e di non monetizzare come si deve il suo business, cambia marcia e uccide il torrent, e, questo è il bello della cosa, invita anche gli altri siti di tracker a farlo nel più breve tempo possibile.
A che scopo ? Semplice. Passare una volta per tutte al magnet link, cioè a un sistema decentralizzato multi-componente cui non serve il file .torrent per il download di un file, bensì un hash, cioè il codice attribuito al file da scaricare.
Il sistema, attraverso delle DHT, o Distribuited Hash Tables, permette di connettersi ad un bootstrap node e da qui ad un insieme di nodi per l'individuazione dei peers che possono fornire l'hash cercato.
In pratica, fa la stessa cosa che fa il .torrent, ma senza il .torrent e senza i server di appoggio per il tracking; in altre parole, consente di ottenere lo stesso risultato senza infrangere la legge (e scusate se è poco) :-P .
Quindi, quando capitate su una pagina dove vi interessa un contenuto, e questo è scaricabile tramite magnet link, cliccateci sopra con tranquillità, non rimarrete attaccati al mouse od alla tastiera.
L'unico effetto negativo che potrete ricevere è che il vostro amato browser vi dica che non sa come aprire il link visto che il protocollo “magnet” non è associato ad alcuna applicazione.
Con Firefox ed Opera non c'è problema.
Come prima cosa procuriamoci l'applicazione che possa gestire tale protocollo.
Io in Fedora, Gnome o KDE che sia, uso ktorrent: è valido, è semplice, ha un'interfaccia intuitiva. Ovviamente ognuno ha i suoi gusti. Nel caso in questione, però, ktorrent (al momento in v. 3.3.1) non supporta il protocollo “magnet” (anzi, è meglio dire che a me non funziona, visto che alcuni sostengono che vada mentre altri no, e c'è un sacco di gente suscettibile in giro... :-D ), per cui ho deciso di ripiegare su Deluge, anche questo presente nei repository standard di Fedora, semplice ed intuitivo, e con supporto al magnet.


Una volta installato con Yumex, inserite il riferimento in Firefox in questo modo:

sulla barra degli indirizzi digitate about:config e premete enter
passaggio 1
tasto destro --> inserite una chiave “nuovo” --> Booleano -->
name: network.protocol-handler.expose.magnet con valore --> true e date enter
passaggio 2
aggiungete con il tasto destro un'altra chiave “nuovo” --> String -->
name: network.protocol-handler.app.magnet con valore --> deluge e date enter

Assegnando alla chiave in passaggio 1 il valore False , quando cliccherete sul magnet link Firefox vi chiederà a quale applicazione vorrete associare il protocollo.

Per Opera il meccanismo è :
menu strumenti --> preferenze --> avanzate --> programmi
cliccate su “aggiungi” e alla voce “protocollo” inserite il termine magnet mentre nell'azione selezionate “apri con un'altra applicazione” e scrivete /usr/bin/deluge (o andateci con il tasto “sfoglia”)

Buon magnet link a tutti :-)

P.S. 05/02/2010 Aggiornamento: fra gli addons di Mozilla c'è Magnetiser 0.9 che consente di ottenere, sostanzialmente, lo stesso risultato.