<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>raspberry pi | ahierro.es</title>
	<atom:link href="https://blog.ahierro.es/tag/raspberry-pi/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.ahierro.es</link>
	<description>Un blog personal  donde compartir experiencias e inquietudes relacionadas con internet, tecnología y otros asuntos interesantes</description>
	<lastBuildDate>Mon, 17 Jun 2019 21:31:35 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>

<image>
	<url>https://blog.ahierro.es/wp-content/uploads/2018/10/cropped-logo_small-1-2-32x32.png</url>
	<title>raspberry pi | ahierro.es</title>
	<link>https://blog.ahierro.es</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Acceder a Ubuntu por Hostname</title>
		<link>https://blog.ahierro.es/acceder-a-ubuntu-por-hostname/</link>
					<comments>https://blog.ahierro.es/acceder-a-ubuntu-por-hostname/#comments</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Wed, 06 Feb 2019 07:30:31 +0000</pubDate>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[Tips & Quick Wins]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://www.ahierro.es/?p=260</guid>

					<description><![CDATA[<p>Para el que está acostumbrado a trabajar con redes de equipos Windows acceder a un equipo mediante hostname es algo habitual. Por el contrario, el que suele trabajar con sistemas basados en Linux en una red local sabe que por defecto suele ser un asunto algo más laborioso. Avahi La mala noticia es que para &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/acceder-a-ubuntu-por-hostname/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Acceder a Ubuntu por Hostname"</span></a></p>
La entrada <a href="https://blog.ahierro.es/acceder-a-ubuntu-por-hostname/">Acceder a Ubuntu por Hostname</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>Para el que está acostumbrado a trabajar con redes de equipos Windows acceder a un equipo mediante hostname es algo habitual. Por el contrario, el que suele trabajar con sistemas basados en Linux en una red local sabe que por defecto suele ser un asunto algo más laborioso.</p>



<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="650" height="365" src="https://blog.ahierro.es/wp-content/uploads/2019/02/hostname_broadcast.png" alt="Hostname broadcast" class="wp-image-509" srcset="https://blog.ahierro.es/wp-content/uploads/2019/02/hostname_broadcast.png 650w, https://blog.ahierro.es/wp-content/uploads/2019/02/hostname_broadcast-300x168.png 300w" sizes="(max-width: 650px) 100vw, 650px" /></figure>



<span id="more-260"></span>



<h3 class="wp-block-heading">Avahi</h3>



<p>La mala noticia es que para lograr acceder por nombre a máquinas Linux en una red local con garantías la mejor solución es disponer de un servidor DNS (Bind es la opción Open Source más extendida), y en esta entrada no hablaremos sobre servidores DNS.</p>



<p>En esta entrada utilizaremos Avahi, una implementación gratuita de Zero-Configuration Networking que permite difundir y descubrir servicios y equipos en una red local. Quizás a alguno le resulte más familiar si citamos a Bonjour, que es la implementación propietaria que tiene Apple de esta tecnología.</p>





<p>Y en función de nuestras necesidades es posible que Avahi nos sirva o no (lógico). El principal motivo es que no basta con instalarlo en la máquina a la que queremos acceder por nombre (llamémosla máquina Destino), sino que cada equipo que quiera acceder por nombre a la máquina Destino debe poder trabajar con la tecnología Zero-Configuration Networking para interpretar la información publicada por nuestra máquina Destino.</p>



<h3 class="wp-block-heading">Máquinas Destino y Clientes</h3>



<p>Pongámonos en situación, de un lado tenemos una máquina corriendo Ubuntu, en mi caso es una Raspberry Pi corriendo la versión 16.0.4.2 de Ubuntu Mate. El hostname de esta máquina es «maquina1», su ip 192.168.1.15 y para agilizar la lectura, como ya hemos dicho, la llamaremos máquina «Destino». En esta máquina hemos instalado un servidor web y queremos acceder a ella mediante hostname.</p>



<p>Del otro lado tenemos una serie de equipos con distintos SSOO que son los que quieren consumir el servicio web accediendo por nombre. A estas máquinas las llamaremos «Clientes» y vamos a suponer que tenemos:</p>



<ol class="wp-block-list"><li>Cliente Linux, corriendo Ubuntu 18.</li><li>Cliente Windows, corriendo Windows 10.</li><li>Cliente Android, corriendo Android Oreo 8.1.</li></ol>



<p>Lo siento por los amantes de Apple pero no tengo ningún dispositivo de la manzanita para probar, aún así si eres uno de ellos sigue leyendo porque estoy convencido que te será de utilidad.</p>



<h3 class="wp-block-heading">Instalar y configurar Avahi</h3>



<p>Comenzaremos realizando las instalaciones necesarias en la máquina Destino. En función de vuestra distro es posible que todos o algunos de estos paquetes ya estén instalados.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo apt-get update
sudo apt-get install avahi-daemon
sudo apt-get install avahi-utils
sudo apt-get install libnss-mdns
</pre></div>


<p>Y acto seguido editaremos la configuración de Avahi. Es buena idea que antes de editar cualquier archivo de configuración guardéis una copia que os ayude a volver al punto inicial si fuera necesario, aunque vamos a tocar muy poca configuración.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
suco cp /ect/avahi/avahi-daemon.conf /etc/avahi/avahi-daemon.conf.bck
sudo vim /etc/avahi/avahi-daemon.conf
</pre></div>


<p>En el archivo de configuración nos centraremos primero en el nombre de la máquina y el dominio. Mi recomendación es que mantengáis la configuración por defecto, es decir ser coherentes y que el host-name coincida con el de la propia máquina y que el dominio sea «local». De esta forma accederemos a la máquina con maquina1.local.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
&#x5B;server]
host-name=maquina1
domain-name=local
</pre></div>


<p>Nos aseguraremos también de que las siguientes opciones se encuentren como mostramos:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
&#x5B;publish]
disable-publishing=no
disable-user-service-publishing=no
publish-addresses=yes
</pre></div>


<p>Reiniciamos el servicio y lo agregamos al arranque de nuestra máquina:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo service avahi-daemon restart
sudo update-rc.d avahi-daemon defaults
</pre></div>


<p>Y con esto hemos terminado con la máquina Destino.</p>



<h3 class="wp-block-heading">Maquinas Clientes</h3>



<p>Como ya mencionamos cada máquina cliente debe ser capaz de trabajar con la tecnología Zero-Configuration Networking para poder alcanzar la máquina Destino por nombre, así que veamos caso a caso.</p>





<h4 class="wp-block-heading">Desde Linux</h4>



<p>En cada equipo con sistema operativo Linux con el que queramos acceder por nombre a la máquina Destino deberemos instalar Avahi. Así que no tenemos más que repetir las instrucciones definidas en el apartado «Instalar y Configurar Avahi».</p>



<h4 class="wp-block-heading">Desde Windows</h4>



<p>Por defecto Windows no nos dejará acceder por hostname y por ahora no existe implementación de Avahi para este sistema operativo. En su defecto podemos instalar el programa «Servicios de impresión Bonjour para Windows», de Apple, que aunque está pensado para otro uso nos permitirá cubrir nuestra necesidad y alcanzar la máquina Destino por nombre.</p>



<h4 class="wp-block-heading">Desde Android</h4>



<p>Lamentablemente no he encontrado ninguna aplicación o demonio para Android que permita que cualquier aplicación que corra en este sistema operativo sea capaz de acceder por nombre a nuestra máquina Destino, una lástima. Si conoces alguna solución para ello estaría muy agradecido de que la compartas en un comentario.</p>



<h4 class="wp-block-heading">IOS y MacOSX</h4>



<p>Como he dicho no tengo ningún dispositivo de Apple para realizar pruebas, pero conociendo que tienen su propia implementación de de Zero-Configuration Networking (Bonjour), me atrevería a decir que podremos acceder por nombre a nuestra máquina Destino sin necesidad de instalar ningún software adicional.</p>



<h3 class="wp-block-heading">Comprobar el funcionamiento</h3>



<p>Aunque es de primero de pre-escolar (creo que ahora lo llaman infantil), me gusta comprobar las cosas, y la forma más sencilla de hacerlo es utilizar el comando ping. Si lo hemos conseguido obtendremos algo así:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
ping raspi.local
PING raspi.local (192.168..15) 56(84) bytes of data.
64 bytes from 192.168.1.15 (192.168.1.15): icmp_seq=1 ttl=64 time=6.68 ms
64 bytes from 192.168.1.15 (192.168.1.15): icmp_seq=2 ttl=64 time=4.61 ms

</pre></div>


<p>Y si algo no funciona como esperamos obtendremos algo así:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
ping maquina1.local
ping: maquina1.local: Nombre o servicio desconocido
</pre></div>


<p>Y como dijimos que en la máquina Destino teníamos un servidor web, al escribir maquina1.local en la barra de direcciones del navegador, obviamente, accederemos al contenido publicado.</p>





<h3 class="wp-block-heading">Conclusión</h3>



<p>Con Avahi podemos acceder por nombre a máquinas con sistema operativo Linux en nuestra red local. Su mayor limitación es que nos veremos obligado a que tanto la máquina a la que queremos acceder, como las máquinas con las que queremos acceder deben tener instalada una implementación de Zero-Configuration Networking.</p>



<p>Así que si bien resuelve ciertas situaciones y necesidades, si pensamos en una red de varias decenas de equipos con distintos sistemas operativos existen otras alternativas más escalables.</p>



<p>Como siempre me gustaría saber cómo cual es tu experiencia, ¿has usado Avahi? ¿accedes por ip? ¿utilizas otra tecnología u otros programas? Deja un comentario y danos tu opinión.</p>La entrada <a href="https://blog.ahierro.es/acceder-a-ubuntu-por-hostname/">Acceder a Ubuntu por Hostname</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/acceder-a-ubuntu-por-hostname/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Crear un repositorio remoto en Git desde archivos locales</title>
		<link>https://blog.ahierro.es/crear-un-repositorio-remoto-en-desde-con-archivos-locales/</link>
					<comments>https://blog.ahierro.es/crear-un-repositorio-remoto-en-desde-con-archivos-locales/#respond</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Mon, 31 Dec 2018 06:55:49 +0000</pubDate>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Tips & Quick Wins]]></category>
		<category><![CDATA[control de versiones]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://www.ahierro.es/?p=192</guid>

					<description><![CDATA[<p>Existen múltiples motivos por los que podemos disponer de código fuente antes de versionarlo: que heredemos un proyecto ya existente, que se nos ocurra una idea y en un impetuoso alarde de entusiasmo vayamos directamente al código, etc. Pero para mi el principal motivo es que es la forma más sencilla de comenzar un proyecto &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/crear-un-repositorio-remoto-en-desde-con-archivos-locales/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Crear un repositorio remoto en Git desde archivos locales"</span></a></p>
La entrada <a href="https://blog.ahierro.es/crear-un-repositorio-remoto-en-desde-con-archivos-locales/">Crear un repositorio remoto en Git desde archivos locales</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>Existen múltiples motivos por los que podemos disponer de código fuente antes de versionarlo: que heredemos un proyecto ya existente, que se nos ocurra una idea y en un impetuoso alarde de entusiasmo vayamos directamente al código, etc. Pero para mi el principal motivo es que es la forma más sencilla de comenzar un proyecto y un repositorio en Git: instalo la aplicación o el framework que necesito, realizo una configuración básica y acto seguido creo el repositorio.</p>



<figure class="wp-block-image"><img decoding="async" width="650" height="365" src="https://www.ahierro.es/wp-content/uploads/2018/11/git_logo.jpg" alt="Git" class="wp-image-174" srcset="https://blog.ahierro.es/wp-content/uploads/2018/11/git_logo.jpg 650w, https://blog.ahierro.es/wp-content/uploads/2018/11/git_logo-300x168.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/11/git_logo-267x150.jpg 267w" sizes="(max-width: 650px) 100vw, 650px" /></figure>



<span id="more-192"></span>



<p>Por otro lado, en función de diferentes factores relacionados con un proyecto de desarrollo podemos trabajar en equipo, que es lo más probable, o solos. Cuando trabajamos en equipo es lógico que el software de control de versiones se encuentre en un servidor centralizado. Cuando trabajamos solos podemos decidir que solo esté en nuestra máquina.</p>



<p>Personalmente incluso trabajando en solitario en un proyecto me gusta versionar contra en un servidor centralizado por dos motivos principales:</p>



<ol class="wp-block-list"><li>Mayor seguridad ante una eventualidad en mi equipo local, circunstancia que no evita que el proyecto deba estar respaldado por copias de seguridad.</li><li>Posibilidad de trabajar en múltiples dispositivos, una opción más o menos interesante en función de nuestras circunstancias.</li></ol>



<p>En caso de que el proyecto que tengamos entre manos sea de ámbito personal, es más que razonable pensar que no todos disponemos de un servidor en casa dónce centralizar el versionado. Esta situación la podemos resolver con un viejo pc, o si no disponemos de uno con una Raspberry Pi que haga las veces de servidor. Aquí te dejo un enlace al artículo <a href="https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/">Instalar y configurar Git en una Raspberry PI con Ubuntu Mate</a>, por si quieres probarlo.</p>





<p>Así que vamos al lío y para ello asumiremos que nuestro servidor está configurado con la ip <em>192.168.1.10</em> y el nombre de nuestro usuario es <em>usuario</em>.</p>



<h3 class="wp-block-heading">Creamos nuestro repositorio remoto</h3>



<p>Lo primero que debemos hacer es crear y configurar correctamente un repositorio vacío en la máquina remota, así que empezaremos por conectarnos a ella:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
ssh usuario@192.168.1.10
</pre></div>


<p>Ya en la consola remota creamos el directorio dónde alojaremos el repositorio que vamos a crear, personalmente creo un directorio en el que incluyo todos los repositorios:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
cd ~
mkdir gitRepositoryRoot
cd gitRepositoryRoot
mkdir nuevoProyecto
cd nuevoProyecto
</pre></div>


<p>Y por fin creamos nuestro repositorio vacío y lo configuramos:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
git --bare init
git config core.sharedrepository 1
git config receive.denyNonFastforwards true
git config --bool core.bare true
</pre></div>


<p>El último paso en la máquina remota es asignar los permisos adecuados al repositorio:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
find objects -type d -exec chmod 02770 {} \;
</pre></div>


<h3 class="wp-block-heading">Creamos nuestro repositorio local</h3>



<p>Una vez que nuestro repositorio está correctamente creado en el servidor deberemos crear un repositorio local a partir de los fuentes que ya tenemos para posteriormente enlazarlo y enviarlo al repositorio que previamente hemos creado en la máquina remota.</p>



<p>Creamos el repositorio local y añadimos los fuentes existentes que supondremos que se encuentran en <em>/var/www/nuevoProyecto</em>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
cd /var/www/nuevoProyecto
git init
git add *
git commit -m &quot;Commit inicial&quot;
</pre></div>


<p>Creamos el repositorio y añadimos los fuentes:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
git remote add origin ssh://usuario@192.168.1.10/home/usuario/gitRepositoryRoot/nuevoProyecto
git push -u origin master
</pre></div>


<h3 class="wp-block-heading">Comprobamos que todo ha salido bien</h3>



<p>Por último comprobaremos que hemos realizado el proceso correctamente y todo funciona correctamente.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
git checkout origin/master
git branch -f master origin/master
git checkout master
</pre></div>


<h3 class="wp-block-heading">Conclusión</h3>



<p>Trabajemos en grupo o en solitario versionar nuestro código en una máquina remota es una tarea sencilla que aporta grandes beneficios. Cómo siempre me gustaría saber cómo lo haces tú, qué haces distinto, si este artículo te ha ayudado&#8230; Si te animas a compartir deja un comentario.</p>La entrada <a href="https://blog.ahierro.es/crear-un-repositorio-remoto-en-desde-con-archivos-locales/">Crear un repositorio remoto en Git desde archivos locales</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/crear-un-repositorio-remoto-en-desde-con-archivos-locales/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Instalar y configurar Git en una Raspberry PI con Ubuntu Mate</title>
		<link>https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/</link>
					<comments>https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/#respond</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Mon, 17 Dec 2018 06:15:46 +0000</pubDate>
				<category><![CDATA[Servicios]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[control de versiones]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://www.ahierro.es/?p=164</guid>

					<description><![CDATA[<p>Git es de largo el software de control de versiones por excelencia, el más utilizado muy por encima de cualquier otra opción como Subversion o Mercurial. Por otro lado existen varias opciones para trabajar con un servidor Git, algunas de las mas famosas son a través de plataformas de terceros como Github o Gitlab. Nosotros &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Instalar y configurar Git en una Raspberry PI con Ubuntu Mate"</span></a></p>
La entrada <a href="https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/">Instalar y configurar Git en una Raspberry PI con Ubuntu Mate</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>Git es de largo el software de control de versiones por excelencia, el más utilizado muy por encima de cualquier otra opción como Subversion o Mercurial.</p>
<p>Por otro lado existen varias opciones para trabajar con un servidor Git, algunas de las mas famosas son a través de plataformas de terceros como Github o Gitlab.</p>
<p><img decoding="async" class="alignnone size-full wp-image-174" src="https://www.ahierro.es/wp-content/uploads/2018/11/git_logo.jpg" alt="Git" width="650" height="365" srcset="https://blog.ahierro.es/wp-content/uploads/2018/11/git_logo.jpg 650w, https://blog.ahierro.es/wp-content/uploads/2018/11/git_logo-300x168.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/11/git_logo-267x150.jpg 267w" sizes="(max-width: 650px) 100vw, 650px" /></p>
<p><span id="more-164"></span></p>
<p>Nosotros hoy instalaremos y configuraremos nuestro propio servidor Git en una Raspberry Pi corriendo Ubuntu Mate y alojada en una red local. Esta entrada pertenece a la serie <a href="https://www.ahierro.es/raspberry-pi-como-herramienta-de-apoyo-para-el-desarrollo-web/">Raspberry PI como herramienta de apoyo para el desarrollo web</a>, que es muy probable que encuentres interesante si has llegado hasta aquí.</p>
<h3>Instalar Git</h3>
<p>Para instalar Git en Ubuntu la opción más sencilla es hacerlo desde los propios repositorios del sistema operativo:<br />[cc lang=»bash»]<br />sudo apt-get update<br />sudo apt-get install git<br />[/cc]</p>
<p>Podemos comprobar la versión que se instala mediante la orden git -version:<br />[cc lang=»bash»]<br />git &#8211;version<br />[/cc]</p>
<p>Si queremos utilizar el PPA oficial de Git para tener la versión más actualizada antes de instalar deberemos agregarlo a nuestro repositorio.</p>
<p>[cc lang=»bash»]<br />sudo add-apt-repository ppa:git-core/ppa<br />[/cc]</p>
<p>[the_ad id=»1018&#8243;]</p>
<h3>Configurar Git</h3>
<p>Y una vez instalado es necesario realizar una configuración inicial básica, en este caso configuraremos nuestra identidad:</p>
<p>[cc lang=»bash»]<br />git config &#8211;global user.name «ahierro.es»<br />git config &#8211;global user.email noexiste@ahierro.es<br />[/cc]</p>
<p>En cualquier momento podremos comprobar nuestra identidad con los siguientes comandos:</p>
<p>[cc lang=»bash»]<br />git config user.name<br />git config user.email<br />git config &#8211;list<br />[/cc]</p>
<h3>Conceptos básicos sobre la configuración de Git</h3>
<p>Git utiliza el comando git config para obtener y para definir las distintas opciones de configuración. Esta configuración se guarda en tres archivos diferentes en función de su ámbito, a los que podemos hacer referencia desde el comando mediante un parámetro:</p>
<table>
<tbody>
<tr>
<th>Archivo</th>
<th>Ámbito</th>
<th>Parámetro</th>
</tr>
<tr>
<td>/etc/gitconfig</td>
<td>Todos los usuarios y repositorios</td>
<td>&#8211;system</td>
</tr>
<tr>
<td>~/.gitconfig</td>
<td>Todos los repositorios de un usuario en particular</td>
<td>&#8211;global</td>
</tr>
<tr>
<td>repositorio/.git/config</td>
<td>Un repositorio en particular</td>
<td>&#8211;local</td>
</tr>
</tbody>
</table>
<p>Cada nivel sobrescribe el anterior. Podemos ver un ejemplo en la configuración que ya hemos realizado:</p>
<p>[cc lang=»bash»]<br />git config &#8211;global user.name «ahierro.es»<br />[/cc]</p>
<p>Ojo, es posible que en función de tú dispositivo y navegador el parámetro de ámbito parezca precedido de un guión «-» cuando en realidad son dos «&#8211;» pero la tipografía no muestra espacio entre ellos.</p>
<h3>¿Y tú qué opinas?</h3>
<p>Como siempre quiero leer qué opinas,qué configuración echas en falta, si utilizas Git, Subversión u otro software, qué haces distinto, etc. Si quieres compartir, deja un comentario con tus experiencias</p>La entrada <a href="https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/">Instalar y configurar Git en una Raspberry PI con Ubuntu Mate</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Servidor Web en Raspberry PI y Ubuntu Mate</title>
		<link>https://blog.ahierro.es/servidor-web-en-raspberry-pi-y-ubuntu-mate/</link>
					<comments>https://blog.ahierro.es/servidor-web-en-raspberry-pi-y-ubuntu-mate/#respond</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Mon, 10 Dec 2018 06:15:41 +0000</pubDate>
				<category><![CDATA[Servicios]]></category>
		<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://www.ahierro.es/?p=148</guid>

					<description><![CDATA[<p>Un servidor web Apache 2 corriendo sobre Linux no requiere muchos recursos de hardware. Así que si queremos disponer de un servidor casero dónde poder trastear y realizar pruebas o desarrollar ese pequeño proyecto que siempre nos ronda en la cabeza, una Raspberry Pi es una buena opción. Esta entrada forma parte de la serie &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/servidor-web-en-raspberry-pi-y-ubuntu-mate/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Servidor Web en Raspberry PI y Ubuntu Mate"</span></a></p>
La entrada <a href="https://blog.ahierro.es/servidor-web-en-raspberry-pi-y-ubuntu-mate/">Servidor Web en Raspberry PI y Ubuntu Mate</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>Un servidor web Apache 2 corriendo sobre Linux no requiere muchos recursos de hardware. Así que si queremos disponer de un servidor casero dónde poder trastear y realizar pruebas o desarrollar ese pequeño proyecto que siempre nos ronda en la cabeza, una Raspberry Pi es una buena opción.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="650" height="365" src="https://www.ahierro.es/wp-content/uploads/2018/12/servidor_web.jpg" alt="Servidor web" class="wp-image-251" srcset="https://blog.ahierro.es/wp-content/uploads/2018/12/servidor_web.jpg 650w, https://blog.ahierro.es/wp-content/uploads/2018/12/servidor_web-300x168.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/12/servidor_web-267x150.jpg 267w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<span id="more-148"></span>



<p>Esta entrada forma parte de la serie <a href="https://www.ahierro.es/raspberry-pi-como-herramienta-de-apoyo-para-el-desarrollo-web/">Raspberry Pi como herramienta de apoyo al desarrollo web</a>, y está pensada para un servidor de uso personal. De cualquier manera, el contenido de esta guía es perfectamente aplicable a cualquier distribución de Linux basada en Ubuntu y a Raspbian.</p>





<p>Esta documento también puede utilizarse para la configuración de un servidor de una pequeña organización, en cuyo caso sería necesario tener en cuenta algunas consideraciones:</p>



<ol class="wp-block-list"><li>Una Rasperri Pi no es el hardware más adecuado. Debería instalarse sobre un hardware fiable y acordemente dimensionado a las necesidades del uso que se le dará.</li><li>Además del contenido de este artículo, deberían realizarse una serie de configuraciones extra enfocadas en la seguridad que no entran en el ámbito ni el alcance de este documento.</li><li>Este artículo esta pensado para la instalación y configuración de un servidor web en una red local, en caso de que el servidor sea accesible directamente desde internet, el punto anterior cobra mayor importancia, además de requerir algunos ajustes más.</li></ol>



<p>Una vez que todos tenemos claro el ámbito y el alcance, vamos al lío.</p>



<h3 class="wp-block-heading">Instalamos Apache 2</h3>



<p>Este paso será muy sencillo, actualizamos los repositorios e instalamos Apache 2:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo apt-get update
sudo apt-get install apache2
</pre></div>


<p>Si todo ha ido bien ya podremos acceder al al servidor web desde cualquier pc conectado a la red local con tan solo introducir la ip en el navegador.</p>



<p>Para el resto de la entrada asumiremos que nuestra Raspberry está configurada con la IP estática 192.168.1.10.</p>



<p>Así que si introducimos en el navegador la dirección http://192.168.1.10&nbsp; veremos la página por defecto de Apache 2:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="650" height="365" src="https://www.ahierro.es/wp-content/uploads/2018/12/apache2_default_page.jpg" alt="Apache 2 página por defecto" class="wp-image-256" srcset="https://blog.ahierro.es/wp-content/uploads/2018/12/apache2_default_page.jpg 650w, https://blog.ahierro.es/wp-content/uploads/2018/12/apache2_default_page-300x168.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/12/apache2_default_page-267x150.jpg 267w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<p>Un aspecto muy importante en la configuración de Apache es asignar los permisos adecuados a la carpeta del servidor. Podemos pasar sin hacerlo pero más pronto que tarde nos encontraremos con problemas relacionados con permisos.</p>





<p>Comenzaremos asegurándonos de que /var/www/html pertenezca al grupo www-data y que tiene los permisos adecuados:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo chgrp www-data /var/www/html
sudo chmod 775 /var/www/html
sudo chmod g+s /var/www/html
</pre></div>


<p>Agregamos nuestro usuario al grupo www-data:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo usermod -a -G www-data usuario
</pre></div>


<p>Y por último nos aseguramos de ser los propietarios del directorio</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo chown usuario /var/www/html
</pre></div>


<p>Con esto hemos concluido la instalación de Apache.</p>



<h3 class="wp-block-heading">Instalamos PHP</h3>



<p>Instalamos PHP:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo apt-get install php7.0
</pre></div>


<p>Es posible que en función de la distribución que utilicemos en lugar del paquete php7.0 encontremos otra versión. Podemos comprobarlo fácilmente con la siguiente orden:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo apt-cache search php
</pre></div>


<p>Y si por cualquier motivo necesitamos una versión específica de php, deberemos incluir el repositorio ondrej/php como hacemos a continuación:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update
</pre></div>


<p>En este caso he incluido la opción -y porque al intentar agregar el repositorio me mostraba un warning relacionado con la codificación de caracteres de los repositorios.</p>



<p>Acto seguido instalar la versión de php que necesitemos, en mi caso voy a instalar la versión 7.3:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo apt-get install php7.3
</pre></div>


<p>Tras reiniciar Apache ya habremos acabado:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo service apache2 restart
</pre></div>


<p>Para comprobar que php está correctamente instalado crearemos el archivo&nbsp; /var/www/html/phpinfo.php con el siguiente contenido:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
&lt;?php php phpinfo(); ?&gt;
</pre></div>


<p>Si todo es correcto al acceder a http://192.168.1.10/phpinfo.php veremos algo así:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="650" height="365" src="https://www.ahierro.es/wp-content/uploads/2018/12/php_info_php73.jpg" alt="phpinfo php 7.3" class="wp-image-279" srcset="https://blog.ahierro.es/wp-content/uploads/2018/12/php_info_php73.jpg 650w, https://blog.ahierro.es/wp-content/uploads/2018/12/php_info_php73-300x168.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/12/php_info_php73-267x150.jpg 267w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<h3 class="wp-block-heading">Instalamos y configuramos MariaDB</h3>



<p>Una vez que php está instalado, continuamos con la base de datos:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo apt-get install mariadb-server
</pre></div>


<p>Durante el proceso de instalación deberemos responder responder a algunas preguntas que sin complicación alguna.</p>



<p>El primer paso tras la instalación será configurar MariaDB para que podamos acceder remotamente, pues por defecto solo acepta conexiones desde el propio host:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
</pre></div>


<p>Esfe archivo puede cambiar en función de tu distribución y de la versión de MariaDB. En ocasiones puedes encontrarlo en /etc/mysql/my.cnf, en /etc/mysql/mysql.conf.d/mysqld.cnf, etc.</p>



<p>Localizamos la siguiente línea:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; gutter: false; title: ; notranslate">
bind-address  = 127.0.0.1
</pre></div>


<p>La sustituimos por:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; gutter: false; title: ; notranslate">
bind-address  = 0.0.0.0
</pre></div>


<p>Y reiniciamos la base de datos:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo service mysql restart
</pre></div>


<p>Con esto hemos habilitado el acceso remoto a MariaDB. Ahora crearemos un nuevo usuario para evitar trabajar con root. Para ello accedemos a la consola de MariaDB:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo mysql -u root -p
</pre></div>


<p>Una vez en la consola de MariaDB creamos nuestro usuario:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: sql; gutter: false; title: ; notranslate">
CREATE USER &#039;usuario&#039; IDENTIFIED BY &#039;contraseña&#039;;
</pre></div>


<p>Y concedemos acceso remoto y a todas las bases de datos al usuario que acabamos de crear:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: sql; gutter: false; title: ; notranslate">
GRANT USAGE ON *.* TO &#039;usuario&#039;@&#039;%&#039; IDENTIFIED BY &#039;contraseña&#039;;
</pre></div>


<p>En este punto es buena idea comprobar que todo ha salido bien. Podemos hacerlo abriendo una conexión al servidor de bases desde nuestro equipo de trabajo con alguna herramienta como MySQL Workbench.</p>



<h3 class="wp-block-heading">Instalamos phpMyAdmin</h3>



<p>Esta es una herramienta que siempre me gusta instalar a pesar de que en la mayoría de situaciones trabajo con MySql Workbenck. Para instalar basta con:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo apt-get install phpmyadmin
</pre></div>


<p>Y una vez instalado podremos acceder a ella mediante <em>http://192.168.1.10/phpmyadmin</em>.</p>





<h3 class="wp-block-heading">Conclusión</h3>



<p>Ya tenemos un servidor web completamente funcional corriendo sobre nuestra Rasperri PI, sencillo, económico y funcional. Ahora solo hay que usarlo.</p>



<p>¿Y tú?, ¿Crees que necesitamos aplicar alguna otra configuración? ¿Haces algo distinto? ¿Echas en falta algún paso? o simplemente ¿te ha servido de ayuda? Comparte tu experiencia y aprendamos todos.</p>La entrada <a href="https://blog.ahierro.es/servidor-web-en-raspberry-pi-y-ubuntu-mate/">Servidor Web en Raspberry PI y Ubuntu Mate</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/servidor-web-en-raspberry-pi-y-ubuntu-mate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Habilitar acceso SSH a Raspberry Pi</title>
		<link>https://blog.ahierro.es/habilitar-acceso-ssh-a-raspberry-pi/</link>
					<comments>https://blog.ahierro.es/habilitar-acceso-ssh-a-raspberry-pi/#respond</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Mon, 03 Dec 2018 06:20:33 +0000</pubDate>
				<category><![CDATA[Sistemas]]></category>
		<category><![CDATA[Tips & Quick Wins]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[red]]></category>
		<category><![CDATA[ssh]]></category>
		<guid isPermaLink="false">https://www.ahierro.es/?p=215</guid>

					<description><![CDATA[<p>La Raspberry Pi, sea con Raspbian o con Ubuntu Mate, tiene un entorno de escritorio muy digno para los recursos de que dispone este SBC. Pero para el uso que le queremos dar lo que haremos será activar el acceso SSH y desactivar el entorno de escritorio. De esta forma podremos dejar nuestro Raspberry en &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/habilitar-acceso-ssh-a-raspberry-pi/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Habilitar acceso SSH a Raspberry Pi"</span></a></p>
La entrada <a href="https://blog.ahierro.es/habilitar-acceso-ssh-a-raspberry-pi/">Habilitar acceso SSH a Raspberry Pi</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>La Raspberry Pi, sea con Raspbian o con Ubuntu Mate, tiene un entorno de escritorio muy digno para los recursos de que dispone este SBC. Pero para el uso que le queremos dar lo que haremos será activar el acceso SSH y desactivar el entorno de escritorio.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="650" height="365" src="https://www.ahierro.es/wp-content/uploads/2018/12/raspberry_ssh.jpg" alt="Raspberry PI SSH" class="wp-image-232" srcset="https://blog.ahierro.es/wp-content/uploads/2018/12/raspberry_ssh.jpg 650w, https://blog.ahierro.es/wp-content/uploads/2018/12/raspberry_ssh-300x168.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/12/raspberry_ssh-267x150.jpg 267w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<span id="more-215"></span>



<p>De esta forma podremos dejar nuestro Raspberry en algun lugar de casa que no moleste con solo un adaptador de corriente, y si nos venimos arriba además con un cable de red.</p>





<p>Así que vamos al lío y veamos varias formas para hacer esto:</p>



<h3 class="wp-block-heading">Configurar SSH en Raspbian desde la interface gráfica</h3>



<p>Esta es quizás la forma más habitual de hacerlo, principalmente por comodidad. Desde la interface gráfica accedemos a <em>Menu</em> -&gt; <em>Preferences</em> -&gt; <em>Raspberry Pi Configuracion</em>. Se levanta la aplicación Raspberry Pi Configuration, que tiene el siguiente aspecto (ojo que en el pantallazo que muestro ya he cambiado de pestaña):</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="483" height="412" src="https://www.ahierro.es/wp-content/uploads/2018/12/Raspberry-Pi-Configuration.jpg" alt="Raspberry Pi Configuration" class="wp-image-230" srcset="https://blog.ahierro.es/wp-content/uploads/2018/12/Raspberry-Pi-Configuration.jpg 483w, https://blog.ahierro.es/wp-content/uploads/2018/12/Raspberry-Pi-Configuration-300x256.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/12/Raspberry-Pi-Configuration-176x150.jpg 176w" sizes="auto, (max-width: 483px) 100vw, 483px" /></figure>



<p>Y una vez abierta la aplicación:</p>



<ol class="wp-block-list"><li>Nos situamos en la pestaña <em>Interfaces</em>.</li><li>Activamos el SSH.</li><li>Guardamos con el botón <em>OK</em>.</li></ol>



<h3 class="wp-block-heading">Configurar SSH en Raspbian desde la consola</h3>



<p>Si nos hemos decidido por un Raspbian sin entorno de escritorio o si simplemente preferimos trabajar con la consola,&nbsp; ejecutamos el siguiente comando:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo raspi-config
</pre></div>


<p>Esto abrirá la aplicación que tiene el siguiente aspecto:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="650" height="365" src="https://www.ahierro.es/wp-content/uploads/2018/12/raspi-config.jpg" alt="raspi-config" class="wp-image-225" srcset="https://blog.ahierro.es/wp-content/uploads/2018/12/raspi-config.jpg 650w, https://blog.ahierro.es/wp-content/uploads/2018/12/raspi-config-300x168.jpg 300w, https://blog.ahierro.es/wp-content/uploads/2018/12/raspi-config-267x150.jpg 267w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<p>A partir de aquí deberemos seguir los siguientes pasos:</p>



<ol class="wp-block-list"><li>Seleccionamos <em>Advanced Options</em>.</li><li>Navegamos hasta la opción <em>SSH</em>.</li><li>Acitvamos el servidor.</li><li>Guardamos y salimos con la opción <em>Finish</em>.</li></ol>



<h3 class="wp-block-heading">Activar SSH en Ubuntu Mate desde la consola</h3>



<p>En Ubuntu Mate también es muy sencillo activar el acceso SSH, por defecto y al igual que en Raspbian viene instalado, así que solo tendremos que habilitarlo mediante las siguientes instrucciones en la consola:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
sudo systemctl enable ssh
sudo systemctl start ssh
</pre></div>


<h3 class="wp-block-heading">Conclusión</h3>



<p>El acceso mediante SSH es de gran utilidad para conectar remotamente a nuestra Raspberry. Además, es sumamente sencillo configurar el servidor SSH tanto en Raspbian como en Ubuntu Mate, de hecho es tan habitual que ni si quiera tendremos que instalarlo pues estas dos distribuciones ya lo traen instalado por defecto.</p>La entrada <a href="https://blog.ahierro.es/habilitar-acceso-ssh-a-raspberry-pi/">Habilitar acceso SSH a Raspberry Pi</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/habilitar-acceso-ssh-a-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
