viernes, 22 de septiembre de 2017

CentOS + Apache

Seguimos con el servidor.
Objetivo: instalar el servicio de apache para poder publicar páginas web en html.

yum install httpd -y  # Instalamos Apache
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak #Copia de seguridad de la configuracion

nano /etc/httpd/conf/httpd.conf #Yo uso nano para editar ficheros, usa el que quieras

Para buscar las siguientes lineas puedes buscar palabras con Ctrl+W en nano.
1.- Linea de ServerAdmin (nombre del administrador)
ServerAdmin root@vps423071

2.- Linea ServerName (nombre del servidor)
ServerName www.vps423071.com

3.- Options Indexes FollowSymLinks (de /var/www/html) (quitar la navegación por directorios)
Options FollowSymLinks

4.- AllowOverride None (de /var/www/html) (controla las directivas que se pueden poner en los ficheros .htaccess)
AllowOverride All

systemctl enable httpd      #Habilitar httpd como servicio
systemctl start httpd          #Iniciar el servicio httpd
systemctl status httpd        #Ver el estado de httpd


firewall-cmd --permanent --add-port=80/tcp   #Abrir puerto 80 tcp de forma permanente
firewall-cmd --permanent --add-port=80/udp  #Abrir puerto 80 udp de forma permanente
firewall-cmd --reload              # Reiniciar el firewall
systemctl restart httpd             # Reiniciar el servicio httpd

Ahora si vais a la IP del servidor desde un navegador debería saliros la pantalla de bienvenida.

Esta se puede eliminar añadiendo el fichero /var/www/html/index.html o editando el fichero welcome.conf:

nano /etc/httpd/conf.d/welcome.conf
Comentar  la etiqueta <LocationMatch > entera


systemctl restart httpd     # Reiniciar el servicio al hacer cambios en la configuración

Todo el html irá en el directorio /var/www/html

Para hacer una prueba rapida puedes introducir el siguiente comando que te generará un html de prueba.
echo '<html><body><h1>Hola!!!!</h1></body></html>' > /var/www/html/index.html

La siguiente publicación hablará sobre el servicio de FTP.

martes, 5 de septiembre de 2017

CentoOS 7 y OVH, problemas con el RTM (Real Time Monitoring)

Sigo sin conexión a Internet decente y tiro desde el móvil.
La forma mas fácil y económica de poder hacer pruebas y descargar todo lo que necesito es con un VPS y como igualmente lo iba a contratar, pues a darle caña.
En una de estas que estaba haciendo pruebas tuve que reinstalar el VPS y perdí el RTM. Es una forma muy visual de ver el rendimiento de la RAM, procesador y tráfico y lo quería recuperar.
Después de ir probando y leyendo foros tanto ingleses como franceses lo resumo:

Debes tener instalado el wget y descargar el instalador del rtm.
yum install -y wget
wget ftp://ftp.ovh.net/made-in-ovh/rtm/install_rtm.sh -O install_rtm.sh

A mi me daba error de "No IP from OVH network or couldn't define MRTG server! Please contact OVH support."
Solo debes abrir el instalador y comentar las siguientes lineas que están dos veces el fichero. Yo uso nano para editar y aconsejo instalarlo.
yum install -y nano
nano install_rtm.sh
#arpa=`echo "$ips" | sed "s/\./ /g" | awk '{print $3"."$2"."$1}'`;
#ip=`host -t A mrtg.$arpa.in-addr.arpa $DNSSERVER 2>/dev/null | tail -n 1 | sed -ne 's/.*[\t ]\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p'`
#if [ -z "$ip" ]; then
#  echo "No IP from OVH network or couldn't define MRTG server! Please contact OVH support."
#  exit 1;
#fi
#echo $ip > "$DIR/etc/rtm-ip"
echo "38.60.102.251" > "$DIR/etc/rtm-ip" #Mi IP es 38.60.102.32, cambia el ultimo numero por A.B.C.251

Necesitas instalar bzip2 y perl. Ahora si que puedes instalar el RTM.
yum install -y bzip2 perl
sh install_rtm.sh

Y por último autorizar rangos de IP en el firewall.
# ICMP (Ping)
# bloqueamos la petición de ping y permitimos ovh para la supervisión
/sbin/iptables -t filter -A INPUT -p icmp -j DROP

# Autorizamos nuestra IP
/sbin/iptables -A INPUT -i eth0 -p icmp --source 38.60.102.32 -j ACCEPT

