venerdì 2 gennaio 2015

Installare LAMP su Arduino Yun

Tecnicamente parlando non e' proprio un LAMP (Linux+Apache+Mysql+PHP) ma piuttosto un LUMP (Linux+Uhttpd+Mysql+PHP) ma il concetto e' il medesimo




In aggiunta ho installato anche il sempre utile Midnight Commander per avere un editor un po' piu' umano di Vi

La configurazione parte collegandosi in SSH alla shell della Yun

ssh root@arduino.local

e lanciano prima un aggiornamento dei pacchetti

okpg update

per Midnight Commander ed unzip (che servono sempre)

opkg install mc 
opkg install unzip

per quanto riguarda Uhttpd, questo risulta configurato di default per cui non e' necessario fare niente di speciale. La directory dove devono essere posti i file e' in /www (direttamente nella root). Gli scrpt di amministrazione sono /etc/init.d/uhttpd

Per aggiungere PHP5 si lancia

opkg install php5 php5-cgi

al termine si deve modificare il file di configurazione di Uhttpd (/etc/config/uhttpd) e decommentare la riga dell'interprete php-cgi.
Riavviando il servizio uhttod e creando una file info.php (phpinfo) nella root si ottiene la risposta che l'interprete funziona


Tocca adesso a Mysql. Per avere un po' piu' di spazio ho spostato il database sulla scheda SD (che e' montata in /mnt/sda1)

opkg install libpthread libncurses libreadline mysql-server
sed -i 's,^datadir.*,datadir = /mnt/sda1/mysql,g' /etc/my.cnf
sed -i 's,^tmpdir.*,tmpdir = /tmp/,g' /etc/my.cnf
mkdir -p /mnt/sda1/mysql
mysql_install_db –-force
/etc/init.d/mysqld start
/etc/init.d/mysqld enable
mysqladmin -u root password 'password_root_mysql'


adesso e' il momento dei connettori
PHP5-Mysql

opkg install php5-mod-mysql
sed -i 's,;extension=mysql.so,extension=mysql.so,g' /etc/php.ini


Python-Mysql (Python 2.7 e' incluso di default per cui non risulta necessario installarlo)

opkg install python-mysql

e per terminare qualcosa che non deve mai mandare ovvero il server SFTP (che non e' montato di defualt)

opkg install openssh-sftp-server

Per iniziare a lavorarci sopra e' meglio inserire i  file per il webserver sulla scheda SD, sia per problemi di spazio che per il numero di cicli di lettura/scrittura limitati della memoria della Yun. Senza modificare le impostazioni del webserver la cosa piu' semplice e' creare un link simbolico (in questo modo funzionano pero' solo i file html, per i file in php deve essere riconfigurato il server)

5 commenti:

  1. Grazie. Ho provato et funziona molto bene.

    RispondiElimina
  2. mi fa piacere che il post sia stato utile. Il problema e' che una volta installati i server rimane veramente poco spazio per le applicazioni Web (ho provato a mettere Phpmyadmin e Wordpress e sono rimasto subito senza spazio disco). Andrebbe provato ad mettere i dati sulla SD

    RispondiElimina
    Risposte
    1. Innanzi tutto complimenti!! Io ho avuto la tue stessa pazza idea ( provare wordpress su arduino yun), ma senza le conoscenze adatte; in settimana riceverò la scheda e proverò a mettere in pratica quanto hai spiegato in questo articolo. In caso posso chiederti qualche chiarimento?? Grazie mille ancora!

      Elimina
    2. Innanzi tutto complimenti!! Io ho avuto la tue stessa pazza idea ( provare wordpress su arduino yun), ma senza le conoscenze adatte; in settimana riceverò la scheda e proverò a mettere in pratica quanto hai spiegato in questo articolo. In caso posso chiederti qualche chiarimento?? Grazie mille ancora!

      Elimina
    3. se posso essere di aiuto volentieri. Luca

      Elimina

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...