#Linux: Comando Tail

Tail es uno de esos comandos básicos que todo desarrollador debe conocer, ya que, sirve para mirar y hacer seguimiento de logs, y todo buen desarrollador debe: saber leer logs y saber depurar.

Las dos principales opciones de Tail son -n # donde # es un número que representa la cantidad de líneas del final que nos mostrará el comando y -f para que se actualice en caso de que el archivo se modifique, a continuación un comando para ver las últimas 40 líneas de un archivo y que se actualice en tiempo real.

tail -n 40 /var/log/nozak.log

Instalar Servidor Debian/Raspbian/Ubuntu

A continuación resumo en pocos comandos los pasos de instalación de un servidor Debian/Ubuntu/Raspbian. Compilando artículos publicados en este blog bajo la etiqueta #Server6001. Agregando cosas inéditas, para tener en un sólo post todos los pasos que suelo aplicar en un primer momento para la instalación de un servidor Linux basado en Debian.

sudo su

apt-get update && apt-get upgrade

apt-get install openssh-server apache2 apache2-mod-php7.0 php7.0 php7.0-mysql mysql-client mysql-server php-curl tomcat8 vsftpd phpmyadmin php-intl php-soap php-xmlrpc

sudo ln -s /usr/share/phpmyadmin /var/www/

Instalar Cliente no NO-IP

Configurar Servidor FTP

Instalar MariaDB

Explicación de lo que estamos instalando:

openssh-server: Servidor SSH.

apache2: Servidor HTTP.

php7.0: Servidor PHP.

mysql-client: Necesario para administrar MySQL desde la cónsola.

mysql-server: Servidor MySQL.

tomcat8: Servidor Java.

vsftpd: Servidor FTP.

php-curl: Esta extensión es uno de los requisitos obligatorios para instalar sistemas algunos sistemas como Moodle.

Más info en:

🙂

Como encontrar un comando en el historial Linux

tuxterminal_iconPara encontrar un comando que hemos utilizado previamente sin tener que usar la flecha hacia arriba:

history | grep PALABRA

Donde PALABRA es alguna expresión contenida en el comando.

Activar Mod Rewrite de Apache en Debian

Mod rewrite o Rewrite engine, es un módulo de Apache para la reestructuración de URL, de tal modo que es un módulo imprescindible cuando se utilizan sistemas que tienen URL amigables, como WordPress o CakePHP.

Para activarlo en sistemas Debian like, como Ubuntu y hasta Raspbian. Se usa el siguiente comando:

a2enmod rewrite

Por último reiniciar Apache.

Guia Definitiva no-ip client

En la presente guía se muestra los comandos necesarios para configurar el cliente no-ip para GNU/Linux y que pueda arrancar al inicio.

mkdir $HOME/noip
cd $HOME/noip
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar vzxf noip-duc-linux.tar.gz
cd noip-2.1.9-1
sudo apt-get install build-essential
sudo make
sudo make install

Advertencia… Es posible que al hacer make o make install, el sistema arroje que faltan otras cosas por instalar, lee bien los mensajes de error para instalar lo que el sistema te pida.

# Correr el cliente
sudo /usr/local/bin/noip2

Ahora vamos a crear el script siguiente archivo

sudo nano /etc/init.d/noip

El contenido del archivo es el siquiente

#! /bin/sh
# /etc/init.d/noip

### BEGIN INIT INFO
# Provides: noip
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Simple script to start a program at boot
# Description: A simple script from www.stuffaboutcode.com which will start / stop a program a boot / shutdown.
### END INIT INFO

# Carry out specific functions when asked to by the system
case “$1” in
start)
echo “Starting noip”
# run application you want to start
/usr/local/bin/noip2
;;
stop)
echo “Stopping noip”
# kill application you want to stop
killall noip2
;;
*)
echo “Usage: /etc/init.d/noip {start|stop}”
exit 1
;;
esac
exit 0

Algunos comandos extra:

# Establecer permisos
sudo chmod 755 /etc/init.d/noip

# Arrancar el cliente
sudo /etc/init.d/noip start

# Detener el cliente
sudo /etc/init.d/noip stop

# Registrar el script para el arranque.
sudo update-rc.d noip defaults

# Eliminarlo
sudo update-rc.d -f noip remove

Fuente:
http://www.stuffaboutcode.com/2012/06/raspberry-pi-access-from-internet-using.html
http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html

Configurar dominios en Apache2

Supongamos que tenemos registrado el dominio guzman6001.com.ve y laut.com.ve y queremos tener en nuestro servidor ambas páginas (en carpetas diferentes evidentemente), además que nuestro servidor al recibir la petición sepa exactamente que página debe mostrar. Así, por ejemplo, queremos que:

guzman6001.com.ve apunte a la carpeta dentro del servidor: /home/usuario/sitios/guzman6001
laut.com.ve apunte a la carpeta dentro del servidor: /home/usuario/sitios/laut

NOTA: Para esto es muy importante que nuestro servidor DNS esté apuntando ambas direcciones al servidor. En algunas de las fuentes se indica como hacerlo con un servidor propio como bind, también es factible hacerlo con un servicio en la red como CDMON.

Para configurar Apache vamos a la carpeta /etc/apache2/sites-enabled
abrimos el archivo 000-default y lo guardamos con un nombre que nos sea más útil para saber su contenido, yo recomiendo guardarlo con el nombre del dominio que vamos a configurar por ejemplo guzman6001-domain y hacemos los siguientes cambios:

<VirtualHost guzman6001.com.ve:80>
ServerAdmin webmaster@localhost
ServerAlias guzman6001.com.ve
DocumentRoot /home/usuario/sitios/guzman6001

El resto del archivo lo puedes dejar igual o configurarlo a tu gusto

Puedes configurar tantos subdominios como quieras duplicando el bloque VirtualHost y haciendo las mismas modificaciones.

<VirtualHost mail.guzman6001.com.ve:80>
ServerAdmin webmaster@localhost
ServerAlias mail.guzman6001.com.ve
DocumentRoot /home/usuario/sitios/guzman6001mail

Aunque puedes crear tantas direcciones de dominios y subdominios como quieras, siguiendo el mismo formato, es recomendable hacerlo en archivos distintos para mantener un orden, hay ocasiones en que se debe regresar a estos archivos para realizar algún cambio.

Reiniciar apache y listo.

Fuente: http://guzman6001.blogspot.com/2010/02/crear-subdominios-en-apache2.html

Instalar servidor LAMP (Ubuntu 14.04) #Server6001

A continuación el comando para instalar y comenzar a configurar un servidor LAMP: Linux (Ubuntu 14.04), Apache2, MySQL y PHP.

sudo apt-get install lamp-server^

El símbolo ^ al final del comando no es un error.

Ejecutar un echo como root

El presente comando sirve para ejecutar algo que de manera predeterminada no acepta “sudo” por ejemplo, un “echo”. En particular, el ejemplo a continuación, agrega ‘un texto’ al final del archivo ‘un-archivo’.

sudo sh -c "echo 'un texto' >> /ruta/a/un-archivo"