martes, 14 de febrero de 2017

Generar par de claves para conexión SSH

Para empezar, tenemos que instalar openssh-server en la máquina a la cual queremos acceder por ssh.

  • apt-get install openssh-server



Una vez instalado, vamos a la máquina con la que vamos a acceder a la anterior para generar las claves con este comando:
  • ssh-keygen -t rsa



Una vez generada la clave tenemos que acceder con ssh-copy-id para que se copie la clave y ya quede guardada. Esta vez nos pedirá la contraseña de la máquina a la que queremos acceder, pero será la última vez que nos la pida.
  • ssh-copy-id usuario@ipdelservidor



Y ya está, podemos hacer ssh normal sin necesidad de introducir la contraseña. De esta forma es más cómodo si accedemos habitualmente.
  • ssh usuario@ipdelservidor

viernes, 10 de febrero de 2017

Balanceo de carga en nginx/apache

En una máquina virtual teníamos instalado apache, ahora en otra distinta vamos a instalar nginx:

apt-get install nginx



Y ya nos funciona en esta máquina virtual en localhost:



Ahora vamos a empezar a configurar el balanceo de carga. Nos interesa que envie algunas de las peticiones a la máquina de apache y otras las conteste nginx. Para esto configuramos nginx que será el encargado de distribuir las peticiones. Editamos el fichero /etc/nginx/sites-available/default



Y le ponemos la siguiente configuración:

# Default server configuration
#
server {
location / {
proxy_pass http://backend;
}
}
upstream backend {
server IP DE APACHE;
server 127,0,0,1:8080;
}




Ahora copiamos el fichero de configuracion que acabamos de modificar:

cp /etc/nginx/sites-available/default /etc/nginx/sites-available/nacho



Y lo modificamos:

# Default server configuration
#
server {
listen 8080 default_server;
listen [::]:8080 default_server;
}




Ahora creamos un enlace a sites-enabled:

ln -s /etc/nginx/sites-available/nacho /etc/nginx/sites-enabled



Y reiniciamos el servidor

service nginx restart

Resultado:

Al actualizar va cambiando de un servidor a otro. Los dos servidores se reparten las peticiones.





HAZ CLICK AQUI PARA DESCARGAR EL PDF https://drive.google.com/open?id=0B9zT1LiWIqX5VlJGc0VuZGgyaHM

jueves, 19 de enero de 2017

Autentificación de una parte de la web por contraseña

Para restringir el acceso al servidor apache por contraseña seguiremos los siguientes pasos:

En un terminal utilizamos:

htpasswd -c /etc/apache2/.htpasswd TUUSUARIO



Después en Webmin vamos a Servers, apache y edit config files. Buscamos AllowOverride en /var/www/html y lo cambiamos a AllowOverride AuthConfig.



Ahora vamos a apache, per-directory option files. En Create Options File input ponemos el .htaccess que deseamos crear, en este caso /var/www/html/admin/.htaccess (habiendo creado antes la carpeta admin)



Y hacemos click en el botón de crear.

Vamos a Access Control rellenamos esto tal cual está en la imagen con el usuario que corresponda



Una vez terminado hacemos click en Save y aplicamos los cambios.
Ya lo podemos probar:



Y comprobamos que funciona:





Enlace al PDF: https://drive.google.com/open?id=0B9zT1LiWIqX5aloyZ29DRmZIS28

miércoles, 18 de enero de 2017

HTTPS Y CERTIFICADO

Activar HTTPS:

Para tener acceso HTTPS debemos activar el módulo SSL de apache. Para ello realizaremos estos comandos en consola:

a2enmod ssl

Y reiniciamos el servidor apache:

service apache2 restart





Certificado:

Para crear el certificado le tenemos que crear un directorio en configuración de apache:

mkdir /etc/apache2/ssl

Nos movemos a ese directorio y generamos el certificado:

cd /etc/apache2/ssl

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt



Ahora debemos configurar apache para que admita las peticiones https:

nano /etc/apache2/sites-available/default-ssl.conf

Y cambiamos estas dos lineas con los ficheros que hemos generado



Ahora activamos SSL:

a2ensite default-ssl.conf

service apache2 restart

Y ya podemos acceder por https y ver el certificado:





Enlace al PDF: https://drive.google.com/open?id=0B9zT1LiWIqX5RXc1Q1lZVUdwZ2c

Virtualhost

Primero creamos el directorio del virtualhost, que en nuestro caso se llamará wiki:
mkdir /var/www/wiki

Ahora tenemos que configurar apache, para ello nos logueamos en webmin y vamos a Apache Webservers y hacemos click en Create Virtual Host:



En Document Root ponemos el directorio que hemos creado (/var/www/wiki), en puerto especificamos el 80 y en Server Name el nombre de nuestro virtualhost (wiki.localhost).



Lo creamos y comprobamos que funciona:



Para combinar el virtualhost con el dns hago referencia a mi publicación “Manual VPS” http://trabajos2daw.blogspot.com.es/2016/12/manual-vps.html en la última página. (Resultado http://wiki.plastmagysl.com)

Enlace al pdf: https://drive.google.com/open?id=0B9zT1LiWIqX5R2EyN2E3dlE5d3M

Webmin

Primero descargamos webmin en el servidor:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.831_all.deb

E instalamos el paquete:
dpkg --install webmin_1.831_all.deb

Pueden aparecer errores de dependencias, en ese caso realizar esto:
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty- perl apt-show-versions python

Una vez instalado ya podremos acceder a webmin en https://localhost:10000 o en el caso de utilizar un servidor sin entorno gráfico, desde otra máquina con la ip del servidor en lugar de localhost.



Enlace al PDF: https://drive.google.com/open?id=0B9zT1LiWIqX5R3FKU0k0Z3FNNUk

lunes, 12 de diciembre de 2016