# Mantenemos la posibilidad de hacer ping desde el servidor
/sbin/iptables -t filter -A OUTPUT -p icmp -j ACCEPT

# RTM y ping OVH
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 37.187.231.251 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source a2.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 92.222.184.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 92.222.185.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 92.222.186.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 167.114.37.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.p19.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.rbx.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.sbg.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.bhs.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source ping.ovh.net -j ACCEPT
/sbin/iptables -A OUTPUT -p udp --dport 6100:6200 -j ACCEPT

# Poner el inicio de IP del servidor
/sbin/iptables -A INPUT -p icmp --source 38.60.102.250 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --source 38.60.102.251 -j ACCEPT

Y con esto ya se tendría que poder volver a usar el RTM.
Hasta la próxima actualización :D

jueves, 24 de agosto de 2017

nohup

Estoy básicamente peleándome con el CentOS e intentando aprender todo lo que puedo.
Antes combinaba un poco de comandos con el escritorio de Ubuntu, Fedora, etc... Pero ahora que estoy jugando con el servidor, será por consola.
Echando un ojo a los servicios buscaba como dejar un proceso corriendo en el servidor aunque hayas acabado la sesión en el terminal.
Con el chkconfig se tendría que poder pero para dejar corriendo un comando simple veo que es liar demasiado la madeja.
Con el comando nohup se consigue exactamente lo que buscaba. Por ejemplo dejar descargando un fichero grande con el wget:
nohup wget http://ficherosenormes.com/3423f23f23

viernes, 4 de agosto de 2017

CentOS + Mono + Monodevelop

Después de pelearme con el proyecto mono voy sacando objetivos poco a poco.
El principal era cargar en un servidor linux una aplicación web ASP.NET en VB que sea sencilla.
Para instalar mono son solo unos pocos comandos:
yum install yum-utils
rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
yum-config-manager --add-repo http://download.mono-project.com/repo/centos7/
yum install mono-complete
yum install xsp
yum install monodevelop
Los tienes para seguir en http://www.mono-project.com/download/
El monodevelop no se encontraba en el repositorio de CentOS 7, por lo que lo saqué del de CentOS 6.
yum-config-manager --add-repo http://download.mono-project.com/repo/centos6/
yum install monodevelop
Otro repositorio que podía ayudar es "http://jenkins.mono-project.com/repo/centos/".
Si bien antes se tenía que instalar el vbnc o el mono-vbnc ahora con tener instalado el monodevelop ya te deja ejecutar la aplicación mediante el siguiente comando en el directorio de la aplicación.:
xsp4 --port 9000

Se podrá ver en este caso la aplicación en un navegador con esta dirección: localhost:9000/default.aspx.
Ahora lo que queda es investigar las peculiaridades de ejecutar esta aplicación web en CentOS mediante mono.
La primera de la que tengo constancia es el uso de rutas con la barra "\" invertida: "/". Es muy posible que también le eche un ojo a las posibilidades que .Net Core te da de ejecutar las aplicaciones web tanto en servidores windows como linux.

miércoles, 2 de agosto de 2017

CentOS + Guest Additions

Que malo es tener un blog cuando se escasea de Internet (y es verano... y apetece una caña y no estar encerrado en casa...).
Sigo con las actualizaciones y, después de repasar el proceso de instalación y tener las ideas mas claras, hoy tocan los Guest Additions de VirtualBox.

¿Para que sirven los Guest Additions?

Principalmente los instalaré para poder tener un directorio en común entre el Windows 10 y el CentOS 7. Cosa que dará agilidad para probar el código.

Instalar el directorio compartido

Seleccionaremos en la configuración de la maquina virtual el directorio que queremos compartir.

En el propio VirtualBox, una vez iniciada la maquina virtual, tienes la opción de "Insertar imagen de CD de las Guest Additions". Esto lo que hará será montar una imagen de CD.

Y con ejecutar el programa del CD ya podría estar,  pero no.


Necesitaremos Internet para actualizar el sistema y ejecutar los comandos como administrador.
yum update
E instalaremos los archivos de cabecera y el paquete kernel-devel (son necesarios para compilar drivers).
yum install kernel-headers kernel-devel
Reiniciaremos y ya podremos ver el directorio que seleccionamos para compartir.
Pero solo tienen permisos de edición los usuarios del grupo vboxsf. Por lo que editaremos el fichero /etc/group para añadir a nuestro usuario en el grupo.


