Como instalar un servidor Centos 7 con KVM en OVH / Soyoustart

Empieza a crear máquinas virtuales sobre Centos 7 con KVM en OVH / Soyoustart

Explicación de como instalar un servidor Linux Centos 7 x64 con KVM Kernel Based Virtual Machine en OVH / Soyoustart

En este caso vamos a utilizar el panel de Soyoustart, pero suprimiendo la primera parte de la instalación del sistema operativo, se puede hacer en otros proveedores.

Empezamos!!

Tras autentificarse en el panel de control de Soyoustart, se pulsa sobre el boton instalar, o en caso de tener un  sistema operativo ya instalado, en reinstalar, seleccionar la plantilla Centos 7 64 como sistema operativo y el idioma del sistema operativo en el que se debe instalar, ademas se debe marcar la opción instalación personalizada y pulsar continuar.

Pantalla de creación de particiones, se deja las particiones
Swap
/
y se elimina la partición /home

Vale la pena ajustar un poco los valores de las particiones anteriores en cuanto a tamaño. Por ejemplo si se ha contratado un servidor que dispone de 2TB y se van a poner una web que no va a ocupar demasiado, 2TB es excesivo, por lo tanto es bueno considerar más espacio a la partición raiz / porque es donde se va a a instar el Sistemo Operativo, las librerias, los logs, etc… Esto puede cambiarse, pero es más trabajo. Por lo tanto si se le da por ejemplo 200GB en primer momento, pues después hay que estar menos pendientes de algunas cosas. Dando 200GB, todavía quedan casi 1.8TB para la web. Hay que recordar que el tamaño en OVH esta en MB, multiplica los GB por 1024. Si quieres cambiar el espacio, pulsa sobre editar la partición, cambia los valores y guarda. Cuando se acaba hay que pulsar en siguiente

En la siguiente pantalla se debe poner el nombre del servidor en el campo host, por ejemplo
svr.dominio.com

Es muy importante marcar la opción Utilizar nucleo de la distribución. Si no se marca esta opción se instala con el custom kernel de OVH / Soyoustart, y no con el original de Centos, este kernel compilado da algún problema cuando se requiere utilizar compilaciones porque no encuentra los fuentes, a mi parecer siempre es mejor instalar el original del sistema operativo.

Pulsar en siguiente y después pulsar en confirmar, el sistema empieza a instalarse, y cuando finaliza de instalar todo el sistema completo, llega un email con los datos de acceso al servidor, es muy sencillo de instalar y rápido y puedes cambiar de sistema operativo en muy poco tiempo, esta muy bien el sistema de OVH / Soyoustart.

Tras la instalación correcta llega un email al correo registrado en OVH que contiene los datos de acceso al servidor: la IP, el usuario y la contraseña.

Primeros pasos con el nuevo servidor instalado

Para poder connectar con el nuevo servidor hay que utilizar SSH, para ello es posible descargar y utilizar un cliente como Putty para conectar por SSH, conectar desde la terminal de mac o el shell de linux.  Buscaremos en el email para conseguir el usuario, la contraseña y la IP del host. Son los datos necesarios para conectar por SSH y OVH nos los ha enviado.

Tras conectar por SSH y entrar al servidor lo primero que se debe hacer es cambiar la contraseña, de esta manera será más fácil de recordar. Hay que escoger una contraseña que se pueda recordar, pero que sea complicada, utilizar MAYÚSCULAS, minúsculas, números y símbolos intercalados y con una longitud de unos 10-12 caracteres esta bien. Es posible utilizar un generador de contraseñas para seleccionar una contraseña segura.

El texto en gris son las ordenes ordenes que se deben escribir y después pulsar la tecla INTRO

Para cambiar la contraseña:

passwd

Continuar con los pasos de la pantalla, que es escribir la contraseña nueva dos veces.

Vamos a la acción!!

Instalación de los repositorios

Activar el repositorio EPEL para centos 7 e instalar el repositorio SCL para Centos 7 para posteriormente poder instalar otras versiones de PHP

yum -y install epel-release
yum -y install centos-release-scl

Si se quiere instalar también VirtualBox, se debe añadir su repositorio

cd /etc/yum.repos.d
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Instalar el repositorio de Webmin

vi webmin.repo

Pulsa la i y pega esto

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

Pulsa Escape, escribe :wq y pulsa intro

cd /root/

Ahora vamos a bajar la key de Webmin

wget http://www.webmin.com/jcameron-key.asc

Y se instala:

rpm --import jcameron-key.asc

También se instala el repositorio Remi y IUS

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
wget https://centos7.iuscommunity.org/ius-release.rpm

rpm -Uvh remi-release-7*.rpm
rpm -Uvh ius-release*.rpm

Instalación de Webmin Virtualmin, Cloudmin y otros componentes para la puesta a punto del servidor

Se empieza la instalación con las herramientas de desarrollo

