How to install a LAMP environment in a Ubuntu Server 13.04 in one line

Andy, Apache WarriorAnd in this case with the ‘P’ I am referring to PHP and not to Perl.

There are a lot of options (this is Linux), first one is using the tasksel tool.

For example, you can use tasksel to see the list of available tasks to install.

jtome@ubuntu:~$ sudo tasksel --list
i server        Basic Ubuntu server
i openssh-server        OpenSSH server
u dns-server    DNS server
u lamp-server   LAMP server
u mail-server   Mail server
u postgresql-server     PostgreSQL database
u print-server  Print server
u samba-server  Samba file server
u tomcat-server Tomcat Java server
u cloud-image   Ubuntu Cloud Image (instance)
u virt-host     Virtual Machine host
u ubuntustudio-graphics 2D/3D creation and editing suite
u ubuntustudio-audio    Audio recording and editing suite
u edubuntu-desktop-gnome        Edubuntu desktop
u kubuntu-active        Kubuntu Active
u kubuntu-desktop       Kubuntu desktop
u kubuntu-full  Kubuntu full
u ubuntustudio-font-meta        Large selection of font packages
u lubuntu-desktop       Lubuntu Desktop
u lubuntu-core  Lubuntu minimal installation
u mythbuntu-desktop     Mythbuntu additional roles
u mythbuntu-frontend    Mythbuntu frontend
u mythbuntu-backend-master      Mythbuntu master backend
u mythbuntu-backend-slave       Mythbuntu slave backend
u ubuntustudio-photography      Photograph touchup and editing suite
u ubuntustudio-publishing       Publishing applications
u ubuntu-desktop        Ubuntu desktop
u ubuntu-usb    Ubuntu desktop USB
u ubuntu-touch  Ubuntu touch
u ubuntustudio-video    Video creation and editing suite
u xubuntu-desktop       Xubuntu desktop
u edubuntu-dvd-live     Edubuntu live DVD
u kubuntu-active-live   Kubuntu Active Remix live CD
u kubuntu-live  Kubuntu live CD
u kubuntu-dvd-live      Kubuntu live DVD
u lubuntu-live  Lubuntu live CD
u ubuntustudio-dvd-live Ubuntu Studio live DVD
u ubuntu-live   Ubuntu live CD
u ubuntu-usb-live       Ubuntu live USB
u xubuntu-live  Xubuntu live CD
u manual        Manual package selection

As you can see there are two of them already installed: Basic Ubuntu server and OpenSSH server. And a lot more that you can install in a single line.

For example to install a complete LAMP server you could execute the following command

jtome@ubuntu:~$ sudo tasksel install lamp-server
The following NEW packages will be installed:
  apache2 apache2-mpm-worker{a} apache2-utils{a} apache2.2-bin{a} apache2.2-common{a} 
  libaio1{a} libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} 
  libdbd-mysql-perl{a} libdbi-perl{a} libhtml-template-perl{a} libmysqlclient18{a} 
  libnet-daemon-perl{a} libplrpc-perl{a} libterm-readkey-perl{a} mysql-client 
  mysql-client-5.5{a} mysql-client-core-5.5{a} mysql-common{a} mysql-server 
  mysql-server-5.5{a} mysql-server-core-5.5{a} php5-cli php5-common{a} php5-mysql ssl-cert{a} 
0 packages upgraded, 28 newly installed, 0 to remove and 0 not upgraded.
Need to get 33.2 MB of archives. After unpacking 111 MB will be used.
Do you want to continue? [Y/n/?]

This command installs a complete LAMP environment with PHP5 and Perl. Good, but not good enough for me. I don’t need Perl and I prefer not to install it.

Therefore I am going to use aptitude to install only the packages I need

jtome@ubuntu:~$ sudo aptitude install apache2 apache2-mpm-prefork mysql-client mysql-server php5-cli php5-mysql libapache2-mod-php5
The following NEW packages will be installed:
  apache2 apache2-mpm-prefork apache2-utils{a} apache2.2-bin{a} apache2.2-common{a} libaio1{a} 
  libapache2-mod-php5 libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} 
  libdbd-mysql-perl{a} libdbi-perl{a} libmysqlclient18{a} libnet-daemon-perl{a} 
  libplrpc-perl{a} libterm-readkey-perl{a} mysql-client mysql-client-5.5{a} 
  mysql-client-core-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} 
  mysql-server-core-5.5{a} php5-cli php5-common{a} php5-mysql ssl-cert{a} 
