tag:blogger.com,1999:blog-20208901732756362912024-03-20T00:04:39.125-04:00Blog de Reinaldo OjedaYa que es mi blog personal, encontrarás aquí información referente a lo que más me llama la atención, o sea GNU/Linux y tecnología en general.Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.comBlogger65125tag:blogger.com,1999:blog-2020890173275636291.post-87904471515695613452016-07-10T10:08:00.006-04:002016-07-10T10:08:59.359-04:00VMware 12 no inicia en DebianResulta que por alguna extraña razon, VMware dejó de funcionar en mi Debian, cuando intento iniciarlo, me dice que no puede iniciar el servicio.<br />
<br />
Comienzo mi lectura y me entero que es por una actualización del kernel de mi equipo, todos los que tengan un kernel igual o mayor a 4.6 deberán proceder a parchear un par de archivos de VMware para poder ejecutarlo.<br />
<br />
Los pasos a efectuar son los siguientes:<br />
<br />
<blockquote class="tr_bq">
<pre>$ sudo -i </pre>
<pre># cd /usr/lib/vmware/modules/source
# tar xf vmmon.tar
# mv vmmon.tar vmmon.old.tar
# sed -i -e 's/get_user_pages/get_user_pages_remote/g' vmmon-only/linux/hostif.c
# tar cf vmmon.tar vmmon-only
# rm -r vmmon-only
</pre>
<pre># tar xf vmnet.tar
# mv vmnet.tar vmnet.old.tar
# sed -i -e 's/get_user_pages/get_user_pages_remote/g' vmnet-only/userif.c
# tar cf vmnet.tar vmnet-only
# rm -r vmnet-only
</pre>
</blockquote>
Luego de esto, podrán ejecutar vmware sin problemas.<br />
<br />
Fuente: <a href="https://wiki.archlinux.org/index.php/VMware#3.19_kernels">https://wiki.archlinux.org/index.php/VMware#3.19_kernels</a> Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com2tag:blogger.com,1999:blog-2020890173275636291.post-64948605916845182182016-06-18T06:24:00.002-04:002016-06-18T06:24:54.392-04:00Aprende a usar Flexbox - CSS<div style="text-align: center;">
<b>Aprende a usar Flexbox - CSS </b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Eres de los que se aburren un poco mientras intentan aprender alguna nueva tecnología?
Quieres aprender a usar los modelos de cajas flexibles de CSS?
Para ti, la solución más adecuada viene siendo Flexbox Defense, un juego en el cual debes ir situando tus torres de defensa para disparar y acabar con todos los elementos que quieran pasar a tu "fuerte".
Por lo que he visto hasta ahora en el juego, la idea consiste en alinear tanto horizontal, como verticalmente tus elementos alrededor de tu caja y así lograr que ellas estén bien ubicadas para el momento en el cual los enemigos intenten pasar.
Se los recomiendo, una muy buena manera de aprender código CSS - Flexbox.
<a href="http://www.flexboxdefense.com/">http://www.flexboxdefense.com/</a></div>
Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-21382522474981564032016-03-02T06:02:00.000-04:302016-03-08T05:59:29.455-04:30Diferencias entre Wordpress, Joomla y Drupal<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }a:link { }</style>
<br />
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSDMHqmH39M5zmL6KNdrmxi8_kqOBoxskY-qtpRo8-yoZFDKGQvuevH2igQYwNQMDrX1rtLuyIidtltaqBapQ3kflM5SB2eQHJUtIaP8_ECkx_J3rCNtOfJ3nuRlzhBxWRx_iMfxUEhB87/s1600/Intro-CMS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSDMHqmH39M5zmL6KNdrmxi8_kqOBoxskY-qtpRo8-yoZFDKGQvuevH2igQYwNQMDrX1rtLuyIidtltaqBapQ3kflM5SB2eQHJUtIaP8_ECkx_J3rCNtOfJ3nuRlzhBxWRx_iMfxUEhB87/s320/Intro-CMS.png" width="320" /></a></div>
<br />
<br />
Dado
que mi trabajo en el curso de los años me ha llevado por el camino
de los CMS (<span style="font-weight: normal;">Sistema Manejador de
Contenido, </span>por sus siglas en inglés, <b>C</b>ontent <b>M</b>anager
<b>S</b>ystem) y LMS (Sistema Manejador de Aprendizaje, por sus siglas
en inglés, <b>L</b>earning <b>M</b>anagment <b>S</b>ystem), he
decidido generar un pequeño artículo comparativo entre los CMS más
utilizados actualmente.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
Ahora
bien, no podemos hablar de CMS sin entender primero qué son, por lo
tanto, como ya es costumbre, comenzaremos con una definición.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
Un
CMS es un sistema que se instala en la nube, con el objetivo de crear
un sitio Web en el cual se pueda tener contenidos interactivos, la
idea es que luego de haber instalado el sistema, podamos, mediante el
mismo, crear y manejar nuevos contenidos (páginas dentro del mismo
sitio Web). Las características de este tipo de sitios varía
dependiendo del diseño que le dé su creador. Adicionalmente está
el hecho de que se puedan tener varias personas trabajando
simultáneamente en la creación de nuevos artículos para el sitio,
teniendo cada una de ellas, una cuenta de usuario que le permita
efectuar diversas operaciones.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<blockquote class="tr_bq">
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
“Consiste
en una interfaz que controla una o varias bases de datos donde se
aloja el contenido del sitio web. El sistema permite manejar de
manera independiente el contenido y el diseño. Así, es posible
manejar el contenido y darle en cualquier momento un diseño distinto
al sitio web sin tener que darle formato al contenido de nuevo,
además de permitir la fácil y controlada publicación en el sitio a
varios editores. Un ejemplo clásico es el de editores que cargan el
contenido al sistema y otro de nivel superior (moderador o
administrador) que permite que estos contenidos sean visibles a todo
el público (los aprueba).”
<a href="https://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_contenidos">https://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_contenidos</a>
Marzo, 2016</div>
</blockquote>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
Ahora
bien, ya siendo conocedores de ¿qué es un CMS?, procederemos a
visualizar una pequeña imagen que muestra las diferencias
y similitudes entre Joomla, Wordpress y Drupal.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ69sptg3vFa-bWt2CJgSjiyIpD8MU5_qVwDeFbXS-MCtJcQ64AwQplbFCw4169jAZk5E9nhVNfLIli64vv9aC6fupDxSAPnbPB_wizXHgx67mSR22Q9NU8r0Ge0rdqAQ2woaKEelMyIj2/s1600/MapaCMS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ69sptg3vFa-bWt2CJgSjiyIpD8MU5_qVwDeFbXS-MCtJcQ64AwQplbFCw4169jAZk5E9nhVNfLIli64vv9aC6fupDxSAPnbPB_wizXHgx67mSR22Q9NU8r0Ge0rdqAQ2woaKEelMyIj2/s640/MapaCMS.png" width="640" /></a></div>
<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }a:link { }</style>
<br />
<div align="justify" style="line-height: 100%; margin-bottom: 0cm; page-break-before: always;">
<br />
<b>Factores Comunes:</b></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Los tres CMS poseen ciertas características en común, las cuales
serán mencionadas a continuación:</div>
<ul>
<li>Programados en PHP.</li>
<li>Sistemas de código abierto.</li>
<li>Están compuestos de un núcleo principal y módulos básicos.</li>
<li>Se pueden descargar e instalar módulos adicionales.</li>
<li>Se pueden descargar e instalar plantillas adicionales para darle una
apariencia diferente a la original.</li>
<li>Soporte MySQL como base de datos.</li>
</ul>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<b>Características
específicas:</b></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<i>Drupal</i>:</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Es un sistema creado pensando en los programadores, por lo cual su
curva de aprendizaje tiende a ser mayor, sin embargo, una vez se
conoce, se pueden generar sitios altamente escalables, alcanza
incluso mayor escalabilidad que Joomla y Wordpress; es un CMS
bastante completo y por lo tanto, algunos podrían decir que es
igualmente bastante complejo, sin embargo, no vean esto como un
defecto sino como una necesidad de mayor experiencia para generar
sitios con mayor un ciclo de vida.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Recién instalado, Drupal muestra un menú bastante básico, la idea
es que el administrador pueda adaptar ese menú y escalarlo a medida
de sus necesidades; incluso puede personalizar que tipo de menú
desea que visualice cada tipo de usuario, ya sea un administrador, un redactor,
un corrector o un lector.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Existen más de 24.000 plugins diferentes descargables para Drupal,
lo cual permite añadir una cantidad enorme de posibilidades y
capacidades a nuestro CMS. Otra de las ventajas / desventajas
(dependiendo del punto de vista) de Drupal, es que, al estar pensado
para programadores, se ha contemplado la posibilidad de que el
desarrollador haga sus propios códigos para adaptar su sitio web a
las necesidades específicas del proyecto.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Ahora bien, desde el punto de vista de seguridad y actualizaciones
Drupal no queda para nada mal posicionado, sus actualizaciones son
liberadas cada 51 días aproximadamente; esto no quiere decir que
Drupal no sea el objetivo de algunos crackers, sin embargo, dado que
este CMS posee menor popularidad que sus dos competidores más
fuertes (Joomla y Wordpress), normalmente se encuentra menos afectado
por los delincuentes tecnológicos o cyber-delincuentes.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Dada su complejidad, Drupal está de tercero en la lista de
popularidad entre CMS, sin embargo, no es un manejador de contenidos
malo, todo lo contrario, es muy fuerte aunque requiere de
conocimientos avanzados para desarrollar un sitio con el.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<b>Joomla:</b></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Un CMS en el cual decidieron abrir un poco más el target de
usuarios, enfocándose un poco en la usabilidad del sistema para
usuarios no programadores, esto hace que su curva de aprendizaje sea
menos prolongada que en el caso de Drupal, sin embargo, con Joomla
decidieron no cerrarse y aún sigue permitiendo que un desarrollador
genere e integre un código adicional para su sistema Web, esto
permite igualmente que la escalabilidad siga siendo grande, en
efecto, el sitio será, <i>casi</i>, tan escalable como su desarrollador
desee.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Recién instalado, Joomla muestra un menú bastante práctico, la
idea es que el administrador pueda hacer cualquier operación y pueda
desarrollar un sitio básico sin necesidad de añadir módulos
adicionales a su sistema; nótese que es un sitio básico, a mayor
complejidad deseada, mayor necesidad de plugins adicionales.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Existen más de 7.000 plugins diferentes descargables para Joomla; si
lo se, es menos de la tercera parte de los que podemos descargar para
Drupal, sin embargo es relevante tomar en cuenta que Joomla ya cuenta
con muchas funcionalidades por defecto, los módulos son para añadir
otras posibilidades a nuestro CMS, lo cual hace menos necesario hacer
uso de módulos adicionales. </div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Ahora bien, desde el punto de vista de seguridad y actualizaciones,
el equipo de Joomla las libera aproximadamente cada 36 días, lo que
nos permite sentirnos un poco más seguros con respecto a la
seguridad (vamos, que el tema de seguridad informática tiene mucho
que ver con la sensación ya que en realidad ningún sistema es
impenetrable, técnicamente hablando).</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Dada su relación complejidad - usabilidad, Joomla está de segundo en
la lista de popularidad entre CMS, sin embargo esto no quiere decir
que sea mejor o peor que Drupal o Wordpress, sino que está pensado
para otro target. Ahora bien, no olviden que a mayor nivel de
popularidad, mayor conocidos y buscados los bugs de seguridad, así
que Joomla es un poco más atacado por los cyber-delincuentes que Drupal.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<b>Wordpress</b></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Siguiendo con el mismo orden de ideas debemos dejar claro que en
Wordpress han vuelto a limitar un poco el target de usuarios
enfocándose primordialmente en la usabilidad del sistema para
usuarios no programadores, esto hace que su curva de aprendizaje sea
mínima, comparada con la de sus competidores; el problema es que
entonces no permiten la escalabilidad al limitar el desarrollo propio
de los programadores durante la creación de una Web con este CMS.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Recién instalado, Wordpress, al igual que Joomla, muestra un menú
bastante práctico, la idea es que el administrador pueda hacer
cualquier operación y pueda desarrollar un sitio básico sin
necesidad de añadir módulos adicionales a su sistema; de nuevo, a mayor
complejidad deseada, mayor necesidad de plugins adicionales</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Existen más de 27.000 plugins diferentes descargables para
Wordpress; lo que deja a Joomla con muchos menos plugins que sus dos
competidores, igualmente los módulos son para añadir otras
posibilidades a nuestro CMS, lo cual hace menos necesario hacer uso
de módulos adicionales. </div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Ahora bien, desde el punto de vista de seguridad y actualizaciones,
el equipo de Wordpress libera las suyas aproximadamente cada 42
días.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Dada su versatilidad, Wordpress está de primero en la lista de
popularidad entre los CMS, el problema principal viene a ser que eso
lo convierte en una de las plataformas más conocidas por los
atacantes; sin embargo el equipo de Wordpress, al igual que el de todos los CMS conocidos, trabaja muy duro en
sus actualizaciones y siempre liberan correcciones a los bugs de
seguridad descubiertos.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Se considera importante acotar que en realidad <i>ninguno</i> de los CMS <i>es</i>
definitivamente <i>mejor</i> <i>que</i> el <i>otro</i>, aquí aplica la teoría de la
relatividad de Alber Einstein (<a href="https://es.wikipedia.org/wiki/Teor%C3%ADa_de_la_relatividad">https://es.wikipedia.org/wiki/Teor%C3%ADa_de_la_relatividad</a> Marzo, 2016), ya que todo va a depender de diversas
variables tales como el nivel de conocimiento del desarrollador, el
objetivo del sitio creado con el CMS, el nivel de exigencia del
cliente final, entre otros.</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
También es importante destacar que las diversas plataformas tienen
mayor popularidad en campos específicos, tales como:</div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<ul style="text-align: justify;">
<li>Joomla es más usado para el desarrollo de sitios Web de e-comerce.</li>
<li>Wordpress es mas usado para el desarrollo de Blogs.</li>
<li>Drupal, dada su escalabilidad puede ser usado tanto para el
desarrollo de blogs básicos, como para el desarrollo de sistemas
avanzados y sofisticados que requieran mayor programación.</li>
</ul>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
A continuación les dejo la imagen comparativa de <a href="http://websitesetup.org/cms-comparison-wordpress-vs-joomla-drupal/" target="_blank">WebSiteSetup</a>, la
cual es bastante práctica e interesante.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEdwgV8gCcpmgxiy7dnYg96YYx2082R0g-zGlf8Eebn2v4ECMykKXXmrF7ybAG09DiP7236Xr5FfomqzsckRThrYMTTwW00vCVqHjxCSluP7YgnJoGH8b9fsx72QNo5nbAMnHaNzJJcmFE/s1600/CMS-comparison-chart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEdwgV8gCcpmgxiy7dnYg96YYx2082R0g-zGlf8Eebn2v4ECMykKXXmrF7ybAG09DiP7236Xr5FfomqzsckRThrYMTTwW00vCVqHjxCSluP7YgnJoGH8b9fsx72QNo5nbAMnHaNzJJcmFE/s1600/CMS-comparison-chart.png" /></a></div>
<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }a:link { }</style>
<br />
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
Adelante, prueben los diferentes CMS e indiquen sus opiniones al
respecto. Que lo disfruten.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<b>Diversas fuentes:</b></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<a href="http://websitesetup.org/cms-comparison-wordpress-vs-joomla-drupal/">http://websitesetup.org/cms-comparison-wordpress-vs-joomla-drupal/</a>
Marzo, 2016</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<a href="http://www.wpbeginner.com/opinion/wordpress-vs-joomla-vs-drupal-which-one-is-better/">http://www.wpbeginner.com/opinion/wordpress-vs-joomla-vs-drupal-which-one-is-better/</a>
Marzo, 2016</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<a href="http://www.isyourweb.com/comparativa-drupal-joomla-y-wordpress">http://www.isyourweb.com/comparativa-drupal-joomla-y-wordpress</a>
Marzo, 2016</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<a href="http://www.dlogica.com/es/blog/comparativa-cms-drupal-joomla-wordpress">http://www.dlogica.com/es/blog/comparativa-cms-drupal-joomla-wordpress</a>
Marzo, 2016<br />
<br />
<div style="text-align: right;">
Copyleft Rait3 - 2016
</div>
<span class="st_facebook_large" displaytext="Facebook"></span>
<span class="st_twitter_large" displaytext="Tweet"></span>
<span class="st_googleplus_large" displaytext="Google +"></span>
<span class="st_linkedin_large" displaytext="LinkedIn"></span>
<span class="st_email_large" displaytext="Email"></span>
<span class="st_whatsapp_large" displaytext="WhatsApp"></span></div>
Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-6699921128180631982016-02-27T16:39:00.002-04:302016-03-08T05:57:59.548-04:30Diferencia entre fuentes Serif y Sans Serif<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }a:link { }</style>
<br />
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHe7u-CtdaGsJXTLcCDk6p6M_zBpECOXKgtz28FzfsXla1RuRiLnljVcbRK0cMDaUdAMo6JhO1SvfD2G4ffexaEvp4jyvK9B8eYFG6Aq3o3T2lDjdy_i1691pJJ1_giLcU1s_wx30se5K/s1600/Tipografia.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiHe7u-CtdaGsJXTLcCDk6p6M_zBpECOXKgtz28FzfsXla1RuRiLnljVcbRK0cMDaUdAMo6JhO1SvfD2G4ffexaEvp4jyvK9B8eYFG6Aq3o3T2lDjdy_i1691pJJ1_giLcU1s_wx30se5K/s320/Tipografia.png" width="320" /></a></div>
<br />
<br />
Actualmente
estoy haciendo un taller de Inskcape, en el cual nos han preguntado
si conocíamos la diferencia entre una fuente Serif y una fuente Sans
serif; en ese momento recordé que en el pasado, cuando era tesista
de TSU (Técnico Superior Universitario) me tocó estudiar al
respecto para poder decidir qué fuente utilizar y por qué.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
Ahora
bien, la palabra serif hace referencia a adornos ubicados en las
puntas de las letras, podríamos llamarlo igualmente remates. Por lo
tanto, una tipografía que no esté adornada es sans serif (sans del
término Francés que significa sin); muchos también la llaman,
fuente sin gracia.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div style="line-height: 100%; margin-bottom: 0cm; text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj71NYvHB6_wOxMt4HOM0TMB3uKS-8pDsxiFZfZgFbpc1fKERf13QGv_AvY4_UYuw3ctddaVgQv10kYisMTffu2dBKK4KW8M2rbVqbWiD5mxoe_I6-iuVPPQ1Gz2VggzMNXoO5_-8OrXUEB/s1600/SerifSansSerifMuestra.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj71NYvHB6_wOxMt4HOM0TMB3uKS-8pDsxiFZfZgFbpc1fKERf13QGv_AvY4_UYuw3ctddaVgQv10kYisMTffu2dBKK4KW8M2rbVqbWiD5mxoe_I6-iuVPPQ1Gz2VggzMNXoO5_-8OrXUEB/s1600/SerifSansSerifMuestra.png" /></a></div>
</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: "dejavu" serif , serif;"><span style="font-size: small;">Noten
los detalles, (serif) normalmente en el inicio y final de las líneas
de cada letra.</span></span></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: "dejavu" serif , serif;"><span style="font-size: small;">¿Ahora
bien, cual es la diferencia de usar una fuente o la otra?</span></span></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: "dejavu" serif , serif;"><span style="font-size: small;">En
realidad muchas veces seleccionamos nuestras fuentes por el simple
gusto o amor que le tengamos a una tipografía específica, sin
embargo deberíamos tomar en cuenta que la fuente llamará (o dejará
de llamar) la atención de nuestro target.</span></span></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: "dejavu" serif , serif;"><span style="font-size: small;">Mi
recomendación personal es que si están generando un artículo o un
documento de carácter técnico, comercial o empresarial, intenten
usar tipografías que no añadan detalles innecesarios a lo que
hacen; ahora bien, si quieren representar una escritura antigua o
están generando un documento con un sentido más personal, por
ejemplo un poema, en ese caso hagan uso de una fuente serif, que
traiga adornos.</span></span></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="font-weight: normal; line-height: 100%; margin-bottom: 0cm;">
<span style="font-family: "dejavu" serif , serif;"><span style="font-size: small;">Si
quieren descargar tipografías para sus distintos documentos, les
recomiendo esta Web <a href="http://www.dafont.com/">http://www.dafont.com/</a>
Febrero, 2016</span></span><br />
<br />
<div style="text-align: right;">
<span style="font-family: "dejavu" serif , serif;"><span style="font-size: small;">Copyleft Rait3 - 201<span style="font-family: "dejavu" serif , serif;">6</span> </span></span></div>
</div>
<span class="st_facebook_large" displaytext="Facebook"></span>
<span class="st_twitter_large" displaytext="Tweet"></span>
<span class="st_googleplus_large" displaytext="Google +"></span>
<span class="st_linkedin_large" displaytext="LinkedIn"></span>
<span class="st_email_large" displaytext="Email"></span>
<span class="st_whatsapp_large" displaytext="WhatsApp"></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-32836731918788819232016-02-21T14:31:00.001-04:302016-03-08T05:58:44.514-04:30Restaurar GRUB con Rescatux<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }a:link { }</style>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhewFhPH6n2WYKFTo79kX6Kfd8qGCj3-ofxe6Rn1UZhpGiU5FRqegCFVYMEt_NJNmAge4NI_GAKEkeZUQ61wtlagBwzD9lpznOg8rAgt8783prsmGRMM0kmeVuYdhWX0IpzrpvOcuVH8d2V/s1600/Rescatux.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhewFhPH6n2WYKFTo79kX6Kfd8qGCj3-ofxe6Rn1UZhpGiU5FRqegCFVYMEt_NJNmAge4NI_GAKEkeZUQ61wtlagBwzD9lpznOg8rAgt8783prsmGRMM0kmeVuYdhWX0IpzrpvOcuVH8d2V/s320/Rescatux.png" width="320" /></a></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<b>Rescatux</b> es una
distribución de GNU/Linux que nos permite recuperar el gestor de
inicio GRUB.</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
Comencemos entonces
con algunas definiciones.</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<b>GRUB</b> es el acrónimo de <i>GNU GRand Unified Bootloader, </i><i>si
desean ver la definición, justo en mi anterior artículo pueden leer
un poco
(<a href="http://ojedareinaldo.blogspot.fr/2016/02/cambiar-fondo-del-grub.html">http://ojedareinaldo.blogspot.fr/2016/02/cambiar-fondo-del-grub.html</a>
Febrero, 2016), igualmente les dejo la URL de la página oficial del
GRUB <a href="https://www.gnu.org/software/grub/">https://www.gnu.org/software/grub/</a>
Febrero, 2016.</i></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<b>Live
CD</b>: cada vez que iniciamos nuestro equipo, el sistema operativo es
buscado en el disco duro y se comienza a colocar en RAM cada una de
las rutinas necesarias para que el mismo funcione de manera correcta;
ahora bien, imaginemos por un momento que nuestro equipo no inicia,
pero tenemos que entregar urgentemente algún trabajo que hicimos y
que está en el HDD (Hard Disk Drive o Disco Duro). Si, lo sé, es
que Murphy siempre nos toma siempre desprevenidos con esa ley de “Si
algo puede salir mal, saldrá mal” Ahora bien, ¿y si te digo que
existe una solución y que teniendo la herramienta adecuada puedes
solventar tu inconveniente en un momento?.
</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
Digamos
que tenemos un CD o USB booteable preparado con todos los archivos de
un sistema operativo, un CD o USB que le dirá a nuestro equipo,
“-GNU/Linux o Ms Windows está aquí, no en el HDD, carga todo a
memoria RAM desde mi.-”</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
Eso
es un Live CD, un disco que permite correr el sistema en VIVO o en
caliente como decimos en español, es importante destacar que el
sistema operativo, en este caso, no está instalado en el equipo y no
se va a instalar por simplemente iniciarlo.</div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="line-height: 100%; margin-bottom: 0cm;">
Casos
en los que un Live CD es útil</div>
<ul>
<li>
<div style="line-height: 100%; margin-bottom: 0cm; text-align: justify;">
Rescatar algún archivo cuando nuestro sistema operativo no inicia.</div>
</li>
<li style="text-align: justify;">
<div style="line-height: 100%; margin-bottom: 0cm;">
Respaldar información, sin iniciar equipo en su sistema actual.</div>
</li>
<li style="text-align: justify;">
<div style="line-height: 100%; margin-bottom: 0cm;">
Probar sistemas operativos específicos (muy útil si quieres ver
cierta distribución de GNU/Linux sin instalarla en tu ordenador.)</div>
</li>
<li style="text-align: justify;">
<div style="line-height: 100%; margin-bottom: 0cm;">
Desinfectar un equipo que se encuentra full de virus (experiencia
adicional requerida).</div>
</li>
<li style="text-align: justify;">
<div style="line-height: 100%; margin-bottom: 0cm;">
Restaurar GRUB luego de instalar Windows.</div>
</li>
<li>
<div style="line-height: 100%; margin-bottom: 0cm; text-align: justify;">
Entre otros...</div>
</li>
</ul>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div style="line-height: 100%; margin-bottom: 0cm;">
Ahora bien, ¿Qué
es Rescatux?</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div style="line-height: 100%; margin-bottom: 0cm; text-align: justify;">
Rescatux, tal como
lo indican en su página oficial, es un Cd de rescate de GNU/Linux (y
eventualmente Ms Windows), sin embargo no es como cualquier disco de
rescate. Rescatux viene con Rescapp, que es un excelente
asistente que te guiará a través de las tareas.</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
</div>
<div style="line-height: 100%; margin-bottom: 0cm;">
<br /></div>
<div dir="ltr" id="Sección1" style="column-count: 2;">
<blockquote class="tr_bq">
<div style="line-height: 100%; margin-bottom: 0cm; text-align: justify;">
<span style="color: black;"><b>¿Cuales
son sus opciones?</b></span></div>
<ul style="text-align: justify;">
<li>
<div style="margin-bottom: 0cm;">
<b><span style="font-weight: normal;">Restaurar
GRUB y GRUB2 (Con un solo clic)</span></b></div>
</li>
<li>
<div style="margin-bottom: 0cm;">
Actualizar menús de GRUB2</div>
</li>
</ul>
<div style="text-align: justify;">
<b>Windows options:</b></div>
<ul style="text-align: justify;">
<li>
<div style="margin-bottom: 0cm;">
Restaurar el MBR (de Master
Boot Record)</div>
</li>
<li>
<div style="margin-bottom: 0cm;">
Resetear claves de Ms Windows</div>
</li>
<li>
<div style="margin-bottom: 0cm;">
Ascender permisos de un usuario
de Ms Windows
</div>
</li>
<li>
Desbloqueo de usuarios de Ms Windows.<br />
</li>
</ul>
<div style="text-align: justify;">
<b>Password options:</b></div>
<ul style="text-align: justify;">
<li>
<div style="margin-bottom: 0cm;">
<b><span style="font-weight: normal;">Cambio
de contraseñas de GNU/Linux (aún no he probado esta opción)</span></b></div>
</li>
<li>
<div style="margin-bottom: 0cm;">
<b><span style="font-weight: normal;">Regenera</span></b><b><span style="font-weight: normal;">r
el archivo </span></b><b><span style="font-weight: normal;">sudoers</span></b></div>
</li>
</ul>
<div style="text-align: justify;">
<b>Filesystem options:</b></div>
</blockquote>
<blockquote class="tr_bq">
<ul>
<li>Chequeo de sistema de ficheros o FS check</li>
</ul>
</blockquote>
</div>
Igualmente tiene otras herramientas para expertos, sin embargo no
entraré en detalles ahora mismo sobre eso, si deseas obtener más
información puedes ir a la página oficial
<a href="http://www.supergrubdisk.org/rescatux/">http://www.supergrubdisk.org/rescatux/</a>
(Inglés) Febrero, 2016.<br />
Luego lo descargan y lo copian a un CD o hacen un USB booteable
con la ISO.<br />
<br />
Si lo que desean es restaurar el GRUB los pasos son los
siguientes:<br />
<ol>
<li>Inicial el live CD (o USB)</li>
<li>Hacer clic en el ícono de rescapp para visualizar el menú
de opciones</li>
<li>Hacer clic en Restore GRUB</li>
<li>Y ya desde aquí el programa nos guía.</li>
</ol>
Aquí les dejo una imagen del menú principal. <br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2PKiCH7bbaOI_JfJuEUui_Ruppw2WYzVgSxXYW7tWBPz5b6Qpd6c6-CfydQMKVdQCz-WoIRRoO7yr1DV36EnsLyjH8arMLWdkODi3ni_o-6uloz6-n6pPCqtDbKeWffWwWR0LXdL7mcz-/s1600/Rescapp.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2PKiCH7bbaOI_JfJuEUui_Ruppw2WYzVgSxXYW7tWBPz5b6Qpd6c6-CfydQMKVdQCz-WoIRRoO7yr1DV36EnsLyjH8arMLWdkODi3ni_o-6uloz6-n6pPCqtDbKeWffWwWR0LXdL7mcz-/s320/Rescapp.png" width="320" /></a></div>
Éxito.<br />
<br />
<div style="text-align: right;">
Copyleft Rait3 - 2016 </div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-71809657902715033182016-02-13T13:37:00.000-04:302016-03-08T05:59:06.165-04:30Cambiar fondo del GRUB<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdW6WwdHLGdIgcVfraV4XWWmTtdt_srKvJy2Xg4B_XtZ6PuOSeI5lOuVEc2sJ_jUH-iIburUSTKHi3ephyyBE-FBYNwpa3GxJi0Nmc7Ey6frH2rvE2s2xjYynl5qQE0O9HiUxOO289PJ-t/s1600/Grub.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdW6WwdHLGdIgcVfraV4XWWmTtdt_srKvJy2Xg4B_XtZ6PuOSeI5lOuVEc2sJ_jUH-iIburUSTKHi3ephyyBE-FBYNwpa3GxJi0Nmc7Ey6frH2rvE2s2xjYynl5qQE0O9HiUxOO289PJ-t/s320/Grub.png" width="320" /></a></div>
<br />
Bueno, hice una pausa de mis estudios para tunear un poco mi Debian Stretch, esta vez me decidí a quitar la imagen de Debian y poner algo un poco más a mi estilo. A contiuación indicaré como lo hice.</div>
<div style="text-align: justify;">
<br /></div>
Antes de hablar de lo que se hizo, un poco de definiciones.<br />
<div style="text-align: justify;">
<blockquote class="tr_bq">
Un bootloader es el primer programa que corre cuando un computador inicia. Es responsable de leer y transferir el control al Kernel del sistema operativo. GRUB (GRand Unified Bootloader) es entonces el bootloader que viene por defecto con GNU/Linux Debian y sus derivados (como Ubuntu por ejemplo).</blockquote>
</div>
<div style="text-align: justify;">
Para más información al respecto pueden visualizar la página original del proyecto, aunque está en inglés <a href="https://www.gnu.org/software/grub/">https://www.gnu.org/software/grub/</a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Lo primero que hice fue asegurarme de saber cual era la versión del Grub instalada en mi sistema; para ello usamos el comando</div>
<blockquote class="tr_bq">
<i>$sudo grub-install --version<br />grub-install (GRUB) 2.02~beta2-35</i></blockquote>
<div style="text-align: justify;">
Sabiendo que mi versión es la "2.02~beta2-35" busqué entonces el directorio donde debían estar las imágenes del grub, /usr/share/images/desktop-base/, un simple ls me permitió ver los nombres de las imágenes que estaban allí.</div>
<blockquote class="tr_bq">
<i>$ls /usr/share/images/desktop-base/</i></blockquote>
<div style="text-align: justify;">
Las imágenes que podremos usar serán las que tienen extensión .tga, .png, o .jpg/.jpeg y su tamaño normalmente es el de 640 × 480, aunque admito que en mi caso use una imagen de 1920 x 1080 y funcionó sin problemas.</div>
<br />
<div style="text-align: justify;">
Yo lo que hice fue copiar la imagen que quería al mismo directorio donde está el fondo actual de mi grub; vale acotar que mi imagen se llama me.png y la tengo en la ruta <i>/media/Data/Imagenes/Wp/me.png</i></div>
<blockquote class="tr_bq">
<i>$sudo cp /media/Data/Imagenes/Wp/me.png /usr/share/images/desktop-base/</i></blockquote>
<div style="text-align: justify;">
Y luego edité el script que llama a la imagen de fondo, dicho script se encuentra en la siguiente ruta: /usr/share/desktop-base/grub_background.sh y lo edité con nano que admito que es mi preferido (aunque en cuestiones de potencia debo igualmente admitir que VI lleva la delantera, a mi parecer).</div>
<blockquote class="tr_bq">
<i>$sudo nano /usr/share/desktop-base/grub_background.sh</i></blockquote>
<div style="text-align: justify;">
El contenido original de este archivo, en mi caso, es el siguiente:</div>
<blockquote class="tr_bq">
<i>WALLPAPER=/usr/share/images/desktop-base/desktop-grub.png<br />COLOR_NORMAL=white/black<br />COLOR_HIGHLIGHT=black/white</i></blockquote>
<div style="text-align: justify;">
Lo cual es muy sencillo de comprender; lo primero es la ruta de la imagen de fondo, luego tienes el color de las opciones (textos) y fondo, y por último el color de las opciones (textos) una vez las tengas seleccionadas (lo explicaré mas adelante si quieren cambiar colores). Procederemos a cambiar solamente la línea WALLPAPER.</div>
<blockquote class="tr_bq">
<i>#WALLPAPER=/usr/share/images/desktop-base/desktop-grub.png<br />WALLPAPER=/usr/share/images/desktop-base/me.png<br />COLOR_NORMAL=white/black<br />COLOR_HIGHLIGHT=black/white</i></blockquote>
<div style="text-align: justify;">
Como verán, comenté la línea original y abajo puse la ruta a mi imagen (me.png)</div>
<br />
Guardamos y cerramos (Ctrl + o Ctrl + x respectivamente)<br />
<br />
<div style="text-align: justify;">
Y ahora debemos proceder a decirle a nuestro equipo que actualice las configuraciones del grub2</div>
<blockquote class="tr_bq">
<i>$sudo update-grub2</i></blockquote>
<div style="text-align: justify;">
Y listo, reinicié mi equipo solo para deleitarme de ver mi nueva imagen, jeje.</div>
<div style="text-align: center;">
<br />
<b>Cambiar Colores de Texto</b> </div>
<br />
<div style="text-align: justify;">
Puede darse el caso, dependiendo de las características de tu imagen, que no se logre leer bien las opciones de los Sistemas operativos que se encuentran en el Grub, para solventar esto deberemos cambiar los colores de las mismas.</div>
<br />
Vamos de nuevo al mismo script.<br />
<blockquote class="tr_bq">
<i>$sudo nano /usr/share/desktop-base/grub_background.sh</i></blockquote>
<div style="text-align: justify;">
Lo que entonces nos muestra nuestro pequeño bloque de código, tal como sigue:</div>
<blockquote class="tr_bq">
<i>#WALLPAPER=/usr/share/images/desktop-base/desktop-grub.png<br />WALLPAPER=/usr/share/images/desktop-base/me.png<br />COLOR_NORMAL=white/black<br />COLOR_HIGHLIGHT=black/white</i></blockquote>
<div style="text-align: justify;">
Y cambiamos el texto de COLOR_NORMAL, que vale acotar, indica el color de todas las letras del grub.</div>
<br />
<div style="text-align: justify;">
La primera opción de color indica es como tal el color de la letra, el segundo es el color del fondo que debe tener la línea de esa opción.</div>
<blockquote class="tr_bq">
Ejemplo: <i>COLOR_NORMAL=white/black</i></blockquote>
<div style="text-align: justify;">
Significa, texto en blanco, fondo de esa línea en transparente.</div>
<br />
<div style="text-align: justify;">
Ahora simplemente tienen que hacer los cambios, sabiendo lo que quieren. A continuación les doy un listado de los colores que se pueden usar.</div>
<div style="text-align: center;">
<b>Opciones de colores:</b></div>
<blockquote class="tr_bq">
white = blanco<br />
<br />
black = transparente (Venga tio, que no es negro, NO ES NEGRO!!!)<br />
<br />
blue = azul<br />
<br />
light-blue = azul claro<br />
<br />
cyan = cian (azul verdoso)<br />
<br />
light-cyan = cian claro<br />
<br />
green = verde<br />
<br />
light-green = verde claro<br />
<br />
light-gray = gris claro<br />
<br />
dark-gray = gris oscuro<br />
<br />
light-magenta = magenta claro<br />
<br />
red = rojo<br />
<br />
light-red = rojo claro<br />
<br />
brown = marron<br />
<br />
magenta = magenta<br />
<br />
yellow = amarillo</blockquote>
<div style="text-align: justify;">
Ahora, luego de cambiar los colores, deben de nuevo pedirle al grub que se actualize:</div>
<blockquote class="tr_bq">
<i>$sudo update-grub2</i></blockquote>
Bueno, como decían en Looney Tunes, "<i>Eso es todo amigos</i>" jajaja.<br />
<br />
Éxito...<br />
<br />
<div style="text-align: justify;">
PD: Muestro a continuación como quedó el mio, ánimo, hagan uds lo mismo, y si quieren, pongan en los comentarios de este artículo la imagen de lo que hicieron, por cierto, la imagen no la hice yo, ni siquiera puedo decir la fuente original porque en realidad me la copié del computador de un amigo.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFKivQEHYWvfEcxIUz1P8V3EbtEBMnZi0eagbtecInblDZFSv9u4ZEDRCytGtp9XZS2qIW90PLpBXwOwLe3bs1vZrF8gkVm79CayD0oOSgKy9xWbX3qKcClH2GKlQmMSK5uS4z-HNBMx67/s1600/IMG_20160131_174501.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFKivQEHYWvfEcxIUz1P8V3EbtEBMnZi0eagbtecInblDZFSv9u4ZEDRCytGtp9XZS2qIW90PLpBXwOwLe3bs1vZrF8gkVm79CayD0oOSgKy9xWbX3qKcClH2GKlQmMSK5uS4z-HNBMx67/s320/IMG_20160131_174501.jpg" width="320" /></a></div>
<div style="text-align: right;">
Copyleft Rait3 - 2016</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-44201575457084547772016-02-06T07:11:00.001-04:302016-03-08T05:59:41.780-04:30Mostrar mensaje sobre uso de Cookies<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWO-eZMMGjHSkM7R4xII7kGibkX96VvuZr1_WR07u6Q8-xsl9DsdTrs-HzTaPGrFbZkkU4oBQJF-G87SokIUkiF3GcJcPqB_oXZMFyVNNQbi3hpRrp_cmpEBacEwTtslCLIgnagboHBahk/s1600/Cookies.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWO-eZMMGjHSkM7R4xII7kGibkX96VvuZr1_WR07u6Q8-xsl9DsdTrs-HzTaPGrFbZkkU4oBQJF-G87SokIUkiF3GcJcPqB_oXZMFyVNNQbi3hpRrp_cmpEBacEwTtslCLIgnagboHBahk/s320/Cookies.png" width="320" /></a></div>
<br />
Que la cosa es medio fastidiosa, ¿no?</div>
<br />
<div style="text-align: justify;">
Primero, algo de definición, para no perder la costumbre.</div>
<div style="text-align: justify;">
Las cookies permiten obtener datos para generar las estadísticas de uso y visitas de nuestra Web (Google Analytics), sin embargo, también es gracias a dichas cookies que podemos llegar a conocer preferencias del usuario y por lo tanto mostrar publicidad ajustada a su perfil (Google Adsense).</div>
<br />
<div style="text-align: justify;">
Ahora bien, la ley de cookies europea nos obliga a notificarle al usuario que nosotros almacenamos estas galletas (del término cookie en inglés) y que por lo tanto, cada vez que navegan en nuestra Web, nos dejan algo de información como rastro.<br />
<br />
El hecho de que tengamos que avisarle al usuario que está viendo un sitio que almacena cookies lo pueden ver en la "<i>Ley de Servicios de la Sociedad de Información (LSSI)</i>", concretamente en el apartado 2 del artículo 22 de la ley 34/2002<br />
<a href="http://noticias.juridicas.com/base_datos/Admin/l34-2002.t3.html#a22">http://noticias.juridicas.com/base_datos/Admin/l34-2002.t3.html#a22</a></div>
<div style="text-align: justify;">
<br />
Vale acotar que esta ley afecta a cualquier empresa o particular que posea una página web en Europa y use cookies. No importa si tu página vende productos o es un simplemente una web sencilla que tienes para comunicar locuras (como este Weblog).</div>
<br />
<div style="text-align: justify;">
Bueno, la cosa es que me encontré que mi blog no mostraba el dichoso mensajito, cosa que me ha inquietado un poco así que puse manos a la obra en la solución y consecuente redacción del presente artículo (Disculpen lo complicado del lenguaje, es que llevo rato leyendo la ley y algo se pega jajajajaja :P).</div>
<br />
<div style="text-align: justify;">
Lo que hice fue ingresar a la administración de mi Weblog y en el menú de administración hice clic en Plantillas, tal como lo muestro en la imagen.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwCkCpy49h7-MPGmUgU1R_mT3Dn-C3aLqALI1djftm2oLtiSw2HhKNbSiGy_XD6WNy8Pq4tcjj_mnKafmiQCv5jTuO9Xb3-qkFlrW2JVLXgR4NSoYRgD7yD2Ov3s9CT-3XgyNgwUs2YMFh/s1600/Menu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwCkCpy49h7-MPGmUgU1R_mT3Dn-C3aLqALI1djftm2oLtiSw2HhKNbSiGy_XD6WNy8Pq4tcjj_mnKafmiQCv5jTuO9Xb3-qkFlrW2JVLXgR4NSoYRgD7yD2Ov3s9CT-3XgyNgwUs2YMFh/s320/Menu.png" width="149" /></a></div>
<div style="text-align: justify;">
Hice entonces clic en el botón de "Editar HTML" que aparece justamente debajo de una imagen que muestra nuestro Blog.</div>
<br />
<div style="text-align: justify;">
Como no veía todo el código, hice uso de una herramienta que ya uno termina por aprender de memoria, <i>"Ctrl + f"</i> o lo que es lo mismo, las teclas para "<i>buscar</i>", y allí escribí /head.</div>
<div style="text-align: justify;">
Ahora bien, ¿por qué escribí eso?, sencillo, lo que voy a añadir es un script, y los scripts a nivel de programación de HTML se colocan adentro del encabezado de la página, el cual está definido por una etiqueta <head> para su inicio y </head> /head para su fin, así que busque la línea del final del encabezado y justamente antes de ella voy a añadir mi script.</div>
<br />
¿Cual es el script que voy a agregar?<br />
<br />
A continuación una imagen para que sepan como quedó en mi caso.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7JGN603iiYKvU6jjqHVJJqJT7UjeylqdrjCQQYGO-a4endHsz1_-674DQqVREMLEPKfstYq29SGr2yShqSy85rXjD6v_K6eJHmfgFgJxVUbonSMDtUNGtpCn46VL8zkKLpJfmxHFe9T_6/s1600/EditPlantilla.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7JGN603iiYKvU6jjqHVJJqJT7UjeylqdrjCQQYGO-a4endHsz1_-674DQqVREMLEPKfstYq29SGr2yShqSy85rXjD6v_K6eJHmfgFgJxVUbonSMDtUNGtpCn46VL8zkKLpJfmxHFe9T_6/s320/EditPlantilla.png" width="320" /></a></div>
<br />
<br />
<div style="text-align: justify;">
Luego del cambio, hice clic en guardar plantilla y listo, ya aparece.</div>
<br />
Gracias por leerme.<br />
<br />
Fuentes adicionales:<br />
<a href="http://www.iniciablog.com/2014/01/ley-de-cookies-en-blogger.html">http://www.iniciablog.com/2014/01/ley-de-cookies-en-blogger.html</a> Febrero, 2016<br />
<a href="http://www.mybloggertricks.com/2015/07/Custom-Cookies-notification-for-European-Union-countries.html">http://www.mybloggertricks.com/2015/07/Custom-Cookies-notification-for-European-Union-countries.html</a> Febrero, 2016<br />
<br />
<div style="text-align: right;">
Copyleft Rait3 - 2016</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-11821078990719537212016-01-31T07:10:00.001-04:302016-03-08T06:00:16.760-04:30Denegar a Root acceso por SSH.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgInQej9v2IWHzFwmvbyp2CAflRGmRS8mhYvmGJ-P08AxB1CdUpoti26Gu_g7zDwpzUI1ksxx5X5s0FnSasnGwl1O6zcHB4Bk40ma9YP076NmRnTVTPzcUinXTDIQvy4pSFp3MkpcZlaWvi/s1600/No-SSH-Root.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgInQej9v2IWHzFwmvbyp2CAflRGmRS8mhYvmGJ-P08AxB1CdUpoti26Gu_g7zDwpzUI1ksxx5X5s0FnSasnGwl1O6zcHB4Bk40ma9YP076NmRnTVTPzcUinXTDIQvy4pSFp3MkpcZlaWvi/s320/No-SSH-Root.png" width="320" /></a></div>
<br />
Había pasado algo de tiempo sin escribir, es que eso de salir de tu país para intentar hacerte vida en otro lado no es tan fácil como suena; pero bueno, a lo que nos atañe.<br />
<br />
<div style="text-align: justify;">
Como en el presente artículo vamos a hablar de SSH, primero vamos a definirlo; me ha gustado mucho la definición del MIT (Massachusetts Institute of Technology) así que la cito a continuación</div>
<br />
<blockquote class="tr_bq">
<div style="text-align: justify;">
"SSH™ (o Secure SHell) es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas.</div>
<br />
SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y el servidor, evite usarlas mientras le sea posible. El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como para el sistema remoto." <a href="http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html">http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html</a> 31 Enero 2016.</blockquote>
<br />
<div style="text-align: justify;">
Ok, ahora vamos con lo que se indica en el título (Denegar a Root acceso por SSH).</div>
<br />
<div style="text-align: justify;">
Por cuestiones de estudios estaba intentando hacer unas verificaciones de seguridad en mi ordenador, el cual tiene Debian Stretch, y me percaté que mi SSH permitía que root se conectara al sistema, esto implica un gran bug de seguridad ya que si por cosas del destino, alguien quisiera hacer haking a mi equipo, el ssh se las pone más fácil; por lo tanto procedí a hacer las verificaciones y correcciones correspondientes.</div>
<br />
<div style="text-align: justify;">
Sabemos que existe un archivo de configuración del demonio de ssh, en ese archivo es que debemos hacer los cambios correspondientes, procederemos entonces a abrir una cónsola como #root</div>
<br />
<blockquote class="tr_bq">
<i>$su</i><br />
<i>#</i></blockquote>
<br />
<div style="text-align: justify;">
Con nuestro editor favorito vamos a abrir el archivo de configuración del demonio, el cual se encuentra en la ruta /etc/ssh/sshd_config </div>
<br />
<blockquote class="tr_bq">
<i>#nano /etc/ssh/sshd_config </i></blockquote>
<br />
<div style="text-align: justify;">
En la sección de autenticación encontraremos la información que buscamos cambiar.</div>
En mi caso, estaba as: <br />
<br />
<blockquote class="tr_bq">
<i># Authentication:</i><br />
<i>LoginGraceTime 120</i><br />
<i>PermitRootLogin prohibit-password</i><br />
<i>StrictModes yes</i></blockquote>
<br />
Veamos qué significa<br />
<br />
<div style="text-align: justify;">
PermitRootLogin = prohibir-contraseña prohíbe todos los métodos de autenticación interactivas, permitiendo sólo publickey, Host-based y autenticación GSSAPI.</div>
<br />
<div style="text-align: justify;">
Sin embargo, yo no deseo, por ninguna razón, que root ingrese por SSH, así que procedí a cambiar el valor de PermitRoot Login a "<b>NO</b>", un no rotundo y definitivo.</div>
<br />
<blockquote class="tr_bq">
<i># Authentication:</i><br />
<i>LoginGraceTime 120</i><br />
<i>#PermitRootLogin prohibit-password</i><br />
<i>PermitRootLogin no</i><br />
<i>StrictModes yes</i></blockquote>
<br />
<div style="text-align: justify;">
Además, deseo limitar, muy específicamente, los usuarios que pueden ingresar a mi equipo por SSH; esto lo hago añadiendo la siguiente línea:</div>
<br />
<blockquote class="tr_bq">
<i>AllowUsers UsuarioX, UsuarioY</i></blockquote>
<br />
<div style="text-align: justify;">
Cambiamos UsuarioX y UsuarioY por los nombres de los usuarios a los que deseamos darle acceso por ssh.</div>
<br />
Guardamos y cerramos nuestro archivo (<i>Ctrl + O </i>y<i> Ctrl + X</i> respectivamente si estan usando nano).<br />
<br />
Reiniciamos nuestro servidor SSH<br />
<blockquote class="tr_bq">
<i><br /></i>
<i>/etc/init.d/ssh restart</i></blockquote>
<br />
<div style="text-align: justify;">
Y misión cumplida, ahora a seguir estudiando...</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: right;">
Copyleft Rait3 - 2016 </div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-45265163704527271322015-04-27T09:35:00.001-04:302016-03-08T06:01:01.791-04:30Autenticación con Pendrive en GNU/Linux Debian<style type="text/css">P { margin-bottom: 0.21cm; }</style>
<br />
<div align="JUSTIFY">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlv41VHTZHoBgcFKeG37mU15iCH9QE5gnNcNKcE04wxkhZZvZsNma9kmbiQJ1dnSX3QglRAUBOtOLpMKnpkymGFcVY6WgrCQUWiPcNSwKcHfl73TIoK-i-KQLZYNmiZKJJCHeGSZhLRPrR/s1600/pamusb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlv41VHTZHoBgcFKeG37mU15iCH9QE5gnNcNKcE04wxkhZZvZsNma9kmbiQJ1dnSX3QglRAUBOtOLpMKnpkymGFcVY6WgrCQUWiPcNSwKcHfl73TIoK-i-KQLZYNmiZKJJCHeGSZhLRPrR/s1600/pamusb.png" height="200" width="320" /></a></div>
<br />
<br />
Actualmente me estaba preguntando como lograr un
poco más de seguridad en mi sistema de autenticación de GNU/Linux,
pero a la vez dar un poco de versatilidad al asunto; llegado al caso,
me planteé que un Pendrive debería almacenar los datos de mi
usuario, y así, al insertar el pendrive en mi equipo, el sistema
detecte que soy yo y me permita ingresar a mi cuenta; al principio me
reía imaginándome lo loco que estaba (xd y sigo estando, gracias a
Dios jajajaja), sin embargo, cuando me puse a investigar, me percaté
de que en realidad ya existía un paquete nativo de GNU/Linux que me
permitiera hacerlo; ahora bien, vamos a ver como hacerlo.</div>
<div align="JUSTIFY">
<br />
Lo primero ha sido buscar un poco sobre
"pam-usb".</div>
<blockquote style="text-align: justify;">
<i>$sudo aptitude search
pam-usb</i></blockquote>
<div align="JUSTIFY">
Esto me permite conocer que existe un paquete
llamado "libpam-usb", lo que me lleva directamente a leer
la descripción del paquete.</div>
<blockquote style="text-align: justify;">
<i>$sudo aptitude show
libpam-usb</i></blockquote>
<div align="JUSTIFY">
PAM es un módulo para autenticación usando
dispositivos USB; trabaja con cualquier módulo de autenticación
como su, así como también cualquier manejador como GDM o KDM.</div>
<div align="JUSTIFY">
Aunque en la descripción del paquete se nos indica
que podemos obtener mayor información en la URL www.pamusb.org/,
vale acotar que he intentado ingresar varias veces y el Sitio Web
parece no estar en funcionamiento.</div>
<div align="JUSTIFY">
<br /></div>
<div align="JUSTIFY">
Procedemos a instalar el paquete</div>
<blockquote style="text-align: justify;">
<i>$sudo aptitude install
libpam-usb</i></blockquote>
<div align="JUSTIFY">
<b>Configuración</b></div>
<div align="JUSTIFY">
<br /></div>
<div align="JUSTIFY">
Luego de instalar el paquete, tenemos el poder, solo
debemos saber usarlo, ya que si no lo configuramos, solo seremos un
tonto con poder, y en mi experiencia personal, eso es más peligroso
jajaja.</div>
<div align="JUSTIFY">
Primero, colocamos el pendrive en el equipo, es
importante recalcar que teniendo este pendrive, tendriamos acceso
ilimitado a la permisología del usuario que le configuremos, así
que no les recomiendo dar la permisología del usuario root, (esto no
sería muy sano).</div>
<div align="JUSTIFY">
Luego de haber insertado el pendrive en el equipo,
usaremos el comando que nos permite añadir el dispositivo USB a la
tabla de pamusb.</div>
<blockquote style="text-align: justify;">
<i>$sudo pamusb-conf
--add-device Rait3-USB</i></blockquote>
<div align="JUSTIFY">
Vale acotar que el primer pendrive con el que
intenté, no lo detectó el módulo, la máquina lo montaba y el
pendrive funcionaba correctamente, sin embargo el módulo no lo
detectaba, (no todo es perfecto, ¿no?); la pregunta del siglo, ¿qué
hice?, simple, cambié de pendrive y el siguiente si me proporcionó
una salida como la siguiente.</div>
<blockquote style="text-align: justify;">
<i>$sudo pamusb-conf
--add-device Rait3-USB</i></blockquote>
<blockquote style="text-align: justify;">
<i>Please select the device
you wish to add.</i></blockquote>
<blockquote style="text-align: justify;">
<i>* Using "Kingston
(136C0932618F)" (only option)</i></blockquote>
<blockquote style="text-align: justify;">
<i>Which volume would you
like to use for storing data ?</i></blockquote>
<blockquote style="text-align: justify;">
<i>* Using "/dev/sdb1
(UUID: 37AD-8A2F)" (only option)</i></blockquote>
<blockquote style="text-align: justify;">
<i>Name: Rait3-USB</i></blockquote>
<blockquote style="text-align: justify;">
<i>Vendor: Kingston</i></blockquote>
<blockquote style="text-align: justify;">
<i>Model: DataTraveler 2.0</i></blockquote>
<blockquote style="text-align: justify;">
<i>Serial:
50E549XXXXXXXXXXXX815354</i></blockquote>
<blockquote style="text-align: justify;">
<i>UUID: 37XX-XX2F</i></blockquote>
<blockquote style="text-align: justify;">
<i>Save to /etc/pamusb.conf ?</i></blockquote>
<blockquote style="text-align: justify;">
<i>[Y/n] Y</i></blockquote>
<blockquote style="text-align: justify;">
<i>Done.</i></blockquote>
<div align="JUSTIFY">
Vale acotar que este comando debe utilizarse para
cada pendrive que se desee utilizar.</div>
<div align="JUSTIFY">
<br /></div>
<div align="JUSTIFY">
Ahora procederemos a configurar el usuario que hará
uso de ese dispositivo en su método de autenticación.</div>
<blockquote style="text-align: justify;">
<i>$ sudo pamusb-conf
--add-user Rait3<br />Which device would you like to use for
authentication ?<br />* Using "myusb" (only option)<br />User
: Rait3<br />Device
: Rait3-USB<br />Save to /etc/pamusb.conf ?<br />[Y/n] Y<br />Done.</i></blockquote>
<div align="JUSTIFY">
Ahora ya está configurado para que el usuario Rait3
inicie sesión en este equipo, sin embargo, procederé a verificar
que eso funcione, para ello hacemos uso del siguiente comando.</div>
<blockquote style="text-align: justify;">
<i>$sudo pamusb-check
Rait3<br />*Authentication request for user "Rait3"
(pamusb-check)<br />*Device "Rait3-USB" is connected
(good).<br />*Performing one time pad verification...<br />*Regenerating
new pads...<br />* Access granted.</i></blockquote>
<div align="JUSTIFY">
Listo, ya está configurado y por ahora, el equipo
permite el inicio de sesión por dos métodos, (1) con la clave, (2)
con el pendrive.</div>
<div align="JUSTIFY">
<br /></div>
<div align="JUSTIFY">
Se procede a editar el archivo
/etc/pam.d/common-auth</div>
<blockquote>
<blockquote class="tr_bq" style="margin-left: 0cm; text-align: justify;">
<i>$nano
/etc/pam.d/common-auth</i></blockquote>
</blockquote>
<div align="JUSTIFY">
Se debe verificar que la línea auth posea
sufficient o required, dependiendo de lo que se desee; toma en cuenta
que required hace un doble chequeo, obligando así a tener el
pendrive Y la contraseña, mientras que sufficient indica que es
"suficiente" tener uno de los dos para poder loguearse.</div>
<blockquote class="tr_bq">
<div align="JUSTIFY">
<i>auth sufficient pam_usb.so</i></div>
</blockquote>
<div style="margin-bottom: 0cm; text-align: right;">
Copyleft Rait3 - 2015</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-10339777258432342552015-03-26T13:21:00.000-04:302016-03-08T06:04:07.208-04:30Servidores Virtuales<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b> </b><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik0TQ3jJKDcmo9XkjOK4uSOjX4xX7HOIk2iLu5c10-Zzsy724SRITBTLs6jxXWclA9qGtRAwAIczH4RPvBC_O5sfGSbMgd8i71gxzGH9HKLE1JhtUxJMjRU80Ad47klEUnZqyeys3WU_iU/s1600/XEN.png" width="320" /></div>
<br />
<br />
<div style="text-align: justify;">
Por razones estrictamente laborales me he visto obligado a estudiar un poco sobre virtualización, diversos software para virtualizar y la instalación de un sistema que permita virtualizar equipos para servidores; como resultado de la investigación, me he planteado la redacción del presente artículo, con el objetivo de ayudar a los que como yo, necesiten virtualizar equipos para distribuir servicios.
</div>
<br />
Para comenzar, vamos a definir <b>Virtualización</b>:
<br />
<br />
<div style="text-align: justify;">
Hablamos de algo virtual cuando nos referimos a una cosa que es simulada, por ejemplo, la realidad virtual, es la simulación de una situación; podríamos decir que es la creación de una versión virtual (en lugar de real) de algo; para el caso específico en que trabajamos actualmente, ese algo es un sistema operativo.
</div>
<br />
<div style="text-align: justify;">
Por lo tanto, cuando creamos un equipo y dentro del mismo virtualizamos (por ejemplo), dos sistemas operativos, tendríamos 3 sistemas diferentes compartiendo exactamente los mismos recursos; por ejemplo podrías tener GNU/Linux Debian, MS Windows y GNU/Linux Ubuntu corriendo simultáneamente en el mismo computador físico.
</div>
<div style="text-align: justify;">
<br /></div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
Microsoft, en su página oficial de españa, nos indica que "La virtualización del hardware implica utilizar software para crear maquinas virtuales (VM) que emulan un host físico. Esto crea un entorno de sistema operativo independiente que es, lógicamente, aislado del servidor host. Al ofrecer varias máquinas virtuales a la vez, este enfoque permite que varios sistemas operativos corran simultáneamente en una única máquina física." <a href="http://www.microsoft.com/spain/virtualizacion/products/server/default.mspx">http://www.microsoft.com/spain/virtualizacion/products/server/default.mspx</a> Marzo, 2015.
</div>
</blockquote>
<br />
<b>Ventajas y desventajas de la virtualización
</b><br />
<div style="text-align: justify;">
Tener varios sistemas operativos en un mismo hardware nos permite, sin ocupar tanto espacio físico, poseer diversos servicios que se suministren desde un sistema operativo propio, así, si el sistema operativo se daña, no necesitas preparar todo el hardware para reinstalar el sistema, simplemente borrar la máquina virtual y crearla de nuevo.
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El respaldo de máquinas virtuales (VM) en un estado específico es una gran ventaja, ya que al momento de restaurar, simplemente se restaura el archivo o conjunto de archivos de la VM y ya el equipo operaría como lo hacía en la fecha de ese respaldo.
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Supongamos que poseemos un equipo i7 con 8 Gb de memoria RAM, y necesitamos tener un servidor Web y un servidor de datos, sin embargo, nuestro requerimiento nos obliga a que el servidor de datos sea GNU/Linux y el Web en MS porque lo desarrollaron para trabajar únicamente con ISS (o alguna escusa por el estilo; no se amarguen amantes y defensores del software libre, es sólo un ejemplo; yo también soy fan del free software y de GPL).
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Si apagas el equipo donde tienes las máquinas virtuales, o se daña el mismo, obviamente todas las VM dejarán de funcionar, una gran desventaja a tomar en cuenta.
</div>
<br />
<b>Hypervisor</b>
<br />
<div style="text-align: justify;">
Un hipervisor o monitor de máquina virtual (VMM por Virtual Machine Monitor) es una plataforma que permite aplicar diversas técnicas de control de virtualización para utilizar, al mismo tiempo, diferentes VM.
</div>
<br />
<b>Tipos de Virtualización
</b><br />
<div style="text-align: justify;">
Existen tres tipos específicos de virtualización, los cuales mencionaré a continuación:
</div>
<br />
<ul>
<li>Virtualización Completa
</li>
</ul>
<div style="text-align: justify;">
En la virtualización completa, "...los sistemas operativos (OS) usan drivers genéricos y estos OS permanecen inalterados. Se traduciría en que el hipervisor hace todo el trabajo sin alterar nada. Hoy en dia el rendimiento es bastante alto alto (aún haciendo el trabajo el hypervisor) porque al usar los mismos drivers genéricos que el host el kernel que usan es muy pequeño “Microkernel” y ademas aprovechan cualidades del hardware que cada vez mas esta preparado para la virtualización."
</div>
<a href="http://blogs.itpro.es/problemas/paravirtualizacion/">http://blogs.itpro.es/problemas/paravirtualizacion/</a> Marzo, 2015
<br />
<br />
<ul>
<li>Virtualización Asistida por Hardware
</li>
</ul>
<div style="text-align: justify;">
No es muy fàcil de explicar sin complicar los conceptos y entrar a hablar sobre el funcionamiento de los sistemas operativos; por ahora sólo diré que el hardware permite pasar de un modo a otro para que el sistema operativo sea virtualizado.
</div>
<br />
<ul>
<li>Paravirtualización
</li>
</ul>
<div style="text-align: justify;">
Los sistemas virtualizados corren directamente sobre el procesador, sin emulación. Mientras que sistemas de virtualización completa como VMware y Virtual PC o Virtual Server de Microsoft utilizan una técnica conocida como binary translation, donde las instrucciones privilegiadas son reemplazadas con fragmentos de código que simulan las mismas; los sistemas que soportan paravirtualización (PV), parten de la base de que el sistema operativo huesped conozca que está siendo ejecutado en un entorno virtual, y por lo tanto modifique su comportamiento. Es importante acotar que un sistema operativo virtualizado no ejecuta el mismo código ni opera igual que si corriera en hardware real.
</div>
<br />
<div style="text-align: justify;">
A diferencia de la PV, La técnica de virtualización completa es muy compleja y provoca grandes perdidas de rendimiento, sobre todo en aplicaciones con un uso intensivo de dispositivos.
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ahora bien, sabiendo esto, podemos ver porqué decidí buscar un sistema de virtualización que aplicara la técnica de PV.
</div>
<br />
<b>Software Analizados</b><br />
Los software analizados para la virtualización fueron los siguientes
<br />
<ul>
</ul>
<ol>
<li>Virtualbox
</li>
<li>VMware
</li>
<li>KVM
</li>
<li>XEN
</li>
</ol>
<ul>
</ul>
<ul>
<li><b>Virtualbox</b>
</li>
</ul>
Software de virtualización producido por Oracle, realmente es de fácil uso, y posee una versión distribuida bajo licencia GPL, gratuita. utiliza la técnica de virtualización completa.
<br />
<ul>
<li><b>VMWare
</b></li>
</ul>
<div style="text-align: justify;">
VMware es un sistema de virtualización por software que hace uso de la técnica virtualización completa, es muy bueno para entornos de estudio y pruebas, al punto que para los sistemas de estudio, tiendo a usar este sistema, sin embargo no usaría su versión gratuita para una virtualización de servidores puesto que no se explota al hardware en su máxima capacidad.
</div>
<ul>
<li><b>KVM</b></li>
</ul>
<div style="text-align: justify;">
KVM (Kernel-based Virtual Machine) es una solución de software libre para virtualización completa y asistida por hardware, consiste en un módulo de kernel que provee la infraestructura de virtualización y un módulo específico de procesamiento (kvm-intel.ko o kvm-amd.ko. dependiendo del tipo de procesador sobre el cual corra). El componente de Kernel de KVM se encuentra incluido por definición en 2.6.20 y superiores.
</div>
<ul>
<li><b>XEN
</b></li>
</ul>
<div style="text-align: justify;">
Xen soporta ejecución de sistemas operativos invitados haciendo uso de las técnicas de Paravirtualización (PV) y virtualización Asistida por Hardware (HVM).
</div>
<br />
<b>Tabla Comparativa</b><br />
<div style="text-align: justify;">
<style type="text/css">TD P { margin-bottom: 0cm; }P { margin-bottom: 0.21cm; }A:link { }</style>
<br />
<table cellpadding="4" cellspacing="0" style="width: 100%px;">
<colgroup><col width="51*"></col>
<col width="51*"></col>
<col width="51*"></col>
<col width="51*"></col>
<col width="51*"></col>
</colgroup><tbody>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;" width="20%"><div align="CENTER">
<b>Aspecto a Comparar</b></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;" width="20%"><div align="CENTER">
<b>XEN</b></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;" width="20%"><div align="CENTER">
<b>KVM</b></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;" width="20%"><div align="CENTER">
<b>Virtualbox</b></div>
</td>
<td style="border: 1px solid #000000; padding: 0.1cm;" width="20%"><div align="CENTER">
<b>VMware</b></div>
</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%">Full Virtualización</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%">Paravirtualización</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
NO</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="20%"><div align="CENTER">
NO</div>
</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%">Licencia</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
GPL</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
GPL</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
GPL/Propietaria</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="20%"><div align="CENTER">
Propietaria</div>
</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%">Arquitecturas soportadas</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
i686, x86-64, IA64, PPC</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
i686, x86-64, IA64, PPC, S390
</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
i686, x86-64</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="20%"><div align="CENTER">
i686, x86-64</div>
</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%">Rendimiento</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
Paravirtualización: Rápido</div>
<div align="CENTER">
Virtualización Completa: Rápido</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
Paravirtualización: Rápido</div>
<div align="CENTER">
Virtualización Completa: Rápido</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
Virtualización Completa: Rápida</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="20%"><div align="CENTER">
Virtualización Completa: Rápida</div>
</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%">Hotplug de Memoria y CPU</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
NO</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="20%"><div align="CENTER">
SI</div>
</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%">Necesita VT y AMD-V</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
Para Virtualización Completa</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
Requisito para cualquier usar cualquier técnica</div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="20%"><div align="CENTER">
<br /></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="20%"><div align="CENTER">
<br /></div>
</td>
</tr>
</tbody></table>
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Sabiendo esto se ha decidido hacer uso de XEN puesto que se ha encontrado mayor soporte y documentación para el mismo, además debo indicar que en un par de sitios leí que el rendimiento era 1 o 2 % mejor en XEN que en KVM, sin embargo, como no he podido comprobar esa información, no me basé en ella para mi decisión.</div>
<br />
<b>Instalación de XEN
</b><br />
<br />
<b>1.-Verificación de equipo</b><br />
<br />
<div style="text-align: justify;">
Como bien saben, yo soy fanático de Debian, por lo tanto, montaré mi equipo para máquinas virtuales (VM) en GNU/Linux Debian Stable (que para este momento es Debian Wheezy); ya teniendo una instalación limpia (totalmente nueva) de nuestro sistema operativo, procedo con la verificación y preparación del equipo para luego instalar y configurar XEN.
</div>
<br />
<div style="text-align: justify;">
Lo primero que debemos hacer es comprobar que nuestro equipo soporte paravirtualización, para ello haremos uso del comando egrep.
</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
"egrep es el componente más potente de la familia de órdenes grep. Al igual que fgrep, se puede utilizar para buscar múltiples objetivos. Lo mismo que grep, permite usar expresiones regulares para especificar los objetivos, pero proporciona un conjunto más completo y potente de expresiones regulares que grep. egrep acepta todas las expresiones regulares básicas reconocidas por grep, así como varias extensiones" <a href="http://nereida.deioc.ull.es/~pcgull/ihiu01/cdrom/unix/unix1/contenido/node77.html">http://nereida.deioc.ull.es/~pcgull/ihiu01/cdrom/unix/unix1/contenido/node77.html</a> Marzo, 2014
</div>
</blockquote>
<i> #egrep '(vmx|svm)' --color=always /proc/cpuinfo
</i><br />
<br />
<div style="text-align: justify;">
La opción –color obliga al sistema a remarcar en color las opciones indicadas entre comillas.</div>
<div style="text-align: justify;">
Debe aparecer remarcado "VMX" si el equipo es INTEL o "SVM" si el equipo es AMD.
</div>
<br />
<b>2.- Instalando XEN
</b><br />
<br />
Procederemos a instalar XEN
<br />
<i> #aptitude install xen-linux-system-XXX xen-utils-4.0 bridge-utils
</i><br />
<br />
<div style="text-align: justify;">
Xen trae su propio Kernel, y de ahora en adelante, necesitamos que el equipo al arrancar, bootee por él; para ello debemos cambiarle la prioridad al archivo de inicio del grub, esto se logra haciendo
</div>
#mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux
<br />
<br />
Ahora actualizamos el la configuración del grub con el comando
<br />
<i> #update-grub2
</i><br />
<br />
<b>3.- Configurando parámetros de red a las virtuales
</b><br />
<br />
<div style="text-align: justify;">
Debemos editar el archivo principal de configuración del xen, para esto editaremos el archivo /etc/xen/xen-config.sxp
</div>
<i> #nano /etc/xen/xen-config.sxp
</i><br />
<br />
Y debemos descomentar las líneas que posean lo siguiente
<br />
<i>(network-script network-bridge)
</i><br />
<i> (vif-script vif-bridge)
</i><br />
<i> (dom0-min-mem 1024) </i><br />
<br />
Explico un poco todas:
<br />
<div style="text-align: justify;">
<blockquote class="tr_bq">
(network-script network-bridge): Es un script de Xen para habilitar el modo bridge (puente) en las Maquinas Virtuales
, de esta manera, el equipo HOST de MV recibe una IP y sus GUEST reciben otras, sin embargo todas las máquinas se conectarán sin inconvenientes a la red.<br />
<br />
(vif-script vif-bridge): Este script se utiliza para controlar el modo bridge.<br />
<br />
(dom0-min-mem 1024): Ponemos un mínimo de memoria al dom0 que es el XEN en realidad, esto con la finalidad de asegurarnos de que la RAM no baje nunca de ese limite y poder certificar que en ningún momento tenga asignada menos memoria de la necesaria para poder funcionar correctamente.
</blockquote>
</div>
<br />
<b> 4.-Configurando los parámetros que se le darán a las VM al crearlas
</b><br />
<br />
Primero debemos instalar el paquete xen-tools, para ello hacemos uso del comando<br />
#aptitude install xen-tools<br />
<br />
El archivo /etc/xen-tools/xen-tools.conf contiene los parámetros iniciales de configuración de las MV, debemos editarlo
<br />
#nano /etc/xen-tools/xen-tools.conf
<br />
<br />
<blockquote class="tr_bq">
<span style="font-family: "courier new" , "courier" , monospace;">dir = /xen/vm
</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">install-method = debootstrap
</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> # Tamaño del /</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">size = 10Gb</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"># Memoria RAM</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">memory = 256Mb</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"># Tamaño del Swap</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">swap = 1024Mb</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"># Tipo de sistema de archivos para /</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">fs = ext4</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">#La distribución a utilizar</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">dist = wheezy </span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: "courier new" , "courier" , monospace;"># Configuración de red de las virtuales</span></blockquote>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">gateway = 192.168.1.1
</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">netmask = 255.255.255.0
</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"># Contraseña al sistema.</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">Passwd = 123456
</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"># Previene que las VM utilicen algún repositorio genérico obligándolos a utilizar el repositorio del Dom0.
</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">mirror = `xt-guess-suite-and-mirror --mirror`
</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"># Ext3 posee algunos valores definidos tales como, noatime. Si deseas cambiarlos, devuelvelos a “defaults”.</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">ext3_options = defaults
</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;"># Permitir al comando xen-create-image el uso de pygrub, de esta manera el Grub de las VM es utilizado por ellas, así no se hace necesario almacenar los Kernels fuera de las VM. En resumen, esto es para permitir que nuestras VM arranquen solas.</span></div>
<div style="text-align: justify;">
<span style="font-family: "courier new" , "courier" , monospace;">pygrub=1
</span></div>
</blockquote>
<i><br /></i>
<i>Explicación de lo que se acaba de hacer
</i><br />
<br />
<div style="text-align: justify;">
<i>dir</i>: hace referencia al directorio donde se guardarán las imágenes de las maquinas virtuales
.</div>
<div style="text-align: justify;">
<i>install-method</i>: método de instalación del sistema operativo al crear la maquina virtual. Existen 4 tipos diferentes
</div>
<ol style="text-align: justify;">
<li><i>copy</i>: Instala copiando recursivamente un directorio
.</li>
<li><i>debootstrap</i>: instala un sistema basado en Debian dentro de un subdirectorio de otro sistema ya instalado
</li>
<li><i>rpmstrap</i>: Exactamente lo mismo que debootstrap pero con sistemas RPM
.</li>
<li><i>tar</i>: Instala descomprimiendo un fichero
.</li>
</ol>
<div style="text-align: justify;">
<i>size</i>: Tamaño asignada la imagen que se generará para la maquina virtual. Esto generara un “disk.img” de ese tamaño.
</div>
<div style="text-align: justify;">
<i>memory</i>: Memoria asignada a la maquina virtual.
</div>
<div style="text-align: justify;">
<i>swap</i>: Swap que se asigna a la maquina virtual. Esto generara un “swap.img” de ese tamaño.
</div>
<div style="text-align: justify;">
<i>fs</i>: Sistema de ficheros de la maquina virtual.
</div>
<div style="text-align: justify;">
<i>dist</i>: Distribución que se instalará en la maquina virtual.
</div>
<div style="text-align: justify;">
<i>gateway</i>: Puerta de enlace de la tarjeta de red de la maquina virtual
.</div>
<div style="text-align: justify;">
<i>netmask</i>: Mascara de red de la tarjeta de red de la maquina virtual
.</div>
<div style="text-align: justify;">
<i>passwd</i>: Contraseña por defecto del usuario root de la maquina virtual
.</div>
<div style="text-align: justify;">
<i>mirror</i>: Repositorios por defecto del sistema operativo de la maquina virtual.
</div>
<div style="text-align: justify;">
<i>ext3_options</i>: Opciones de la extensión de archivos ext3 que se pueden dar al montar el sistema de archivos
.</div>
<br />
Con esto ya tenemos todo configurado, es hora de crear las maquinas virtuales.
<br />
<br />
<b> 5.-Creamos una MV
</b><br />
<br />
Pedimos a nuestro xen que cree la imagen de nuestra primera virtual
.<br />
<i> </i><i>#xen-create-image --hostname servidorWeb --ip 192.168.1.111 --vcpus 1 </i><br />
<br />
<div style="text-align: justify;">
<blockquote class="tr_bq">
<span style="color: #444444;">Este comando es demora bastante puesto que descarga los paquetes, los descomprime y luego los instala, por esta razón yo prefiero ejecutar el comando conectándome por ssh al equipo; así podría desde mi PC remota mandar a ejecutarse el comando, y a la vez, desde el propio xen podría abrir el archivo .log que me muestra exactamente lo que está haciendo el comando.</span><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">Entonces, desde otro equipo hago </span><br />
<i><span style="color: #444444;"> $ssh root@MI-IP</span></i><br />
<span style="color: #444444;"><br /></span>
<span style="color: #444444;">Así me conecto por SSH al equipo</span><br />
<br />
<span style="color: #444444;">Ahora ejecuto</span><br />
<i><span style="color: #444444;"><i><span style="color: #444444;"> </span></i>#xen-create-image --hostname servidorWeb --ip 192.168.1.111 --vcpus 1 </span></i></blockquote>
<blockquote class="tr_bq">
<span style="color: #444444;">Y desde el xen abro el archivo /var/log/xen-tools/NombreVM.log</span><br />
<span style="color: #444444;"> #tail -f /var/log/xen-tools/NombreVM.log</span></blockquote>
</div>
Una vez el comando haya creado la imagen y regresado entonces a nuestro prompt normal continuaremos con el paso 6.<br />
<br />
<b> 6.-Levantamos la MV
</b><br />
<div style="text-align: justify;">
Ejecutamos el comando para que suba las .img que se acaban de crear.</div>
<i> #xm create servidorWeb.cfg
</i><br />
<br />
<div style="text-align: justify;">
Con esto ya se ejecuta nuestra máquina virtual en Debian Wheezy.</div>
<br />
<b> 7.- Comando útiles</b><br />
Ahora bien, indico los comandos que se utilizan para gestionar las VM<br />
<style type="text/css">TD P { margin-bottom: 0cm; }P { margin-bottom: 0.21cm; }CODE.cjk { font-family: "Droid Sans Fallback",monospace; }CODE.ctl { font-family: "FreeSans",monospace; }A:link { }</style>
<br />
<table style="width: 100%;">
<colgroup><col width="128*"></col>
<col width="128*"></col>
</colgroup><tbody>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;"><b>Comando</b></span></span></td>
<td style="border: 1px solid #000000; padding: 0.1cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;"><b>Función</b></span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm shutdow
servidorWeb
</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Solicita a la
VM que se apague</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm pause
servidorWeb
</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Pausar la VM
para hacer respaldos y acciones especiales.</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm destroy
servidorWeb</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Destruir una
VM esto la forza a que el equipo se reinicie.</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm reboot
servidorWeb</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Reiniciar una
VM.</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm list</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Saber qué VM
se están ejecutando en el equipo.</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm
consoleNombreVM</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Conectarse a
la VM desde el propio XEN. Nótese que a mi parecer es preferible
instalar SSH en la VM y conectarse remotamente a ella; así no se
congelan en la sala de servidores.</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><code class="western"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm
rename NombreActualVM NuevoNombreVM</span></span></code></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><code class="western"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Cambiar
el nombre de una VM</span></span></code></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm top</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Monitorear
todas las VM en tiempo real</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm uptime</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Saber el
tiempo que las VM llevan operativas</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm vcpu-list</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Visualizar
cada una de las VM y la información sobre sus CPU</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm vcpu-set
NombreVM 2</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Cambiar el
número de procesadores de una VM, en este ejemplo específico se
está cambiando a 2</span></span></td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">xm mem-max
NombreVM 1024</span></span></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="50%"><span style="font-family: "liberation" serif , serif;"><span style="font-size: small;">Cambiar el
valor de la memoria RAM máxima de una VM, en este ejemplo se está
cambiando a 1024MB.</span></span></td>
</tr>
</tbody></table>
<br />
<b> 8.-Pasos para remover una VM
</b><br />
<br />
<div style="text-align: justify;">
Si en realidad quieres eliminar tu VM y que no se pueda utilizar nuevamente, el proceso a ejecutar es el siguiente:
</div>
<br />
<div style="text-align: justify;">
Si la VM está corriendo, mándala a detener utilizando
</div>
<div style="text-align: justify;">
<i> #xm destroy NombreVM
</i></div>
<div style="text-align: justify;">
Borra las imagenes creadas
</div>
<div style="text-align: justify;">
<i> #rm /xen/vm
</i></div>
<div style="text-align: justify;">
Elimina el archivo de configuración de la VM ubicado en /etc/xen
</div>
<div style="text-align: justify;">
<i> #rm /etc/xen/NombreVM.cfg</i></div>
<br />
<b> 9.-Cambiar el número de loops de XEN</b><br />
Como root debemos ejecutar el siguiente comando<br />
<div style="text-align: justify;">
#modprobe loop max_loop=64</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Para más información al respecto, recomiendo la lectura de las siguientes URLs:
</div>
<br />
<div style="text-align: justify;">
Tipos de Virtualizaciones <a href="http://bevirtual.blogspot.com/2007/04/nota-tcnica-virtualizacin-asistida-por.html" target="_blank">http://bevirtual.blogspot.com/2007/04/nota-tcnica-virtualizacin-asistida-por.html </a></div>
<div style="text-align: justify;">
Virtualización Asistida por Hardware <a href="http://es.wikipedia.org/wiki/Virtualizaci%C3%B3n#Virtualizaci.C3.B3n_asistida_por_Hardware">http://es.wikipedia.org/wiki/Virtualizaci%C3%B3n#Virtualizaci.C3.B3n_asistida_por_Hardware</a> </div>
<div style="text-align: justify;">
Sobre hypervisor y PV <a href="http://arcos.inf.uc3m.es/~folcina/pfc-html/node23.html">http://arcos.inf.uc3m.es/~folcina/pfc-html/node23.html</a> </div>
<div style="text-align: justify;">
IVT (Intel Virtualization Technology) <a href="http://www.intel.es/content/www/es/es/virtualization/virtualization-technology/intel-virtualization-technology.html">http://www.intel.es/content/www/es/es/virtualization/virtualization-technology/intel-virtualization-technology.html</a> </div>
<div style="text-align: justify;">
Virtualización VS Paravirtualización <a href="http://blogs.itpro.es/problemas/paravirtualizacion/">http://blogs.itpro.es/problemas/paravirtualizacion/</a> </div>
<div style="text-align: justify;">
Instalación de XEN <a href="http://blog.sakrow.com/2013/03/10/instalar-maquinas-virtuales-xen-debian">http://blog.sakrow.com/2013/03/10/instalar-maquinas-virtuales-xen-debian</a> </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<i><b>PD</b></i>: Todas estas páginas fueron revisadas durante el mes de Marzo de 2015.
</div>
<div style="text-align: right;">
Copyleft 2015 - RAITE
<span class="st_facebook_large" displaytext="Facebook"></span>
<span class="st_twitter_large" displaytext="Tweet"></span>
<span class="st_googleplus_large" displaytext="Google +"></span>
<span class="st_linkedin_large" displaytext="LinkedIn"></span>
<span class="st_email_large" displaytext="Email"></span>
<span class="st_whatsapp_large" displaytext="WhatsApp"></span></div>
Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com1tag:blogger.com,1999:blog-2020890173275636291.post-40352848425922733342014-11-24T12:04:00.000-04:302016-03-08T06:01:21.249-04:30Servidor Multimedia (DLNA) en Debian Wheezy<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNgmD5y9mdRGlbDsMOb8XgwZbjdB7Y5G_ZF6ogupg7V0vHgjoq6X1kl3JCU3Z7cyjeiKTpr7GVKN3vPExHiRBoGFHH7tWqs-DRPmdnNtnbQVxQciOTbFLqcdH7GVHSckOamIpPz822KmLr/s1600/dlna-logo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNgmD5y9mdRGlbDsMOb8XgwZbjdB7Y5G_ZF6ogupg7V0vHgjoq6X1kl3JCU3Z7cyjeiKTpr7GVKN3vPExHiRBoGFHH7tWqs-DRPmdnNtnbQVxQciOTbFLqcdH7GVHSckOamIpPz822KmLr/s1600/dlna-logo.jpg" height="113" width="320" /></a></div>
<br />
Bueno, les comento que mi tlf Android pasó a mejor vida, al menos como teléfono jajajaja. La cosa es que mi flamante Motorola Atrix 4G, el cual fue un equipo extremadamente fiel desde que lo compré hasta ahora, tiene el táctil averiado, por lo que escribir en él se convirtió en algo semejante a una tortura china jejeje.</div>
<br />
<div style="text-align: justify;">
Pues dado el caso, me pasé a otro tipo de equipo, por ahora, sin embargo, no quería desprenderme de ese trasto, al menos no mientras aún le pueda sacar el jugo al procesador y la ram del equipo, así que me puse a ver de qué podía servirme el equipo y encontré algunas opciones interesantes; sin embargo la que más me llamó la atención fue la de crear en mi computador un servidor multimedia y poder acceder a él desde cualquier parte del sitio donde habito, siempre y cuando esté conectado a la red; es importante recordar que hoy en día, todo va a la wifi jajajajaja. La opción para lograr un servidor multimedia es hacer uso de DLNA, así que es hora de empezar a saber un poco más al respecto, y como ya es costumbre, aquí va la definición.</div>
<div style="text-align: justify;">
<blockquote class="tr_bq">
"<b>DLNA</b> (Digital Living Network Alliance), o "Alianza para el estilo de vida digital en red" en castellano, es una asociación de fabricantes de electrónica e informática sin ánimo de lucro fundada por Sony en junio de 2003. Su objetivo es definir directrices de interoperabilidad que permitan compartir medios digitales entre dispositivos de consumo como ordenadores, impresoras, cámaras, teléfonos móviles y otros dispositivos multimedia. Estas directrices toman como base estándares públicos ya existentes, pero sólo pueden obtenerse previo pago. DLNA especifica la forma de utilizar estos estándares con el fin de que los distintos dispositivos que pueda haber dentro de una misma red se interconecten entre ellos para compartir sus contenidos." <a href="http://es.wikipedia.org/wiki/Digital_Living_Network_Alliance">http://es.wikipedia.org/wiki/Digital_Living_Network_Alliance</a> Agosto, 2014</blockquote>
</div>
<br />
<div style="text-align: justify;">
Sabiendo esto, procedemos a ver que necesitamos en nuestro equipo para convertirlo en un servidor DLNA; recordemos que aquí usamos Debian y para nuestro GNU/Linux tenemos un paquete llamado minidnla, el cual permite crear un servidor multimedia en el equipo. Buscaremos el paquete en nuestro repositorio y verificaremos la información del mismo; para ello haremos uso de los siguientes comandos.</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>aptitude search minidnla</i></div>
</blockquote>
<div style="text-align: justify;">
Con ese buscamos el paquete para asegurarnos de que lo tenemos en los repositorios y de que aún no está instalado. Recuerda que si al principio de la línea donde aparece el paquete, nos indica una letra "p" significa que no está instalado, y si nos indica una "i" es porque si lo está; de igual manera podremos obtener toda esa información de una forma más explícita si le pedimos a aptitude que nos muestre la información de ese paquete, para ello haremos</div>
<blockquote class="tr_bq">
<i>aptitude show minidnla</i></blockquote>
Al hacer uso de ese comando yo recibí la siguiente información:<br />
<blockquote class="tr_bq">
<div style="text-align: justify;">
<span style="color: #666666;"><span style="background-color: white;">Package: minidlna </span></span></div>
<div style="text-align: justify;">
<span style="color: #666666;"><span style="background-color: white;">New: yes</span></span></div>
<div style="text-align: justify;">
<span style="color: #666666;"><span style="background-color: white;">State: installed</span></span></div>
<div style="text-align: justify;">
<span style="color: #666666;"><span style="background-color: white;">Automatically installed: no</span></span></div>
<div style="text-align: justify;">
<span style="color: #666666;"><span style="background-color: white;">Version: 1.0.24+dfsg-1</span></span></div>
<div style="text-align: justify;">
<span style="color: #666666;"><span style="background-color: white;">Priority: optional</span></span></div>
<div style="text-align: justify;">
<span style="color: #666666;"><span style="background-color: white;">Section: net</span></span></div>
</blockquote>
<blockquote>
<span style="color: #666666;"><span style="background-color: white;">Maintainer: Beno??t Knecht <benoit .knecht="" fsfe.org=""></benoit><br /><benoit .knecht="" fsfe.org="">Architecture: i386</benoit><br /><benoit .knecht="" fsfe.org="">Uncompressed Size: 362 k</benoit><br /><benoit .knecht="" fsfe.org="">Depends: adduser, lsb-base, libavformat53 (>= 4:0.8-1~) | libavformat-extra-53</benoit><br /><benoit .knecht="" fsfe.org=""> (>= 4:0.8-1~), libavutil51 (>= 4:0.8-1~) | libavutil-extra-51 (>=</benoit><br /><benoit .knecht="" fsfe.org=""> 4:0.8-1~), libc6 (>= 2.3.6-6~), libexif12, libflac8 (>= 1.2.1),</benoit><br /><benoit .knecht="" fsfe.org=""> libid3tag0 (>= 0.15.1b), libjpeg8 (>= 8c), libogg0 (>= 1.0rc3),</benoit><br /><benoit .knecht="" fsfe.org=""> libsqlite3-0 (>= 3.5.9), libvorbis0a (>= 1.1.2)</benoit><br /><benoit .knecht="" fsfe.org="">Description: lightweight DLNA/UPnP-AV server targeted at embedded systems</benoit><br /><benoit .knecht="" fsfe.org=""> MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully</benoit><br /><benoit .knecht="" fsfe.org=""> compliant with DLNA/UPnP-AV clients. </benoit><br /><benoit .knecht="" fsfe.org=""></benoit><br /><benoit .knecht="" fsfe.org=""> The minidlna daemon serves media files (music, pictures, and video) to clients</benoit><br /><benoit .knecht="" fsfe.org=""> on your network. Example clients include applications such as totem and xbmc,</benoit><br /><benoit .knecht="" fsfe.org=""> and devices such as portable media players, smartphones, and televisions. </benoit><br /><benoit .knecht="" fsfe.org=""></benoit><br /><benoit .knecht="" fsfe.org=""> MiniDLNA is a simple, lightweight alternative to mediatomb, but has fewer</benoit><br /><benoit .knecht="" fsfe.org=""> features. It does not have a web interface for administration and must be</benoit><br /><benoit .knecht="" fsfe.org=""> configured by editing a text file.</benoit><br /><benoit .knecht="" fsfe.org="">Homepage: http://sourceforge.net/projects/minidlna/</benoit></span></span></blockquote>
<div style="text-align: justify;">
<benoit .knecht="" fsfe.org=""></benoit><benoit .knecht="" fsfe.org=""></benoit><benoit .knecht="" fsfe.org="">O lo que es lo mismo, se nos indica que minidlna es un software de servidor hecho con el objetivo de ser totalmente compatible con clientes DLNA y UPnP-AV y que el demonio servidor minidlna nos permitirá suministrar multimedia (música, imágenes y videos) a clientes de la red; ejemplo de esos clientes podrían ser totem, xbmx y dispositivos tales como reproductores portátiles, teléfonos y televisores inteligentes, entre otros.</benoit></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<benoit .knecht="" fsfe.org="">Ahora, ya que sabemos que es DLNA y para qué sirve, así como también el nombre del paquete que nos permite, fácilmente, crear un servidor DLNA en nuestro debian, procederemos a crear nuestro server, muajajaja.</benoit></div>
<blockquote class="tr_bq">
<i><benoit .knecht="" fsfe.org="">aptitude install minidlna</benoit></i></blockquote>
<div style="text-align: justify;">
Eso es todo, ya con eso lo instalamos, pero eso no quiere decir que funcione, debemos configurarlo manualmente ya que el paquete no posee una interface Web para su administración; en este punto vamos a necesitar conocer la IP de nuestro servidor, así que si no se la saben, procedan a hacer uso del siguiente comando
<benoit .knecht="" fsfe.org=""></benoit><benoit .knecht="" fsfe.org=""></benoit><br />
<blockquote class="tr_bq">
<i><benoit .knecht="" fsfe.org="">sudo ifconfig</benoit></i></blockquote>
<benoit .knecht="" fsfe.org="">Con el cual obtendrémos toda la información de las configuraciones de red actuales en nuestro equipo.<br /><br />Ahora abriremos el archivo de configuración de minidlna para editarlo</benoit><br />
<blockquote class="tr_bq">
<i><benoit .knecht="" fsfe.org="">sudo nano /etc/minidlna.conf</benoit></i></blockquote>
<benoit .knecht="" fsfe.org="">Realmente el archivo es bastante intiutivo, lo único que necesitamos es saber inglés y la configuración se nos hará super fácil; sin embargo les daré unos datos, venga que yo no soy tan cruel, joder jajajajajaja.<br /><br />Ya tenemos nuestro servidor instalado, y de más está decir que sabemos en qué carpetas de nuestro disco duro tenemos los archivos que deseamos compartir; el parámetro "media_dir" es el que debe contener dicha información.</benoit><br />
<blockquote class="tr_bq">
<benoit .knecht="" fsfe.org="">media_dir=/media/data</benoit></blockquote>
<benoit .knecht="" fsfe.org="">Observa que le estoy indicando a minidlna que en la ruta /media/data hay archivos multimedia que deseo compartir; supongamos sin embargo que nosotros deseamos especificarle a DLNA en cual carpeta conseguirá música, en cual conseguirá imágenes y en cuales tendrá videos, para eso debemos añadir un parámetro a la línea anterior.</benoit><br />
<ul>
<li><benoit .knecht="" fsfe.org="">Si el archivo es de Audio debo colocar "A," despues del símbolo de igualdad.</benoit></li>
<li><benoit .knecht="" fsfe.org="">Si el archivo es una Imagen debo colocar "P," despues del símbolo de igualdad. </benoit></li>
<li><benoit .knecht="" fsfe.org="">Si el archivo es un Video debo colocar "V," despues del símbolo de igualdad.</benoit></li>
</ul>
<benoit .knecht="" fsfe.org=""><br /><b>Ejemplos</b></benoit><br />
<ul>
<li><benoit .knecht="" fsfe.org="">media_dir=A,/media/data/Music</benoit></li>
<li><benoit .knecht="" fsfe.org="">media_dir=V,/media/data/Videos</benoit></li>
<li><benoit .knecht="" fsfe.org="">media_dir=P,/media/data/Pictures</benoit></li>
</ul>
<benoit .knecht="" fsfe.org=""><br />Con esto le indico al minidlna que en la ruta /media/data/Music debe buscar sólo archivos de audio, mientras que la imágenes a compartir están en /media/data/Pictures y los videos en /media/data/Videos.<br /><br />Igualmente debemos configurar <i>friendly_name</i> para reconocer nuestro servidor rápidamente en la red, en mi caso lo llamaré Rait3-DLNA, a continuación muestro como queda la línea.</benoit><br />
<blockquote class="tr_bq">
<benoit .knecht="" fsfe.org="">friendly_name=Rait3-DLNA</benoit></blockquote>
<benoit .knecht="" fsfe.org="">Podemos decirle a minidlna que automáticamente añada nuevos archivos a la biblioteca, obviamente, esos archivos serán añadidos una vez los hayamos colocado en las carpetas de música, imágenes o videos, para ello descomentamos la línea del <i>inotify</i> dejándola como sigue</benoit><br />
<blockquote class="tr_bq">
<benoit .knecht="" fsfe.org="">inotify=yes</benoit></blockquote>
<benoit .knecht="" fsfe.org="">Igualmente le decimos a nuestro servidor cual es la dirección IP que va a escuchar, o sea, la dirección IP de nuestro equipo, en mi caso particular</benoit><br />
<blockquote class="tr_bq">
<benoit .knecht="" fsfe.org="">listening_ip=192.168.3.15</benoit></blockquote>
<benoit .knecht="" fsfe.org="">Les recomiendo observar, y si lo desean, cambiar, el puerto por el cual minidlna está transmitiendo, sólo para saber que debemos desbloquear en los firewalls, en caso de tenerlos; la línea que indica el puerto es</benoit><br />
<blockquote>
<benoit .knecht="" fsfe.org=""># Port number for HTTP traffic (descriptions, SOAP, media transfer).</benoit><br />
<benoit .knecht="" fsfe.org="">port=8200</benoit></blockquote>
<benoit .knecht="" fsfe.org="">Guardamos el archivo</benoit><br />
<blockquote class="tr_bq">
<i><benoit .knecht="" fsfe.org="">Ctrl + o</benoit></i><br />
<benoit .knecht="" fsfe.org=""></benoit></blockquote>
<benoit .knecht="" fsfe.org="">Y lo cerramos</benoit><br />
<blockquote class="tr_bq">
<i><benoit .knecht="" fsfe.org="">Ctrl + x</benoit></i><br />
<benoit .knecht="" fsfe.org=""></benoit></blockquote>
<benoit .knecht="" fsfe.org="">Ahora simplemente reiniciamos el servicio</benoit><br />
<blockquote class="tr_bq">
<i><benoit .knecht="" fsfe.org="">sudo /etc/init.d/minidlna restart</benoit></i><br />
<benoit .knecht="" fsfe.org=""></benoit></blockquote>
<benoit .knecht="" fsfe.org="">Y listo, el servidor está funcionando a la perfección. Yo instalé <a href="https://play.google.com/store/apps/details?id=com.dbapp.android.mediahouse" rel="nofollow" target="_blank">MediaHouse</a> en mi android para hacer uso de mi servidor desde ese equipo, igualmente he estado probando con el </benoit><a href="https://play.google.com/store/apps/details?id=com.toxsl.dlnaplayer" rel="nofollow" target="_blank">DLNA Player</a>, pero no termina de gustarme del todo.<br />
<br />
En mi caso el servidor no actualizó los archivos cuando los añadí a mi carpeta multimedia, así que lo que hice fue eliminar el archivo que tiene la base de datos de minidlna y reiniciar el servicio, de tal manera que el servidor genere de nuevo la base de datos; para ello se hace uso de los siguientes comandos<br />
<br />
<blockquote class="tr_bq">
<i>sudo rm -f /var/lib/minidlna/</i></blockquote>
Y para reiniciar el servidor usamos<br />
<blockquote class="tr_bq">
<i>sudo /etc/init.d/minidlna restart </i></blockquote>
Ahora, una imágen que encontré en la Web cuando estudiaba un poco sobre DLNA, me pareció agradable y decidí descargarla, sin embargo, aunque no es mía, no recuerdo de donde la descargué jeje.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-3vR7wiCPZQRwYTw5LUhRoWmG3F-dlTSmNFMHeEQ1w_97BOCstgzqdBwvYWazKtkKJfYO9qheB2zgZP8s0WwZNTfsBZOTj8R9KUzU9mAYAUtq36-C1a1WsNEHAI42IQqNZikkxy-PCxdu/s1600/digital-living-especial.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-3vR7wiCPZQRwYTw5LUhRoWmG3F-dlTSmNFMHeEQ1w_97BOCstgzqdBwvYWazKtkKJfYO9qheB2zgZP8s0WwZNTfsBZOTj8R9KUzU9mAYAUtq36-C1a1WsNEHAI42IQqNZikkxy-PCxdu/s1600/digital-living-especial.jpg" height="228" width="320" /></a></div>
<br />
A esto más o menos es a lo que hace alución Digital Living Network Alliance.<br />
<br />
Bueno linuxeros, estamos a la orden, cualquier cosa, no duden en comentar, incluso para agradecer.<br />
<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span></div>
</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-30792270371795403582014-11-24T12:03:00.001-04:302016-03-08T06:01:34.741-04:30Servidor Web, Correo y DNS -- Parte VIII ISPConfig<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJEOCqQ2Y5auzDMlyqY851Z_GkMdW2oqILsKLToAuLoMV6St1BVno5lYxsaahwBr53PHDWoFO3yS-PxTtLeCFEFa4dzf1nFkXYxkWZnk2GAU3vAsHcFaQ_xuT1hAF-yv3dQj9DDcXXFLbP/s1600/ISPConfig.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJEOCqQ2Y5auzDMlyqY851Z_GkMdW2oqILsKLToAuLoMV6St1BVno5lYxsaahwBr53PHDWoFO3yS-PxTtLeCFEFa4dzf1nFkXYxkWZnk2GAU3vAsHcFaQ_xuT1hAF-yv3dQj9DDcXXFLbP/s1600/ISPConfig.png" height="200" width="320" /></a></div>
<br />
Por último, nuestro <b>ISPConfig</b>, que herramienta más útil por Dios...<br />
<br />
A ver, descargaremos el tar.gz, lo descomprimiremos y luego entraremos a la carpeta de instalación.<br />
<blockquote class="tr_bq">
<i>cd /tmp</i><br />
<i>wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz</i><br />
<i>tar xfz ISPConfig-3-stable.tar.gz</i><br />
<i>cd ispconfig3_install/install/</i></blockquote>
<br />
Acto seguido, corremos el script que lo instala<br />
<blockquote>
<i>php -q install.php</i></blockquote>
Nos pedirá alguna información básica como el idioma a instalar el programa y la clave de root de MySQL, de resto, en mi caso personal, no cambié ningún valor, a todos les dejé por defecto presionando "enter"<br />
<br />
Luego de culminado el proceso, puedes ingresar a ISPConfig haciendo uso de <br />
<br />
<i>https://TU-IP:8080/ o en su defecto https://Nombre-Equipo:8080/</i><br />
<br />
Como login y clave debes usar <b>admin admin</b>.<br />
<br />
Listo muchachos. Gracias por leerme.<br />
<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span></div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-23477805038488347602014-11-24T11:58:00.002-04:302016-03-08T06:01:45.050-04:30Servidor Web, Correo y DNS -- Parte VII SquirrelMail<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuOguOSPjJRjixEXYxVJ7I-nKNvbUnLSYYEUXjBSC0uq_fSc1MaT1MxDPo0XXpziseo44vxYonPgRxd-YWJb-M51ob6tj62pI8kQbPA9Twfd5fadpHsADlCbD5zgJ0x4rX4vDWx4tMumH/s1600/Compilado.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuOguOSPjJRjixEXYxVJ7I-nKNvbUnLSYYEUXjBSC0uq_fSc1MaT1MxDPo0XXpziseo44vxYonPgRxd-YWJb-M51ob6tj62pI8kQbPA9Twfd5fadpHsADlCbD5zgJ0x4rX4vDWx4tMumH/s1600/Compilado.png" height="200" width="320" /></a></div>
<br />
<br />
Primero procederemos a instalar SquirrelMail<br />
<blockquote>
<i>aptitude install squirrelmail</i></blockquote>
Y luego debemos configurarlo<br />
<blockquote>
<i>squirrelmail-configure</i></blockquote>
Debemos decirle a SquirrelMail que estamos usando Dovecot-Imap/Pop3.<br />
<br />
Inicialmente, nos aparecerá un menú principal, en el cual la primera opción que seleccionaremos es la de "Definir los valores específicos predeterminados para servidores IMAP, esto lo hacemos con la opción "D"<br />
<br />
Luego indicaremos que nuestro servidor IMAP es "dovecot"<br />
<br />
Presionaremos cualquier tecla para continuar.<br />
<br />
S para guardar<br />
Q para salir<br />
<br />
Con esto está funcionando nuestro SquirrelMail, pero aún no podemos ingresar al mismo vía Web, para ello debemos habilitarlo en nuestro PHP.<br />
<blockquote class="tr_bq">
<i>cd /etc/apache2/conf.d/<br />ln -s ../../squirrelmail/apache.conf squirrelmail.conf<br />/etc/init.d/apache2 reload</i></blockquote>
Con los comandos anteriores creamos el ln de nuestro archivo de configuración Apache del SquirrelMail y reiniciamos apache.<br />
<br />
Ahora abrimos nuestro archivo de configuración<br />
<blockquote>
<i>nano /etc/apache2/conf.d/squirrelmail.conf </i></blockquote>
Y procedemos a añadir unas cuantas líneas al "<directory share="" squirrelmail="" usr="">" quedando la sección como se muestra a continuación</directory><br />
<blockquote class="tr_bq">
<directory share="" squirrelmail="" usr=""><br /> Options FollowSymLinks<br /> <ifmodule mod_php5.c=""><br /> AddType application/x-httpd-php .php<br /> php_flag magic_quotes_gpc Off<br /> php_flag track_vars On<br /> php_admin_flag allow_url_fopen Off<br /> php_value include_path .<br /> php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp<br /> php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname<br /> php_flag register_globals off<br /> </ifmodule></directory></blockquote>
Crearemos un directorio temporal para el uso de nuestro SquirrelMail<br />
<blockquote>
<i>mkdir /var/lib/squirrelmail/tmp</i></blockquote>
Y definiremos que www-data sea su usuario, para que pueda jugar con el a su antojo, recordemos que este es el usuario Web.<br />
<blockquote>
<i>chown www-data /var/lib/squirrelmail/tmp</i></blockquote>
Reiniciamos apache<br />
<blockquote>
<i>/etc/init.d/apache2 reload </i></blockquote>
Para ingresar a nuestro correo utilizaremos <br />
<blockquote class="tr_bq">
<i>http://TU-IP/squirrelmail</i></blockquote>
<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-61894994553787982732014-11-24T11:53:00.000-04:302016-03-08T06:01:58.249-04:30Servidor Web, Correo y DNS -- Parte VI FTP, Quotas y DNS<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNph2LXcDIpeh5rcJRLdmKofliENQT0gabUTCZDO4F2LcYD6fWGwfo_7TQkfqJBreNmvKGkRUcQJilfGpz2NaKal_6s5twrqRUOGDDnzKRVn3Ayxo2bcG6jbxHAFX56NnHx2hekmIifI9j/s1600/FTP-Quotes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNph2LXcDIpeh5rcJRLdmKofliENQT0gabUTCZDO4F2LcYD6fWGwfo_7TQkfqJBreNmvKGkRUcQJilfGpz2NaKal_6s5twrqRUOGDDnzKRVn3Ayxo2bcG6jbxHAFX56NnHx2hekmIifI9j/s1600/FTP-Quotes.png" height="200" width="320" /></a></div>
<br />
<br />
<div style="text-align: justify;">
Ya sabemos bien que es un FTP (para cualquier duda, lea el post http://ojedareinaldo.blogspot.com/2014/03/ftp-desde-consola.html en el cual se define FTP y se habla de como ingresar a un servidor FTP desde cónsola de comandos). Ahora bien, debemos instalar en nuestro equipo el servicio FTP también, para ello procederemos a hacer uso del pure-FTP.</div>
<br />
<div style="text-align: justify;">
<b>Pure-FTP </b>es un servidor FTP libre (bajo licencia BSD), seguro, cumple los estándares y provee una calidad asegurada para sistemas de producción. Para mayor información puede referirse a su página oficial.<br />
<a href="http://www.pureftpd.org/project/pure-ftpd">http://www.pureftpd.org/project/pure-ftpd</a> (Inglés) Noviembre, 2014</div>
<blockquote>
<i>aptitude install pure-ftpd-common pure-ftpd-mysql</i></blockquote>
<div style="text-align: justify;">
Debemos asegurarnos de que el FTP está configurado para iniciar como standalone y con el chroot virtual activado, para esto debemos abrir el archivo pure-ftpd-common con nuestro editor favorito</div>
<blockquote>
<i>nano /etc/default/pure-ftpd-common</i></blockquote>
El archivo debe tener estas dos líneas, tal como se indica<br />
<blockquote>
STANDALONE_OR_INETD=standalone<br />
<br />
VIRTUALCHROOT=true</blockquote>
<div style="text-align: justify;">
Debemos configurar también Pure-FTP para que permita sesiones TLS, esto con el fin de añadir mayor seguridad a nuestro servidor, para ello ejecutaremos el siguiente comando.</div>
<blockquote>
<i>echo 1 > /etc/pure-ftpd/conf/TLS</i></blockquote>
Y crearemos igualmente los certificados SSL, primero creamos su carpeta.<br />
<blockquote class="tr_bq">
<i>mkdir -p /etc/ssl/private/</i></blockquote>
Y luego el certificado como tal. <br />
<div style="text-align: justify;">
<blockquote class="tr_bq">
<i>openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem</i></blockquote>
</div>
<div style="text-align: justify;">
Se le solicitará cierta información, la cual debe llenar con la mayor exactitud posible ya que de ella dependerá la fiabilidad de su certificado SSL.<br />
<br /></div>
Luego procederemos a cambiarle la permisología al certificado SSL <br />
<br />
<blockquote>
<i>chmod 600 /etc/ssl/private/pure-ftpd.pem</i></blockquote>
<br />
<b>QUOTES</b><br />
<br />
Ahora bien, ¿qué es una Quota?<br />
<br />
<div style="text-align: justify;">
Wikipedia nos permite saber que "...Una quota es un límite indicado por el administrador de sistema con el fin de restringir ciertos aspectos del uso del sistema de archvios, su objetivo principal como tal es indicar el máximo de espacio (mb) que un usuario puede llegar a poseer en un sistema determinado." <a href="http://en.wikipedia.org/wiki/Disk_quota">http://en.wikipedia.org/wiki/Disk_quota</a> (Inglés) Noviembre, 2014</div>
<br />
Procederemos entonces a instalar las herramientas necesarias para el Quota<br />
<blockquote>
<i>aptitude install quota quotatool</i></blockquote>
<div style="text-align: justify;">
Y deberemos reiniciar nuestro demonio de Pure-FTP para que tome las configuraciones</div>
<blockquote>
<i>/etc/init.d/pure-ftpd-mysql restart</i></blockquote>
<div style="text-align: justify;">
Se debe ahora editar el fstab para que monte los quotes</div>
<blockquote>
<i>nano /etc/fstab</i></blockquote>
Y se añade la siguiente línea<br />
<div style="text-align: justify;">
<blockquote>
<i>/dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1</i></blockquote>
</div>
Activamos los quotes<br />
<blockquote class="tr_bq">
<i>mount -o remount /</i><br />
<i>quotacheck -avugm</i><br />
<i>quotaon -avug</i></blockquote>
Instalaremos el servidor <b>BIND DNS</b>.<br />
<blockquote>
<i>aptitude install bind9 dnsutils</i></blockquote>
Y ahora unas cuantas herramientas de administración y estadísticas Web.<br />
<div style="text-align: justify;">
<blockquote class="tr_bq">
<i>aptitude install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl</i></blockquote>
</div>
<div style="text-align: justify;">
Evitaremos que awstats nos envíe correos editando su configuración y comentando todas las líneas que generan reportes, para ello usaremos nuestro editor favorito.</div>
<blockquote class="tr_bq">
<i>nano /etc/cron.d/awstats</i></blockquote>
<div style="text-align: justify;">
Quedando nuestro archivo de la siguiente manera</div>
<blockquote class="tr_bq">
#MAILTO=root<br />
<br />
<div style="text-align: justify;">
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
# Generate static reports:</div>
<div style="text-align: justify;">
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh</div>
</blockquote>
<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-13662234056036517162014-11-24T11:34:00.000-04:302016-03-08T06:02:08.237-04:30Servidor Web, Correo y DNS -- Parte V Opcache y Estadísticas<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE9Z5YV4UNSCvwZnvdaTnAEWNViH9adQzuJ_TI768loLwSnkmpmpVdp7d-JAVeQDMS4611jDmEZjGaePoYic5AswjI7eNOPyaSOp8uGcgwmlzT7a2CNIPvo-Mv74CHQB_qkKN9dhXO2Snp/s1600/Estadistica.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE9Z5YV4UNSCvwZnvdaTnAEWNViH9adQzuJ_TI768loLwSnkmpmpVdp7d-JAVeQDMS4611jDmEZjGaePoYic5AswjI7eNOPyaSOp8uGcgwmlzT7a2CNIPvo-Mv74CHQB_qkKN9dhXO2Snp/s1600/Estadistica.png" height="200" width="320" /></a></div>
<br />
<br />
<br />
<div style="text-align: justify;">
PHP es un lenguaje interpretado, por lo tanto, con cada ejecución, el servidor tiene que compilar el código. Un sistema opcode cache se encarga de almacenar en memoria los códigos php compilados para evitar tener que compilarlos nuevamente.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Xcache</b> es un opcode cacher veloz y estable totalmente testeado en sistema GNU/Linux. Para mayor información puede visitar su página oficial. </div>
<br />
<a href="http://xcache.lighttpd.net/">http://xcache.lighttpd.net/</a> (Inglés) Noviembre, 2014<br />
<br />
Procederemos a instalar Xcache<br />
<br />
<blockquote class="tr_bq">
<i>aptitude install php5-xcache</i></blockquote>
<br />
<div style="text-align: justify;">
Luego de instalarlo, deberemos reiniciar apache para que opere con nuestro opcode cacher</div>
<br />
<blockquote class="tr_bq">
<i>/etc/init.d/apache2 restart</i></blockquote>
<br />
<b>PHP-FPM </b><br />
<br />
<div style="text-align: justify;">
Un manejador de procesos que entre sus funciones principales incluye</div>
<br />
<div style="text-align: justify;">
<ul>
<li>Estadísticas básicas de apache</li>
<li>Manejo avanzado de procesos con posibilidad de iniciarlos y finalizarlos</li>
<li>Habilidad de iniciar usuarios con diferentes uid/gid/chroot/ambiente</li>
<li>Reinicio de emergencia en caso de una destrución accidental por el opcode cacher</li>
</ul>
</div>
<br />
Procederemos entonces a instalar PHP-FPM<br />
<br />
<blockquote>
<i>aptitude install libapache2-mod-fastcgi php5-fpm </i></blockquote>
<br />
Ahora deberemos activar el módulo y reiniciar apache<br />
<i><br /></i>
<br />
<blockquote>
<i>a2enmod actions fastcgi alias</i><br />
<i>/etc/init.d/apache2 restart </i></blockquote>
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-32060289779998188512014-09-04T11:49:00.000-04:302016-03-08T06:05:10.645-04:30Servidor Web, Correo y DNS -- Parte IV Activación Módulos de Apache<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPT2BSK9We4ZTfwn2A-tgPQ7dEq-vQfR-VbhJnPmuwHOUZ0ci8UASXXDVfzE1Vc95TiVPpZlTzgCznpk4rcp_X664MBLSxQD_0sy6FP81EPEFxU6f46wtNPV1gGXGUb5rX8alcdDXxe5jC/s1600/Apache.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPT2BSK9We4ZTfwn2A-tgPQ7dEq-vQfR-VbhJnPmuwHOUZ0ci8UASXXDVfzE1Vc95TiVPpZlTzgCznpk4rcp_X664MBLSxQD_0sy6FP81EPEFxU6f46wtNPV1gGXGUb5rX8alcdDXxe5jC/s1600/Apache.png" height="200" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Debemos ahora activar los módulos <i>suexec, rewrite, ssl y actions, include, dav, dav_fs y auth_digest</i> en apache; para ello haremos uso del siguiente comando.</div>
<blockquote class="tr_bq">
<i>a2enmod suexec rewrite ssl actions include</i><br />
<i><br /></i>
<i>a2enmod dav_fs dav auth_digest</i></blockquote>
Las definiciones, como de costumbre.<br />
<br />
<div style="text-align: justify;">
El módulo <b>Suexec</b> provee a los usuarios de apache la habilidad de correr programas CGI y SSI haciendo uso de IDs diferentes de las de aquel que hace el llamado al servidor Web.</div>
<br />
<div style="text-align: justify;">
El módulo <b>rewrite</b> se utiliza para reescribir URL en aire. O sea permite hacer redireccionamiento web automático, provee entonces una forma de manipular URLs haciendo uso de un ilimitado número de reglas, cada una de las cuales puede tener un ilimitado número de condiciones adicionales.</div>
<br />
<div style="text-align: justify;">
El módulo <b>ssl</b> provee soporte de SSL versión 2 y 3 así como también TLS versión 1.</div>
<br />
<div style="text-align: justify;">
El módulo <b>actions</b> permite ejecutar scripts CGI cuando se solicita un archivo con cierto contenido MIME, (Directiva de acción); igualmente permite correr scripts CGI cuando un método sea utilizado; el uso de este módulo hace mucho más fácil ejecutar scripts en momentos adecuados.</div>
<br />
<div style="text-align: justify;">
El módulo <b>include</b> provee un filtro que procese archivos antes de enviarlos al cliente; permite texto condicional así como también la inclusión de otros archivos o programas, así como la configuración de impresión y variables de entorno.</div>
<br />
<div style="text-align: justify;">
El módulo <b>dav</b> permite crear, mover, copiar y borrar recursos y colecciones de recursos de un servidor remoto.</div>
<br />
El módulo <b>dav_fs</b> provee soporte al módulo dav y permite acceder a recursos localizados en el sistema de ficheros del servidor.<br />
<br />
El módulo <b>auth_digest</b> provee una alternativa al módulo de autenticación básica en el cual la contraseña no es transmitida como texto simple.<br />
<br />
Luego de haber hecho uso de esos comandos, tendremos todas las funcionalidades que necesitamos en nuestro Apache. <br />
<br />
<div style="text-align: justify;">
Para mayor información sobre los módulos de Apache pueden dirigirse a la fuente original (en inglés) <a href="http://httpd.apache.org/docs/2.2/mod/">http://httpd.apache.org/docs/2.2/mod/</a> Septiembre, 2014<br />
<br />
Luego, debemos proceder a comentar la sección de FilesMatch y añadir la línea<br />
<blockquote class="tr_bq">
<i><span class="system">AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml</span> -</i></blockquote>
En el archivo<br />
<blockquote class="tr_bq">
<i>/etc/apache2/mods-available/suphp.conf</i></blockquote>
Por lo tanto el archivo debe quedar como indico a continuación<br />
<blockquote class="tr_bq">
<pre><ifmodule mod_suphp.c="">
#<filesmatch p3="" ph="" tml="">
# SetHandler application/x-httpd-suphp
#</filesmatch>
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-suphp
<directory>
suPHP_Engine on
</directory>
# By default, disable suPHP for debian packaged web applications as files
# are owned by root and cannot be executed by suPHP because of min_uid.
<directory share="" usr="">
suPHP_Engine off
</directory>
# # Use a specific php config file (a dir which contains a php.ini file)
# suPHP_ConfigPath /etc/php5/cgi/suphp/
# # Tells mod_suphp NOT to handle requests with the type <mime-type>.
# suPHP_RemoveHandler <mime-type>
</mime-type></mime-type></ifmodule></pre>
</blockquote>
Ahora, como deseamos que todos los módulos y cambios sean cargados de una vez, procederemos a reiniciar el Apache haciendo uso del siguiente comando.<br />
<blockquote class="tr_bq">
<i> /etc/init.d/apache2 restart </i></blockquote>
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-60266410700991207982014-09-03T17:09:00.003-04:302016-03-08T06:05:22.494-04:30Servidor Web, Correo y DNS -- Parte III Paquetes de servidores de correo y sus adicionales<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4fMM100GloFWUnkdDbS-L1lZWhbvbD7qNqVzNkiEnqh4NltiRT1hy9v6UzJ4ua2fs4wXU7BPtuW3tz0EGRuLO1eLLrt3PmCwr9fFYgA2E4qB9zkLvzwnesxeLY_gmwhlOhFCTM-NArrYF/s1600/Antivirus-Spam.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4fMM100GloFWUnkdDbS-L1lZWhbvbD7qNqVzNkiEnqh4NltiRT1hy9v6UzJ4ua2fs4wXU7BPtuW3tz0EGRuLO1eLLrt3PmCwr9fFYgA2E4qB9zkLvzwnesxeLY_gmwhlOhFCTM-NArrYF/s1600/Antivirus-Spam.png" height="200" width="320" /></a></div>
<br />
Instalaremos ahora binutils, rkhunter, postfix y dovecot.<br />
<br />
<div style="text-align: justify;">
<b>GNU BINUTILS</b> es una colección de herramientas de programación que hacen uso de la librería de descripción binaria de archivos para ejecutar operaciones de bajo nivel en el equipo, las binutils han sido migradas para la mayoría de las variantes de UNIX, incluso para Android y OSX.</div>
<br />
<div style="text-align: justify;">
En las Binutils se encuentran ensambladores, compiladores entre otras utilidades.</div>
<br />
<div style="text-align: justify;">
Para mayor información al respecto pueden visitar <a href="http://www.gnu.org/software/binutils/">http://www.gnu.org/software/binutils/</a> Agosto, 2014</div>
<br />
<div style="text-align: justify;">
<b>RKHUNTER</b>, su nombre hace alución a Rootkit Hunter o cazador de Kits de Root. Y la información del proyecto nos indica que es un escaner que nos permite estar seguros de que nuestro sistema se encuentra lo mas limpio posible, evitando herramientas malintencionadas en el mismo. El kit permite buscar kits de root (rootkits), puertas traseras (backdoors) y exploits en nuestro sistema.</div>
<a href="http://rkhunter.sourceforge.net/">http://rkhunter.sourceforge.net/</a> Septiembre, 2014<br />
<br />
<div style="text-align: justify;">
<b>Dovecot</b> fue definido en la primera entrega de esta serie, puede verla haciendo clic aquí: <a href="http://ojedareinaldo.blogspot.com/2014/08/servidor-web-correo-y-dns-parte-i.html">http://ojedareinaldo.blogspot.com/2014/08/servidor-web-correo-y-dns-parte-i.html</a> Agosto, 2014</div>
<br />
<div style="text-align: justify;">
Bien, ya sabemos el software instalaremos para operar con los protocolos POP3 e IMAP, sin embargo, no tenemos aún alguno para dialogar con SMTP, para ello procederemos con la instalación de postfix.</div>
<br />
<div style="text-align: justify;">
<b>Postfix</b> es un servidor de correo creado para ser rápido, fácil de administrar y seguro, permite de igual manera su integración con otras aplicaciones que provean filtros contra spam y virus entre otras.</div>
He aquí la página del proyecto.<br />
<a href="http://www.postfix.org/">http://www.postfix.org/</a> Agosto 2014<br />
<br />
<div style="text-align: justify;">
Para proceder a instalar los aplicativos anteriormente mencionados debemos proceder a hacer uso del siguiente comando:</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve </i></div>
</blockquote>
<div style="text-align: justify;">
Al terminar la descarga e instalación de paquetes, el sistema nos solicitará la siguiente información:</div>
<br />
Tipo de configuración general? (General type of mail configuration)<br />
<br />
<div style="text-align: justify;">
Debemos seleccionar Internet Site pues nuestro correo será configurado para trabajar en la Web, no es un servidor de correo local pues.</div>
<blockquote class="tr_bq">
Nombre del sistema de correo? (System mail name)<br />
Usaremos nuestro DNS.</blockquote>
<div style="text-align: justify;">
Debemos decirle a nuestro equipo que puertos van a someterse a TLS y SSL, esto se hace descomentando las secciones de submission y smtps en archivo <i>/etc/postfix/master.cf</i> con su editor favorito, en mi caso haré uso de nano.</div>
<blockquote class="tr_bq">
<i>nano /etc/postfix/master.cf</i></blockquote>
Debes dejar el archivo de la siguiente manera.<br />
<blockquote class="tr_bq">
<div style="text-align: justify;">
...</div>
<div style="text-align: justify;">
submission inet n - - - - smtpd</div>
<div style="text-align: justify;">
-o syslog_name=postfix/submission</div>
<div style="text-align: justify;">
-o smtpd_tls_security_level=encrypt</div>
<div style="text-align: justify;">
-o smtpd_sasl_auth_enable=yes</div>
<div style="text-align: justify;">
-o smtpd_client_restrictions=permit_sasl_authenticated,reject</div>
<div style="text-align: justify;">
# -o milter_macro_daemon_name=ORIGINATING</div>
<div style="text-align: justify;">
smtps inet n - - - - smtpd</div>
<div style="text-align: justify;">
-o syslog_name=postfix/smtps</div>
<div style="text-align: justify;">
-o smtpd_tls_wrappermode=yes</div>
<div style="text-align: justify;">
-o smtpd_sasl_auth_enable=yes</div>
<div style="text-align: justify;">
-o smtpd_client_restrictions=permit_sasl_authenticated,reject</div>
<div style="text-align: justify;">
# -o milter_macro_daemon_name=ORIGINATING</div>
<div style="text-align: justify;">
...</div>
</blockquote>
<br />
<div style="text-align: justify;">
Luego debemos proceder a reiniciar el Postifx haciendo uso del comando</div>
<blockquote class="tr_bq">
<i>/etc/init.d/postfix restart</i></blockquote>
<div style="text-align: justify;">
Ahora debemos configurar MySQL para que escuche todas las interfaces de red, para ello abrimos el archivo /etc/mysql/my.cnf con nuestro editor favorito, en mi caso, nano.</div>
<blockquote class="tr_bq">
<i>nano /etc/mysql/my.cnf</i></blockquote>
<div style="text-align: justify;">
Procederemos ahora a comentar la línea que ata MySQL con la ip local colocándole un símbolo # al inicio, de tal manera que quede así:</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
#bind-address = 127.0.0.1</div>
</blockquote>
<div style="text-align: justify;">
Como acabamos de hacer cambios a MySQL, debemos reiniciar su servicio para que el cambio tome efecto, esto lo hacemos con el siguiente comando:</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>/etc/init.d/mysql restart</i></div>
</blockquote>
<div style="text-align: justify;">
Si queremos asegurarnos de que MySQL está escuchando conexiones por cualquier puerto de la red podemos hacer uso del siguiente comando:</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>netstat -tap | grep mysql</i></div>
</blockquote>
<div style="text-align: justify;">
Obteniendo, entre otras cosas, una respuesta como la que sigue</div>
<blockquote class="tr_bq">
tcp 0 0 *:mysql *:* LISTEN</blockquote>
<div style="text-align: justify;">
Que nos indica que con el protocolo TCP, se está escuchando cualquier cosa que entre hacia MySQL, desde cualquier usuario; claro está que MySQL tendrá sus restricciones de acceso, sin embargo las mismas serán consideradas en él.</div>
<br />
<div style="text-align: justify;">
Ahora procederemos a instalar los paquetes que nos permitirán hacer el filtrado de spam y virus al correo, los cuales son: Amavisd-new, SpamAssassin, y Clamav.</div>
<br />
<div style="text-align: justify;">
<b>Amavisd</b>: es una interface de alto rendimiento que se ubica entre los MTA de correo y los filtradores de virus y spam, se comunica con MTA haciendo uso de SMTP, funciona mejor con Postfix, Courier y qmail. <a href="http://www.ijs.si/software/amavisd/">http://www.ijs.si/software/amavisd/</a> Septiembre, 2014</div>
<br />
<div style="text-align: justify;">
<b>SpamAssasin</b>: es un proyecto de filtro de correo electrónico para identificar Spam. Spamassassin hace uso de ina variedad de mecanismos, incluido el análisis de cabeceras y texto, filtrado "Bayesian" (un filtrado inteligente que hace uso de listado de palabras y diversas clasificaciones de texto para compararlo con el texto del correo, entre otros métodos...)</div>
<a href="http://wiki.apache.org/spamassassin/">http://wiki.apache.org/spamassassin/</a> Septiembre, 2014<br />
<br />
<b>Clamav</b>: Motor para detectar troyano, virus, malware y otras amenazas maliciosas. <a href="http://www.clamav.net/index.html">http://www.clamav.net/index.html</a> Septiembre, 2014<br />
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl</i></div>
</blockquote>
<div style="text-align: justify;">
ISP Config 3 hace uso de Amavisd, el cual carga los filtros de SpamAssassin internamente, de tal manera podemos detener SpamAssassin para liberar algo de RAM (esto obviamente dependerá de las especificaciones del equipo que estemos usando), si deseamos hacerlo procederemos a utilizar los siguientes comandos</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>/etc/init.d/spamassassin stop</i></div>
<div style="text-align: justify;">
<i>update-rc.d -f spamassassin remove</i></div>
</blockquote>
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-39847998025739913472014-08-27T17:06:00.002-04:302016-03-08T06:05:31.314-04:30Servidor Web, Correo y DNS -- Parte II Instalación Servidor LAMP<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOiFAIZzLZEdG8v5W-b4l496PsNV9Wgeor4swLkLztDDLkqwE3a4-ramakn7y7zYY2yQgAqnrSSKXf_wpYIcsp4N58iVX5cC5HCX9rTAKileYBNxyc-wBxXflfg3KiyTKe7hM-9kueLZSJ/s1600/Aptitude.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOiFAIZzLZEdG8v5W-b4l496PsNV9Wgeor4swLkLztDDLkqwE3a4-ramakn7y7zYY2yQgAqnrSSKXf_wpYIcsp4N58iVX5cC5HCX9rTAKileYBNxyc-wBxXflfg3KiyTKe7hM-9kueLZSJ/s1600/Aptitude.png" height="113" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-upuoH-2AiAcx3pK0oHNUZk2cHS31Eb-N7uGpICM-PjgfxytOfNeWKnNpMQUrTiUsrjclh7Z-G77Dt6z_aPLtrpp3n1X24V1xHVba3rDX1QA7a4LQCQM23XyPfSwp0h6_knSGcsKPy-j1/s1600/Aptitude.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<br />
<div style="text-align: justify;">
Bueno, luego de haber obtenido y analizado los requerimientos, así como también observado algunos conceptos generales, procederemos a instalar los paquetes necesarios.</div>
<br />
<div style="text-align: justify;">
Primero debemos tener nuestro Debian instalado, en mi caso voy a hacerlo con una instalación totalmente fresca (nueva), lo único diferente en esta instalación es que estoy generando una partición especial para /var pues como allí voy a guardar todo lo de mi www (que no es más que el directorio Web de apache).</div>
<br />
<div style="text-align: justify;">
Teniendo ya el GNU/Linux Debian full instalado, procedo a convertirlo en un Web Server LAMP (Linux, Apache, MySQL y PHP); para ello instalo Apache2, PHP5 y phpMyAdmin, haciendo uso del siguiente comando.</div>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<i>aptitude install install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached mysql-server-5.5 phpmyadmin mysql-client</i></blockquote>
</div>
<div style="text-align: justify;">
Si se preguntan la utilidad específica de alguno de estos paquetes, siempre pueden hacer uso de un aptitude show xxx donde xxx sería el nombre del paquete, por ejemplo, aptitude show libexpat1 me dará la información específica de ese paquete, el cual "...contiene la biblioteca compartida ejecutable de expat, la biblioteca de manejo de XML de C. Expat es un manipulador orientado a flujos, en él la aplicación registra manejadores para cosas que el manipulador puede encontrar en el documento XML (como etiquetas de inicio)."</div>
<br />
<div style="text-align: justify;">
Sin embargo, a continuación mencionaré los paquetes que pueden parecer extraños</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<b>mcrypt</b> es un programa de cifrado, destinado a reemplazar al antiguo crypt(1) de UNIX. Aunque puede hacer mucho más, ya que con su biblioteca libmcrypt puede cifrar y descifrar los siguientes algoritmos: BLOWFISH, TWOFISH, DES, TripleDES, 3-WAY, SAFER-sk64, SAFER-sk128, SAFER+, OKI97, GOST, RC2, RC6, MARS, IDEA, RIJNDAEL-128, RIJNDAEL-192, SERPENT, RIJNDAEL-256, CAST-128 (conocido como CAST5), CAST-256, ARCFOUR, ENIGMA, PANAMA, XTEA y WAKE.</div>
</blockquote>
<blockquote class="tr_bq">
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
El uso que le daremos es simplemente de seguridad (simplemente jajajaja), puesto que en el futuro cifraremos la información que pasa del servidor de correo a los clientes.</div>
<br />
<div style="text-align: justify;">
<b>imagemagick</b> es un conjunto de programas para crear, editar y componer imágenes de mapas de bits. Puede leer, convertir y escribir en diversos formatos (sobre 100) incluyendo DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG y TIFF. Use ImageMagick para trasladar, voltear, reflejar, rotar, escalar, recortar y transformar imágenes, ajustar los colores, aplicar varios efectos especiales, o dibujar texto, lineas, polígonos, elipses y curvas de Bezier. Lo usarán algunos códigos de nuestro servidor de correo.</div>
<br />
<div style="text-align: justify;">
<b>memcached</b> Sistema de caché de objetos en memoria de alto rendimiento.</div>
</blockquote>
<blockquote class="tr_bq">
<div style="text-align: justify;">
Memcached optimiza específicamente aplicaciones de alta carga de servicio que están diseñadas para tomar ventaja de este sistema de acceso a memoria versátil y no bloqueante.</div>
<br />
<div style="text-align: justify;">
<b>ssl-cert</b> Es una envoltura sencilla para la utilidad de solicitud de certificados de OpenSSL a la que hay que entregar las variables de usuario correctas.</div>
</blockquote>
Además de los paquetes para el servidor, siempre es recomendable tener la hora del equipo sincronizada, por lo tanto recomiendo la instalación de los paquetes de NTP (Network Time Protocol)necesarios haciendo uso del siguiente comando<br />
<blockquote class="tr_bq">
<i>aptitude install ntp ntpdate</i></blockquote>
Para mayor información sobre NTP siempre tenemos Wikipedia <a href="http://es.wikipedia.org/wiki/NTP">http://es.wikipedia.org/wiki/NTP</a>, Agosto 2014.<br />
<br />
<div style="text-align: justify;">
Y ya saben, cualquier duda sobre la utilidad de un paquete, pueden usar aptitude show paquete.<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-77617906155291238722014-08-14T13:41:00.003-04:302016-03-08T06:05:39.776-04:30Servidor Web, Correo y DNS -- Parte I (Requerimientos)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIEzcNvpAn4LWw0p5CCyFAHU3k_mPbVrIs4DscKGHR6G61yAhpDvbZGGhIbcp9lmbyI00niiPtdInRZRg0mgtbq1bnQ7fPC2kWp7PG9LUg9wPBYv8zkIWpreK1CXSnKhYoEMKjrmSIel8E/s1600/Compilado.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIEzcNvpAn4LWw0p5CCyFAHU3k_mPbVrIs4DscKGHR6G61yAhpDvbZGGhIbcp9lmbyI00niiPtdInRZRg0mgtbq1bnQ7fPC2kWp7PG9LUg9wPBYv8zkIWpreK1CXSnKhYoEMKjrmSIel8E/s1600/Compilado.png" height="200" width="320" /></a></div>
<br />
<div style="text-align: justify;">
Primero debemos saber exactamente qué deseamos hacer y con qué recursos contamos para hacerlo.</div>
<br />
<div style="text-align: justify;">
Necesitamos crear un servidor de correo interno para una institución, el computador que prestará el servicio debe almacenar todos los correos electrónicos, teniendo entonces una límite de espacio por cada correo.</div>
<br />
<div style="text-align: justify;">
Tenemos un equipo con una IP Pública fija, que es en el cual deseamos instalar el servidor de correo, actualmente ese equipo puede estar prestando otros servicios, lo importante es que podamos instalar los paquetes que deseamos; adicionalmente tenemos un DNS configurado que nos redirige a ese equipo, o sea, tenemos un dominio dirigiendo a la IP pública que tiene ese equipo; por ahora digamos que la dirección de nuestro dominio es <i>propio.com</i>.</div>
<br />
<div style="text-align: justify;">
Conociendo entonces los requerimientos, es necesario que procedamos a entender un poco de lo que vamos a instalar.</div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<b>ISPConfig 3</b>: Es una aplicación de software libre que permite manejar servidores directamente desde el navegador, creando cuentas de usuario, limitándolas, editándolas y borrándolas de nuevo; en nuestro caso específico, lo usaremos para manejar nuestro servidor de correo, pero vale acotar que este software también posee muchas otras cualidades. Puedes ir a la página oficial para mayor información al respecto. <a href="http://www.ispconfig.org/page/home.html">"http://www.ispconfig.org/page/home.html</a>" Agosto 2014.</div>
</blockquote>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<b>Apache</b>: Es una aplicación de software libre que permite convertir un equipo en un servidor HTTP (o servidor Web) para sistemas operativos como GNU/Linux y Windows. El objetivo del proyecto "Apache HTTP server" es proveer un servidor seguro, eficiente y extensible que proporcione servicios HTTP en sincronía con los estándares HTTP actuales.</div>
"<a href="http://httpd.apache.org/">http://httpd.apache.org/</a>" Agosto 2014.</blockquote>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<b>BIND</b>: (Berkeley Internet Name Domain) es un servvidor DNS, actualmente el más usado en Internet, especialmente en sistemas Unix; provee una plataforma estable y robusta sobre la cual las organizaciones pueden distribuir sistemas de cómputo sabiendo que dichos sistemas cumpliran con los estándares de DNS.</div>
Para mayor información al respecto puedes ir a la página oficial del proyecto:<br />
"<a href="http://www.isc.org/downloads/bind/">http://www.isc.org/downloads/bind/</a>" Agosto 2014.</blockquote>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<b>Dovecot</b>: es un servidor de correo POP3 e IMAP para sistemas GNU/Linux y Unix, desarrollado pensando primero en la seguridad. Dovecot es una excelente opción puesto que es rápido, fácil de configurar y no requiere administración especial, además de hacer uso de pocos recursos del sistema.</div>
"<a href="http://www.dovecot.org/">http://www.dovecot.org/</a>" Agosto 2014.</blockquote>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<b>Squirrelmail</b>: es un paquete de servidor de correo escrito en PHP, soporta protocolos IMAP y SMTP y todas sus páginas son hechas en HTML 4.0 puro (no requiere JavaScript)."<a href="http://squirrelmail.org/">http://squirrelmail.org/</a>" Agosto 2014.
</blockquote>
<blockquote class="tr_bq">
<span style="color: #666666;">En pocas palabras, Dovecot se comunica con los protocolos mientras que squirrelmail me proporciona una GUI (Graphic User Interface) para manejar el correo, es por eso que este paquete es tan denominado webmail.</span></blockquote>
</div>
<div style="text-align: justify;">
La idea es preparar nuestro flamante Debian para que sea un gran servidor y a la vez, levantar nuestro pecho con orgullo al mostrar que tenemos un correo configurado por nosotros solos jejejeje (mi sobrino diría "lo hice yo solito jajajaja).<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com1tag:blogger.com,1999:blog-2020890173275636291.post-6571096793094937482014-06-09T20:58:00.001-04:302014-06-09T20:58:02.611-04:30Predespacho jajajajajaEl título es un poco jocoso pues en realidad el artículo es sólo para indicarles que en unos días estaré subiendo la primera parte del manual para montar servidores Web en GNU/Linux Debian Wheezy.<br />
<br />
No es el predespacho a una rumba, pero les puedo decir que cuando lo monté full, me sentí como si hubiera llevado a cabo la mejor y más exitosa rumba del año jejejeje.<br />
<br />
Bueno, un abrazo my fellow citizens, see you later, may the force be with you!Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com1tag:blogger.com,1999:blog-2020890173275636291.post-62864034086793686342014-03-29T22:01:00.000-04:302016-03-08T06:06:01.280-04:30Problema descomprimir RAR en Wheezy<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhctdPUleIAkYzoZeeaD2_K9YUPDvT2a_UN8euOoxaFdHxUsC-6rHbBAAtW2aVud4ZeRPtGvInbzb-TLWLiNuKYxVwzeZYAh9C0TTm6XpW4s6h9-zqJoioEuIVocthN9yoA7zKKwvAOliCD/s1600/DebianRar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhctdPUleIAkYzoZeeaD2_K9YUPDvT2a_UN8euOoxaFdHxUsC-6rHbBAAtW2aVud4ZeRPtGvInbzb-TLWLiNuKYxVwzeZYAh9C0TTm6XpW4s6h9-zqJoioEuIVocthN9yoA7zKKwvAOliCD/s1600/DebianRar.png" height="231" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRU_aUo7A2yd6zmnMdIg8ezkZoZNQ17lIu2_qRKOY7i2poFLhuEtW62NBAgM-ks5BhE2WFaL0TjtPoaFM12fjbeHcYcfYCFG46JJkgb66DY7raqxY9Eioa9c1zaNOQKogy_D9OW2CnOy88/s1600/DebianRar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div style="text-align: justify;">
Desde hace un tiempo (mucho tiempo en realidad, pero estaba de holgazán y no me había dedicado a solventarlo), he estado teniendo un problema con mi sistema GNU/Linux para descomprimir archivos que vengan en RAR. Si, lo se, es preferible utilizar archivos que vengan en versiones libres, pero muchachos(as), seamos objetivos, no le podemos pedir a todo el mundo que use los formatos libres, por ejemplo, <a href="http://subdivx.com/">subdivx.com</a> no va a dejar de subir un subtítulo sólo porque quien lo hizo lo puso en rar.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ahora bien, vale acotar que siempre he tenido instalado en mi computador el paquete rar y unrar-free, normalmente con estos dos paquetes puedo comprimir y descomprimir archivos en este formato, pero por alguna extraña razón, desde hace un tiempo para acá, esa opción ya no ha funcionado más; los detalles del problema son los siguientes: </div>
<blockquote class="tr_bq">
<ul>
<li>El archivo rar se podía abrir sin inconvenientes;</li>
<li style="text-align: justify;">Cuando intentaba descomprimir, el proceso se cumplía (aparentemente) sin problemas; sin embargo, cuando iba al directorio, resulta que no aparecía el archivo descomprimido. Vale acotar que esto pasaba con cualquier rar.</li>
</ul>
</blockquote>
<div style="text-align: justify;">
A continuación indicaré cómo lo solucioné.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Para poder hablar de la descompresión de archivos con extensión RAR, es necesario que primero entendamos que un archivo RAR es un fichero comprimido, que puede contener muchos otros ficheros y directorios, es como decir, un paquete de archivos, que además, ocupan menos espacio estando empaquetados.</div>
<div style="text-align: justify;">
<br />
Nuestra muy apreciada Wikipedia [<a href="http://es.wikipedia.org/wiki/RAR">http://es.wikipedia.org/wiki/RAR</a> (marzo, 2014)] nos indica que:</div>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<span style="color: #666666;">es un formato de archivo propietario, con un algoritmo de compresión sin pérdida utilizado para la compresión de datos y archivación, desarrollado por el ingeniero de software ruso, Eugene Roshal.</span>
<br />
<span style="color: #666666;">RAR utiliza un algoritmo de compresión basado en el LZSS que, a su vez, se basaba en el LZ77, de James Storer y Thomas Szymanski (1982). El tamaño del diccionario puede variar entre 64k y 4 Mb.</span></blockquote>
Nótese bien que el formatos es PROPIETARIO, o lo que es lo mismo, no posee licencia libre, como nuestro adorado GNU/Linux.<br />
<br />
Ahora bien, me puse a leer un poco y me encuentro con que en el equipo tengo instalado un programa llamado p7zip. Hize uso de este comando para averiguarlo.<br />
<blockquote class="tr_bq">
<i>sudo aptitude search p7zip</i></blockquote>
Esto me permite conocer que nombre del paquete es "p7zip-full". Ya en el pasado había visto y usado ese programa en Ms Windows y vale acotar que me pareció espectacular, ahora vengo y busco detalles del paquete haciendo uso del comando<br />
<blockquote class="tr_bq">
<i>sudo aptitude show p7zip-full</i></blockquote>
Lo cual en pocas palabras me indica que 7zip es un compresor de archivos de gran poder que además viene hecho para interactuar con fille-roller, el descompresor de archivos por defecto de Debian.<br />
<br />
Lo interesante y que nos simplifica las cosas está en la "Lista de Formatos Soportados" en la cual nos indica que, solamente para descompresión, se soportan los siguientes:<br />
<blockquote class="tr_bq">
<span style="color: #666666;">APM, ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, <b>RAR (only if non-free p7zip-rar package is installed)</b>, RPM, SquashFS, UDF, VHD, WIM, XAR and Z. </span></blockquote>
Esto me hizo empezar a buscar el paquetico, primero intenté de la manera mas sencilla.<br />
<blockquote class="tr_bq">
<i>sudo aptitude search p7zip-rar </i></blockquote>
Pero por alguna extraña razón, el paquete no estaba, ya que sé que el paquete no es libre, debe estar en la rama non-free de los repositorios, pero como no quiero meterme en ellos, busco el paquete directamente en la web y lo descargo de la página oficial de paquetes de Debian (cómo me gusta usar software libre). <br />
<a href="https://packages.debian.org/wheezy/i386/p7zip-rar/download">https://packages.debian.org/wheezy/i386/p7zip-rar/download</a> (marzo, 2014)<br />
<br />
Lo descargo para mi tipo de arquitectura, i386.<br />
<br />
Y luego, procedo a instalarlo, haciendo uso de otro comandito<br />
<blockquote class="tr_bq">
<i>sudo dpkg -i /home/raite/Descargas/p7zip-rar_9.20.1~ds.1-3_i386.deb</i></blockquote>
Si estás siguiendo los pasos, es seguro que tu ruta debe ser distinta, no creo que tu usuario tenga el mismo nombre que el mío.<br />
La cosa es, con este comando el sistema instala el paquete y... listo, eso nos permite abrir y descomprimir archivos .RAR en nuestro sistema GNU/Linux Wheezy.<br />
<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span></div>
</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-90767708935282974482014-03-29T14:15:00.001-04:302016-03-08T06:05:52.569-04:30FTP desde Cónsola<div style="text-align: justify;">
Si queremos transferir archivos por FTP desde la cónsola de GNU/Linux tendremos que hacer uso de unos pocos comandos (en serio, son muy pocos comandos jeje). Sin embargo, comenzaré por una definición básica de FTP para los newbies.</div>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<b>FTP:</b> File Transfer Protocol o en nuestro adorado español, Protocolo de Transferencia de Archivos tal como indica <a href="http://es.wikipedia.org/wiki/Ftp">http://es.wikipedia.org/wiki/Ftp</a> (marzo 2014)</blockquote>
<blockquote class="tr_bq">
<span style="color: #666666;">"...es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo."</span></blockquote>
</div>
<div style="text-align: justify;">
En resumen, tienes un equipo con el servicio de FTP activo, te conectas desde otro equipo para poder subir y bajar archivos, en realidad es muy simple, de hecho, es tan simple que es extremadamente potente.<br />
<br />
Ahora bien, supongamos que en el momento en el cual necesitas subir archivos por a tu FTP, tu conexión simplemente "apesta", o bueno, quizá estés conectándote desde el celular y no quieres "chuparte" todas tus megas de un solo trancazo, y bien sabemos que conectarnos por entorno gráfico siempre usa un poco más de datos de los realmente necesarios, así que buscamos una manera de conectarnos rápido, y consumir la menor cantidad de datos posibles, pues, "te lo tengo" jajajaja (broma solo para venezolanos); conéctate por cónsola.<br />
<br />
Aja, pero ¿Cómo me conecto por cónsola, it's that even possible?<br />
<br />
Oh my friend, there is no power as the one that hide's behind the black console!<br />
¡Oh amigo mio, no hay poder como el que se esconde detrás de esa cónsola negra!<br />
<br />
Primero, abre la cónsola :D<br />
<br />
Ahora, lo que tienes que hacer es asegurarte de que el paquete FTP esté instalado en tu sistema, en mi caso, yo soy usuario de Debian, por lo tanto, el comando que utilizo es el siguiente:</div>
<blockquote class="tr_bq">
<i>sudo aptitude search ftp</i></blockquote>
<div style="text-align: justify;">
Y en la respuesta que me da el servidor puedo ver que hay una "i" antes del paquete denominado así.</div>
<div style="text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjQSh5DbevJMlolUJtLTLwd1-HiiJjB0UdhHJWmldS2_JaawEmyXThau-TUGfDj-Ho06WoRNk121WH_6JHrg25sQFsVnQTWOQ-zCKRLbc45SREhAr7Fs5lG6Qw6YFRJlBJOIre-GI3L4NZ/s1600/Screenshot+from+2014-03-29+13:26:33.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjQSh5DbevJMlolUJtLTLwd1-HiiJjB0UdhHJWmldS2_JaawEmyXThau-TUGfDj-Ho06WoRNk121WH_6JHrg25sQFsVnQTWOQ-zCKRLbc45SREhAr7Fs5lG6Qw6YFRJlBJOIre-GI3L4NZ/s1600/Screenshot+from+2014-03-29+13:26:33.png" height="209" width="320" /></a><br />
<br />
<br />
<br />
<br />
A continuación una pequeña imagen de lo que indico, nótese que les coloqué el cursor cerca del paquete ftp para facilitar el trabajo.<br />
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Si deseamos conocer más detalles del paquete, bien podemos hacer uso del comando </div>
<blockquote class="tr_bq">
<i>aptitude show ftp</i></blockquote>
<div style="text-align: justify;">
En caso de que en vez de una i tengas una p antes del nombre del paquete, debes proceder a instalarlo haciendo uso del comando</div>
<blockquote class="tr_bq">
<i>sudo aptitude install ftp</i></blockquote>
<div style="text-align: justify;">
Una vez el paquete está instalado en nuestro GNU/Linux, procederemos a usarlo<br />
<br />
Para acceder debemos escribir el comando</div>
<blockquote class="tr_bq">
<i>ftp LaDirecciónDeTuFTP</i></blockquote>
<div style="text-align: justify;">
El sistema nos pedirá que indiquemos nuestro nombre de usuario.<br />
Y luego nos solicitará la contraseña.<br />
<br />
Luego de esto, estaremos conectados a nuestro ftp, la mejor forma de notarlo es observando que el prompt de nuestra cónsola es como sigue</div>
<blockquote class="tr_bq">
<i>ftp></i></blockquote>
<div style="text-align: justify;">
Podemos hacer movernos por los directorios, listar los mismos, eliminar archivos, cambiar permisos, cambiar dueños, tal y como lo haríamos en nuestro equipo.<br />
<br />
Si queremos subir archivos debemos hacer uso del comando put de la siguiente manera</div>
<blockquote class="tr_bq">
<i>ftp> put RutaArchivo/NombreArchivo.Extensión</i></blockquote>
<div style="text-align: justify;">
Y si lo que deseamos es descargar un archivo, hacemos uso de</div>
<blockquote class="tr_bq">
<i>ftp> get ArchivoDescargar.extensión</i></blockquote>
<div style="text-align: justify;">
Una vez hayamos terminado de subir y/o bajar nuestros archivos, haremos uso del siguiente comando para cerrar nuestra sesión.</div>
<blockquote class="tr_bq">
<i>ftp> quit</i></blockquote>
<div style="text-align: justify;">
Aquí les dejo el vínculo a una página que también contiene toda esta información y un poco más.</div>
<div style="text-align: justify;">
<br />
<a href="http://recursostic.educacion.es/usuarios/web/ayudas/28-ftp-en-linea-de-comandos-">http://recursostic.educacion.es/usuarios/web/ayudas/28-ftp-en-linea-de-comandos-</a> (marzo 2014).<br />
<br />
<div style="text-align: right;">
Copyleft 2014 - <span style="font-family: "Courier New",Courier,monospace;">RAITE</span> </div>
</div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com2tag:blogger.com,1999:blog-2020890173275636291.post-82917089979077781542014-03-28T12:43:00.003-04:302016-03-08T06:06:16.468-04:30Requerimientos de Hardware para Servidor de Moodle Act. 2014<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX-PcgPdqDOyk6PP8zFRjMvcCyc6Bs0CiWubbNwIGYAv4CBbHaXAcpBQ0-hhYL82D_UToOIHXarlb2xphZYP9_Vkn-aN2kaLnRkIj-esyWyl1y-rOMiGkYKB4j3qBS45ARhqZez4hPUpTP/s1600/Moodle.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX-PcgPdqDOyk6PP8zFRjMvcCyc6Bs0CiWubbNwIGYAv4CBbHaXAcpBQ0-hhYL82D_UToOIHXarlb2xphZYP9_Vkn-aN2kaLnRkIj-esyWyl1y-rOMiGkYKB4j3qBS45ARhqZez4hPUpTP/s1600/Moodle.png" height="182" width="320" /></a></div>
<br />
<div style="text-align: justify;">
He estado verificando los requerimientos actuales para la instalación de Moodle en un servidor, me interesaba conocer detalles de lo que necesito tener en el equipo para que mi moodle funcione sin inconvenientes.
Es importante tener claro un par de deficiones básicas.</div>
<br />
<b>Usuario concurrente:</b>
<br />
<div style="text-align: justify;">
<blockquote>
Máximo de usuarios que estarán usando moodle al mismo tiempo (para actividades evaluaciones).</blockquote>
</div>
<b>Usuario de Navegación:</b>
<br />
<div style="text-align: justify;">
<blockquote>
Número máximo de usuarios que pueden navegar en tu Moodle, es el número de computadoras en tu organización o en tu curso, por decirlo de alguna manera. Claro está, algunas veces no es tan fácil obtener este número ya que veces no se tiene planificado el alcance de la plataforma a instalar; en estos casos, habla con los que están solicitando el LMS (Learning Managment System - Eso es Moodle) para intentar definir un aproximado.</blockquote>
</div>
<div style="text-align: justify;">
Sabiendo esto, la fórmula más o menos inicial, sería:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Aprox máximo de usuarios concurrentes= RAM (GB) * 50.</div>
<div style="text-align: justify;">
Aprox máximo de usuarios de navegación= concurrentes *5.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
O lo que es lo mismo, necesitaremos 1GB RAM por cada 50 usuarios concurrentes.</div>
<div style="text-align: justify;">
Y al multiplicar el número de usuarios concurrentes por 5, obtendremos el número de usuarios de navegación.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ok, digamos que tengo ya el equipo, sin embargo lo quiero mejorar, en ese caso, bien podríamos citar a <a href="http://docs.moodle.org/20/en/Performance_recommendations#Hardware_configuration">http://docs.moodle.org/20/en/Performance_recommendations#Hardware_configuration</a> (marzo, 2014)</div>
<br />
<div style="text-align: justify;">
<blockquote class="tr_bq">
<span style="color: #666666;">Incrementar la RAM del servidor te presentará beneficios inmediatos, ya que esto permitirá reducir la necesidad del proceso de swaping al disco, y permitirá también que el mismo maneje un mayor número de usuarios.</span><br />
<span style="color: #666666;">Hay mayor rendimiento al obtener mayor capacidad de procesamiento, así como también procesamiento multi hilo.</span><br />
<span style="color: #666666;">De ser posible, usa disco duros SCSI en lugar de SATA; ya que los disco duros SATA incrementarán el uso del CPU, a diferencia de los SCSI que tienen su propio procesador integrado.</span><br />
<span style="color: #666666;">A medida de lo posible, intenta que tus disco duros posean tiempo de búsqueda bajos "low seek time". Pues esto mejorará la velocidad de tu sistema.</span><br />
<span style="color: #666666;">Haz que tu partición swap posea 4 veces el tamaño de tu RAM.</span><br />
<span style="color: #666666;">Haz uso de Gigabit Ethernet (si puedes), para mejorar la latencia. Esto es bastante relevante si tienes tu servidor de Base de Datos separado del servidor Web.</span> </blockquote>
<blockquote class="tr_bq">
<span style="color: #666666;">También se posee un caso de estudio, (inglés) el cual muestra cierta información de estadísticas de uso del hardware en un ambiente de 300 usuarios <a href="https://moodle.org/mod/forum/discuss.php?d=68579">https://moodle.org/mod/forum/discuss.php?d=68579</a> (marzo, 2014).
</span></blockquote>
</div>
<div style="text-align: justify;">
Y por último, en <a href="http://www.factorsim.info/2012/04/16/necesito-un-moodle-que-tendra-x-usuarios-concurrentes-de-media-que-servidor-ponemos-aguantara/">http://www.factorsim.info/2012/04/16/necesito-un-moodle-que-tendra-x-usuarios-concurrentes-de-media-que-servidor-ponemos-aguantara/</a> (marzo, 2014) se muestra también un poco de información sobre el cálculo de usuarios concurrentes.</div>
<br />
<div style="text-align: justify;">
<i><b>Off topic</b></i>: Honey, I'm back! - O como lo diría <a clic="" espa="" gina="" haz="" href="http://www.estopa.com/" musical="" oficial="" ol="" p="" para="" rupo="" su="" target="_blank" title="" ver="">Estopa</a> "Vuelvo a las andadas".</div>
<br />
<div style="text-align: right;">
<span style="font-family: "Courier New",Courier,monospace;">RAITE </span>- Copyleft 2014 </div>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-52553580659263676842011-05-03T13:25:00.000-04:302016-03-08T06:06:38.009-04:30Reemplazar teclas LaptopGracias a Dios que este no es mi caso, sin embargo he visto muchas personas que por algún inconveniente pierden teclas de su laptop. En la siguiente URL consiguen una base de datos con videos que indican los pasos a seguir para reemplazar las teclas de tu laptop.<br /><a href="http://www.laptopkey.com/">http://www.laptopkey.com</a>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com0tag:blogger.com,1999:blog-2020890173275636291.post-15680297806721733562011-04-21T00:43:00.000-04:302016-03-08T06:06:47.436-04:30Touchpad en Debian Squeeze<img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 259px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhMs4x38PNHOTmPB1O92mq2E3TeVjxST4ZCa70W8U37ewAFPWNkaIVYMcRl4S9IKb2AmHSYiO_NpS05PKngmVX3F64OE4TqIAbGg50o0da0OikYSxr0MJPZPMTDCQ36C913UewuUFJHPGM/s400/touchpad.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5597902108898771874" /><br /><br />Creía que todo funcionaba a las mil maravillas en el portátil, pero me encuentro con que al momento de hacerle tap al touchpad del mismo, el sistema no reacciona como deberia (se supone que al hacer tap, o lo que es lo mismo, presionar por un instante el touchpad, el SO deberia asumir que eso es un clic).<br /><br />Bueno, esto me agrada, toca aprender. Se que a eso le llaman "synaptic" así que necesitaré instalar el driver o controlador para synaptic.<br /><br />Hay dos formas de hacerlo, una es creando el archivo xorg.conf (recordemos que ahora gracias a la nueva forma de Debian Squeeze para manejar el video, ya este bendito archivo no existe); la otra opción es hacer un script que active las opciones que necesitamos.<br /><br />A decir verdad, pienso que si quitaron el archivo xorg.conf es por algo así que opté por hacer el script, que de hecho es bastante corto. A continuación lo mostraré y luego se hará la explicación línea a línea.<br /><br />Abrí mi editor de texto favorito, GEDIT y escribí lo siguiente<br /><br /><blockquote><blockquote>#!/bin/bash<br />#Script para habilitar el driver synaptic del mouse<br />synclient TapButton1=1<br />synclient HorizEdgeScroll=1</blockquote></blockquote><br /><br />Explicación<br /><br /><span style="font-style:italic;">#!/bin/bash</span><br />La primera línea se utiliza para permitir al sistema que identifique nuestro archivo como un código que debe ejecutarse como si estuvieramos escribiendo cada línea en nuestra cónsola de comandos.<br /><br /><span style="font-style:italic;">#Script para habilitar el driver synaptic del mouse</span><br />Esta línea no es más que un comentario que me permite conocer lo que hace el archivo (así lo entenderé dentro de un año cuando vuelva a leer este código. Toda línea que comience con un símbolo "#" es considerado un comentario.<br /><br />Ok, ahora utilizaremos comando denomindado "synclient", por lo tanto es adecuado que sepamos que <blockquote>"Este programa te permite cambiar parámetros del controlador para el touchpad de synaptic del servidor XOrg/XFree86 mientras la interfáz gráfica está corriendo.<br /><br />Alerta: Esto no es seguro si estás utilizando una plataforma multiusuario. Todos los usuarios locales pueden cambiar los parámetros en cualquier momento"<br /><a href="http://linux.die.net/man/1/synclient">http://linux.die.net/man/1/synclient (Fuente en inglés. 20-4-2011)</a></blockquote><br /><br />Ya que sabemos que es el synclient, es hora de utilizarlo.<br /><br /><span style="font-style:italic;">synclient TapButton1=1</span><br />Esta línea habilita la funcionalidad de clic al hacer tap en el touchpad<br /><br /><span style="font-style:italic;">synclient HorizEdgeScroll=1</span><br />Necesitamos que si movemos el dedo en sentido horizontal, tocando nuestro touchpad, esto active el scroll en ese sentido. Para eso es esta línea.<br /><br />Señores, esto es sólo un breve resumen de lo que puede hacer el synclient, para mas información se pueden ir a la URL citada anteriormente y leer un poco más al respecto.<br /><br />Ok, hecho el archivo, lo guardo en mi home con un nombre, no olviden colocar la extensión necesaria, o sea "sh". En mi caso particular llamare al archivo "<span style="font-weight:bold;">synclient.sh</span>", sin las comillas. Ahora sólo falta cambiarle la permisología al archivo, para esto pueden usar el comando "<span style="font-style:italic;">chmod 777 /home/raite/synclient.sh</span>" desde una cónsola o también pueden seleccionar su archivo, hacer clic sobre él con el botón derecho del mouse y luego, en la pestaña denominada "<span style="font-style:italic;">Permisos</span>" activar la opción que indica "<span style="font-style:italic;">Permitir ejecutar el archivo como un programa</span>".<br /><br />Listo, ejecuten su archivo haciendo doble clic sobre él, les aparecerá una ventana para que seleccionen la acción a efectuar, indiquen que desean ejecutar en terminal. Listo señores, ya funciona su tap del touchpad.<br /><br />Ahora bien, cuando reinicien el computador, dejará de funcionar, esto se debe a que el script que hicimos sólo cambia los parámetros para la sesión actual, lo que yo hice entonces fue lo siguiente.<br />Clic en el Menú <span style="font-style:italic;">Gnome/Systema/Preferencisa/Aplicaciones al Inicio</span>, ahora clic en <span style="font-style:italic;">Añadir</span>, esto nos despliega una nueva ventana que solicita tres datos.<br /><br /><span style="font-style:italic;">Nombre</span>: synclient<br /><span style="font-style:italic;">Comando</span>: aquí deben indicar la ruta de su script, en mi caso /home/raite/synclient.sh<br /><span style="font-style:italic;">Comentario</span>: Algo que les haga recordar que hace el script, no es obligatorio.<br />Y <span style="font-style:italic;">aceptar</span>, así cuando reinicien su script se ejecutará automáticamente.<br /><br />Webografía:<br /><a href="http://linux.die.net/man/1/synclient">http://linux.die.net/man/1/synclient (Fuente en inglés. 20-4-2011)</a><br /><a href="http://elmundodesenekis.wordpress.com/2010/06/13/habilitando-touchpad-en-debian-squeeze/ ">http://elmundodesenekis.wordpress.com/2010/06/13/habilitando-touchpad-en-debian-squeeze/ (20-4-2011)</a>
<span class='st_facebook_large' displayText='Facebook'></span>
<span class='st_twitter_large' displayText='Tweet'></span>
<span class='st_googleplus_large' displayText='Google +'></span>
<span class='st_linkedin_large' displayText='LinkedIn'></span>
<span class='st_email_large' displayText='Email'></span>
<span class='st_whatsapp_large' displayText='WhatsApp'></span>Anonymoushttp://www.blogger.com/profile/00634473557099636609noreply@blogger.com1