martes, 3 de diciembre de 2013

Generadores CSS3

Aquí os dejo una serie de generadores de codigo para CSS3, seguro que os será útil.

1.CSS3.me


css3.me es uno de los generadores online de CSS3 más usado. Como características incluye color, bordes, opacidad, relieve, y otras funciones básicas.
generadores css3 css3me Generadores CSS3 online: crea botones CSS3 sin saber programación


2.CSS3 Generator

CSS3 Generator, es un poco más avanzado porque tiene más opciones como las propiedades , duración , etc . Igualmente es tan popular como el anterior.
generadores css3 css3 generator Generadores CSS3 online: crea botones CSS3 sin saber programación


3.CSS3 Maker

CSS3 Maker, esta siendo cada vez más utilizado por su simpleza y diseño de facil manejo. Como característica destacada la compatibilidad con dispositivos móviles.
generadores css3 css3 maker Generadores CSS3 online: crea botones CSS3 sin saber programación


4.CSS3 Please

CSS3 Please Es un editor web cross browser .Soporta border-radius, box-shadow, gradient(linear), rgba colors, transform (rotate), transition and @font-face. Curioso diseño donde lo que editas va cambiando en directo.
css3-please


5. CSS3 Click Chart

Click Chart es otro generador CSS3 con muchos efectos disponibles.
css3-chart


6.Border Radius

Border RadiusUna de las opciones más elegantes para los bordes redondeados y muy facil de usar. Ideal para los vagos como yo.
css3-border


7.CSS-Tricks Button Maker 

CSS-Tricks Button Maker es un generador de botones CSS3 sencillo ya que solo moviendo unos sliders podremos generar lindos botones.
css3-buttonmaker

8.Westciv 

Westciv es como un compilado de generadores css3, un obligatorio en tus marcadores.
westive


9.CSS3 Generador de degradados 

gradients.glrzad.com es un generador de degradados lineales para mozilla y Webkit.
css3-gradient


10. Widgetpad generador CSS3

Widgetpad CSS3 Generator es otro generador online de CSS que aunque no tiene tantas opciones como el resto , se puede considerar usable y por lo tanto incluirlo en esta lista.
widgetpad


11.Westciv SandBox 

Westciv CSS3 Sandbox incluye sombras, degradados, text strokes y mucho más. Además prometen añadir nuevas funciones en cualquier momento.
CSS3Sandbox_thumb


12.Border Image 

Border Image es otro generador de border radius para redondear esquinas y crear border de varios estilos.
border image


13.CSS3 Menu Generator 

CSS3 Menu Generator es una aplicación para generar hermosos menus CSS3.
css3-menu


14.CSS3 Column Generator 

CSS3 Column Generator es un generador de columnas de los tantos que hay en internet, está en frances pero igualmente es de muy facil uso.
css3-column


15.CSS3 Degradados de 3 colores 

CSS3 Degradados de 3 colores es ni más ni menos que como su nombre indica , un generador de degradados de 3 colores.
css3-gen-17


16. CSS3 Generatos by Pascal-Seven

http://css3.pascal-seven.de/

lunes, 26 de agosto de 2013

miércoles, 7 de agosto de 2013

INSTALAR NO-IP EN UBUNTU SERVER 12.04

Si has intentado instalar noip en Ubuntu Server 12.04 te habras encontrado con que no te funciona al hacer
sudo apt-get install no-ip

y si has buscado en la web de noip.com habras visto que ellos dicen que a partir de ubuntu 12.04 hay que hacer

sudo apt-get install noip2

Pero te vas a encontrar que cuando lo intentes es posible que te de algo asi:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package noip2

El motivo de este error es porque el paquete ya no esta por defecto en los repositorios de Ubuntu
A Continuación os dejo la Solucion a este problema:

Descargamos el paquete:
tar xzf noip-duc-linux.tar.gz

Nos vamos al directorio donde lo descomprimimos:
cd no-ip-2.1.9

Hacemos Make:
sudo make

Si tienen problemas al hacer make, es porque tienes gcc instalado, instalemoslo:
sudo apt-get install gcc

