La versión elegida es 8.04 porque es la más reciente con actualizaciones de largo término.
Las ventajas de crear un servidor virtual son: 1) es fácil cambiarlo de ordenador, 2) sencillo de hacer copias de seguridad y 3) poder usar el sistema gráfico del anfitrión.
El sistema de virtualización es VirtualBox xVM de Sun. Utilizo la versión descargable de la web en vez de la versión libre instalable desde Ubuntu. El motivo es que es mucho más fácil darle una dirección de IP fija al servidor. Sólo hay que indicar el Interfaz Anfitrión.
Detalles:| PAE/NX: | Habilitado |
| Memoria base: | 128 MB |
| Disco duro: | ubuntu-server.vdi de 8 GB |
| Red: | Attached to: Interface Anfitrión: eth0 |
Estas son utilidades a instalar en el sistema virtual.
Así
tendremos disponibles el sistema de archivos vboxsf (virtualbox shared
folder) que nos permitirá acceder a carpetas y archivos del sistema
anfitrión.
# aptitude install build-essential linux-headers-`uname -r`
# mount -t iso9660 /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom
# ./VBoxLinuxAdditions-x86.run
Una vez definida una carpeta compartida en el anfitrión e instalado el VBoxLinuxAdditions hay que montar la carpeta para poder acceder a ella:
# cd
# mount -t vboxsf Compartido /mnt/compartido
¡¡¡Con la inicial en mayúsculas aunque fuese minúsculas!!!
Para un montaje automático hay que editar el archivo /etc/fstab :
Compartido /mnt/compartido vboxsf auto 0 0
Webs /mnt/webs vboxsf auto 0 0
Cursos /mnt/cursos vboxsf auto 0 0
Montar un enlace a una carpeta:
# sfdisk -l
# mount /dev/sda3 /mnt/ubuntu
# mount --bind /mnt/ubuntu/home/proinf/webs /home/proinf/webs
/dev/sda3 /mnt/opensuse ext3 auto 0 0
/mnt/opensuse/home/proinf/webs /home/proinf/webs none bind
/mnt/opensuse/home/proinf/cursos /home/proinf/cursos none bind
Para instalar hay que bajarse una imagen ISO del servidor.
Recordatorio:
| Nombre: | SERVIRTUAL (Ubuntu Server 8.04) |
| Login: | usuario, password |
| Seleccionar: | WAMP server, SAMBA server, SSH Server |
$ sudo passwd rootShell root:
$ su
$ sudo bashEditores de texto:
vim, joe, nanoRevincular shell:
$ ls -l /bin/shPara que sh apunte a bash en vez de a dash (ISPConfig)
# ln -sf /bin/bash /bin/shSincronización del reloj.
# aptget install ntp ntpdate
Apparmor - deshabilitar y luego desinstalar:
# /etc/init.d/apparmor stop
# update-rc.d -f apparmor remove
# apt-get remove apparmor apparmor-utils
/etc/apt/sources.listÓrdenes para mantener actualizado el servidor:
# apt-get updateAlgunas instalaciones requieren los ficheros de cabecera del actual núcleo de Linux (Header files for current Linux kernel) :
# apt-get upgrade
# apt-get dist-upgrade
# apt-get install build-essential
# aptitude install build-essential linux-headers-`uname -r`
Para apagar el servidor:
# shutdown -P now
El servidor:
# apt-get install ssh openssh-server
/etc/ssh/sshd_config
# /etc/init.d/ssh restart
El cliente:
# apt-get install openssh-client
PuTTY es un cliente SSH
Edición del archivo interfaces :
# vim /etc/network/interfaces
Contenido del archivo:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
gateway 192.168.2.1
nameserver 192.168.2.1
[broadcast 192.168.2.255]
Comprobar la conexión:
# ifconfig
# /etc/init.d/networking restart
anfitrion$ ping 192.168.2.33
/etc/init.d/apache2 restart
Archivo con la lista de servidores:
/etc/hosts
# apt-get install nfs-kernel-server
Archivo de configuración:
/etc/exports :
/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)
Reinicio del servidor:
# /etc/init.d/nfs-kernel-server start
# apt-get install nfs-common
Ejemplo de montaje:
# mount ejemplo.hostname.com:/ubuntu /local/ubuntu
Archivo de configuración:
/etc/fstab :
example.hostname.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,int
# apt-get install samba smbclient
/etc/samba/smb.conf
$ man smb.conf
# /etc/init.d/samba restart
Montar sistemas Windows
# apt-get install smbfs
# mount -t smbfs -o username=dlightman //development/project-code /mnt/pcode
# smbpasswd -a username
Protocolo de transferencia de ficheros.
Instalación de ProFTPd
# apt-get install proftpd
Configuración:
# nano /etc/proftpd/proftpd.conf
Agregar la línea al final:
DefaultRoot ~
Reiniciar:
# /etc/init.d/proftpd restart
Servidor web (protocolo http) :
http://httpd.apache.org/docs/2.2/
Fichero de configuración Apache
apache2.conf
Sitio predeterminado
/var/www/
Creación de un nuevo sitio web :
# cd /etc/apache2/sites-available
# cp default mynewsite
# a2ensite mynewsite
Fichero de configuración
/etc/apache2/sites-available/mynewsite
ServerAdmin fco@proinf.net
ServerName proinf.net
ServerAlias www.proinf.net es.proinf.net ca.proinf.net en.proinf.net
DocumentRoot /mnt/webs/proinf.net/ruby/public
Instalación de módulo
# apt-get install libapache2-mod-auth-mysql
Carpeta de módulos:
/etc/apache2/mods-enabled
Activación de módulos:
# a2enmod rewrite
# a2enmod suexec <---http://httpd.apache.org/docs/2.2/mod/mod_suexec.html
# a2enmod include <---http://httpd.apache.org/docs/2.2/mod/mod_include.html
Reinicio de Apache:
# /etc/init.d/apache2 restart
# /etc/init.d/apache2 force-reload
# mysqladmin -u root password contraseña
Instalación:
# apt-get install phpmyadmin
Dirección web:
http://ip_del_ordenar_virtual/phpmyadmin
http://192.168.2.2/phpmyadmin/
Instalación
# apt-get install php5
Instalamos el conector de PHP para Apache 2
# apt-get install libapache2-mod-php5
Reiniciamos el Servidor
# /etc/init.d/apache2 restart
Fichero de prueba:
# vim /var/www/index.php
<?php phpinfo(); ?>
# /etc/init.d/apache2 restart
Base de datos ideal para la web.
Archivo de configuración:
# nano /etc/mysql/my.cnfCambiar la línea:
bind-address = 127.0.0.1
por una con la IP de la máquina virtual:
bind-address = 192.168.2.2
[o bien si comentásemos la línea, escucharía en todos los interfaces]
Reinicio:
# /etc/init.d/mysql restart
# netstat -tap | grep mysql
# mysql -u usuario -p
# adminmysql ...
Versión 5.0.67
mysql --version
Plataforma MVC para crear sitios web.
Lenguaje de programación. Para la web de proinf.net la versión ha de ser 1.8.6
Instalación:
# apt-get install ruby ruby1.8 ruby1.8-dev rdoc ri irb
Incrustar Ruby en Apache2 (no recomendado)
# apt-get install libapache2-mod-ruby
Versión 1.8.7
$ ruby --version
Es el instalador de paquetes para Ruby. La versión ha de ser 1.3.0
Instalación manual:
# wget http://rubyforge.org/frs/download.php/43985/rubygems-1.3.0.tgz
# tar xzvf rubygems-1.3.0.tgz
# cd rubygems-1.3.0
# ruby setup.rb
# mv /usr/bin/gem /usr/bin/gem.old
# ln -s /usr/bin/gem1.8 /usr/bin/gem
# gem -v
# gem update --system
[#echo "export RUBYOPT=rubygems" >> ~/.profile]
Instalación automática (no recomendado porque es versión antigua) :
sudo apt-get install rubygems
Gemas a instalar:
# apt-get install libmysqlclient15-dev
# gem install mysql
# gem list
Version 1.3.1
gem --version
Es muy importante que la versión sea la 1.2.6 para la web de proinf.net ya que la nueva presenta grandes cambios. Indirectamente esto obliga que la versión de Rails sea también anterior.
Guía Ubuntu para RoR y guía en hackido para instalar RoR en ubuntu 8.10
Instalación:
# a2enmod rewrite
# a2enmod proxy
# a2enmod proxy_http
# apt-get install libmysqlclient15-dev
# gem install mysql
# gem install rails -v 1.2.6
# gem instal mongrel
No necesario:
[# gem install ruby-debug]
[ruby script/plugin install acts_as_tree]
Versión 1.2.6
rails --version
Es un servidor web para Ruby on Rails.
Inicio del servidor:
mongrel_rails start -a 127.0.0.1 -p 4001 -e production
Parámetros:
mongrel-rails --version
Se trata de una biblioteca de funciones para la manipulación de imágenes. Es importante para que funcione el CAPTCHA.
Hay una guía de instalación en spejman y en rubyforge.
Instalación manual:
# wget http://image_magick.veidrodis.com/image_magick/ImageMagick-6.4.8-0.tar.gz
# tar xvzf ImageMagick-6.4.8-0.tar.gz
# cd ImageMagick-6.4.8-0.tar.gz
# ./configure --disable-static --with-modules --without-perl \
--without-magick-plus-plus --with-quantum-depth=8 \
--with-gs-font-dir=$FONTS
# make
# make install
# gem install rmagick
Instalación automática (no recomendado):
# apt-get install imagemagick libmagick-dev
# dpkg -l | grep magick
Versión 6.4.7:
$ convert
# apt-get install webalizer
Para crea un ISP, es decir, ofrecer alojamiento web a usuarios de una forma automatizada.
http://www.ispconfig.org/
http://www.ispconfig.org/manual_installation.htm
[# apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl]
Este sistema instala Apache, MySQL y PHP entre otras cosas. Es una alternativa.
The distribution for Linux systems (tested for SuSE, RedHat,
Mandrake
and Debian) contains: Apache, MySQL, PHP & PEAR, Perl, ProFTPD,
phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat,
Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl,
FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP
C-Client.
# tar xvfz xampp-linux-1.6.7.tar.gz -C /opt
# /opt/lampp/lampp start