Reiniciar y ya estaría listo para usar el directorio compartido.

lunes, 24 de julio de 2017

Eliminar palabra diccionario Chrome

Solución:
C:\Users\<Usuario>\AppData\Local\Google\Chrome\User Data\Default\Custom Dictionary.txt

Al empezar con el blog hay muchas palabras que usaré que no están incluidas, por lo que las estoy añadiendo según las voy usando. De hecho se puede editar en caliente.

sábado, 22 de julio de 2017

Servidor CentOS

Empezamos con cosas nuevas a explorar.
Ya probé hace un lustro Ubuntu, Debian y Fedora e iba a trastear en un mini portátil con Linux Mint para darle una segunda vida al aparato. Quedó en el tintero y puede que no se retome.
Siempre he desarrollado en Windows Server y es muy comodo tanto en un host profesional como en un VPS. Pero como no puedo comparar ¿que voy a decir? Uso Windows 10 y va de lujo (después de catar Windows 7, Vista, XP, Millenium y 98).
El principal problema que corres con estos OS es el precio y con Windows Server pasa mas de lo mismo. Si empiezas o tienes proyectos pequeños y no te sobra el dinero querrás un bajo precio en hosting. La diferencia de precio de VPS o host Linux a uno Windows en ocasiones es de hasta la mitad al mes. Por lo que merece la pena aprender a ahorrar.
Sin más empezamos por descargarnos CentOS de la web oficial y VirtualBox (mi mama siempre dijo que las pruebas con gaseosa o en servidor virtual).
CentOS - Oracle VM VirtualBox

Instalar CentOS como máquina virtual

Instalar VirtualBox es siguiente y siguiente hasta que te canses, no tiene mucho misterio.
Una vez instalado el VirtualBox y descargada la imagen ISO de CentOS hacemos click en Nueva (maquina virtual) y configuramos un equipo de recursos básicos.
Reservamos 2 GB de RAM (uso un equipo con 8 GB)

Y reservamos dinámicamente 10 GB
Seleccionamos la maquina virtual y cambiamos la configuración para añadirle la ISO de CentOS y conectarlo a la red.
Seleccionamos IDE, click en + y seleccionamos disco (imagen ISO de CentOS que habíamos descargado)

Conexión en puente a nuestra tarjeta de red en uso (ahora wifi por dispositivo usb, conectado por cable seleccionaría la ethernet).

Atajos de VirtualBox

Ctrl Derecho para salir de la maquina virtual.
Ctrl Derecho + Inicio para mostrar menú.

Configurar CentOS

Seleccionamos "Install Centos Linux".

Seleccionamos el idioma.

En la configuración iremos a selección de software.

Selecciono el "Servidor con GUI", no me veo capacitado todavía para ir rápido con la consola de comandos así que el entorno gráfico no esta demás.

Destino de la instalación será el mismo disco sin particionar.

Red y nombre del equipo, lo que nos interesa es conectarla y...

... automatizar su conexión a Internet de la que hacemos login.

Mientras se va instalando el OS...

... pondremos la contraseña de root (administrador) ...

... y crearemos un usuario con contraseña también.

Nos reiniciará y solo tendremos que...
aceptar los términos de licencia.

Finalizar configuración y acabaste.

Y ya está preparado para empezar a trastear.

Próxima entrada explico como instalar las "Guest Additions" que nos permitirá tener una carpeta compartida entre nuestro windows y la maquina virtual de CentOS.

jueves, 20 de julio de 2017

¡Empezamos!

Hacía una década que no escribía un blog de blogger por lo que toca desoxidarse un poco.
Soy un desarrollador de aplicaciones desde hace algo más de 5 años. Pero con curiosidad por las "nuevas tecnologías" desde hace 17 (nunca me lo he planteado pero ya son años jaja).
Con esto quiere decir que experiencia laboral tengo y de "cacharreo" algo más.
El objetivo de este blog es ir documentando un poco el día a día de las tecnologías que vaya tocando.  Hablaré un poco sobre desarrollo web, seguridad informática, Internet, etc...
Ahora en lo que tengo experiencia es .Net (VB y algo de C# y VBA), Linq, windows server, javascript, jQuery, jQuery mobile json, R Code, Office Open XML y phone gap.
Acabaré profundizando en alguna de ellas y añadiendo otras nuevas.