Make install:
sudo make install

Para iniciar la aplicacion de noip:
sudo /usr/local/bin/noip2

Para que noip se inicie automaticamente al iniciar el servidor hacemos lo siguiente.
1.- Creamos el archivo:
sudo nano /etc/init.d/noip2

2.- Le agregamos lo siguiente:
#! /bin/sh
sudo /usr/local/bin/noip2

Guardamos los cambios del archivo

3.- Le damos permisos de ejecución al archivo que acabamos de crear:
sudo chmod +x /etc/init.d/noip2

4.- Lo agregamos al proceso de inicio del server:
sudo update-rc.d noip2 defaults
Por ultimo y para configurar noip con nuestra cuenta de usuario y el host que hemos creado en noip debemos ejecutar
/usr/local/bin/noip2 -C
Primero nos pide nuestro login de noip ( darle tu correo ejemplo@ejem.com).
Despues nos pide si queremos corregir el tiempo de actualizacion, por defecto viene a 30 minutos. si eres impaciente puedes reducir este numero.
A la siguiente pregunta os recomiendo contestarle que no.
y por ultimo si quieres saber el estatus del cliente (, si está corriendo o no:
sudo /usr/local/bin/noip2 -S
Bueno esto a sido todo.

A continuacion os dejo los comandos que mas se usan en noip, para que sepais que hace cada uno de ellos si los quereis usar

/usr/local/bin/noip2 -C               Configura el cliente noip
/usr/local/bin/noip2                    Arranca el cliente noip
/usr/local/bin/noip2 -S                Visualiza el Estado del Cliente
/usr/local/bin/noip2 -D pid           Cambia el estado de depuracion del cliente pid
/usr/local/bin/noip2 -K pid            Finaliza el cliente pid

martes, 2 de julio de 2013

Maven para desplegar en un Tomcat desde el Eclipse


En esta entrega vamos a ver en 5 pasos cómo desplegar un war realizado con maven en un tomcat local o remoto desde el eclipse.
Vamos a asumir que tenemos un eclipse con los plugins de Maven y que tenemos un tomcat en nuestro ordenador. En nuestro caso vamos a desplegar un war que de un proyecto Maven, llamado starter que genera un artefacto "andy.war".
La versión de eclipse utilizada es Helios y los tomcat son un 5.5 en local y un tomcat 6 sobre una máquina virtual(remoto). Por lo demás creo que no hay nada más especial, la versión del jdk es la 1.6 y como plugins en el eclipse además de los de maven el de subversion apuntando a un repositorio de una máquina virtual.
Primer paso: Crear una cuenta de manager en tomcat:
Para ello vamos hasta el directorio del tomcat, carpeta conf y allí editamos el archivo "tomcat-users.xml"
<tomcat-users>
<role rolename="manager"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="manager"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
En un alarde de ingenio y originalidad creamos una cuenta "tomcat" con contraseña "tomcat" con el rol de "manager". Siéntete libre de crear la cuenta de manager con usuario "dsx58969" y contraseña "g8r45ft"... pero luego acuerdate de ellos.
Segundo paso: Indicarle a Maven nuestro tomcat.
Para lo cual debemos editar el archivo setting.xml de la carpeta .m2. Dicha carpeta se debería encontrar en el directorio del usuario.
Allí está casi todo comentado, pero nos encontreremos un apartado "servers" en el cual vamos a definir nuestro servidor. Podemos definir varios.
<server>
<id>beaduerme</id>
<username>tomcat</username>
<password>tomcat</password>
</server>
Yo le he puesto el identificador "beaduerme" pero puedes ponerle otro cualquiera. El lector sagaz tardará poco en verle la lógica a los otros dos parámetros: username y password. Quizá en tu caso sea "dsx58969".....:-P
Destacar el hecho de que los parámetros de conexión residen en un archivo que no se suele intercambiar, el de preferencias de maven. Si estuviesen en el pom cada miembre del equipo tendría que cambiarlo a los de su tomcat local.
Tercer paso. Editar el POM.
Es preciso añadir al pom.xml el plugin apropiado en al apartado del build.
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>
  <configuration>
   <server>beaduerme</server>
   <path>/andy</path>
  </configuration>
</plugin>
El groupId y el artefacto son los que corresponden para poder ejecutar la tarea maven apropiada. A nosotros nos corresponde la configuración. En server ponemos el identificador que hemos definido en la configuración de maven y en el path la ruta donde debe desplegarse el war. En mi caso voy a desplegar una aplicación andy.war
El apartado build del pom, quedaría como esto:
<build>
<finalName>andy</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<server>beaduerme</server>
<url>http://localhost:7777/manager</url>
<path>/andy</path>
</configuration>
</plugin>
</plugins>
</build>
En el subapartado de configuración del plugin hemos puesto la url del tomcat. Si estuviesemos utilizando el puerto por defecto del tomcat, el 8080, sería innecesaria dicha linea.Ya que el plugin toma por defecto "<url>http://localhost:8080/manager</url>". Si el path que queremos para desplegar es el implicito del war también podríamos prescindir de la linea path.
El puerto por defecto de escucha se configura desde el archivo server.xml que se encuentra en la carpeta conf del tomcat.
<Connector port="7777" maxHttpHeaderSize="8192"
maxThreads="50" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443"
connectionTimeout="20000" disableUploadTimeout="true" />
Cuarto paso: Lanzar el tomcat.
Por ejemplo ir hasta la carpeta bin del tomcat y hacer doble click sobre startup.bat.
Puede ser el momento apropiado para comprobar que podemos acceder desde localhost al manager con el nombre de usuario y contraseña que hemos indicado en el paso 1.
Destacar que el tomcat puede estar en una máquina remota y/o estar escuchando en otro puerto, lo único que cambiará en el pom la url.
Se ha probado este minitutorial desplegando en un tomcat 5.5 local y en un tomcat6 remoto. Merece la pena destacar que en el tomcat 6 se indica que a la hora de definir usurios y roles indica que hay que definir un "manager-gui", en versiones anteriores era "manager", para entrar en la consola de gestión.... Para que el plugin funcione correctamente en el tomcat 6 hay que definir el rol como "manager".
Así el tomcat-user.xml del tomcat 6 es tal que así:
<tomcat-users>
<!-- TOMCAT 6
NOTE: By default, no user is included in the "manager-gui" role required to operate the "/manager/html" web application. If you
wish to use this app, you must define such a user - the username
and password are arbitrary.
-->
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
</tomcat-users>
Quinto paso. Desplegar desde el eclipse
Para ello iremos a Run As.. Run Configurations ...
Ojo. Para que esto funcione el tomcat tiene que estar lanzado. "Deploy" no lanza el tomcat
Y escribiremos en una configuración de maven el "Goal" tomcat:deploy
Si la ejecutamos la salida en la consola del eclipse debería ser algo como esto...
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Struts 2 Starter 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> tomcat-maven-plugin:1.1:deploy (default-cli) @ andy >>>
.......
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running es.home.andy.prueba.HelloWorldActionTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.031 sec
Running es.home.andy.prueba.IndexActionTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ andy ---
....
[INFO] <<< tomcat-maven-plugin:1.1:deploy (default-cli) @ andy <<<
[INFO]
[INFO] --- tomcat-maven-plugin:1.1:deploy (default-cli) @ andy ---
[INFO] Deploying war to http://localhost:7777/andy
[INFO] OK - Desplegada aplicación en trayectoria de contexto /andy
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.594s
[INFO] Finished at: Sun Nov 06 11:47:08 CET 2011
[INFO] Final Memory: 5M/35M
[INFO] ------------------------------------------------------------------------
Nos compila, pasa los test y nos despliega en el tomcat.
Para replegarla podemos crear otra configuración identica a la anterior con el Goal "tomcat:undeploy". Al ejecutarla obtenemos en la consola del eclipse el resultado esperado
....
[INFO] ------------------------------------------------------------------------
[INFO] Building Struts 2 Starter 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- tomcat-maven-plugin:1.1:undeploy (default-cli) @ andy ---
[INFO] Undeploying application at http://localhost:7777/andy
[INFO] OK - Replegada aplicacación en trayectoria de contexto /andy
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.906s
[INFO] Finished at: Sun Nov 06 12:22:09 CET 2011
[INFO] Final Memory: 3M/15M
[INFO] -----------------------------------------------------------------------
Apendice
Se ha probado a desplegarlo en un tomcat remoto, en 192.168.2.54 simplemente cambiando en el pom. En ese tomcat tengo el mismo usuario y pass para el rol de manager.
Si tuviera distintos user/pass podría definir en el setting.xml de maven otro server y referenciarlo en el pom apropiadamente
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<server>beaduerme</server>
<url>http://192.168.2.54:7000/manager</url>
<path>/andy</path>
</configuration>
</plugin>

jueves, 6 de junio de 2013

Editor Xpath

http://www.online-toolz.com/tools/xpath-editor.php

Script de arranque para jboss

# Jboss
#
# chkconfig: 3 80 20
# description:  Start up the Jboss servlet engine.

start(){
    echo ">> Iniciando JBOSS"
    sudo nohup /opt/oggi/jboss4/bin/run.sh > /dev/null &
}

stop(){
    echo ">> Parando JBOSS"
    /opt/oggi/jboss4/bin/shutdown.sh --server="0.0.0.0" -S &
}


case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    *)
        echo "Usage: jboss {start|stop|restart}"
        exit 1
    ;;
