installazione xampp (mariadb, php, ecc) su disco esterno usb

torre1

Un passo alla volta
Registrato
15/5/08
Messaggi
50.453
Punti reazioni
4.887
Ciao a tutti. Premetto che conosco poco ubuntu.

Sto cercando di installare xampp (ultima release, 7.1.7.0) su un drive esterno usb sotto ubuntu 16.04

Lo scorso anno sotto ubuntu 12 ero riuscito ad installare xampp-linux-7.0.3-1-installer.run in partizioni del disco del notebook esterne alla partizione di sistema dove era stato inizialmente installato xampp in /opt/lampp
La procedura consisteva
1) nell'installare xampp nella sua dir di default (/opt/lampp) (si copiava xampp-linux-7.0.3-1-installer.run in una directory qualsiasi e si eseguiva dopo avergli dato i diritti di scrittura con sudo chmod +x xampp-linux-7.0.3-1-installer.run
2) copiare la cartella lampp in un altra partizione del disco diversa da quella di sistema drive (su un drive usb, obiettivo finale, non funzionava per problemi sui diritti di accesso)
3) rinominare l'originaria cartella lampp (sudo mv /opt/lampp /opt/lampp1) per essere sicuri che non interferisse più
4) costruire in /opt un soft link chiamato lampp che puntasse alla cartella lampp nella nuova destinazione
(es sudo ln -s /media/partizione2/lampp /opt/lampp)

E funzionava tutto. Questa procedura non funzionava solo su dischi esterni usb per problemi di diritti di accesso, ma non avevo più approfondito la cosa

Oggi ho provato a realizzare la stessa cosa su un notebook diverso, sotto ubuntu 16.04. Ho usato la seguente procedura a partire da una installazione regolare sotto /opt/lampp


sudo cp -r /opt/lampp /media/user1/labeldisk/lamppx copia directory su disco esterno chiamandola sempre lampp
sudo mv lampp lampp1 rinomina vecchia lampp per disattivarla

sudo ln -s /media/user1/labeldisk/lamppx/lampp /opt/lampp crea softlink a lampp su nuova destinazione

cd /media/user1/labeldisk/lamppx/lampp rende la nuova dir lampp come dir corrente

sudo ./manager-linux-x64.run esecuzione

Apparentemente sia da altre partizioni del notebook sia addirittura da disco esterno usb , apache parte, ma mariadb viene subito stoppato. Nel log di apache leggo le seguenti righe

[Tue Jul 18 13:32:47.001076 2017] [ssl:warn] [pid 25950] AH01906: www.example.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Jul 18 13:32:47.001152 2017] [ssl:warn] [pid 25950] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Tue Jul 18 13:32:48.002851 2017] [ssl:warn] [pid 25953] AH01906: www.example.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Jul 18 13:32:48.002934 2017] [ssl:warn] [pid 25953] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Tue Jul 18 13:32:48.003340 2017] [lbmethod_heartbeat:notice] [pid 25953] AH02282: No slotmem from mod_heartmonitor
[Tue Jul 18 13:32:48.012437 2017] [mpm_prefork:notice] [pid 25953] AH00163: Apache/2.4.26 (Unix) OpenSSL/1.0.2l PHP/7.1.7 mod_perl/2.0.8-dev Perl/v5.16.3 configured -- resuming normal operations
[Tue Jul 18 13:32:48.012531 2017] [core:notice] [pid 25953] AH00094: Command line: '/opt/lampp/bin/httpd -E /opt/lampp/logs/error_log -D SSL -D PHP'

Inoltre nella cartella lampp c'è inoltre un file bash xampp in cui teoricamente si potrebbe settare la variabile di sistema per definire la cartella di installazione.
Questa è la sezione relativa

case $(osguess) in
solaris)
XAMPP_OS="Solaris"
XAMPP_ROOT="/opt/xampp"
;;
linux|rh9)