0 packages upgraded, 28 newly installed, 0 to remove and 0 not upgraded.
Need to get 35.8 MB of archives. After unpacking 119 MB will be used.
Do you want to continue? [Y/n/?]

After typing ‘y’ in order to continue and after waiting some seconds in order all the packages been downloaded and installed you will have a fully functional LAMP environment in order to work with it (the only question you will have to answer is the password for the root user of the MySQL server).

References

I have seen the info about the tasksel command in this blog post.

How to expand online a LVM partition in Ubuntu

This is something that I have to do several times in the last months. It is a really simple procedure but I always have to look for it in Google because I never remember the exact steps.

Context

  • An Ubuntu 11.04 server with LVM installed and configured.
  • A new hard disk added to the server (usually it is a virtual server and a virtual hard disk). For this tip I am going to assume that the new disk is /dev/sdb
  • I want to expand the root partition adding the space in the new disk.

Procedure

Create a new Physical Volume using the recently added disk…

root@server:~# pvcreate /dev/sdb

It is not necessary to create a partition table in the new disk.

Now we have to add to the Volume Group the new Physical Volume…

root@server:~# vgdisplay
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 17.75 GiB
PE Size 4.00 MiB
Total PE 4545
Alloc PE / Size 4545 / 17.75 GiB
Free PE / Size 0 / 0
VG UUID D9jl8R-zqxe-7wwn-3Co2-dUhu-Dnwr-aNbKpv
root@server:~# vgextend vg01 /dev/sdb

Next step is expand the Logical Volume

root@server:~# lvextend -l+2567 /dev/vg01/root

We could use the lvdisplay command to find the exact name of the Logical Volume and the total number of free Physical Extends (PE).

Last step is to resize the file system in the disk to use all the space. We could do this online without need to unmount the file system.

root@server:~# resize2fs /dev/vg01/root

You can find this procedure in multiples places in Internet, the last one I have used is this.

Ubuntu 8.10 y los efectos de escritorio. Quebraderos de cabeza.

Desde que actualicé a la versión 8.10 Intrepid Ibex de Ubuntu he venido disfrutando de los efectos de escritorio de Compiz algo que siempre me había dado bastantes quebraderos de cabeza en todos los portátiles que han pasado por mis manos en este periodo (HP y Dell, distintos modelos).

Una de las cosas que más he apreciado de esta versión 8.10 es la enorme mejora en la gestión de configuraciones con múltiples pantallas. Cuando estoy en la oficina conecto el portátil, que tiene una pantalla que admite una resolución de 1280×600 a un monitor externo de 17 pulgadas que admite una resolución de 1280×1024. Nunca antes de la versión 8.10 había conseguido hacer funcionar esta configuración y ahora lo he podido hacer utilizando la herramienta de “Configuración de los ajustes de la pantalla” que simplemente hay que añadir a alguno de los paneles.

Total, que estoy muy contento con mi actual configuración. Pero el problema es que, de vez en cuando, ocurre algo que estropea esta idílica situación. No sé qué puede ser, pero creo que no está relacionado con ninguna actualización de software. El caso es que ya me ha pasado más de una vez que, de repente, pierdo los efectos de escritorio y al intentar volver a activarlos Ubuntu me informa de que no es posible hacerlo.

Estaba acostumbrado, ante problemas relacionados con la configuración de las X, a acudir a la edición del fichero xorg.conf para revisar a mano la configuración. Pero en la actual versión de Ubuntu/Xorg este fichero apenas contiene lo siguiente:

Section "Device"
Identifier "Configured Video Device"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Virtual 2560 1031
EndSubSection
EndSection

Como veis, apenas nada que tocar. Lo único que he podido comprobar es que es la inclusión de la subsección…

SubSection "Display"
Virtual 2560 1031
EndSubSection