esac

exit 0


miércoles, 5 de junio de 2013

Activar o desactivar servicios al inicio de Ubuntu o Debian

Y siguiendo el tema hace poco vi en Paraiso Linux una herramienta que nos permite activar y desactivar servicios de manera gráfica, sencilla y rápida.
La herramienta en cuestión se llama sysv-rc-conf y se instala escribiendo en una terminal lo siguiente:

sudo apt-get install sysv-rc-conf

Para ejecutarla escribimos:

sudo sysv-rc-conf

Esto nos abrirá algo mas o menos así:



- Cada línea representa un servicio que puede estar activado o desactivado.
- Cada columna representa un runlevel (iniciado, en uso, detenido, reiniciado).
- El runlevel por defecto en Ubuntu o Debian es 2.
- CTRL+N sirve para pasar a la siguiente página de servicios y CTRL+P para ir a la página anterior.
- Con las flechas podemos desplazarnos.
- Con la barra espaciadora podemos marcar o desmarcar una casilla.
- Con la tecla "-" detenemos un servicio.
- Con la tecla "+" iniciamos un servicio.
- Con la tecla Q salimos.
- Para deshabilitar un servicio al inicio, generalmente hay que desmarcar las casillas de las columnas 2 y 5 correspondientes al servicio. Para volver a habilitarlo, marca nuevamente estas casillas.