XAMPP_OS="Linux"
XAMPP_ROOT="/opt/lampp"
;;
macosx)
XAMPP_OS="Mac OS X"
XAMPP_ROOT="/Applications/XAMPP/xamppfiles"
;;
esac

Provando a modificare nel blocco associato a linux XAMPP_ROOT="./" sembra ancora funzionare apache (ma non mariadb)
questo file bash è a sua volta puntato da un softlink chiamato lampp che sembra avere l'unico scopo di lanciarlo come lampp e non come xampp. Essendo il softlink inizialmente settato a /opt/lampp, ho provato a ripristinarlo in modo che puntasse realmente al bash xampp (ponendolo a ./xampp), ma senza risultati

Qualche idea ?



PS: l'ultimo tentativo sarà installare xampp in una virtual machine virtualbox posta sul drive usb. Sulla carta dovrebbe funzionare senza problemi, ho dubbi sulle prestazioni, essendo su un disco esterno (per quanto usb3) e all'interno di una virtualizzazione.
 
Mai pensato di installare direttamente un server XAMPP (ubuntu) su disco esterno e fare il boot direttamente da quello?
 
Mai pensato di installare direttamente un server XAMPP (ubuntu) su disco esterno e fare il boot direttamente da quello?

Cioè, installare ubuntu su drive usb, su quello installare xampp ed eseguire il boot da questo disco ? Si, ci ho pensato, ma preferivo avere linux su una o più macchine e avere un unica applicazione xampp su un disco da far girare a seconda dei casi.
Non ho particolari competenze da sistemista, vorrei fare un passo alla volta, conoscere le varie tecniche (per esempio spostare i database su un disco diverso da quello in cui è installato xampp, cosa fattibile ma non così immediata, ci sono diversi passi da eseguire e su siti diversi ho letto procedure diverse).
La procedura che mi piaceva di più per adesso era proprio quella di installare xampp su disco esterno (o ssd), ma mentre sotto windows sembra semplice (ma non l'ho mai fatto), sotto ubuntu non riesco a trovare una procedura chiara e definitiva.
Strano poi che da un anno all'altro una tecnica collaudata (quella a cui facevo riferimento nel primo post), adesso non funziona più
 
Ultima modifica:
Cioè, installare ubuntu su drive usb, su quello installare xampp ed eseguire il boot da questo disco ? Si, ci ho pensato, ma preferivo avere linux su una o più macchine e avere un unica applicazione xampp su un disco da far girare a seconda dei casi.
Non ho particolari competenze da sistemista, vorrei fare un passo alla volta, conoscere le varie tecniche (per esempio spostare i database su un disco diverso da quello in cui è installato xampp, cosa fattibile ma non così immediata, ci sono diversi passi da eseguire e su siti diversi ho letto procedure diverse).
La procedura che mi piaceva di più per adesso era proprio quella di installare xampp su disco esterno (o ssd), ma mentre sotto windows sembra semplice (ma non l'ho mai fatto), sotto ubuntu non riesco a trovare una procedura chiara e definitiva.
Strano poi che da un anno all'altro una tecnica collaudata (quella a cui facevo riferimento nel primo post), adesso non funziona più

Francamente non vedo la differenza, XAMPP è sostanzialmente un web server con DB, farlo partire direttamente su un PC o farlo partire singolarmente da n-PC , con la stessa istanza cambia poco.

Teoricamente, ma anche praticamente puoi comunque installarlo su un filesystem esterno (disco o chiavetta USB) che monti alla bisogna sulla distribuzione linux.

In modo analogo, se vuoi 'condividere' i file del DB è sufficiente inserire i DB file sul filesystem esterno e montare lo stesso filesystem su diverse distro, ovviamente con attenzione ai permessi ed ad eventuali symlink.
 
Francamente non vedo la differenza, XAMPP è sostanzialmente un web server con DB, farlo partire direttamente su un PC o farlo partire singolarmente da n-PC , con la stessa istanza cambia poco.

Volevo evitare il boot da usb, non sempre mi è possibile farlo (mi capita di usare fuori casa dei pc con bios protetto da psw, per esempio

Teoricamente, ma anche praticamente puoi comunque installarlo su un filesystem esterno (disco o chiavetta USB) che monti alla bisogna sulla distribuzione linux.

In modo analogo, se vuoi 'condividere' i file del DB è sufficiente inserire i DB file sul filesystem esterno e montare lo stesso filesystem su diverse distro, ovviamente con attenzione ai permessi ed ad eventuali symlink.

Si, ma sono proprio i particolari che fanno la differenza, basta una permission o un settaggio fuori posto e non funziona più niente. Aggiungi che sono veramente poco pratico a livello sistemistico, me la cavo meglio con la programmazione (che comunque è soprattutto un hobby serio, non il mio mestiere)

In giro una procedura passo passo non la trovo, la tecnica dei soft link che da sola dovrebbe funzionare (e lo scorso anno funzionava) adesso non funziona più. L'errore che trovo sul log di apache mi dice poco, sto cercando su internet ma non trovo niente che faccia riferimento al mio caso
Probabilmente è una cretinata, ma non riesco a trovarla, per adesso. Sotto windows è tutto più semplice, ma dopo anni di utilizzo di ubuntu preferisco non cambiare
Hai un idea di quanto posso perdere in prestazioni usando una virtualizzazione ubuntu su disco esterno usb con xampp installato (cosa che comunque volevo evitare) ?
 
Ultima modifica:
Volevo evitare il boot da usb, non sempre mi è possibile farlo (mi capita di usare fuori casa dei pc con bios protetto da psw, per esempio



Si, ma sono proprio i particolari che fanno la differenza, basta una permission o un settaggio fuori posto e non funziona più niente. Aggiungi che sono veramente poco pratico a livello sistemistico, me la cavo meglio con la programmazione (che comunque è soprattutto un hobby serio, non il mio mestiere)

In giro una procedura passo passo non la trovo, la tecnica dei soft link che da sola dovrebbe funzionare (e lo scorso anno funzionava) adesso non funziona più. L'errore che trovo sul log di apache mi dice poco, sto cercando su internet ma non trovo niente che faccia riferimento al mio caso
Probabilmente è una cretinata, ma non riesco a trovarla, per adesso. Sotto windows è tutto più semplice, ma dopo anni di utilizzo di ubuntu preferisco non cambiare
Hai un idea di quanto posso perdere in prestazioni usando una virtualizzazione ubuntu su disco esterno usb con xampp installato (cosa che comunque volevo evitare) ?

Se hai problemi a bootare da USB è un altro discorso.

Per la virtualizzazione, dipende ovviamente dall'hardware dell'host e da quante risorse dedichi alla macchina virtuale (memoria e cpu cores), ma sei poi sicuro che il software di virtualizzazione sia installato sulle macchine che andrai ad usare?:mmmm:

Francamente non so cosa tu faccia, però un server linux (ubuntu) dovrebbe avere una bassissima necessità di risorse e XAMPP, se non utilizzato con finalità di 'produzione', quindi perché ti preoccupi delle prestazioni?

In ogni caso, se è il DB che ti crea problemi, non è nel log di Apache che troverai le informazioni.
 
Se hai problemi a bootare da USB è un altro discorso.

Per la virtualizzazione, dipende ovviamente dall'hardware dell'host e da quante risorse dedichi alla macchina virtuale (memoria e cpu cores), ma sei poi sicuro che il software di virtualizzazione sia installato sulle macchine che andrai ad usare?:mmmm:

Francamente non so cosa tu faccia, però un server linux (ubuntu) dovrebbe avere una bassissima necessità di risorse e XAMPP, se non utilizzato con finalità di 'produzione', quindi perché ti preoccupi delle prestazioni?

In ogni caso, se è il DB che ti crea problemi, non è nel log di Apache che troverai le informazioni.

Sul mio notebook ho 8 Gb di Ram con CPU i5, il prossimo che prenderò (magari passando questo a parenti) dovrei prendere un i7 con 16 Gb di Ram, proprio in vista dell'uso della virtualizzazione.
Non ho la minima idea delle risorse che possono essere richieste dal mio hardware, non è su questo che ho competenze. Può darsi che ripartendo gli 8 giga di ram tra macchina virtuale e host (4G per uno) vada tutto bene, ma è una prova in più che devo fare.
Su virtualizzazione e database esterni sto lavorando solo da un paio di settimane perchè prima non avevo a disposizione questo notebook.
Semplicemente preferirei per adesso non avventurarmi sul boot da usb, installazione di sistemi operativi su disco esterno, ecc. Cercavo una soluzione più rapida installando xampp direttamente su disco esterno, e iniziare subito a lavorare sul database e le interfacce in html/javascript/ajax/php, la parte che mi interessa di più, già con una architettura esterna funzionante e con una procedura di installazione esterna standard da riutilizzare per le prossime releases di xampp.
A saperlo fare l'installazione su usb è probabilmente una cretinata, ma bisogna saperlo fare.

Ho fatto un po' di prove: xampp richiede di eseguire il comando sudo ./manager-linux-x64.run
Questo probabilmente tramite il soft link 'lampp' esegue lo script 'xampp'. Questo a sua volta configura la variabili di ambiente (tra cui la variabile che definisce la root di installazione di Xampp, iper utilizzata nel seguito dello script
Questo script dovrebbe a sua volta eseguire gli script "lampp/mysql/scripts/ctl.sh", "lampp/proftpd/scripts/ctl.sh", "lampp/apache2/scripts/ctl.sh"
Rispetto all'installazione di default in /opt/lampp i servizi funzionanti (apache e proftpd) partono molto in ritardo, ma partono perchè i rispettivi script ctl.sh vengono eseguiti completamente
Al contrario, lo script ctl.sh associato a mysql viene apparentemente eseguito solo quando ormai il servizio di mysql è stato bloccato. Ne sono sicuro perchè ho inserito la visualizzazione di un messaggio (echo) come prima istruzione della function start_mysql() che dovrebbe occuparsi dello start del servizio.
Il process id del processo (pid) sembra essere stato creato.
 
Ultima modifica:
Sul mio notebook ho 8 Gb di Ram con CPU i5, il prossimo che prenderò (magari passando questo a parenti) dovrei prendere un i7 con 16 Gb di Ram, proprio in vista dell'uso della virtualizzazione.
Non ho la minima idea delle risorse che possono essere richieste dal mio hardware, non è su questo che ho competenze. Può darsi che ripartendo gli 8 giga di ram tra macchina virtuale e host (4G per uno) vada tutto bene, ma è una prova in più che devo fare.
Su virtualizzazione e database esterni sto lavorando solo da un paio di settimane perchè prima non avevo a disposizione questo notebook.
Semplicemente preferirei per adesso non avventurarmi sul boot da usb, installazione di sistemi operativi su disco esterno, ecc. Cercavo una soluzione più rapida installando xampp direttamente su disco esterno, e iniziare subito a lavorare sul database e le interfacce in html/javascript/ajax/php, la parte che mi interessa di più, già con una architettura esterna funzionante e con una procedura di installazione esterna standard da riutilizzare per le prossime releases di xampp.
A saperlo fare l'installazione su usb è probabilmente una cretinata, ma bisogna saperlo fare.

Ho fatto un po' di prove: xampp richiede di eseguire il comando sudo ./manager-linux-x64.run
Questo probabilmente tramite il soft link 'lampp' esegue lo script 'xampp'. Questo a sua volta configura la variabili di ambiente (tra cui la variabile che definisce la root di installazione di Xampp, iper utilizzata nel seguito dello script
Questo script dovrebbe a sua volta eseguire gli script "lampp/mysql/scripts/ctl.sh", "lampp/proftpd/scripts/ctl.sh", "lampp/apache2/scripts/ctl.sh"
Rispetto all'installazione di default in /opt/lampp i servizi funzionanti (apache e proftpd) partono molto in ritardo, ma partono perchè i rispettivi script ctl.sh vengono eseguiti completamente
Al contrario, lo script ctl.sh associato a mysql viene apparentemente eseguito solo quando ormai il servizio di mysql è stato bloccato. Ne sono sicuro perchè ho inserito la visualizzazione di un messaggio (echo) come prima istruzione della function start_mysql() che dovrebbe occuparsi dello start del servizio.
Il process id del processo (pid) sembra essere stato creato.

Ho realizzato adesso che non stai utilizzando una versione server ma una versione desktop.

Capisco che sia più immediata la gestione, ma rinunciando alla GUI un server XAMPP (perché poi non LAMPP?) sarebbe meno gravoso.

In ogni caso, se vai per la virtualizzazione, consiglio di tenere la macchina virtuale con installato tutto il sistema ubuntu+XAMPP sul disco esterno.

Sul mio MAC i7 con 16 Giga UBUNTU 64bit mi gira con 1G di ram.
 
Ho realizzato adesso che non stai utilizzando una versione server ma una versione desktop.

Capisco che sia più immediata la gestione, ma rinunciando alla GUI un server XAMPP (perché poi non LAMPP?) sarebbe meno gravoso.

In ogni caso, se vai per la virtualizzazione, consiglio di tenere la macchina virtuale con installato tutto il sistema ubuntu+XAMPP sul disco esterno.

Sul mio MAC i7 con 16 Giga UBUNTU 64bit mi gira con 1G di ram.

Ciao, senza la virtualizzazione avrei preferito tenere ubuntu sul notebook e xampp sul disco esterno così da aumentare il parallelismo degli accessi ai due dischi, con la virtualizzazione l'idea è la stessa che hai espresso tu, installare tutto sul disco esterno, ubuntu+xampp. Il problema può essere la memoria allocata per la macchina virtuale, i database tendono a caricare il più possibile dati in RAM.
Mi piacerebbe utilizzare un ssd per questo, altra cosa su cui non alcuna esperienza (mai avuto o utilizzato un ssd).
Devo valutare più o meno in media quante scritture giornaliere saranno richieste sia dal sistema operativo virtuale sia dal data base (essenziamente per la costruzione dinamica di indici).
Su internet ho letto di utilizzatori che si sono trovati dati anomali (nel senso di molto grandi). Ma per un esperimento posso permettermi di comprarmi un ssd esterno, stare attendo con i backup e vedere come va a finire.

Oggi ho ripreso a lavorare sulla virtualizzazione.
Finalmente questo pomeriggio sono riuscito a far vedere l'usb alla virtual machine che si trova a sua volta su un disco usb.
Quando però cerco di accedere allo stesso disco esterno usb su cui si trova la virtual machine va in crash il sistema virtuale. Va invece tutto bene se metto in condivisione con la VM cartelle di questo stesso disco (con opzione di mount automatico attiva)
Il prossimo passo sarà installare xampp sulla vm.
 
Ciao, senza la virtualizzazione avrei preferito tenere ubuntu sul notebook e xampp sul disco esterno così da aumentare il parallelismo degli accessi ai due dischi, con la virtualizzazione l'idea è la stessa che hai espresso tu, installare tutto sul disco esterno, ubuntu+xampp. Il problema può essere la memoria allocata per la macchina virtuale, i database tendono a caricare il più possibile dati in RAM.
Mi piacerebbe utilizzare un ssd per questo, altra cosa su cui non alcuna esperienza (mai avuto o utilizzato un ssd).
Devo valutare più o meno in media quante scritture giornaliere saranno richieste sia dal sistema operativo virtuale sia dal data base (essenziamente per la costruzione dinamica di indici).
Su internet ho letto di utilizzatori che si sono trovati dati anomali (nel senso di molto grandi). Ma per un esperimento posso permettermi di comprarmi un ssd esterno, stare attendo con i backup e vedere come va a finire.

Oggi ho ripreso a lavorare sulla virtualizzazione.
Finalmente questo pomeriggio sono riuscito a far vedere l'usb alla virtual machine che si trova a sua volta su un disco usb.
Quando però cerco di accedere allo stesso disco esterno usb su cui si trova la virtual machine va in crash il sistema virtuale. Va invece tutto bene se metto in condivisione con la VM cartelle di questo stesso disco (con opzione di mount automatico attiva)
Il prossimo passo sarà installare xampp sulla vm.

Avere la macchina virtuale con tutto installato ti consente di lavorare su un qualsiasi PC con il software di virtualizzazione a bordo semplicemente mettendo la chiavetta/disco USB.

Avere solo la parte XAMPP può creare problemi quando cambi PC semplicemente per eventuali diverse installazioni/versioni di ubuntu installate sul PC.

Tra l'altro continuo a non capire la tua fissazione sulle prestazioni. Il sistema, come lo stai proponendo, dovrebbe essere esclusivamente un sistema di sviluppo/testing, per il quale generalmente non sono importanti le prestazioni.:mmmm:

Se il sistema invece è un sistema di produzione allora dovrebbe girare su una macchina dedicata eventualmente virtualizzata.:yes:

Un SSD esterno richiede almeno una USB3.1.
 
Avere la macchina virtuale con tutto installato ti consente di lavorare su un qualsiasi PC con il software di virtualizzazione a bordo semplicemente mettendo la chiavetta/disco USB.

Avere solo la parte XAMPP può creare problemi quando cambi PC semplicemente per eventuali diverse installazioni/versioni di ubuntu installate sul PC.

Tra l'altro continuo a non capire la tua fissazione sulle prestazioni. Il sistema, come lo stai proponendo, dovrebbe essere esclusivamente un sistema di sviluppo/testing, per il quale generalmente non sono importanti le prestazioni.:mmmm:

Se il sistema invece è un sistema di produzione allora dovrebbe girare su una macchina dedicata eventualmente virtualizzata.:yes:

Un SSD esterno richiede almeno una USB3.1.

Per adesso è testing, ma una volta sufficientemente stabile su quella applicazione potrebbero esserci caricati parecchi dati, molti della forma di frammenti di testo, articoli, definizioni, ecc. Dovrebbe essere alla fine una specie di cms fatto su misura per le mie esigenze, con cui interagire lato client, realizzarci eventualmente mappe concettuali con librerie javascipt reperibili su internet, applicazioni javascript per costruire estratti che rispettino certi requisiti formattati secondo le esigenze del momento, ecc
Non ho ancora pratica di ricerca di elementi testuali , ma so che è abbastanza pesante, sia per la parte di indici fulltext sia per i tempi di ricerca.
Già sulla grafica vedo che in virtualizzazione come si accede a pagine con molte immagini (es archive di miniature) i rallentamenti rispetto all'accesso da host non virtuale è visibile.
Probabilmente i ritardi con la gestione virtualizzata saranno al massimo dell'ordine di pochi secondi, nei casi più complessi. Ma non avendo esperienze pregresse per adesso posso solo fare ipotesi

Per quanto riguarda l'usb, temo di avere una semplice 3.0, da quanto vedo da terminale

lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 006: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 005: ID 0bda:57cc Realtek Semiconductor Corp.
Bus 002 Device 004: ID 04ca:3015 Lite-On Technology Corp.
Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 002 Device 012: ID 0480:b001 Toshiba America Inc Stor.E Partner
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 
Problema risolvibile con NAT loopback sul router?
 
Indietro