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)