Arrancar Tomcat como servicio

1. Crear un script en /etc/init.d para automatizar tomcat

# cd /etc/init.d
# vi tomcat

2. Digite lo siguiente:
#!/bin/bash
#
# Iniciación automatica de TOMCAT6D
#
# chkconfig: 2345 55 25
# description: Demonio de iniciación TOMCAT6D 6.0.29
#
# processname: tomcat6d
# pidfile: /var/run/tomcat6d.pid

export JAVA_HOME=/usr/java/jdk1.6.0_20
export CATALINA_HOME=/usr/local/tomcat
start(){
       echo "Iniciando Tomcat6"
       $CATALINA_HOME/bin/startup.sh
       }

stop() {
       echo "Deteniendo Tomcat6"
       $CATALINA_HOME/bin/shutdown.sh
       }
restart(){
       stop
       start
         }

# See how we were called.
case $1 in
     start)
        start
;;
     stop)
        stop
;;
     restart)
        restart
;;
     *)
echo "Utilice los Parámetros: $0 {start|stop|restart}"
     exit 1
esac
     exit 0


2. Cambiar los permisos, para que se pueda ejecutar


# chmod a+x /etc/init.d/tomcat

3. Agregar este script to servicios de sistema
# chkconfig --add tomcat 
4. Verificar modficaciones (este script utiliza Niveles 2,3 y 4)
# chkconfig --level 234 tomcat on
# chkconfig --list tomcat


