Instalación ResourceSpace en máquina virtual.
En este tutorial vamos a aprender cómo instalar un entorno de trabajo a base de máquinas virtuales basado en dos componentes: por un lado, el gestor de máquinas virtuales de Oracle Virtual Box y por otro lado, Vagrant.Qué es Virtual Box
Oracle VM VirtualBox (conocido generalmente como VirtualBox) es un software de virtualización para arquitecturas x86/amd64. Actualmente está desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar/virtualizar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual. Esta funcionalidad resulta muy interesante si eres desarrollador de aplicaciones y necesitas disponer de varios entornos de desarrollo/pruebas, o si eres un fanático del software libre y te gusta probar distintas plataformas sin “ensuciar” tu sistema operativo anfitrión en tu apreciada estación de trabajo. En cuanto a la emulación de hardware, los discos duros de los sistemas invitados son almacenados en los sistemas anfitriones como archivos individuales en un contenedor llamado Virtual Disk Image, incompatible con los demás softwares de virtualización. Otra de las funciones que presenta es la de montar imágenes ISO como unidades virtuales ópticas de CD o DVD, o como un disquete. Tiene un paquete de controladores que permiten aceleración en 3D, pantalla completa, hasta 4 placas PCI Ethernet (8 si se utiliza la línea de comandos para configurarlas), integración con teclado y ratón. Desde la versión 6.0, VirtualBox ya no es compatible con sistemas operativos anfitriones de 32-bits, pero si se podrá crear máquinas virtuales tanto de 32-bits como de 64-bits. Las versiones de la rama 5.2.x seguirán teniendo soporte hasta julio de 2020 y, por consiguiente, será compatible con sistemas operativos de 32-bits y 64-bits en anfitrión e invitado.¿Que es Vagrant?
Vagrant es una herramienta para la creación y configuración de entornos de desarrollo virtualizados. Originalmente se desarrolló para VirtualBox y sistemas de configuración tales como Chef, Salt y Puppet. Sin embargo desde la versión 1.1 Vagrant es capaz de trabajar con múltiples proveedores, como VMware, Amazon EC2, LXC, DigitalOcean, etc.. Aunque Vagrant se ha desarrollado en Ruby, se puede usar en multitud de proyectos escritos en otros lenguajes, tales como PHP, Python, Java, C# y JavaScript. Por decirlo de otra manera, Vagrant es como una consola de línea de comando para la creación y gestión de máquinas virtuales que nos va a permitir instalar, de una forma muy sencilla, los distintos entornos de sistema operativo que necesitaremos en nuestros tutoriales y, fácilmente, podremos hacer múltiples instalaciones o destruir la que nos convenga con el objeto de hacer muchas pruebas.C:\Users\jcalonso>Una vez ahí, vamos a crear una nueva carpeta para instalar nuestro sistema de gestión de contenidos. Esta carpeta nueva contendrá los archivos de configuración de la máquina virtual de Vagrant.
C:\Users\jcalonso>mkdir zonadamdespués pulsamos la tecla enter y aparecerá una nueva línea de consola en la que, para situarnos dentro de esa carpeta, tecleamos lo siguiente:
C:\Users\jcalonso>cd zonadamDespués de pulsar enter estaremos dentro de la carpeta zonadam y ahora el “prompt” de consola nos mostrará la ruta “C:\Users\jcalonso\zonadam” para indicarnos en qué directorio nos encontramos.
C:\Users\jcalonso\zonadam>Aquí vamos a empezar a introducir comandos de Vagrant. El primer comando que vamos a utilizar es el comando que inicializa la máquina virtual que deseamos crear. Vagrant está basado en lo que llamamos Box, y para poder localizar todas las Vagrant Box que existen debemos ir al repositorio de Vagrant en el que podremos buscar. Yo voy a utilizar una máquina virtual basada en Ubuntu 16.04, la última versión disponible para entornos de 32 Bits, que sera una buena base para conocer la instalación de nuestro gestor de contenidos. En otros tutoriales veremos esta misma instalación sobre Centos 7 y así podremos comentar algunos aspectos diferentes en cuanto a seguridad. La caja “Box” o máquina virtual sobre la que vamos a instalar se llama “ubuntu/trusty64” así que procedemos a inicializar con el siguiente comando:
C:\Users\calonso\zonadam>vagrant init ubuntu/xenial64y recibiremos la siguiente respuesta:
C:\Users\jcalonso\zonadam>vagrant init ubuntu/xenial64 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.Si hacemos un listado de esa carpeta con el comando dir, obtendremos lo siguiente:
C:\Users\jcalonso\zonadam>dir El volumen de la unidad C es Windows El número de serie del volumen es: D6F4-1998 Directorio de C:\Users\jcalonso\zonadam 15/03/2019 10:00 <DIR> . 15/03/2019 10:00 <DIR> .. 15/03/2019 10:00 <DIR> .vagrant 15/03/2019 15:02 321 Vagrantfile 1 archivos 321 bytes 3 dirs 92.629.192.704 bytes libres C:\Users\jcalonso\zonadam>Y si editamos este fichero Vagrantfile (aquí recomiendo encarecidamente instalar un editor de texto tipo Notepad++ o similar) veremos el contenido del fichero de configuración de la máquina virtual:
# -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://vagrantcloud.com/search. config.vm.box = "ubuntu/trusty6" # Disable automatic box update checking. If you disable this, then # boxes will only be checked for updates when the user runs # `vagrant box outdated`. This is not recommended. # config.vm.box_check_update = false # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. # NOTE: This will enable public access to the opened port # config.vm.network "forwarded_port", guest: 80, host: 8080 # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine and only allow access # via 127.0.0.1 to disable public access # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" # Create a private network, which allows host-only access to the machine # using a specific IP. # config.vm.network "private_network", ip: "192.168.33.10" # Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on # your network. # config.vm.network "public_network" # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data" # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # # config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: # vb.memory = "1024" # end # # View the documentation for the provider you are using for more # information on available options. # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # documentation for more information about their specific syntax and use. # config.vm.provision "shell", inline: <<-SHELL # apt-get update # apt-get install -y apache2 # SHELL endEn este fichero podemos apreciar la cantidad de comentarios (techo en verde precedido del símbolo #) que nos indican las opciones de configuración de esta máquina virtual. Realmente, lo único que necesita Vagrant para crear una, es la definición de la imagen en la que va a basar la máquina virtual, en esta caso en la linea config.vm.box = «ubuntu/trusty6» dentro del bucle do que comienza en Vagrant.configure(«2») do |config| y que termina en end. Por lo que este fichero sería perfectamente válido escrito de esta manera, que sería la versión del fichero anterior sin comentarios:
Vagrant.configure(2) do |config| config.vm.box = "ubuntu/xenial64" endY si vamos a la consola de comando y escribimos el comando para encender nuestra máquina virtual, que sería el comando “vagrant up”,
C:\Users\jcalonso\zonadam>vagrant up
C:\Users\jcalonso\zonadam>vagrant box add ubuntu/xenial64 --insecure
C:\Users\jcalonso\zonadam>vagrant box add ubuntu/xenial64 --insecure ==> box: Loading metadata for box 'ubuntu/xenial64' box: URL: https://vagrantcloud.com/ubuntu/xenial64 ==> box: Adding box 'ubuntu/xenial64' (v20190313.0.0) for provider: virtualbox box: Downloading: https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20190313.0.0/providers/virtualbox.box box: Download redirected to host: cloud-images.ubuntu.com box: Progress: 100% (Rate: 27.4M/s, Estimated time remaining: --:--:--) ==> box: Successfully added box 'ubuntu/xenial64' (v20190313.0.0) for 'virtualbox'!Comprobamos que al ejecutar este comando, Vagrant ha descargado la máquina virtual y está lista para ejecutarla, así que volvemos a teclear…
C:\Users\calonso\zonadam>vagrant upy debemos esperar un resultado similar a este:
C:\Users\jcalonso\zonadam>vagrant up Bringing machine 'zonadam' up with 'virtualbox' provider... ==> zonadam: Importing base box 'ubuntu/xenial64'... ==> zonadam: Matching MAC address for NAT networking... ==> zonadam: Checking if box 'ubuntu/xenial64' version '20190313.0.0' is up to date... ==> zonadam: There was a problem while downloading the metadata for your box ==> zonadam: to check for updates. This is not an error, since it is usually due ==> zonadam: to temporary network problems. This is just a warning. The problem ==> zonadam: encountered was: ==> zonadam: ==> zonadam: SSL certificate problem: self signed certificate in certificate chain ==> zonadam: ==> zonadam: If you want to check for box updates, verify your network connection ==> zonadam: is valid and try again. ==> zonadam: Setting the name of the VM: zonadam_zonadam_1552899793523_17133 ==> zonadam: Clearing any previously set network interfaces... ==> zonadam: Preparing network interfaces based on configuration... zonadam: Adapter 1: nat zonadam: Adapter 2: hostonly zonadam: Adapter 3: intnet ==> zonadam: Forwarding ports... zonadam: 22 (guest) => 2222 (host) (adapter 1) ==> zonadam: Running 'pre-boot' VM customizations... ==> zonadam: Booting VM... ==> zonadam: Waiting for machine to boot. This may take a few minutes... zonadam: SSH address: 127.0.0.1:2222 zonadam: SSH username: vagrant zonadam: SSH auth method: private key zonadam: Warning: Connection reset. Retrying... zonadam: Warning: Connection aborted. Retrying... zonadam: zonadam: Vagrant insecure key detected. Vagrant will automatically replace zonadam: this with a newly generated keypair for better security. zonadam: zonadam: Inserting generated public key within guest... zonadam: Removing insecure key from the guest if it's present... zonadam: Key inserted! Disconnecting and reconnecting using new SSH key... ==> zonadam: Machine booted and ready! ==> zonadam: Checking for guest additions in VM... zonadam: The guest additions on this VM do not match the installed version of zonadam: VirtualBox! In most cases this is fine, but in rare cases it can zonadam: prevent things such as shared folders from working properly. If you see zonadam: shared folder errors, please make sure the guest additions within the zonadam: virtual machine match the version of VirtualBox you have installed on zonadam: your host and reload your VM. zonadam: zonadam: Guest Additions Version: 5.1.38 zonadam: VirtualBox Version: 6.0 ==> zonadam: Setting hostname... ==> zonadam: Configuring and enabling network interfaces... ==> zonadam: Mounting shared folders... zonadam: /vagrant => C:/Users/jcalonso/zonadam C:\Users\jcalonso\zonadam>En primer lugar, vemos como Vagrant descarga la máquina virtual y como se fija una dirección IP para la conexión con la máquina virtual mediante protocolo SSH (secure shell), que mantendrá una comunicación encriptada entre nuestra computadora (anfitrión) y la máquina virtual (huésped). También nos indica la línea de comando, que en la ruta de la máquina virtual /vagrant encontraremos los ficheros que pongamos en la ruta c:\Users\jcalonso\zonadam, ya que anfitrión y huésped estarán compartiendo esta ubicación. Antes de seguir avanzando, nos interesa configurar una máquina virtual, con más parámetros de inicio: no solo el tipo de sistema operativo que usaremos, también nos interesa determinar el nombre que le vamos a dar al servidor y algún otro parámetro, como por ejemplo las direcciones IP de este servidor virtual. Esta va a ser la plataforma en la que vamos a instalar nuestro sistema de gestión de contenidos, por lo tanto, vamos a necesitar instalar un servidor de aplicación Web como es Apache, una base de datos MySql y un entorno PHP para que se ejecute nuestra aplicación ResourceSpace. Esto implica que la máquina virtual debe poder conectarse a internet para descargarse las aplicaciones que debemos instalar. Por otro lado, necesitamos poder conectar a esta máquina virtual desde nuestra computadora, o desde otras de la misma red, para poder navegar por el gestor de contenido. Para esto, vamos a cambiar el contenido del fichero de configuración de la siguiente manera:
Vagrant.configure(2) do |config| config.vm.define "zonadam" do |server01| server01.vm.box = "ubuntu/xenial64" server01.vm.hostname = "zonadam" server01.vm.network :private_network, ip: "10.11.12.50" server01.vm.network :private_network, ip: "192.168.12.50", virtualbox__intnet: true end endEn las líneas superiores vemos un segundo bucle dentro del primero. Definimos la configuración “zonadam” para el elemento server01. A partir de ahora referenciaremos cada parámetro de configuración con server01 en vez de config: por ejemplo, la máquina virtual que antes era config.vm.box = «ubuntu/xenial64» ahora seria config.vm.define «zonadam» do |server01| Vamos a darle un nombre al servidor, en nuestro caso “zonadam” server01.vm.hostname = «zonadam» y vamos a configurar una ip para que la máquina virtual se pueda conectar a internet server01.vm.network :private_network, ip: «192.168.12.50», virtualbox__intnet: true y por otro lado, configuramos una IP para conectarnos con nuestra máquina virtual en la red interna server01.vm.network :private_network, ip: «10.11.12.50» Antes de poder levantar la máquina virtual con esta configuración, vamos a eliminar o destruir la que habíamos levantado anteriormente. Lo hacemos con el siguiente comando:
C:\Users\jcalonso\zonadam>vagrant destroy default: Are you sure you want to destroy the 'default' VM? [y/N]Contestamos con un “y” y pulsamos enter, para recibir la siguiente respuesta:
==> default: Forcing shutdown of VM... ==> default: Destroying VM and associated drives...Después de ésto ya podemos levantar la máquina virtual con la nueva configuración:
C:\Users\jcalonso\zonadam>vagrant upY obtendremos la siguiente respuesta:
C:\Users\jcalonso\zonadam>vagrant up Bringing machine 'zonadam' up with 'virtualbox' provider... ==> zonadam: Importing base box 'ubuntu/xenial64'... ==> zonadam: Matching MAC address for NAT networking... ==> zonadam: Checking if box 'ubuntu/xenial64' version '20190313.0.0' is up to date... ==> zonadam: There was a problem while downloading the metadata for your box ==> zonadam: to check for updates. This is not an error, since it is usually due ==> zonadam: to temporary network problems. This is just a warning. The problem ==> zonadam: encountered was: ==> zonadam: ==> zonadam: SSL certificate problem: self signed certificate in certificate chain ==> zonadam: ==> zonadam: If you want to check for box updates, verify your network connection ==> zonadam: is valid and try again. ==> zonadam: Setting the name of the VM: zonadam_zonadam_1552899793523_17133 ==> zonadam: Clearing any previously set network interfaces... ==> zonadam: Preparing network interfaces based on configuration... zonadam: Adapter 1: nat zonadam: Adapter 2: hostonly zonadam: Adapter 3: intnet ==> zonadam: Forwarding ports... zonadam: 22 (guest) => 2222 (host) (adapter 1) ==> zonadam: Running 'pre-boot' VM customizations... ==> zonadam: Booting VM... ==> zonadam: Waiting for machine to boot. This may take a few minutes... zonadam: SSH address: 127.0.0.1:2222 zonadam: SSH username: vagrant zonadam: SSH auth method: private key zonadam: Warning: Connection reset. Retrying... zonadam: Warning: Connection aborted. Retrying... zonadam: zonadam: Vagrant insecure key detected. Vagrant will automatically replace zonadam: this with a newly generated keypair for better security. zonadam: zonadam: Inserting generated public key within guest... zonadam: Removing insecure key from the guest if it's present... zonadam: Key inserted! Disconnecting and reconnecting using new SSH key... ==> zonadam: Machine booted and ready! ==> zonadam: Checking for guest additions in VM... zonadam: The guest additions on this VM do not match the installed version of zonadam: VirtualBox! In most cases this is fine, but in rare cases it can zonadam: prevent things such as shared folders from working properly. If you see zonadam: shared folder errors, please make sure the guest additions within the zonadam: virtual machine match the version of VirtualBox you have installed on zonadam: your host and reload your VM. zonadam: zonadam: Guest Additions Version: 5.1.38 zonadam: VirtualBox Version: 6.0 ==> zonadam: Setting hostname... ==> zonadam: Configuring and enabling network interfaces... ==> zonadam: Mounting shared folders... zonadam: /vagrant => C:/Users/jcalonso/zonadam C:\Users\jcalonso\zonadam>Una vez que hayamos levantado nuestra máquina virtual, vamos a ver qué aspecto tiene esta máquina en nuestro gestor de máquinas virtuales Oracle Virtual Box.
zonadam: 22 (guest) => 2200 (host) (adapter 1) zonadam: SSH address: 127.0.0.1:2200Si pinchamos en la solapa de carpetas compartidas comprobamos…
zonadam: /vagrant => C:/Users/jcalonso/zonadamComo podéis ver, tenemos acceso a todos los parámetros de la máquina virtual, pero vamos a dejar la revisión de todos estos parámetros para otro tutorial de Oracle VirtualBox. Vamos a continuar con la instalación de nuestro gestor de contenidos. Para ello, comprobamos el estado de nuestra máquina virtual con el siguiente comando:
C:\Users\jcalonso\zonadam>vagrant statusAl que Vagrant responderá…
Current machine states: zonadam running (virtualbox) The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`.…indicándonos que la máquina está ejecutándose. Ahora vamos a hacer una conexión con la máquina virtual a través de la consola:
C:\Users\jcalonso\zonadam>vagrant sshy entraremos en la consola de la máquina virtual, que nos informará de la versión de sistema operativo que tiene la maquina virtual y nos ofrece el “promt” de la máquina linux y no el del sistema operativo anfitrión.
C:\Users\jcalonso\zonadam>vagrant ssh Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 0 packages can be updated. 0 updates are security updates. New release '18.04.2 LTS' available. Run 'do-release-upgrade' to upgrade to it.A continuación, comenzaremos a instalar ResourceSpace. Para ello, lo primero que hacemos es actualizar el sistema operativo, ya que la base de la máquina virtual es de la fecha en la que sale la versión y siempre puede haber actualizaciones posteriores:
vagrant@zonadam:~$ sudo apt-get updatey el sistema se actualizará…
vagrant@zonadam:~$ sudo apt-get update Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB] Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB] Get:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB] Get:5 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7,532 kB] Get:6 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [626 kB] Get:7 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [259 kB] Get:8 http://archive.ubuntu.com/ubuntu xenial/universe Translation-en [4,354 kB] Get:9 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [144 kB] Get:10 http://archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [106 kB] Get:11 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [429 kB] Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [925 kB] Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [372 kB] Get:14 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [173 kB] Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [7,616 B] Get:16 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [5,604 B] Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en [2,272 B] Get:18 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [2,676 B] Get:19 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [738 kB] Get:20 http://archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [306 kB] Get:21 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [16.7 kB] Get:22 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8,440 B] Get:23 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7,280 B] Get:24 http://archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [4,456 B] Get:25 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [7,804 B] Get:26 http://archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [4,184 B] Fetched 16.4 MB in 3s (4,540 kB/s) Reading package lists... Done vagrant@zonadam:~$Para que la plataforma de gestión de contenido funcione correctamente y disponga de toda su funcionalidad, debemos instalar una serie de aplicaciones y algunas otras herramientas que nos facilitaran la instalación y la configuración de la gestión de contenido: nano.- es un editor de texto para Linux que facilita la edición de los ficheros de configuración. imagemagick.- una librería de tratamiento de imágenes para transformar las fotografías de nuestro archivo y generar miniaturas de los recursos que gestionamos. apache2.- es el servidor de aplicaciones web que necesitamos para que se vea nuestra aplicación. mysql-server.- es el servidor de base de datos MySQL, que gestionará la base de datos para gestionar nuestros recursos. subversion.- es un repositorio de código y control de versiones que nos permitirá bajar el código fuente de ResourceSpace. Instalamos todas estas aplicaciones con la siguiente línea de comandos:
sudo apt-get install nano imagemagick apache2 mysql-server subversiony empezará el proceso de instalación
vagrant@zonadam:~$ sudo apt-get install nano imagemagick apache2 mysql-server subversion Reading package lists... Done Building dependency tree Reading state information... Done nano is already the newest version (2.5.3-2ubuntu2). The following additional packages will be installed: apache2-bin apache2-data apache2-utils fontconfig fontconfig-config fonts-dejavu-core ghostscript gsfonts hicolor-icon-theme imagemagick-6.q16 imagemagick-common libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libavahi-client3 libavahi-common-data libavahi-common3 libcairo2 libcgi-fast-perl libcgi-pm-perl libcroco3 libcups2 libcupsfilters1 libcupsimage2 libdatrie1 libdjvulibre-text libdjvulibre21 libencode-locale-perl libevent-core-2.0-5 libfcgi-perl libfftw3-double3 libfontconfig1 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgomp1 libgraphite2-3 libgs9 libgs9-common libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libijs-0.35 libilmbase12 libio-html-perl libjbig0 libjbig2dec0 libjpeg-turbo8 libjpeg8 liblcms2-2 liblqr-1-0 libltdl7 liblua5.1-0 liblwp-mediatypes-perl libmagickcore-6.q16-2 libmagickcore-6.q16-2-extra libmagickwand-6.q16-2 libnetpbm10 libopenexr22 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpixman-1-0 librsvg2-2 librsvg2-common libserf-1-1 libsvn1 libthai-data libthai0 libtiff5 libtimedate-perl liburi-perl libwmf0.2-7 libxcb-render0 libxcb-shm0 libxrender1 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7 netpbm poppler-data ssl-cert Suggested packages: www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom ghostscript-x hpijs imagemagick-doc autotrace cups-bsd | lpr | lprng enscript ffmpeg gimp gnuplot grads graphviz hp2xx html2ps libwmf-bin mplayer povray radiance sane-utils texlive-base-bin transfig ufraw-batch xdg-utils cups-common libfftw3-bin libfftw3-dev fonts-droid texlive-lang-cjk libdata-dump-perl libipc-sharedcache-perl liblcms2-utils inkscape librsvg2-bin libwww-perl libwmf0.2-7-gtk mailx tinyca poppler-utils fonts-japanese-mincho | fonts-ipafont-mincho fonts-japanese-gothic | fonts-ipafont-gothic fonts-arphic-ukai fonts-arphic-uming fonts-nanum openssl-blacklist db5.3-util subversion-tools The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils fontconfig fontconfig-config fonts-dejavu-core ghostscript gsfonts hicolor-icon-theme imagemagick imagemagick-6.q16 imagemagick-common libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libavahi-client3 libavahi-common-data libavahi-common3 libcairo2 libcgi-fast-perl libcgi-pm-perl libcroco3 libcups2 libcupsfilters1 libcupsimage2 libdatrie1 libdjvulibre-text libdjvulibre21 libencode-locale-perl libevent-core-2.0-5 libfcgi-perl libfftw3-double3 libfontconfig1 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgomp1 libgraphite2-3 libgs9 libgs9-common libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libijs-0.35 libilmbase12 libio-html-perl libjbig0 libjbig2dec0 libjpeg-turbo8 libjpeg8 liblcms2-2 liblqr-1-0 libltdl7 liblua5.1-0 liblwp-mediatypes-perl libmagickcore-6.q16-2 libmagickcore-6.q16-2-extra libmagickwand-6.q16-2 libnetpbm10 libopenexr22 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpixman-1-0 librsvg2-2 librsvg2-common libserf-1-1 libsvn1 libthai-data libthai0 libtiff5 libtimedate-perl liburi-perl libwmf0.2-7 libxcb-render0 libxcb-shm0 libxrender1 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7 netpbm poppler-data ssl-cert subversion 0 upgraded, 94 newly installed, 0 to remove and 7 not upgraded. Need to get 44.2 MB of archives. After this operation, 254 MB of additional disk space will be used. Do you want to continue? [Y/n] ySe instalarán repositorios y dependencias, y en algunos momentos del proceso, nos preguntará si queremos instalar los módulos, a lo que responderemos con una “y” y pulsaremos «enter». Cuando llegue el momento de instalar MySQL, se nos pedirá que introduzcamos la contraseña del usuario root de la base de datos.
Selecting previously unselected package libapr1:amd64. (Reading database ... 54200 files and directories currently installed.) Preparing to unpack .../libapr1_1.5.2-3_amd64.deb ... Unpacking libapr1:amd64 (1.5.2-3) ... Selecting previously unselected package libaprutil1:amd64. Preparing to unpack .../libaprutil1_1.5.4-1build1_amd64.deb ... Unpacking libaprutil1:amd64 (1.5.4-1build1) ... Selecting previously unselected package libaprutil1-dbd-sqlite3:amd64. Preparing to unpack .../libaprutil1-dbd-sqlite3_1.5.4-1build1_amd64.deb ... Unpacking libaprutil1-dbd-sqlite3:amd64 (1.5.4-1build1) ... Selecting previously unselected package libaprutil1-ldap:amd64. Preparing to unpack .../libaprutil1-ldap_1.5.4-1build1_amd64.deb ... Unpacking libaprutil1-ldap:amd64 (1.5.4-1build1) ... Selecting previously unselected package liblua5.1-0:amd64. Preparing to unpack .../liblua5.1-0_5.1.5-8ubuntu1_amd64.deb ... Unpacking liblua5.1-0:amd64 (5.1.5-8ubuntu1) ...… después de un volcado de consola muy extenso, nos devolverá el «promt»
Processing triggers for libc-bin (2.23-0ubuntu11) ... Processing triggers for systemd (229-4ubuntu21.17) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for ufw (0.35-0ubuntu2) ... Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.32.2-1ubuntu1.5) ... vagrant@zonadam:~$Vamos a hacer una serie de comprobaciones para estar seguros que todo ha ido bien hasta este punto: comprobamos las versiones de las distintas herramientas que hemos instalado y el estado de alguna de ellas. Tecleamos lo siguiente:
vagrant@zonadam:~$ nano --versionEn este caso nos responde con la versión 2.2.6 del editor de texto:
vagrant@zonadam:~$ nano --version GNU nano, version 2.5.3 (C) 1999..2016 Free Software Foundation, Inc. Email: nano@nano-editor.org Web: http://www.nano-editor.org/ Compiled options: --disable-libmagic --disable-wrapping-as-root --enable-utf8 vagrant@zonadam:~$Tecleamos:
vagrant@zonadam:~$ convert -versiony comprobamos que disponemos de la versión 6.8.9 de Septiembre de 2018 de la librería para el tratamiento de imágenes.
vagrant@zonadam:~$ convert -versi-version Version: ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28 http://www.imagemagick.org Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC Features: DPC Modules OpenMP Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlibComprobamos el estado del servidor de aplicaciones web:
service apache2 statusy nos aseguramos que está funcionando:
vagrant@zonadam:~$ service apache2 status Usage: apache2 {start|stop|graceful-stop|restart|reload|force-reload} vagrant@zonadam:~$ service apache2 status ● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Mon 2019-03-18 09:13:15 UTC; 7min ago Docs: man:systemd-sysv-generator(8) Tasks: 55 Memory: 2.4M CPU: 421ms CGroup: /system.slice/apache2.service ├─6178 /usr/sbin/apache2 -k start ├─6181 /usr/sbin/apache2 -k start └─6182 /usr/sbin/apache2 -k start vagrant@zonadam:~$Consultamos la versión del gestor de base de datos MySQL, tecleando:
vagrant@zonadam:~$ mysql --version
vagrant@zonadam:~$ mysql --version mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper vagrant@zonadam:~$y comprobamos el estado del servicio, con el siguiente comando:
vagrant@zonadam:~$ service mysql statusAsí tenemos claro que se está ejecutando.
vagrant@zonadam:~$ service mysql status ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-03-18 09:13:25 UTC; 11min ago Main PID: 6541 (mysqld) Tasks: 28 Memory: 127.2M CPU: 586ms CGroup: /system.slice/mysql.service └─6541 /usr/sbin/mysqldPor último comprobamos la versión del control de versiones subversion:
vagrant@zonadam:~$ svn --version
vagrant@zonadam:~$ svn --version svn, version 1.9.3 (r1718519) compiled Aug 10 2017, 16:59:15 on x86_64-pc-linux-gnu Copyright (C) 2015 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_svn : Module for accessing a repository using the svn network protocol. - with Cyrus SASL authentication - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - using serf 1.3.8 (compiled with 1.3.8) - handles 'http' scheme - handles 'https' scheme The following authentication credential caches are available: * Plaintext cache in /home/vagrant/.subversion * Gnome Keyring * GPG-Agent * KWallet (KDE) vagrant@zonadam:~$Y como todo está en orden, proseguimos con la instalación, en este caso con otro set de herramientas, con el siguiente comando:
vagrant@zonadam:~$ sudo apt-get updatepara actualizar nuestro sistema después de haber instalado las herramientas anteriores.
vagrant@zonadam:~$ sudo apt-get update Hit:1 http://security.ubuntu.com/ubuntu xenial-security InRelease Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease Hit:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease Reading package lists... Done vagrant@zonadam:~$Instalamos antiword:
vagrant@zonadam:~$ sudo apt-get install antiword
vagrant@zonadam:~$ sudo apt-get install antiword Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: antiword 0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. Need to get 127 kB of archives. After this operation, 629 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu xenial/universe amd64 antiword amd64 0.37-11 [127 kB] Fetched 127 kB in 0s (463 kB/s) Selecting previously unselected package antiword. (Reading database ... 58216 files and directories currently installed.) Preparing to unpack .../antiword_0.37-11_amd64.deb ... Unpacking antiword (0.37-11) ... Processing triggers for hicolor-icon-theme (0.15-0ubuntu1.1) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for mime-support (3.59ubuntu1) ... Setting up antiword (0.37-11) ...En la propia respuesta de la consola podemos ver la versión de la librería. Tener en cuenta que estas respuestas de la consola y versiones de las librerías pueden variar dependiendo de cuando estés realizando esta instalación y sobre que sistema operativo se esté realizando la instalación. Instalamos ghostscript:
vagrant@zonadam:~$ sudo apt-get install ghostscript
vagrant@zonadam:~$ sudo apt-get install ghostscript Reading package lists... Done Building dependency tree Reading state information... Done ghostscript is already the newest version (9.26~dfsg+0-0ubuntu0.16.04.7). ghostscript set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. vagrant@zonadam:~$Instalamos XPDF:
vagrant@zonadam:~$ sudo apt-get install xpdfque como podemos ver por la respuesta de la consola, tiene muchas más dependencias que las dos anteriores librerías:
vagrant@zonadam:~$ sudo apt-get install xpdf Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: cups-bsd cups-client cups-common gsfonts-x11 libfontenc1 libice6 libmotif-common libpoppler58 libsm6 libxfont1 libxft2 libxm4 libxmu6 libxt6 poppler-utils x11-common xfonts-encodings xfonts-utils Suggested packages: cups update-inetd xpp smbclient The following NEW packages will be installed: cups-bsd cups-client cups-common gsfonts-x11 libfontenc1 libice6 libmotif-common libpoppler58 libsm6 libxfont1 libxft2 libxm4 libxmu6 libxt6 poppler-utils x11-common xfonts-encodings xfonts-utils xpdf 0 upgraded, 19 newly installed, 0 to remove and 7 not upgraded. Need to get 3,382 kB of archives. After this operation, 11.3 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 x11-common all 1:7.7+13ubuntu3.1 [22.9 kB] Get:2 http://archive.ubuntu.com/ubuntu xenial/main amd64 libice6 amd64 2:1.0.9-1 [39.2 kB] Get:3 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libmotif-common all 2.3.4-10 [11.1 kB] Get:4 http://archive.ubuntu.com/ubuntu xenial/main amd64 libsm6 amd64 2:1.2.2-1 [15.8 kB] Get:5 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxft2 amd64 2.3.2-1 [36.1 kB] Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxt6 amd64 1:1.1.5-0ubuntu1 [160 kB] Get:7 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxmu6 amd64 2:1.1.2-2 [46.0 kB] Get:8 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libxm4 amd64 2.3.4-10 [997 kB] Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 cups-common all 2.1.3-4ubuntu0.7 [134 kB] Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 cups-client amd64 2.1.3-4ubuntu0.7 [133 kB] Get:11 http://archive.ubuntu.com/ubuntu xenial/main amd64 libfontenc1 amd64 1:1.1.3-1 [13.9 kB] Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libxfont1 amd64 1:1.5.1-1ubuntu0.16.04.4 [95.0 kB] Get:13 http://archive.ubuntu.com/ubuntu xenial/main amd64 xfonts-encodings all 1:1.0.4-2 [573 kB] Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 xfonts-utils amd64 1:7.7+3ubuntu0.16.04.2 [74.6 kB] Get:15 http://archive.ubuntu.com/ubuntu xenial/universe amd64 gsfonts-x11 all 0.24 [7,314 B] Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpoppler58 amd64 0.41.0-0ubuntu1.13 [757 kB] Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 poppler-utils amd64 0.41.0-0ubuntu1.13 [131 kB] Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 xpdf amd64 3.04-1ubuntu1.1 [100 kB] Get:19 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 cups-bsd amd64 2.1.3-4ubuntu0.7 [34.8 kB] Fetched 3,382 kB in 3s (1,093 kB/s) Preconfiguring packages ... Selecting previously unselected package x11-common. (Reading database ... 58273 files and directories currently installed.) Preparing to unpack .../x11-common_1%3a7.7+13ubuntu3.1_all.deb ... dpkg-query: no packages found matching nux-tools Unpacking x11-common (1:7.7+13ubuntu3.1) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../libice6_2%3a1.0.9-1_amd64.deb ... Unpacking libice6:amd64 (2:1.0.9-1) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for systemd (229-4ubuntu21.17) ... Processing triggers for ureadahead (0.100.0-19) ... Setting up x11-common (1:7.7+13ubuntu3.1) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Processing triggers for systemd (229-4ubuntu21.17) ... Processing triggers for ureadahead (0.100.0-19) ... Selecting previously unselected package libmotif-common. (Reading database ... 58307 files and directories currently installed.) Preparing to unpack .../libmotif-common_2.3.4-10_all.deb ... Unpacking libmotif-common (2.3.4-10) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../libsm6_2%3a1.2.2-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.2-1) ... Selecting previously unselected package libxft2:amd64. Preparing to unpack .../libxft2_2.3.2-1_amd64.deb ... Unpacking libxft2:amd64 (2.3.2-1) ... Selecting previously unselected package libxt6:amd64. Preparing to unpack .../libxt6_1%3a1.1.5-0ubuntu1_amd64.deb ... Unpacking libxt6:amd64 (1:1.1.5-0ubuntu1) ... Selecting previously unselected package libxmu6:amd64. Preparing to unpack .../libxmu6_2%3a1.1.2-2_amd64.deb ... Unpacking libxmu6:amd64 (2:1.1.2-2) ... Selecting previously unselected package libxm4:amd64. Preparing to unpack .../libxm4_2.3.4-10_amd64.deb ... Unpacking libxm4:amd64 (2.3.4-10) ... Selecting previously unselected package cups-common. Preparing to unpack .../cups-common_2.1.3-4ubuntu0.7_all.deb ... Unpacking cups-common (2.1.3-4ubuntu0.7) ... Selecting previously unselected package cups-client. Preparing to unpack .../cups-client_2.1.3-4ubuntu0.7_amd64.deb ... Unpacking cups-client (2.1.3-4ubuntu0.7) ... Selecting previously unselected package libfontenc1:amd64. Preparing to unpack .../libfontenc1_1%3a1.1.3-1_amd64.deb ... Unpacking libfontenc1:amd64 (1:1.1.3-1) ... Selecting previously unselected package libxfont1:amd64. Preparing to unpack .../libxfont1_1%3a1.5.1-1ubuntu0.16.04.4_amd64.deb ... Unpacking libxfont1:amd64 (1:1.5.1-1ubuntu0.16.04.4) ... Selecting previously unselected package xfonts-encodings. Preparing to unpack .../xfonts-encodings_1%3a1.0.4-2_all.deb ... Unpacking xfonts-encodings (1:1.0.4-2) ... Selecting previously unselected package xfonts-utils. Preparing to unpack .../xfonts-utils_1%3a7.7+3ubuntu0.16.04.2_amd64.deb ... Unpacking xfonts-utils (1:7.7+3ubuntu0.16.04.2) ... Selecting previously unselected package gsfonts-x11. Preparing to unpack .../gsfonts-x11_0.24_all.deb ... Unpacking gsfonts-x11 (0.24) ... Selecting previously unselected package libpoppler58:amd64. Preparing to unpack .../libpoppler58_0.41.0-0ubuntu1.13_amd64.deb ... Unpacking libpoppler58:amd64 (0.41.0-0ubuntu1.13) ... Selecting previously unselected package poppler-utils. Preparing to unpack .../poppler-utils_0.41.0-0ubuntu1.13_amd64.deb ... Unpacking poppler-utils (0.41.0-0ubuntu1.13) ... Selecting previously unselected package xpdf. Preparing to unpack .../xpdf_3.04-1ubuntu1.1_amd64.deb ... Unpacking xpdf (3.04-1ubuntu1.1) ... Selecting previously unselected package cups-bsd. Preparing to unpack .../cups-bsd_2.1.3-4ubuntu0.7_amd64.deb ... Unpacking cups-bsd (2.1.3-4ubuntu0.7) ... Processing triggers for libc-bin (2.23-0ubuntu11) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for fontconfig (2.11.94-0ubuntu1.1) ... Processing triggers for mime-support (3.59ubuntu1) ... Processing triggers for hicolor-icon-theme (0.15-0ubuntu1.1) ... Setting up libice6:amd64 (2:1.0.9-1) ... Setting up libmotif-common (2.3.4-10) ... Setting up libsm6:amd64 (2:1.2.2-1) ... Setting up libxft2:amd64 (2.3.2-1) ... Setting up libxt6:amd64 (1:1.1.5-0ubuntu1) ... Setting up libxmu6:amd64 (2:1.1.2-2) ... Setting up libxm4:amd64 (2.3.4-10) ... Setting up cups-common (2.1.3-4ubuntu0.7) ... Setting up cups-client (2.1.3-4ubuntu0.7) ... Adding group `lpadmin' (GID 119) ... Done. Setting up libfontenc1:amd64 (1:1.1.3-1) ... Setting up libxfont1:amd64 (1:1.5.1-1ubuntu0.16.04.4) ... Setting up xfonts-encodings (1:1.0.4-2) ... Setting up xfonts-utils (1:7.7+3ubuntu0.16.04.2) ... Setting up gsfonts-x11 (0.24) ... Setting up libpoppler58:amd64 (0.41.0-0ubuntu1.13) ... Setting up poppler-utils (0.41.0-0ubuntu1.13) ... Setting up xpdf (3.04-1ubuntu1.1) ... Setting up cups-bsd (2.1.3-4ubuntu0.7) ... Processing triggers for libc-bin (2.23-0ubuntu11) ... vagrant@zonadam:~$Instalamos el servidor de correo:
vagrant@zonadam:~$ sudo apt-get install postfix
vagrant@zonadam:~$ sudo apt-get install postfix Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre sasl2-bin dovecot-common postfix-cdb mail-reader postfix-doc The following NEW packages will be installed: postfix 0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. Need to get 1,152 kB of archives. After this operation, 3,697 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 postfix amd64 3.1.0-3ubuntu0.3 [1,152 kB] Fetched 1,152 kB in 1s (1,109 kB/s) Preconfiguring packages ...
Selecting previously unselected package postfix. (Reading database ... 58716 files and directories currently installed.) Preparing to unpack .../postfix_3.1.0-3ubuntu0.3_amd64.deb ... Unpacking postfix (3.1.0-3ubuntu0.3) ... Processing triggers for libc-bin (2.23-0ubuntu11) ... Processing triggers for ufw (0.35-0ubuntu2) ... Processing triggers for systemd (229-4ubuntu21.17) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for man-db (2.7.5-1) ... Setting up postfix (3.1.0-3ubuntu0.3) ... Adding group `postfix' (GID 120) ... Done. Adding system user `postfix' (UID 113) ... Adding new user `postfix' (UID 113) with group `postfix' ... Not creating home directory `/var/spool/postfix'. Creating /etc/postfix/dynamicmaps.cf Adding group `postdrop' (GID 121) ... Done. setting myhostname: zonadam.sanse.org setting alias maps setting alias database changing /etc/mailname to charliealonso.com setting myorigin setting destinations: $myhostname, charliealonso.com, zonadam, localhost.localdomain, localhost setting relayhost: setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 setting mailbox_size_limit: 0 setting recipient_delimiter: + setting inet_interfaces: all setting inet_protocols: all /etc/aliases does not exist, creating it. WARNING: /etc/aliases exists, but does not have a root alias. Postfix is now set up with a default configuration. If you need to make changes, edit /etc/postfix/main.cf (and others) as needed. To view Postfix configuration values, see postconf(1). After modifying main.cf, be sure to run '/etc/init.d/postfix reload'. Running newaliases Processing triggers for libc-bin (2.23-0ubuntu11) ... Processing triggers for systemd (229-4ubuntu21.17) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for ufw (0.35-0ubuntu2) ... vagrant@zonadam:~$Instalamos la librería de manipulación de metadata:
vagrant@zonadam:~$ sudo apt-get install libimage-exiftool-perl
vagrant@zonadam:~$ sudo apt-get install libimage-exiftool-perl Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libarchive-zip-perl The following NEW packages will be installed: libarchive-zip-perl libimage-exiftool-perl 0 upgraded, 2 newly installed, 0 to remove and 7 not upgraded. Need to get 2,343 kB of archives. After this operation, 12.9 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libarchive-zip-perl all 1.56-2ubuntu0.1 [84.7 kB] Get:2 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libimage-exiftool-perl all 10.10-1 [2,259 kB] Fetched 2,343 kB in 1s (1,319 kB/s) Selecting previously unselected package libarchive-zip-perl. (Reading database ... 58907 files and directories currently installed.) Preparing to unpack .../libarchive-zip-perl_1.56-2ubuntu0.1_all.deb ... Unpacking libarchive-zip-perl (1.56-2ubuntu0.1) ... Selecting previously unselected package libimage-exiftool-perl. Preparing to unpack .../libimage-exiftool-perl_10.10-1_all.deb ... Unpacking libimage-exiftool-perl (10.10-1) ... Processing triggers for man-db (2.7.5-1) ... Setting up libarchive-zip-perl (1.56-2ubuntu0.1) ... Setting up libimage-exiftool-perl (10.10-1) ... vagrant@zonadam:~$Instalamos el programador de tareas de Linux:
vagrant@zonadam:~$ sudo apt-get install cron
vagrant@zonadam:~$ sudo apt-get install cron Reading package lists... Done Building dependency tree Reading state information... Done cron is already the newest version (3.0pl1-128ubuntu2). 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. vagrant@zonadam:~$Instalamos el navegador por línea de comando:
vagrant@zonadam:~$ sudo apt-get install wget
vagrant@zonadam:~$ sudo apt-get install wget Reading package lists... Done Building dependency tree Reading state information... Done wget is already the newest version (1.17.1-1ubuntu1.4). 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded. vagrant@zonadam:~$Ahora vamos a instalar el lenguaje PHP y la librería de procesamiento de vídeo ffmpeg. PHP permitirá que la aplicación de gestión de activos digitales nos muestre las páginas web, se conecte con la base de datos y haga uso de todas las herramientas que hemos instalado para el procesado de los diferentes recursos multimedia que subamos a nuestro sistema de archivo. Comencemos por PHP, existen muchas versiones de PHP, actualmente la versión soportada de las que podríamos llamar antiguas es PHP 5.6 y la última y más actual es PHP 7.3, que es la que viene por defecto para sistemas operativos como Ubuntu 18.04. Nosotros vamos a instalar la versión 7.0, para Ubuntu 16.04. Comenzamos actualizando de nuevo el sistema, después de la instalación de todas las herramientas anteriores:
vagrant@zonadam:~$ sudo apt-get update && apt-get upgrade
vagrant@zonadam:~$ sudo apt-get update && apt-get upgrade Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease Hit:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:3 http://archive.ubuntu.com/ubuntu xenial-backports InRelease Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease Reading package lists... Done E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? vagrant@zonadam:~$No hay que darle importancia a las dos últimas líneas de la respuesta de la consola, ya que nuestro usuario Vagrant de la máquina virtual no tiene los permisos para realizar ciertas tareas. Añadimos el repositorio desde donde se instalará PHP. Para ello instalamos esta herramienta que nos permite añadir repositorios a nuestro sistema operativo:
vagrant@zonadam:~$ sudo apt-get install software-properties-common python-software-properties
vagrant@zonadam:~$ sudo apt-get install software-properties-common python-software-propertities Reading package lists... Done Building dependency tree Reading state information... Done software-properties-common is already the newest version (0.96.20.8). The following additional packages will be installed: libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt python-minimal python-pycurl python2.7 python2.7-minimal Suggested packages: python-doc python-tk python-apt-dbg python-apt-doc libcurl4-gnutls-dev python-pycurl-dbg python-pycurl-doc python2.7-doc binutils binfmt-support The following NEW packages will be installed: libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt python-minimal python-pycurl python-software-properties python2.7 python2.7-minimal 0 upgraded, 10 newly installed, 0 to remove and 7 not upgraded. Need to get 4,080 kB of archives. After this operation, 17.5 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-minimal amd64 2.7.12-1ubuntu0~16.04.4 [339 kB] Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7-minimal amd64 2.7.12-1ubuntu0~16.04.4 [1,261 kB] Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-minimal amd64 2.7.12-1~16.04 [28.1 kB] Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-stdlib amd64 2.7.12-1ubuntu0~16.04.4 [1,880 kB] Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7 amd64 2.7.12-1ubuntu0~16.04.4 [224 kB] Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython-stdlib amd64 2.7.12-1~16.04 [7,768 B] Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python amd64 2.7.12-1~16.04 [137 kB] Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-apt amd64 1.1.0~beta1ubuntu0.16.04.2 [139 kB] Get:9 http://archive.ubuntu.com/ubuntu xenial/main amd64 python-pycurl amd64 7.43.0-1ubuntu1 [43.3 kB] Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-software-properties all 0.96.20.8 [20.6 kB] Fetched 4,080 kB in 2s (1,593 kB/s) Selecting previously unselected package libpython2.7-minimal:amd64. (Reading database ... 59352 files and directories currently installed.) Preparing to unpack .../libpython2.7-minimal_2.7.12-1ubuntu0~16.04.4_amd64.deb ... Unpacking libpython2.7-minimal:amd64 (2.7.12-1ubuntu0~16.04.4) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../python2.7-minimal_2.7.12-1ubuntu0~16.04.4_amd64.deb ... Unpacking python2.7-minimal (2.7.12-1ubuntu0~16.04.4) ... Selecting previously unselected package python-minimal. Preparing to unpack .../python-minimal_2.7.12-1~16.04_amd64.deb ... Unpacking python-minimal (2.7.12-1~16.04) ... Selecting previously unselected package libpython2.7-stdlib:amd64. Preparing to unpack .../libpython2.7-stdlib_2.7.12-1ubuntu0~16.04.4_amd64.deb ... Unpacking libpython2.7-stdlib:amd64 (2.7.12-1ubuntu0~16.04.4) ... Selecting previously unselected package python2.7. Preparing to unpack .../python2.7_2.7.12-1ubuntu0~16.04.4_amd64.deb ... Unpacking python2.7 (2.7.12-1ubuntu0~16.04.4) ... Selecting previously unselected package libpython-stdlib:amd64. Preparing to unpack .../libpython-stdlib_2.7.12-1~16.04_amd64.deb ... Unpacking libpython-stdlib:amd64 (2.7.12-1~16.04) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for mime-support (3.59ubuntu1) ... Setting up libpython2.7-minimal:amd64 (2.7.12-1ubuntu0~16.04.4) ... Setting up python2.7-minimal (2.7.12-1ubuntu0~16.04.4) ... Linking and byte-compiling packages for runtime python2.7... Setting up python-minimal (2.7.12-1~16.04) ... Selecting previously unselected package python. (Reading database ... 60098 files and directories currently installed.) Preparing to unpack .../python_2.7.12-1~16.04_amd64.deb ... Unpacking python (2.7.12-1~16.04) ... Selecting previously unselected package python-apt. Preparing to unpack .../python-apt_1.1.0~beta1ubuntu0.16.04.2_amd64.deb ... Unpacking python-apt (1.1.0~beta1ubuntu0.16.04.2) ... Selecting previously unselected package python-pycurl. Preparing to unpack .../python-pycurl_7.43.0-1ubuntu1_amd64.deb ... Unpacking python-pycurl (7.43.0-1ubuntu1) ... Selecting previously unselected package python-software-properties. Preparing to unpack .../python-software-properties_0.96.20.8_all.deb ... Unpacking python-software-properties (0.96.20.8) ... Processing triggers for man-db (2.7.5-1) ... Setting up libpython2.7-stdlib:amd64 (2.7.12-1ubuntu0~16.04.4) ... Setting up python2.7 (2.7.12-1ubuntu0~16.04.4) ... Setting up libpython-stdlib:amd64 (2.7.12-1~16.04) ... Setting up python (2.7.12-1~16.04) ... Setting up python-apt (1.1.0~beta1ubuntu0.16.04.2) ... Setting up python-pycurl (7.43.0-1ubuntu1) ... Setting up python-software-properties (0.96.20.8) ... vagrant@zonadam:~$Instalamos PHP y los módulos necesarios:
vagrant@zonadam:~$ sudo apt-get install php7.0 php7.0-dev php7.0-gd php7.0-mysql php-mbstring php-zip libapache2-mod-php libav-tools
vagrant@zonadam:~$ sudo apt-get install php7.0 php7.0-dev php7.0-gd php7.0-mysql php-mbstring php-zip libapache2-mod-php libav-tools Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: autoconf automake autotools-dev binutils build-essential cpp cpp-5 debhelper dh-phpdespués de un tiempo y de muchas líneas de respuesta en la consola, nos devolverá el promt:
Setting up i965-va-driver:amd64 (1.7.0-1) ... Setting up va-driver-all:amd64 (1.7.0-1ubuntu0.1) ... Setting up vdpau-driver-all:amd64 (1.1.1-3ubuntu1) ... Setting up libav-tools (7:2.8.15-0ubuntu0.16.04.1) ... Setting up debhelper (9.20160115ubuntu3) ... Setting up dh-php (0.10) ... Setting up pkg-php-tools (1.32ubuntu2) ... Setting up dh-strip-nondeterminism (0.015-1) ... Processing triggers for libc-bin (2.23-0ubuntu11) ... Processing triggers for libapache2-mod-php7.0 (7.0.33-0ubuntu0.16.04.2) ... vagrant@zonadam:~$Comprobamos la versión de ffmpeg, que es la herramienta con la que nuestra gestión de contenidos procesa los vídeos que subamos a la plataforma, y que hemos instalado en la línea anterior junto con el php, en la parte del comando donde ponía libav-tools:
vagrant@zonadam:~$ ffmpeg
vagrant@zonadam:~$ ffmpeg ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg' vagrant@zonadam:~$Vamos a comprobar ahora que está todo listo para hacer la instalación de ResourceSpace propiamente dicho. Lo primero que debemos comprobar es que Apache está funcionando y sirviendo páginas web. Para comprobar ésto, abrimos un navegador web y tecleamos la dirección ip de la máquina virtual.
vagrant@zonadam:/$ sudo mkdir /var/www/html/zonadamy nos posicionamos en esta ruta
vagrant@zonadam:/$ cd /var/www/html/zonadamEjecutamos el siguiente comando de subversion para descargar las páginas PHP de ResourceSpace en el directorio de zonadam: svn co https://svn.resourcespace.com/svn/rs/releases/8.6 .
vagrant@zonadam:/var/www/html/zonadam$ sudo svn co https://svn.resourcespace.com/svn/rs/releases/8.6 .Es muy probable que recibamos un error validando el certificado SSL para acceder al repositorio, y subversion nos preguntará si aceptamos el contenido a descargar. Pulsamos (p) para aceptar el contenido permanentemente:
vagrant@zonadam:/var/www/html/zonadam$ svn co https://svn.resourcespace.com/svn/rs/releases/8.6 .
Error validating server certificate for 'https://svn.resourcespace.com:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: *.resourcespace.com - Valid: from Jan 17 13:59:54 2019 GMT until Mar 9 13:59:54 2022 GMT - Issuer: Sophos SSL CA_S210540C6A5B7BC, NSG, Sophos, Oxfordshire, GB(support@sophos.com) - Fingerprint: 1A:FE:81:C6:58:4B:4A:73:A4:71:DE:47:35:4B:5A:2F:E1:3A:D1:C2 (R)eject, accept (t)emporarily or accept (p)ermanently?No voy a mostrar el contenido de la consola en esta ocasión, porque supondría muchísima información relativa a la descarga de las páginas, así que pondré el final de la respuesta para ubicarnos:
A dbstruct/table_collection_resource.txt A dbstruct/table_user_rating.txt A dbstruct/table_collection_keyword.txt A dbstruct/index_ip_lockout.txt A dbstruct/table_sysvars.txt A dbstruct/table_resource_keyword.txt A dbstruct/index_research_request.txt A api/index.php A upgrade/scripts/001_migrate_to_nodes.php A templates/contact_sheet/thumbnails.php A iccprofiles/sRGB_IEC61966-2-1_black_scaled.icc U . Checked out revision 12916. vagrant@zonadam:/var/www/html/zonadam$Ahora debemos crear un directorio para que nuestra aplicación almacene los recursos que gestionamos con ella:
vagrant@zonadam:/var/www/html/zonadam$ sudo mkdir filestoredamos permisos para que se pueda escribir y borrar en ese directorio:
vagrant@zonadam:/var/www/html/zonadam$ sudo chmod 777 filestorey damos permisos a la carpeta /include para que la aplicación pueda escribir y así cambiar la configuración inicial durante el proceso de instalación:
vagrant@zonadam:/var/www/html/zonadam$ sudo chmod -R 777 includeCreamos una base de datos para usarla con nuestra aplicación:
vagrant@zonadam:/var/www/html/zonadam$ mysql -u root -pMySQL nos pedirá la contraseña de administrador que pusimos en el inicio de la configuración:
vagrant@zonadam:/var/www/html/zonadam$ mysql -u root -p Enter password:y si introducimos la clave de administrador correcta, entramos en la consola de MySQL:
vagrant@zonadam:/var/www/html/zonadam$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.25-0ubuntu0.16.04.2 (Ubuntu) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>donde introducimos el siguiente comando
mysql> CREATE DATABASE zonadam CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;para crear una base de datos que se llama ‘zonadam’. E introducimos el comando ‘quit’ para salir de la consola de MySQL
mysql> quit mysql> quit Bye vagrant@zonadam:/var/www/html/zonadam$Antes de poder iniciar la configuración, debemos cambiar la propiedad del directorio /var/www/htm/zonadam a un propietario del grupo www-data, que en Ubuntu es el grupo de usuarios al que pertenece Apache, que es quien va a ejecutar las páginas php de ese directorio:
vagrant@zonadam:/var/www/html/zonadam$ sudo chown -R www-data:www-data /var/www/html/zonadam/Hacemos un listado del directorio
vagrant@zonadam:/var/www/html/zonadam$ ls -l
vagrant@zonadam:/var/www/html/zonadam$ ls -l total 88 drwxr-xr-x 3 www-data www-data 4096 Mar 18 10:17 api drwxr-xr-x 3 www-data www-data 4096 Mar 18 10:17 batch drwxr-xr-x 5 www-data www-data 4096 Mar 18 10:17 css drwxr-xr-x 2 www-data www-data 4096 Mar 18 10:17 dbstruct drwxr-xr-x 3 www-data www-data 4096 Mar 18 10:17 documentation drwxrwxrwx 2 www-data www-data 4096 Mar 18 10:24 filestore drwxr-xr-x 9 www-data www-data 4096 Mar 18 10:17 gfx drwxr-xr-x 2 www-data www-data 4096 Mar 18 10:17 iccprofiles drwxrwxrwx 3 www-data www-data 4096 Mar 18 10:15 include -rwxr-xr-x 1 www-data www-data 2638 Mar 18 10:17 index.php drwxr-xr-x 2 www-data www-data 4096 Mar 18 10:17 languages drwxr-xr-x 30 www-data www-data 4096 Mar 18 10:17 lib -rwxr-xr-x 1 www-data www-data 76 Mar 18 10:17 license.txt -rwxr-xr-x 1 www-data www-data 10865 Mar 18 10:17 login.php drwxr-xr-x 9 www-data www-data 4096 Mar 18 10:15 pages drwxr-xr-x 72 www-data www-data 4096 Mar 18 10:15 plugins -rwxr-xr-x 1 www-data www-data 323 Mar 18 10:17 robots.txt drwxr-xr-x 4 www-data www-data 4096 Mar 18 10:17 templates drwxr-xr-x 3 www-data www-data 4096 Mar 18 10:17 tests drwxr-xr-x 3 www-data www-data 4096 Mar 18 10:17 upgrade vagrant@zonadam:/var/www/html/zonadam$y reiniciamos el servicio de Apache.
vagrant@zonadam:/var/www/html/zonadam$ sudo service apache2 restartDespués accedemos a la direccion http://10.11.12.50/zonadam en nuestro navegador:
vagrant@zonadam:/var/www/html/zonadam$ sudo nano /etc/php/7.0/apache2/php.iniÉsto abrirá el fichero php.ini en el editor de texto y nos permitirá editar su configuración:
vagrant@zonadam:/var/www/html/zonadam$ sudo service apache2 restarty volvemos al navegador web, donde recargamos la página de instalación que ahora ya no mostrará las alertas que mostraba anteriormente.