Conoce sobre tecnología de la información, soluciones Linux, configuración de servicios GNU/Linux, hacking ético y seguridad informática.
miércoles, 20 de enero de 2016
Crear Virtual Host en Nginx
Vamos a crear el archivo de host virtual para domain1:
Entra como root en un terminal y coloca la siguiente linea
# nano /etc/nginx/sites-available/domain1.com
Recuerde que debe ajustar la ruta de acuerdo a su instalación. Así que la instalación de la fuente requeriría:
# sudo nano /usr/local/nginx/sites-available/domain1.com
Los contenidos se ven así:
server {
listen 80;
server_name www.domain1.com;
rewrite ^/(.*) http://domain1.com/$1 permanent;
}
server {
listen 80;
server_name domain1.com;
access_log /home/demo/public_html/domain1.com/log/access.log;
error_log /home/demo/public_html/domain1.com/log/error.log;
location / {
root /home/demo/public_html/domain1.com/public/;
index index.html;
}
}
Nota: Este ejemplo host virtual es bastante básico. Sin embargo, el siguiente artículo sobre hosts virtuales Nginx incluirá detalles de muchas más opciones de configuración que están disponibles.
El primer módulo de servidor en el archivo es una regla de reescritura simple que vuelve a dirigir a los visitantes a domain1.com de www.domain1.com.
Puede, por supuesto, tener presente a la inversa, si lo prefiere.
El segundo módulo de servidor tiene información muy básica incluyendo el 'server' que es el nombre de dominio que desea servir.
A continuación se definen las ubicaciones de registro para facilitar el análisis y, finalmente, establece la raíz del servidor y el archivo de índice.
Como se ha dicho, se trata de una configuración muy básica en esta etapa.
sites-enabled
El último paso de configuración es 'permitir' nuestro sitio.
Esto se hace con un enlace simbólico en el directorio 'sites-enabled' de la siguiente manera:
ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/domain1.com
Una vez más, dependiendo de cómo se instaló Nginx, es posible que tenga que ajustar los caminos:
ln -s /usr/local/nginx/sites-available/domain1.com /usr/local/nginx/sites-enabled/domain1.com
Reiniciar Nginx
Aunque hay una opción de reinicio para el guión de inicio Nginx, no siempre funciona como se espera y no puede facilitar los cambios que ha realizado.
Como tal, le recomiendo un enfoque de parada y arranque en lugar de un simple reinicio:
sudo /etc/init.d/nginx stop ...
sudo /etc/init.d/nginx start
jueves, 14 de enero de 2016
Errores y Soluciones en XEN
Error 1:
Error generado al crear una mv llamada constructor:
Creating swap on /dev/vg0/constructor-swap
Done
Creating ext4 filesystem on /dev/vg0/constructor-disk
Done
Installation method: debootstrap
Running command 'xt-install-image --hostname=constructor --location=/tmp/6vnnMmd7_H --dist= --install-method=debootstrap --mirror= --cache=yes --cachedir=/var/cache/apt/archives/ --arch=amd64 2>&1' failed with exit code 256.
Aborting
See /var/log/xen-tools/constructor.log for details
/tmp/6vnnMmd7_H/etc/ssh/ssh_host_rsa_key.pub: No such file or directory
Running command 'umount /tmp/6vnnMmd7_H/proc 2>&1' failed with exit code 8192.
Aborting
See /var/log/xen-tools/constructor.log for details
Solución 1:
Error generado al crear una mv llamada constructor:
Creating swap on /dev/vg0/constructor-swap
Done
Creating ext4 filesystem on /dev/vg0/constructor-disk
Done
Installation method: debootstrap
Running command 'xt-install-image --hostname=constructor --location=/tmp/6vnnMmd7_H --dist= --install-method=debootstrap --mirror= --cache=yes --cachedir=/var/cache/apt/archives/ --arch=amd64 2>&1' failed with exit code 256.
Aborting
See /var/log/xen-tools/constructor.log for details
/tmp/6vnnMmd7_H/etc/ssh/ssh_host_rsa_key.pub: No such file or directory
Running command 'umount /tmp/6vnnMmd7_H/proc 2>&1' failed with exit code 8192.
Aborting
See /var/log/xen-tools/constructor.log for details
Solución 1:
Los repositorios no son los de debian debes ingresar a /etc/apt/sources.list y colocar los repositorios oficiales de debian, una vez colocados los repositorios de debian, se debe actualizar el equipo y por ultimo colocar el comando y crear nuevamente la mv
Error 2:
Error generado al levantar la maquina creada con el siguiente comando /etc/xen/constructor.cfg -c
libxl: error: libxl.c:4106:libxl_set_memory_target: new target 0 for dom0 is below the minimum threshold
failed to free memory for the domain
Solución 2:
La memoria del dom0 se encuentra full ya que hay suficientes maquinas virtuales encendidas y están consumiendo el 100% de la memoria, para poder levantar esta maquina virtual se deben apagar unas de las maquinas virtuales que están encendidas o no estén utilizando
Error 3:
Al iniciar un DOM0 las mv no inician automáticamente
Solución 3: Si desea que una maquina virtual en especifico sea iniciada automáticamente al inicio del sistema cree un enlace simbólico del archivo de configuración de la Dom0 al directorio /etc/xen/auto, por ejemplo, si desea iniciar automáticamente la maquina de nombre LDAP use:
# ln -s /etc/xen/ldap.cfg /etc/xen/auto
Nota:
Si desea arrancar las maquinas virtuales en un orden en especifico, se recomienda que agregue un sufijo númerico al nombre del enlace simbólico en /etc/xen/auto, por ejemplo: 00fwproxy, 01ns1, 02ldap1, etc.
Error 4:
Al iniciar el DOM0 no inicia el iptables, debido a eso las maquinas que se levanten no navegaran.
Solución 4: Al archivo cortafugefo.sh / iptables.sh se le debe colocar el numero 1 en el archivo --> /proc/sys/net/ipv4/ip_forward luego en el archivo /etc/rc.local se debe colocar al final la ruta donde esta el cortafuego.sh / iptables.sh
Error 5:
Problemas de memoria ram ¿Como asignarle mas memoria al DOM0?
Solución 5:
Error 3:
Al iniciar un DOM0 las mv no inician automáticamente
Solución 3: Si desea que una maquina virtual en especifico sea iniciada automáticamente al inicio del sistema cree un enlace simbólico del archivo de configuración de la Dom0 al directorio /etc/xen/auto, por ejemplo, si desea iniciar automáticamente la maquina de nombre LDAP use:
# ln -s /etc/xen/ldap.cfg /etc/xen/auto
Nota:
Si desea arrancar las maquinas virtuales en un orden en especifico, se recomienda que agregue un sufijo númerico al nombre del enlace simbólico en /etc/xen/auto, por ejemplo: 00fwproxy, 01ns1, 02ldap1, etc.
Error 4:
Al iniciar el DOM0 no inicia el iptables, debido a eso las maquinas que se levanten no navegaran.
Solución 4: Al archivo cortafugefo.sh / iptables.sh se le debe colocar el numero 1 en el archivo --> /proc/sys/net/ipv4/ip_forward luego en el archivo /etc/rc.local se debe colocar al final la ruta donde esta el cortafuego.sh / iptables.sh
Error 5:
Problemas de memoria ram ¿Como asignarle mas memoria al DOM0?
Solución 5:
Por omisión en un sistema Xen la mayoría de la
memoria de los host es asignada al dom0 en el incio y el tamaño de la
memoria es dinámicamente modificada (opción "ballooned") de manera
automática con el fin de acomodar nuevos invitados (guest) que pueden
iniciar en un futuro.
Como
sea en un sistema el cual es dedicado a ejecutar invitados Xen es mejor
darle una cantidad estática de RAM y deshabilitar la opción dinámica
(ballooning).
El siguiente ejemplo asigna 1024MB de RAM como reservado al dom0
Para este fin debemos agregar primero la opción dom0_mem en la linea de comando del hipervisor. Esto se hace editando /etc/default/grub y agregando:
# Parámetro para todos los inicios Xen
GRUB_CMDLINE_XEN="dom0_men=1024"
Nota:
Recuerde aplicar el cambio de la configuración de Grub ejecutando update-grub
OPCIONAL:
Entonces edita /etc/xen/xend-config.sxp para configurar el conjunto de herramientas que corresponden para cambiar la siguiente configuración:
(dom0-min-mem 1024)
(enable-dom0-ballooning no)
En este punto ya deberá reiniciar el dom 0 (host) para que tomen efecto los cambios.
Error 6:
Reinicio automáticos del DOM0
Solución 6:
Nota: si Xen se estrella al reiniciar automaticamente, tal vez necesites usar noreboot en las opciones de Xen para prevenirlo de que se reinicie aumoáticamente.
Para esto debe editar el archivo -> /etc/default/grub y agrega la opción "noreboot" en la linea de GRUB_CMDLINE_XEN, por ejemplo:
GRUB_CMDLINE_XEN="noreboot"
Nota:
Recuerde aplicar el cambio de la configuración de Grub ejecutando update-grub
Error 7
root@bailadores:~# xl create /etc/xen/Hosting.cfg -c
Parsing config from /etc/xen/Hosting.cfg
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge online [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
libxl: error: libxl_create.c:1226:domcreate_attach_vtpms: unable to add nic devices
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge offline [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
Solución 7:
Editar el archivo /etc/xen-tools/xen-tools.conf y ubicar la linea bridge y colocarle br0 que es el puente de la red hacia las ip internas
bridge = br0
Error 7
root@bailadores:~# xl create /etc/xen/Hosting.cfg -c
Parsing config from /etc/xen/Hosting.cfg
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge online [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
libxl: error: libxl_create.c:1226:domcreate_attach_vtpms: unable to add nic devices
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge offline [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
Solución 7:
Editar el archivo /etc/xen-tools/xen-tools.conf y ubicar la linea bridge y colocarle br0 que es el puente de la red hacia las ip internas
bridge = br0
Luego editar el archivo /etc/xen/Hosting.cfg ubicar la linea Networking y la vamos a ver así:
# Networking
#
vif = [ 'ip=192.168.5.102 ,mac=00:16:3E:46:3A:A9]
#
Y debemos agregarle , bridge=br0' al final de la linea después de la macadress y quedara de la siguiente manera:
# Networking
#
vif = [ 'ip=192.168.5.102 ,mac=00:16:3E:46:3A:A9, bridge=br0' ]
#
miércoles, 16 de diciembre de 2015
Verificar que versión tienes instalada
Para saber la versión exacta que tengo instalada, en este caso de Debian, hay que colocar uno de estos dos comandos.
1- Para saber solo la versión que tengo hacemos en la consola:
$ cat /etc/issue.net
2- También tenemos un comando que nos va a dar muchos más detalles
$ lsb_release -a
1- Para saber solo la versión que tengo hacemos en la consola:
$ cat /etc/issue.net
2- También tenemos un comando que nos va a dar muchos más detalles
$ lsb_release -a
El comando ls
Quizás uno de los comandos de mayor utilización,
sirve para listar archivos.
Su sintaxis es la siguiente:
ls [opciones] [archivo...]
Si se ejecuta ls sin argumentos,
dará como resultado un listado de todos los archivos
(incluyendo directorios) del directorio donde el usuario
está posicionado. Sus opciones son:
- -a
- Lista todos los archivos, incluyendo aquellos que comienzan con un «.» [4]
- -d
- Lista el nombre del directorio en vez de los archivos contenidos en él.
- -l
- Lista los archivos con mucho más detalle, especificando para cada archivo sus permisos, el número de enlaces rígidos, el nombre del propietario, el grupo al que pertenece, el tamaño en bytes y la fecha de la última modificación.
- -r
- Invierte el orden de listado de los archivos.
- -s
- Muestra el tamaño de cada archivo en bloques de 1024 bytes a la izquierda del nombre.
- -h
- Muestra los tamaños de archivo en términos de kilobytes, megabytes, etc.
- -t
- Lista los archivos ordenados por el tiempo de modificación en vez de ordenarlos alfabéticamente.
- -A
- Lista todos los archivos excepto el «.» y el «..».
- -R
- Lista los contenidos de todos los directorios recursivamente.
- -S
- Ordena el listado por el tamaño de los archivos.
- --color[=cuándo]
-
Especifica si emplear color para distinguir los diferentes tipos
de archivos. El argumento cuándo
puede tener varios valores:
- none
- No usar colores. Esta opción es la predeterminada.
- auto
- Usar colores solamente cuando la salida estándar es una terminal.
- always
- Usar siempre colores. Si ls se usa con la opción --color sin especificar la opción de color, el resultado es el mismo que cuando se usa --color=always.
Ejemplo. Algunos ejemplos utilizando el
comando ls
Supónganse que se tiene un directorio /usr/local/papers donde se alojan los documentos de
un grupo de redactores de una revista, y se quiere saber
cuáles fueron los últimos documentos modificados y su
tamaño para su inclusión en el próximo
número. Para esto se puede ejecutar el comando ls de la siguiente forma:$ ls -lhtr /usr/local/papers
Como se puede observar, se le pasan 4 opciones al comando
ls, de tal manera que muestre un listado
extendido, ordenado por tiempos de modificación de forma
ascendente y que además muestre los tamaños de
archivo en forma más legible. Otra manera de ejecutar el
mismo comando es la siguiente:$ ls -l -h -t -r /usr/local/papers
martes, 17 de noviembre de 2015
Como cambiar la zona horaria en Linux desde una terminal
Cambiar la zona horaria de Linux desde una Terminal o línea de comandos es muy sencillo, bastan con ejecutar el comando "tzselect" y elegir nuestra zona horaria, por ejemplo supongamos que vivimos en Mexico y usamos la hora central, lo hacemos de la siguiente forma.
root@monitoreo:/etc/apache2# tzselect
Retorna un resultado como el siguiente.
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) coord - I want to use geographical coordinates.
12) TZ - I want to specify the time zone using the Posix TZ format.
Seleccionamos el número 2 que es Americas, luego el número 51 que es Venezuela y por último el número 1 que es el horario central.
Luego veremos una pantalla como la siguiente.
#? 2
Please select a country whose clocks agree with yours.
1) Anguilla 28) Haiti
2) Antigua & Barbuda 29) Honduras
3) Argentina 30) Jamaica
4) Aruba 31) Martinique
5) Bahamas 32) Mexico
6) Barbados 33) Montserrat
7) Belize 34) Nicaragua
8) Bolivia 35) Panama
9) Brazil 36) Paraguay
10) Canada 37) Peru
11) Caribbean Netherlands 38) Puerto Rico
12) Cayman Islands 39) St Barthelemy
13) Chile 40) St Kitts & Nevis
14) Colombia 41) St Lucia
15) Costa Rica 42) St Maarten (Dutch part)
16) Cuba 43) St Martin (French part)
17) Curacao 44) St Pierre & Miquelon
18) Dominica 45) St Vincent
19) Dominican Republic 46) Suriname
20) Ecuador 47) Trinidad & Tobago
21) El Salvador 48) Turks & Caicos Is
22) French Guiana 49) United States
23) Greenland 50) Uruguay
24) Grenada 51) Venezuela
25) Guadeloupe 52) Virgin Islands (UK)
26) Guatemala 53) Virgin Islands (US)
27) Guyana
#? 51
The following information has been given:
Venezuela
Therefore TZ='America/Caracas' will be used.
Local time is now: mar nov 17 14:07:08 VET 2015.
Universal Time is now: mar nov 17 18:37:08 UTC 2015.
Is the above information OK?
1) Yes
2) No
Si todo está correcto seleccionamos "1" y listo.
#? 1
You can make this change permanent for yourself by appending the line
TZ='America/Caracas'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Caracas
y en la proxima pantalla seleccionas Caracas
root@monitoreo:/etc/apache2# tzselect
Retorna un resultado como el siguiente.
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) coord - I want to use geographical coordinates.
12) TZ - I want to specify the time zone using the Posix TZ format.
Seleccionamos el número 2 que es Americas, luego el número 51 que es Venezuela y por último el número 1 que es el horario central.
Luego veremos una pantalla como la siguiente.
#? 2
Please select a country whose clocks agree with yours.
1) Anguilla 28) Haiti
2) Antigua & Barbuda 29) Honduras
3) Argentina 30) Jamaica
4) Aruba 31) Martinique
5) Bahamas 32) Mexico
6) Barbados 33) Montserrat
7) Belize 34) Nicaragua
8) Bolivia 35) Panama
9) Brazil 36) Paraguay
10) Canada 37) Peru
11) Caribbean Netherlands 38) Puerto Rico
12) Cayman Islands 39) St Barthelemy
13) Chile 40) St Kitts & Nevis
14) Colombia 41) St Lucia
15) Costa Rica 42) St Maarten (Dutch part)
16) Cuba 43) St Martin (French part)
17) Curacao 44) St Pierre & Miquelon
18) Dominica 45) St Vincent
19) Dominican Republic 46) Suriname
20) Ecuador 47) Trinidad & Tobago
21) El Salvador 48) Turks & Caicos Is
22) French Guiana 49) United States
23) Greenland 50) Uruguay
24) Grenada 51) Venezuela
25) Guadeloupe 52) Virgin Islands (UK)
26) Guatemala 53) Virgin Islands (US)
27) Guyana
#? 51
The following information has been given:
Venezuela
Therefore TZ='America/Caracas' will be used.
Local time is now: mar nov 17 14:07:08 VET 2015.
Universal Time is now: mar nov 17 18:37:08 UTC 2015.
Is the above information OK?
1) Yes
2) No
Si todo está correcto seleccionamos "1" y listo.
#? 1
You can make this change permanent for yourself by appending the line
TZ='America/Caracas'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Caracas
Ahora si queremos que este cambio se haga permanentemente entre reinicios de nuestra PC, agregamos la siguiente línea en nustro archivo .profile
TZ='America/Caracas'; export TZ
Otra forma de hacer lo mismo es con los siguientes comandos.
$ rm /etc/localtime
$ ln -s /usr/share/zoneinfo/America/Caracas /etc/localtime
Otra forma es colocando como root el siguiente comando
#dpkg-reconfigure tzdata
Una vez que colocas el comando seleccionas America
y en la proxima pantalla seleccionas Caracas
y por ultimo arrojara el siguiente texto
Current default time zone: 'America/Caracas'
Local time is now: Tue Nov 17 14:49:10 VET 2015.
Universal Time is now: Tue Nov 17 19:19:10 UTC 2015.
jueves, 12 de noviembre de 2015
Comprimir y descomprimir .gz, .tar.gz, y .zip por linea de comandos en Linux
Archivos .tar.gz:
Comprimir: tar -czvf empaquetado.tar.gz /carpeta/a/empaquetar/
Descomprimir: tar -xzvf archivo.tar.gz
Archivos .tar:
Empaquetar: tar -cvf paquete.tar /dir/a/comprimir/
Desempaquetar: tar -xvf paquete.tar
Archivos .gz:
Comprimir: gzip -9 index.php
Descomprimir: gzip -d index.php.gz
Archivos .zip:
Comprimir: zip archivo.zip carpeta
Descomprimir: unzip archivo.zip
Comprimir: tar -czvf empaquetado.tar.gz /carpeta/a/empaquetar/
Descomprimir: tar -xzvf archivo.tar.gz
Archivos .tar:
Empaquetar: tar -cvf paquete.tar /dir/a/comprimir/
Desempaquetar: tar -xvf paquete.tar
Archivos .gz:
Comprimir: gzip -9 index.php
Descomprimir: gzip -d index.php.gz
Archivos .zip:
Comprimir: zip archivo.zip carpeta
Descomprimir: unzip archivo.zip
Buscar archivos que contengan un texto en Linux
Para buscar archivos que contengan un cierto texto en Linux podemos utilizar el comando grep.
Su uso es muy sencillo. Basta con pasar como argumentos una cadena de texto a buscar (o una expresión regular) y el archivo o archivos en los que buscar.
grep “TODO” /home/zootropo/codigo/*.py
También podemos hacer que busque en todos los archivos contenidos en un cierto directorio, de forma recursiva, utilizando el flag -r:
grep -r “TODO” /home/zootropo/codigo/
El parámetro -l le indica que imprima los nombres de archivos en los que se encuentre el texto solicitado.
grep -lir "usemos linux" "/media/win/cosas"
grep -lir "usemos linux" *.pdf
El parámetro -l le indica que imprima los nombres de archivos en los que se encuentre el texto solicitado.
grep -lir "usemos linux" "/media/win/cosas"
grep -lir "usemos linux" *.pdf
Suscribirse a:
Comentarios (Atom)