5.- Agregamos este scrip como un link simbolico para que se inicie automaticamente.
#ln -s /etc/init.d/tomcat /etc/rc5.d/S71tomcat

El 71 es un numero que uno elige segun para que sepa despues o antes de que proceso quiere que se inicie, logicamente debe ser despues que se haya iniciado mysql echen una mirada a al /etc/init.d
Revisar en la lista que este servicio este utilizando estos Niveles 2, 3 y 4:
tomcat 0:off 1:off 2:on 3:on 4:on 5:off 6:off
6. Probar el script con start/stop
# service tomcat start
# service tomcat stop
A este punto el servicio tomcat se ejecutará automáticamente al iniciar el servidor.



http://demetole.blogspot.com.es/2010/07/iniciar-automaticamente-tomcat-en.html

viernes, 24 de mayo de 2013

Comando para saber la cantidad de memoria RAM de nuestro equipo

Los usuarios conocedores me dirán que existen muchas formas de saber con cuanta memoria RAM cuenta nuestro equipo, pues yo les dejo aquí una forma sencilla que es accediendo al sistema de archivos /proc donde tenemos toda la información del sistema, solo hay que saber donde buscarla, para este caso tecleamos:

$cat /proc/meminfo

(cat muestra en la salida estandar el contenido del archivo meminfo), obtendremos una tabla bastante amplia con mucha información acerca de la memoria de nuestro equipo, pero en el caso de este post solo nos enfocaremos en la memoria RAM total, así que agregamos lo siguiente al comando:

$cat /proc/meminfo | grep MemTotal

obteniendo algo como:

MemTotal: 3917892 kB

En mi caso me indica que tengo 4GB lo cual es correcto. Espero que les saque de algún apuro este pequeño post. Luego analizaremos mas utilidades del sistema /proc.

Asignar memoria a Tomcat

Asignar mas memoria a tomcat

export CATALINA_OPTS="-Xms2048m -Xmx2048m"

Limpiar memoria caché en Ubuntu

Primero en modo super usuario:

sudo su

echo 3 > /proc/sys/vm/drop_caches

jueves, 14 de febrero de 2013

Convirtiendo imágenes VirtualBox a VMWare

Supongamos que tenemos un disco virtual que hemos creado con VirtualBox, en donde ya tenemos nuestro sistema operativo instalado y todas las aplicaciones que necesitamos funcionando perfectamente, pero ahora necesitamos usar esta misma virtual machine, en VMWARE.
La idea es migrar el disco creado con VirutalBox a VMWare, sin perder nada (así no tenemos que reinstalar todo).

Para ello debemos usar la herramienta de VirtualBox llamada ‘VBoxManage’ y otra herramienta del paquete ‘qemu’ para conversion de imagenes.
De ejemplo vamos a usar un archivo llamado ‘debian5-base.vdi’, que es nuestro disco viejo en formato VirtualBox, en donde tenemos instalado un Debian5, y el cuál queremos convertir a Vmware.
Debemos hacer lo siguiente:
1- Convertimos al imagen de VirtualBox a formato Raw usando VBoxManage:
VBoxManage -convertSettingsIgnore internalcommands converttoraw debian5-base.vdi debian5-base.raw
Esto va a mostrar algo como lo siguiente:
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
Converting image "debian5-base.vdi" with size 3959422976 bytes (3776MB) to raw...
El proceso, dependiendo del tamaño del disco-archivo que estamos convirtiendo, puede tardar varios minutos y nos dará como resultado un archivo en formato Raw.
2- Una vez que termina, convertimos el archivo en formato raw que acabamos de generar a formato Vmware, usando la herramienta de qemu:
qemu-img convert -O vmdk debian5-base.raw debian5-base.vmdk
Cuando termina, ya podemos borrar el archivo debian5-base.raw
3- Ya tenemos el disco en formato Vmware, ahora lo que tenemos que hacer es:
- Ir a Vmware y generar una nueva virtual machine.
- Decirle que ‘no queremos definir un disco’ al momento de configurar la VM, que lo haremos despues.
- Definir toda config de la VM lo mas parecido posible a la anterior
- Agregar el disco que hemos convertido (debian5-base.vmdk) a la nueva VM manualmente.
- Decirle a Vmware que NO QUEREMOS convertir el disco al nuevo formato!.
Eso es todo!
Por supuesto, esto solo convierte ‘el disco’ virtual, por lo tanto, al reiniciar cada virtual-machine, corriendo en el nuevo entorno, deberá reconocer cada componente nuevo (antes eran todos provistos por el virtualbox y ahora por vmware, así que deberías instalar la vmware tools en cada guest-os, instalar drivers si la VM es un Windows, etc).