yum -y groupinstall "Development Tools"

Instalamos la VPN, el KVM y VirtualBox y por ultimo el Webmin

yum -y install at pptp openvpn kvm fetchmail telnet ftp wbm-virtualmin-svn wbm-virtualmin-google-analytics wbm-virtualmin-signup wbm-jailkit wbm-virtualmin-oracle wbm-virtualmin-slavedns wbm-virtualmin-password-recovery subversion python-virtinst glibc-headers glibc-devel kernel-headers kernel-devel qemu-kvm libvirt virt-install bridge-utils binutils qt gcc make patch nginx wbm-virtualmin-nginx wbm-virtualmin-nginx-ssl libgomp dkms webmin

Descargar el script de instalacion de cloudmin

wget http://cloudmin.virtualmin.com/gpl/scripts/cloudmin-kvm-redhat-install.sh

Cambiar los permisos de ejecución

chmod +x cloudmin-kvm-redhat-install.sh
./cloudmin-kvm-redhat-install.sh

Reiniciar el servicio de red

service network restart

Aprovechando la conexión de SSH, instalaremos Virtualmin para poder añadir distintos dominios.

cd /root/
wget http://software.virtualmin.com/gpl/scripts/install.sh
chmod +x install.sh
./install.sh

Si se ha decidido instalar VirtualBox, aunque con KVM es suficiente para las maquinas virtuales

yum -y install VirtualBox-4.3
/etc/init.d/vboxdrv setup
usermod -a -G vboxusers root
usermod -a -G libvirt root

Como se quiere que el server sea multidisciplinar tanto en desarrollo como en administración se instalan herramientas adicionales. Con estas instalaciones prácticamente se puede tener a los informáticos contentos.

yum -y update
yum -y install mlocate iptables-services mailman php-devel postgresql-server php-mcrypt* yum-plugin-replace 
yum -y install php-soap libmemcached-devel php-pecl-memcached php-pecl-memcache tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel libssh2-devel libsphinxclient libsphinxclient-devel libnghttp2 libjpeg-turbo-devel 
yum -y install php-aws-sdk python-pip ruby-devel cpan curl-devel libmcrypt-devel libtomcrypt libtomcrypt-devel libtool-ltdl-devel python-devel python-pip python-setuptools
yum -y install mutt msmtp showmount nfs-utils nfs-utils-lib rpcbind wkhtmltopdf python-html2text cmake re2c php-mbstring erlang nodejs npm composer mod_perl mod_dav_svn php-odbc php-snmp perl-DBD-Pg poppler-utils gperf fontconfig-devel libicu-devel sqlite-devel GeoIP-devel lib2-devel php-pecl-geoip gmp-devel boost mod_geoip
yum -y install perl-Razor-Agent spamassassin-iXhash2 Xvfb xorg-x11-fonts* libqt4-webkit libqt4-dev qtwebkit-devel qt-devel rkhunter pwgen lvm2 qemu libvirt-client virt-manager virt-viewer guestfish libguestfs-tools virt-top mod_security mod_security_crs

Y algunos módulos PHP para Apache
  • IMAGEMAGICK
    yum -y install ImageMagick ImageMagick-devel php-pecl-imagick php-magickwand ImageMagick-perl
    pecl install imagick
    echo “extension=imagick.so” > /etc/php.d/imagick.ini
  • APC
    pecl install apc
    echo “extension=apc.so” > /etc/php.d/apc.ini
  • SPHINX
    pecl install sphinx
    echo “extension=sphinx.so” > /etc/php.d/sphinx.ini
  • MONGO
    pecl install mongo
    echo “extension=mongo.so” > /etc/php.d/mongo.ini
  • SSH2
    pecl channel-update pecl.php.net
    pecl install -f ssh2
    echo “extension=ssh2.so” > /etc/php.d/ssh2.ini
  • XATTR
    sudo pecl install xattr
    echo “extension=xattr.so” > /etc/php.d/xattr.ini

Preparando las particiones del disco duro y volúmenes LVM

Ahora se crean las particiones primarias de tipo LVM

fdisk -l

Permite ver los discos para ver los discos
Seleccionamos uno de los discos a particionar

fdisk /dev/sda

Pulsamos n “Nueva particion”
Tipo de particion: p “Primaria”
Numero de particion: 3
Sector de inicio, miramos en el fdisk -l de antes donde acaba el ultimo sector y sumamos 1
Sector final, enter, para todo el discos
Pulsamos t “Cambiar el tipo de particion”
Hex code, escribimos 8e que es LVM

Por último pulsa w para guardar la tabla de particiones

Si tienes dos discos, o no utilizas Raid, deberias volver a repetir el proceso para el otro disco.

reboot

Primeros pasos con Webmin

Ahora se puede poner en el navegador para entrar al webmin la siguiente dirección http://IPDELSERVIDOR:10000

