Mejorando su servidor Ubuntu

Hace unas semanas, le mostré cómo configurar su propio servidor Linux. Ahora, les voy a mostrar cómo agregar aún más
funcionalidad.

Antes de que comencemos…

Esta guía asume que has seguido mi tutorial anterior, Cómo configurar un servidor web dedicado de forma gratuita, o
que tienes un servidor similar ya configurado.



Lo que vamos a lograr

En este tutorial, vamos a:

  1. Instale un servidor Subversion, de modo que pueda usar el control de versiones para sus proyectos.
  2. Agregue una aplicación de administración del sistema, más conocida como Webmin, para que pueda realizar un seguimiento del estado de su servidor
    y recibe actualizaciones en tiempo real.

Una nota rapida

Estos pasos se pueden realizar sentados frente a la computadora y escribiendo en la consola, o para aquellos que
como para ejecutar un servidor sin cabeza, puede usar SSH. Lo cubrí en mi guía anterior, así que si no está familiarizado con
La tecnología, dirígete allí para empezar a usarla. Ahora, sin más preámbulos, comencemos.!

Descargar Subversion

Si bien hay muchos sistemas de control de versiones, Subversion es uno de los más populares. Subversion le permite mantener varias versiones de su código, lo que le permite volver siempre si necesita una versión anterior.
Vamos a descargarlo!

Primero, necesita iniciar sesión en su servidor; Lo hago por SSH, así que mis capturas de pantalla mostrarán mi terminal:

Ahora, escribe esto y pulsa enter:

 sudo aptitude install subversion

Le pedirá su contraseña; Escríbelo y pulsa enter. Además, puede preguntarte si quieres continuar, presiona "y" y presiona enter.
Su servidor ahora descargará e instalará el servidor de subversion:

Una vez hecho esto, necesitamos configurarlo.

Configurando Subversion

La siguiente parte puede ser un poco confusa. Lo que vamos a hacer es crear un nuevo grupo, llamado "subversion" que permitirá al servidor de Subversion
Escriba de forma segura en sus repositorios en su servidor web, pero nada más. Para hacer esto, ingrese los siguientes comandos, reemplazando USERNAME con su nombre de usuario real.

 sudo addgroup subversion sudo usermod -a -G subversion USERNAME sudo usermod -a -G subversion www-data

En orden, esos comandos: agregar un nuevo grupo llamado "subversión", agregar su cuenta de usuario al nuevo grupo y agregar el usuario del servidor web al grupo.

Ahora, necesitamos crear un lugar para tus repositorios. Esto se puede poner técnicamente en cualquier lugar, pero siempre lo guardo en / var:

 sudo mkdir / var / svn

Finalmente, crea la carpeta del proyecto y el repositorio:

 sudo mkdir / var / svn / project sudo svnadmin crear / var / svn / project 

Y le da acceso al servidor web (y a cualquiera en el grupo de subversión):

 sudo chown -R www-data: subversion / var / svn / project sudo chmod -R 770 / var / svn / project

Hasta ahora, hemos creado el grupo de subversión, hemos creado un lugar para nuestros repositorios, hemos creado un nuevo repositorio llamado "proyecto" y hemos dado acceso al servidor web a este proyecto.
Lo último que debemos hacer es permitir que Apache sirva los repositorios. Para hacer esto, necesitamos instalar una nueva biblioteca de Apache, llamada libapache2-svn. Por ahora, debes saber como
hacer esto:

 sudo aptitude instalar libapache2-svn

Una vez hecho esto, abra el archivo de configuración SVN de Apache:

sudo nano /etc/apache2/mods-available/dav_svn.conf

Desplázate hasta el final y agrega lo siguiente:

  DAV svn SVNParentPath / var / svn SVNListParentPath en AuthType AuthName básico "Subversion" AuthUserFile / etc / subversion / passwd Require valid-user 

Guarde el archivo (Control-O y luego ingrese) y ciérrelo (Control-X). (Nota para usuarios de Mac y Linux: independientemente de la configuración de su sistema operativo, todavía es control, no comando o super).

Básicamente, lo que sucedió allí fue que le dijo a Apache que cuando la URL termine con "/ svn", sirva
una lista de sus repositorios de subversion que se encuentran en "/ var / svn". Entonces le dijiste que solo
desea que las personas enumeradas en "/ etc / subversion / passwd" puedan ver estos repositorios.

Ahora, para poner en práctica estos cambios, vuelva a cargar la configuración de Apache:

sudo /etc/init.d/apache2 force-reload