…la que provoca que Ubuntu empiece a decirme que no puede activar los efectos de escritorio. Pero el caso es que es necesaria para soportar el escritorio virtual que forman los dos monitores conectados.

Hoy, después de que esto me haya pasado varias veces y después de haber buscado por Internet toda información relacionada (mucha gente con el mismo problema) he encontrado esta página en la que se describe una sencilla y curiosa solución.

La solución consiste en añadir (o crear el fichero, ya que en mi caso no existía) al fichero ~/.config/compiz/compiz-manager una línea con el contenido SKIP_CHECKS=yes.

Mano de santo, ha sido crear el fichero con dicha línea, reiniciar las X y de vuelta los efectos con ambos monitores conectados a mi Dell Latitude E5400.

El Asus EeePC es más barato con MS Windows que con Linux

Leo en APC Magazine que Asus está a punto de lanzar en el EEPC 900 con Microsoft Windows XP y la curiosa noticia es que este modelo será apreciablemente más barato con Microsoft Windows XP que con Linux. Concretamente la versión con el sistema operativo de Microsoft costara en Australia $599,00 mientras que la versión con Linux costará $649,00.

Es verdad que las especificaciones hardware cambian un poco. Según Asus para compensar el coste de las licencias del sistema operativo de Microsoft y del Microsoft Works que lleva también incluido, la versión con MS Windows XP lleva un disco de solo 12 GB frente a los 20 GB de la versión con Linux.

Por otro lado la versión con Windows XP se va a vender en “distribuidores seleccionados” mientras que la versión con Linux se venderá en “computer resellers“.

Todo indica que Asus, a pesar del rotundo éxito de ventas del EeePC con Linux, está en línea de volver al redil de los chicos de Redmon. Microsoft ha movido sus hilos y está peleando como gato panza arriba para que el nuevo segmento de los ultraportátiles de bajo coste no se le vaya de las manos.

Maligno es malo y poco cariñoso con Ubuntu

Maligno en su blog “Un informático en el lado del mal” está publicando una interesante serie de artículos en los que analiza la usabilidad (más bien la falta de ella) de Ubuntu. Maligno es un experto en seguridad informática y un convencido/activista del lado del mal (Microsoft Windows) frente al lado del bien (Linux) como el mismo los identifica.

Maligno aceptó el reto de instalar en su ordenador y usar exclusivamente durante 3 meses una distribución Linux, Ubuntu ha sido la elegida. El reto, que más que un reto esta resultando una muy dura penitencia para Maligno que le está reconcentrando la mala leche y exacerbando la ironía, se está concretando en los análisis que va realizando, sobre todo de aspectos de usabilidad, de Ubuntu.

No es una sorpresa para nadie que su impresión no pueda ser más negativa. Y, os lo dice alguien que trabaja en una consultora (ya sabéis 85% PowerPoint, 10% Word, 5% creatividad :-)) y que desde Septiembre de 2006 usa exclusivamente Ubuntu, hay que reconocer que hasta ahora todos sus comentarios/críticas están totalmente justificadas.

También hay que decir que ha empezado (como por otra parte empezaría cualquier usuario) topándose con la gestión de la Wifi que es, con diferencia, uno de los aspectos peor resueltos en Ubuntu. El puñetero Network Manager sigue siendo una castaña y una verdadera pesadilla para usuarios no avezados y eso si tienes la suerte de que tu tarjeta Wifi esté soportada directamente, como tengas que andar instalando drivers propietarios y/o firmware olvídate.

Ubuntu, las distribuciones de Linux en general, tienen una peor usabilidad que Microsoft Windows Vista, incluso que Microsoft Windows XP. Creo que cualquiera que realice un análisis objetivo llegará a la misma conclusión.

Por otro lado Maligno es claramente un Power User de Microsoft Windows y un Newbie en el mundo Linux. Es lógico que le suba la tensión cuando no encuentra a la primera esa funcionalidad a la que está tan acostumbrado (después de muchos años de uso) y que en Linux/Ubuntu está en otro sitio o sigue otra filosofía. Ya sabemos, cuando tienes en la mano un martillo todo lo que ves son clavos. Su estado de animo sería muy distinto si tuviese el mismo nivel de conocimientos en Linux que el que tiene en los entornos de Microsoft.