Donde se debe cambiar IPDELSERVIDOR por la que nos llego en el correo al principio o por el hostname que habías puesto en la instalación, para que esto último funcione debes previamente haber apuntado tu registro A en las DNS de tu dominio a la IP del servidor que recibiste por correo.

Al entrar pedirá usuario y contraseña, como usuario root y como contraseña la que se puso al inicio. En la parte superior, se puede navegar entre cloudmin, que son la gestión de maquinas virtuales y webmin, la gestión del servidor, ir a Webmin.

Seguramente al entrar aparece un mensaje de error:

This system cannot be a KVM host : The required command fuser does not exist. Perhaps the KVM software is not installed?
Virtual systems cannot be created or added until this is fixed.

La solución consiste en volver a conectar por SSH e instalar fuse.  Tras instalar y recargar el panel de Webmin el mensaje de error desaparece.

Al volver a recargar el panel se obtiene Webmin para Administrar el servidor, Virtualmin para la gestión y creación de alojamientos web y Cloudmin para la creación y gestión de maquinas virtuales o VPS.

Configuración básica:

Si tienes dos discos y quieres poner las particiones que hemos creado antes en RAID1 por si uno de los discos explota 🙂 poder acceder a la información hay qye entrar en Webmin > Hardware > Linux Raid.
Crear RAID y selecciona RAID1.
Ahora en particiones en RAID selecciona la A y la B, todo lo que se cree en una se duplicará en la otra de forma automática y transparente. Al darle a crear empezará a trabajar, hay que esperar a que acabe, dependiendo del tamaño del disco puede tardar un par de horas o más por lo que puedes ir a tomarte algo. Lo que tiene el sistema RAID es que si se tienen 2 discos de 1TB no se tienen 2TB reales, se tiene solo 1TB duplicado, esto aporta seguridad de los datos y mayor tranquilidad.

Al acabar con el RAID o si no se quiere utilizar, se debe pulsar sobre Webmin > Hardware >Logical Volume Management. Pulsa sobre Añadir un nuevo grupo de volumen, dale un nombre y selecciona la partición creada, al guardar aparece el Volumen.

Vamos a crear un volumen lógico, para ello pulsa sobre la pestaña volúmenes logicos y crear en uno de los discos

Nombre del volumen Isos, y asigna el tamaño que desees
Cuando este creado pulsa sobre el selecciona New linux Native ext4 y crea el filesystem con el botón de la parte inferior
por ultimo monta el volumen en /var/isos y pulsa sobre montar

Haz lo mismo para vbox y para kvm

Ahora por SSH hacemos lo siguiente para apuntar el directorio por defecto
de kvm al volumen logico creado
$ cd /
$ rm -rf kvm
$ ln -s /var/kvm/ kvm

Volver al panel, ahora en la parte superior Cloudmin > Host Systems > KVM Host Settings y se cambia el directorio base por /var/kvm

Ya se pueden instalar las primeras máquinas
Descargar un iso de Centos desde un mirror de https://www.centos.org/download/mirrors/ en el volumen isos

$ cd /var/isos
$ wget http://mirror.checkdomain.de/centos/7/isos/x86_64/CentOS-7.0-1406-x86_64-Everything.iso

 

Si necesitas Apache tomcat puedes instalar el módulo
https://cdn.acugis.com/apache-tomcat-webmin-plugin/tomcat.wbm.gz

 

Para más velocidad en todos los pasos…
Se puede pegar esto en un archivo install.sh, darle permisos de ejecución y ejecutarlo con ./install.sh

#!/bin/sh
wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
rpm -ivh epel-release-7-0.2.noarch.rpm
cd /etc/yum.repos.d
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
cat <<EOF > webmin.repo

[Webmin] name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

EOF

cd /root/
wget http://www.webmin.com/jcameron-key.asc
rpm –import jcameron-key.asc
yum -y groupinstall “Development Tools”
yum -y install pptp openvpn kvm python-virtinst glibc-headers glibc-devel kernel-headers kernel-devel qemu-kvm libvirt virt-install bridge-utils binutils qt gcc make patch libgomp dkms webmin
wget http://cloudmin.virtualmin.com/gpl/scripts/cloudmin-kvm-redhat-install.sh
chmod +x cloudmin-kvm-redhat-install.sh
./cloudmin-kvm-redhat-install.sh
yum -y install VirtualBox-4.3
/etc/init.d/vboxdrv setup
usermod -a -G vboxusers root
usermod -a -G libvirt root
service network restart

 

Por último solo se deben crear las particiones con algo parecido a este Script, pero depende mucho de la capacidad de los HD discos duros del servidor, o seguir los pasaos de creación de particiones esplicados arriba:

hdd=”/dev/sda /dev/sdb”
for i in $hdd;do
echo “n
p
3
42008576

t

8e
w
“|fdisk $i;done

 

 

 

 

 

Descarga este artículo como un e-book

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Top