Convertir imagen VirtualBox .vdi a Qemu .raw

Me es mas sencillo montar las imágenes de QEMU que las de VirtualBox. Pero no me fue intuitivo como convertir una imagen VirtualBox .vdi en una imagen RAW.

En la mayoría de los blogs y tutoriales hablan de utilizar un binario llamada vditool, el problema es que aparentemente esta herramienta ya no esta soportada por VirtualBox.

Finalmente encontré como convertir la imagen en esta wiki http://en.wikibooks.org/wiki/QEMU/Images#Exchanging_images_with_VirtualBox.

Se utiliza el comando VboxManage

VBoxManage internalcommands converttoraw ubuntu.vdi ubuntu.raw


Ahora ya puedo montar mi imagen

mount -o loop,offset=32256 ubuntu.raw /mnt/diskimage/


y también iniciarla con QEMU
qemu -m 512 -hda ubuntu.raw -boot c

miércoles, 13 de febrero de 2013

Inslación de Webmin para Ubuntu

Aquí dejo un par de enlaces para la instalación de webmin en Ubuntu.
  1. secretengineer.com
  2. instalar-webmin-en-ubuntu-paso-a-pasoç

Si una vez instalado el webmin no podemos acceder a él, como a mi me ha pasado la solución es la siguiente; abrimos un terminal:

cd /usr/share/webmin
sudo perl changepass.pl /etc/webmin root newpass1

Resetear password del mysql

Para resetear la password desde el terminal deberemos de hacer lo siguiente:

  1. Parar el MySQL Server.
    sudo /etc/init.d/mysql stop

  2. Iniciar la configuración del mysqld.
    sudo mysqld --skip-grant-tables &

  3. Logearse en el MySQL como root.
    mysql -u root mysql

  4. Cambiar el password.
    UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; 
    FLUSH PRIVILEGES; exit;

Webmin para Ubuntu

Webmin es una herramienta de configuración de sistemas accesible vía web para OpenSolaris, GNU/Linux y otros sistemas Unix. Con él se pueden configurar aspectos internos de muchos sistemas operativos, como usuarios, cuotas de espacio, servicios, archivos de configuración, apagado del equipo, etcétera, así como modificar y controlar muchas aplicaciones libres, como el servidor web Apache, PHP, MySQL, DNS, Samba, DHCP, entre otros.
Webmin está escrito en Perl, versión 5, ejecutándose como su propio proceso y servidor web. Por defecto se comunica mediante TCP a través del puerto 10000, y puede ser configurado para usar SSL si OpenSSL está instalado con módulos de Perl adicionales requeridos.
Está construido a partir de módulos, los cuales tienen una interfaz a los archivos de configuración y el servidor Webmin. Esto hace fácil la adición de nuevas funcionalidades sin mucho esfuerzo. Debido al diseño modular de Webmin, es posible para cualquier interesado escribir extensiones para configuración de escritorio.
Webmin también permite controlar varias máquinas a través de una interfaz simple, o iniciar sesión en otros servidores webmin de la misma subred o red de área local.
Codificado por el australiano Jamie Cameron, Webmin está liberado bajo Licencia BSD. Existe también Usermin que es la versión reducida del Webmin.