Mi opinión al respecto es que yo nunca haría una comparación “plana” entre los sistemas operativos de Microsoft y las distribuciones de Linux. Los sistemas operativos de Microsoft son productos comerciales mientras que las distribuciones Linux son (en su mayoría, no todas) proyectos colectivos sin animo de lucro. Son filosofías distintas, con objetivos distintos y, por lo tanto, con una evolución también necesariamente muy distinta.

Me diréis – “Pero al fin y al cabo estamos hablando de dos sistemas operativos” – y yo os contestaré que ahí está el error. Una distribución de Linux no es un sistema operativo, el sistema operativo es Linux. Una distribución es un sistema operativo, Linux, empaquetado e integrado con miles de otros programas: entornos gráficos (Xfce, GNOME, KDE, etc.), aplicaciones (OpenOffice), etc..

La usabilidad es claramente un aspecto en el que cualquier distribución de Linux, por su naturaleza, está muy por detras de un producto comercial, maduro (no siempre), coherente (no siempre) y cohesionado (no siempre) como son los sistemas operativos de Microsoft.

Pero hay otros aspectos en los que hasta Maligno tendría que reconocer que la balanza se inclina hacia el lado de las  distribuciones Linux. El primero la libertad, fundamentalmente la complejidad de uso de las distribuciones Linux está ligada al altísimo grado de libertad que confieren al usuario. En una distribución Linux un usuario puede hacer prácticamente todo lo que quiera, tanto es así que hasta puede modificar el código fuente de cualquier elemento de la distribución. Cada operación se puede hacer de decenas de formas distintas. Eso es libertad de elección, pero tener que elegir entre 10 opciones es más difícil que no tener más que una opción.

El segundo aspecto en el que creo que todos estaréis de acuerdo conmigo en que las distribuciones Linux superan a los sistemas operativos de Microsoft es el de la funcionalidad. Cuando instalas un sistema operativo de Microsoft en un ordenador obtienes un sistema operativo y un conjunto (pequeño) de utilidades muy básicas: el Notepad, el Writer (¿se llama así?), una calculadora, el Paint; vamos poca cosa. Si a la ecuación añades el Microsoft Office la cosa mejora un poco: presentaciones, un editor de texto decente, una potente hoja de cálculo y alguna otra cosilla. Si comparamos la funcionalidad obtenida, incluso contanto con el Microsoft Office, con la que proporciona cualquier distribución Linux objetivamente hay que concluir que la plataforma de Microsoft (sistema operativo más paquete ofimatico) es un juguete. En Linux dispones de miles, literalmente miles, de aplicaciones disponibles (y gratuitas) y a la distancia de un click de ratón de tu ordenador, para cubrir practicamente cualquier funcionalidad que se te pueda ocurrir: ofimática, matemáticas, diseño gráfico, multimedia, astronomía, genealogía, ciencia, programación, electrónica, juegos. Haced la prueba, pensad en algo para lo que os vendría bien un programa y después buscad si hay alguna aplicación disponible para Linux que cubra vuestra necesidad, os apuesto a que la encontráis.

Resumiendo, os recomiendo que leáis los artículos de Maligno.

¿Y a que viene todo este rollo?. A que iba a ver si se podía hacer una cosa con GParted y al intentar ejecutar sin privilegios me encontré con la siguiente ventana de diálogo.

La verdad, me hizo muchísima gracia.

Y es que Maligno tiene razón, los sistemas operativos de Microsoft están construido por profesionales especializados que tienen como objetivo producir un producto comercial de excelente calidad y serio que les permita conservar la confianza de las empresas. Linux está construido por personas, profesionales también, muchos de ellos excelentes profesionales además; pero personas al fin y al cabo que tienen la libertad y la capacidad de dar un toque más humano al sistema operativo, que no producto.

Al fin y al cabo Ubuntu es una filosofía o ética basada en el concepto de humanidad como agrupación de personas que dependen unas de otras. Personas, personas, personas.