Una vez que hayas hecho eso, abre tu navegador web favorito y ve a http: //dirección tuya/ svn. Le pedirá que inicie sesión, pero no importa lo que ponga, obtendrá
un error interno del servidor:

No te preocupes Esto se debe a que aún no hemos definido ningún usuario en / etc / subversion / passwd. Vamos a hacer eso ahora:

sudo htpasswd -c / etc / subversion / passwd USERNAME

Esto creará una nueva entrada para USERNAME con la contraseña que especifique. POR FAVOR, NO use su contraseña de cuenta normal ya que esta contraseña se envía de forma insegura y, en el caso impar, alguien
lo intercepta, no desea que tengan acceso de root a su máquina. Una vez que hayas hecho esto, vuelve a esa página (http: //dirección tuya/ svn) y actualizarlo. Ahora debe pedir su nombre de usuario
y la contraseña de nuevo:

¡Ponlos, y listo! Ahora puede ver todos sus repositorios (en este caso, simplemente proyecto) y ya está listo para usarlo para el control de versiones!

Para agregar más usuarios, ejecute este comando, reemplazando USERNAME con el nuevo nombre de usuario del usuario.

sudo htpasswd / etc / subversion / passwd USERNAME

Configuración de Webmin para la administración del servidor

Ahora que tiene este elegante servidor haciendo todas estas cosas diferentes, ¿no sería bueno poder administrarlo fácilmente? Saluda a Webmin, un increíble front-end basado en web para
configuración del sistema, monitoreo, etc. Hace algunas cosas bastante dulces, como enviar un mensaje de texto a su teléfono si su servidor falla. La mejor parte: es completamente gratis. Entonces, vamos a instalarlo!

En primer lugar, necesitamos descargar el último paquete de Debian de Webmin de su sitio. En el momento en que se escribió este artículo, la versión actual es 1.450. Entonces, ejecute este comando para descargar el archivo:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.450_all.deb

Sin embargo, antes de que podamos instalarlo, necesitamos satisfacer algunas dependencias (necesitamos instalar programas que utiliza Webmin):

sudo aptitude instalar perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

Una vez que haya terminado, instale Webmin usando el archivo que acabamos de descargar:

sudo dpkg -i webmin_1.450_all.deb

Ahora, deja que termine, y una vez que esté listo, ¡se ha instalado Webmin! Abra su navegador web favorito y navegue a https: //dirección tuya: 10000 / (note que es https). Debería ver la siguiente página: (Si no funciona, sigue leyendo)

Inicia sesión usando tus detalles normales; Los mismos detalles que usa para iniciar sesión en el servidor..

Para aquellos de ustedes que no pueden conectarse (probablemente la mayoría de ustedes), lean la siguiente sección. Para aquellos que puedan, salten la siguiente sección..

Sostener; No puedo conectarme!

Para aquellos que no pueden conectarse, bueno. Significa que tu firewall está haciendo su trabajo. Sin embargo, en este caso, queremos acceso al puerto 10000, por lo que necesitamos agregar una nueva regla de firewall. Estas instrucciones son explícitas para aquellos que siguieron mi guía anterior. Abre tu archivo de reglas de Shorewall:

sudo nano / etc / shorewall / rules

Agrega esta línea justo arriba de donde dice #LAST LINE:

ACEPTA neta $ FW tcp 10000

Guarde el archivo (Control-O y luego ingrese) y ciérrelo (Control-X).

A modo de comparación, aquí están las reglas de firewall de AlexVillmann.com: (Tengo más reglas que las que estamos agregando, pero se ve la imagen)

Ahora, reinicie Shorewall:

sudo /etc/init.d/shorewall restart

Finalmente, vuelva a su navegador web y navegue de nuevo a Webmin (https: //dirección tuya: 10000 /) y debería funcionar esta vez.

¡Felicidades! Tienes a Webmin todo configurado! Hay un millón de cosas que puedes hacer con él, pero todas están fuera del alcance de este artículo. Personalmente, me gustaría jugar con él hasta que haga las cosas que tú también quieres. Es bastante autoexplicativo, y para todo lo demás, está la documentación de Webmin. Que te diviertas!

Terminando

Al seguir esta guía, ha configurado el control de versiones y una aplicación de administración web. Me gustaría poder entrar en detalles sobre Webmin, pero ese es un artículo por sí mismo. De todos modos, espero que esto le ayude a avanzar en su aventura con Linux.!

Para aquellos que buscan más información sobre los temas que he cubierto, aquí hay algunos enlaces excelentes:

  • Subversion en Ubuntu
  • Webmin Wiki Oficial
  • Suscríbase a la fuente RSS de NETTUTS para obtener más artículos y artículos de desarrollo web diarios..