Você está na página 1de 17

Instalación de Xampp + svn + ApacheTomcat

********************************************************************
Instalación rápida de Xampp-1.6.3a+SVN-1.4.5+Tomcat-6.0.13
donde: Xampp-1.6.3a contiene:
Apache-2.2.4-OSSL-0.9.8e-PHP-5.2.3(and-4.4.7)-
MySQL-5.0.45-phpMyAdmin-2.10.3-ZendOptimizer-3.3.0-1.6.3Patch-
MiniPerl-5.8.7-Webalizer-2.01-10-FileZillaFtpServer-0.9.23-MercuryMailServer-4.01a
********************************************************************
Directorios de instalación:
*) Servidores
Directorio de instalación Xampp: D:\serv\Xampp
Directorio del servidor Apache: D:\serv\Xampp\Apache
Directorio del servidor MySQL: D:\serv\Xampp\mysql
Directorio del servidor Tomcat: D:\serv\Xampp\tomcat
Directorio del servidor FTP FileZillaFTP: D:\serv\Xampp\FileZillaFTP
Directorio del servidor de correo MercuryMail: D:\serv\Xampp\MercuryMail

Directorio del servidor SVN: D:\serv\svn

*) Herramientas
Herramienta phpMyAdmin: D:\serv\Xampp\phpMyAdmin
Herramienta webalizer: D:\serv\Xampp\webalizer

*) Datos
Directorio público de Apache (contiene los módulos de SEDA): D:\serv\datos\www
Directorio de bases de datos de Mysql (un directorio por cada BD): D:\serv\datos\mysql\data
Directorio de datos SVN (u directorio por cada repositorio): D:\serv\datos\svn

Directorio de herramientas: D:\serv\herramientas

---------

La instalación consta de los siguientes pasos:

1) Instalación de Xampp con extensiones:


Descomprimir 01-XamppTomcatSvn-v0.0.zip en D:\serv
(Esto instala D:\serv\xampp y D:\serv\svn)

2) Añadir parche de SEDA


Descomprimir 02-XamppTomcatSvn-SEDA-v0.0.zip en el mismo directorio anterior, sobrescribiendo los
ficheros necesarios.
(Esto instala los ficheros de configuración adecuados y modulos de SEDA)

3) Servidor SVN
Añadir al path de ejecución: ;D:\serv\svn\bin (o el path en el que se haya instalado el servidor svn en
la descompresión del paso 1)

* Además, deben añadirse al path de ejecución los necesarios para ejecutar en el servidor los ficheros
bin de la instalación de Seda.
Habitualmente deben añadirse al path:
;D:\serv\bin;D:\serv\gnuwin32\bin;

[Instalación en SEDA 20070831]

Se descomprime serv.zip y sólo se añade /svn, /xampp y /datos.

Se han añadido los siguientes paths a la variable global PATH:

D:\serv\svn\bin;D:\serv\bin;D:\serv\gnuwin32\bin

Se han modificado las variables de entorno JAVA_HOME y JRE en los ficheros startup.bat y
shutdown.bat para hacer referencia a las instalaciones en D: y no en C:.

Se ejecuta: setup_xampp.bat y se da la opción 5).

Se ejecuta:

tomcat_start.bat (se levanta Tomcat) -> Se desbloquea para el Firewall

xampp-control.exe (se levanta Apache y MySQL) -> Se desbloquean para el Firewall

Parece funcionar correctamente.

4) Instalar el cliente TortoiseSVN v1.*.* [Opcional (pero es habitual para pruebas)]


Seguir las instrucciones en: \03-TortoiseSVN-v1.4.5\00-Instalar-TortoiseSVN.txt

5) Instalación de ApacheTomcat

(Previo) Instalar Java.


* Tomcat 6.0.13 necesita Java 2 Standard Edition Runtime Environment (JRE) version 5.0 o superior.
Por ejemplo instalar: jdk-v1_6_2-windows-i586-p

* Debe estar instalado previamente Java con el JSE 5.0 o superior.


Para levantar/bajar el servicio se han editado los ficheros:
startup.bat
y
shutdown.bat
Añadiéndoles el path para Java, por ejemplo:
set JAVA_HOME=C:\Archivos de programa\Java\jdk1.6.0_02\
set JVRE=C:\Archivos de programa\Java\jre1.6.0_02\

6).-Configuración de Xampp\ApacheTomcat:
Ejecutar: ..\xampp\setup_xampp.bat (donde ..\ indica el directorio en el que se ha descomprimido el
directorio \\xampp)

Ejecutar: ..\xampp\xampp-control.exe y levantar los servicios correspondientes.

Instalación del servicio ApacheTomcat


* Después de ejecutar ..\xampp\setup_xampp.bat se debe tener instalado el servicio de Apache
Tomcat, si no es así, sepuede instalar ejecutando:
..\xampp\tomcat\bin\tomcat_service_install.bat

Instalación de los demás servicios:


Los demás servicios se pueden instalar a partir de ..\xampp\xampp-control.exe o con los comandos
correspondientes en los directorios \apache, \mysql, ...

Si deseamos que los servicios se ejecuten de forma automática al iniciar el servidor deberán instalarse
a través del control de servicios de windows como servicios de tipo automático (es la forma en que se
dejarán instalados).

Bloquear/Desbloquear los servicios que se quieren dejar activos para Firewall de Windows, Panda, etc.
Por ej. si se tiene instalado el Firewall de Windows, se pedirá desbloquear:
..\xampp\apache\bin\apache.exe
ATENCIÓN.- Comprobar que no hay ningún otro programa que bloquee el puerto correspondiente, por
ejemplo Skype, suele bloquear el puerto 80.
Para que desactivar el puerto 80 del skype, seleccionar en Skype: Herramientas/...Opciones/Conexión y
deshabilitar la opción: "Usar puertos 80 y 443 como alternativas para las conexiones entrantes".
Seleccionar Guardar.

Si todo funciona correctamente, instalar como servicios: apacheTomcat, apache y mysql [FileZilla,
Mercury, ...]

7) Creación de datos
* Creación de los repositorios de ejemplos para svn.
Ejecutar los ficheros *.bat que aparecen en \serv\datos\svn

* Creación de las Bases de datos en Mysql (se crearán en \serv\datos\mysql\data)


Ejecutar el fichero \serv\datos\mysql\data\generarBDs\instalartodo.bat, que ejecuta el fichero
instalar.bat en cada directorio de carga de la BD correspondiente, la creación se hará usando
mysqladmin por línea de comandos.

*****************************************************
BDs que se han creado para SEDA y sus aplicaciones:

calendarios
seda
wikidb

*****************************************************
BDs predefinidas en la instalación de Xampp (MySQL):

cdcol
mysql
phpmyadmin
test
webauth

* Los ficheros ib_logfile* son los ficheros de log para innodb.


* Los ficheros ibdata* son los ficheros temporales para innodb.
*****************************************************

8) Comprobar los cambios que se han realizado en los ficheros de configuración de los servidores
Apache, mysql, Apache Tomcat, svn, ...
NOTA.- Esta instalación es muy sencilla y no genera ningún fichero my.cnf o php.ini en el directorio de
Windows. Estos ficheros se encuentran en:
..\xampp\mysql\bin\my.cnf
..\xampp\apache\bin\php.ini
..\xampp\php\php.ini
..\xampp\php\php4\php.ini
De todos los ficheros de configuración se ha realizado una copia de la forma:
nombre-original.* para comparar con las nuevas versiones que se han proporcionado. Habitualmente,
antes de hacer modificaciones en dichos ficheros, se realizarán copias de la forma: nombre-fecha.* con
fecha en el formato yyyymmdd

[Modificación de httpd.conf de Apache] Se ha modificado el fichero de configuración de Apache


(\serv\xampp\apache\conf\httpd.conf) para obtener lo siguiente:

---
* Cambios para permitir el acceso svn:
* Añadir las siguientes líneas al fichero de configuración de Apache (..\Xampp\apache\conf\httpd.conf )

LoadModule dav_svn_module modules/mod_dav_svn.so


LoadModule authz_svn_module modules/mod_authz_svn.so

---

* Nueva definición de accesos a Apache y Directorios:


http://localhost/seda y http://localhost (\serv\datos\www).- Directorio de entrada por defecto en
http://localhost; http://seda.unex.es. ATENCIÓN.- NO sustituye al directorio predefinido
\serv\apache\htdocs, sino que es un nuevo directrorio virtual que se ha definido. De hecho,
http://localhost sirve el fichero (\serv\apache\htdocs\index.html) que ha sido modificado para
redireccionar a http://localhost/seda.

http://localhost/admin Directorio virtual con la página para acceder a las herramientas de


administración de xampp. Coincide con \serv\xampp\htdocs\xampp\ que es la entrada por defecto con
que se redirige http://localhost en la instalación por defecto de xampp. Permite acceder a phpmyadmin,
webalizer, etc. y debería estar restringida su entrada para un administrador con clave de acceso.
Deberá ponerse alguna clave de acceso para que sólo puedan acceder administradores a estas
páginas. Desde \serv\datos\www\admin (http://bd.unex.es/seda/admin) se podrá acceder a estas
páginas y otras herramientas de administración de SEDA.

http://localhost/seda/svnlogin \serv\datos\www\svnlogin.- Directorio para acceder a los repositorios de


svn ubicados en \serv\datos\svn. Estos directorios se acceden mediante SSL con:
https://bd.unex.es/svn/nombre_repositorio (como ejemplo se ha creado: https://bd.unex.es/svn/test.

# INICIO CAMBIO 10-9-2007 Nuevos directorios de datos:


# http://localhost/seda/ (D:/serv/datos/www) y https://localhost/svn/ (D:/serv/datos/svn)

<IfModule alias_module>
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.

# Se definen los alias de acceso a seda y a las herramientas de administracion que proporciona xampp
# Para /admin debe ponerse alguna clave de acceso
Alias /admin "D:/serv/xampp/htdocs/xampp"
Alias /seda "D:/serv/datos/www"

<Directory "D:/serv/datos/www">
<IfModule php5_module>
<Files "status.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks Includes ExecCGI

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>

</IfModule>

# Instalacion SVN
<Location /svn>
DAV svn

#Direccion fisica de la raiz repositorio


SVNParentPath D:\serv\datos\svn\

#Dotamos de seguridad SSL al servidor de SVN


SSLRequireSSL
AuthType Basic
AuthName "Repositorios de Subversion"
#Fichero con los usuarios y sus claves para svn
AuthUserFile privado/passwd-svn
#Grupos de usuarios y privilegios para svn
AuthzSVNAccessFile privado/svnaccessfile
Require valid-user
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
# </LimitExcept>
</Location>

# Reglas de rescritura comentadas porque no visualizan correctamente las imagenes


#RewriteEngine on
#RewriteRule ^/svn$ /seda/svnlogin/svn_index.php [PT]
#RewriteRule ^/svn/$ /seda/svnlogin/svn_index.php [PT]
#RewriteRule ^/svn/index.html$ /seda/svnlogin/svn_index.php [PT]
# FIN CAMBIO 10-9-2007 Instalacion SVN

[Modificación de my.cnf de mysql] Se ha modificado el fichero de configuración de mysql


(\serv\xampp\mysql\bin\my.cnf) para que obtener lo siguiente:

# INICIO 20070830 Cambio del directorio de bases de datos de Mysql


# datadir="D:/serv/xampp/mysql/data"
datadir="D:/serv/datos/mysql/data"
# FIN 20070830 Cambio del directorio de bases de datos de Mysql
...

# INICIO 20070830 Activar innodb para Mysql


# Se ha comentado la siguiente directiva:
#skip-innodb
# Uncomment the following if you are using InnoDB tables
# ... Y se han descomentado las siguientes directivas:
#innodb_data_home_dir = D:/serv/xampp/mysql/data/
innodb_data_home_dir = D:/serv/datos/mysql/data/
innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = D:/serv/xampp/mysql/data/
innodb_log_group_home_dir = D:/serv/datos/mysql/data/
#innodb_log_arch_dir = D:/serv/xampp/mysql/data/
innodb_log_arch_dir = D:/serv/datos/mysql/data/
# Deben revisarse las siguientes variables...
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
# Set .._log_file_size to 25 % of buffer pool size
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#set-variable = innodb_lock_wait_timeout=50
# FIN 20070830 Activar innodb para Mysql

[Modificación de ¿¿?? de Apache Tomcat] Se ha modificado el fichero de configuración de Apache


Tomcat (\serv\xampp\tomcat\¿¿??) para que obtener lo siguiente:...

9) Seguridad: Creación de administradores y usuarios. Ficheros de claves. Creación de un nuevo


certificado para el servidor.

Las claves de la instalación se almacenan en el servidor de claves de SEDA, y las iniciales en la


instalación son las siguientes:

* Apache Tomcat: Fichero: \serv\xampp\tomcat\conf\tomcat-users.xml Admin: xampp/xampp

* Mysql: Fichero:
Bases de datos en mysql:
mysql: root/roots2

xampp: admin/admins2
seda: seda/**
calendarios: calendarios/**
wikidb: wikidb/**
* Creación de usuarios para administración. Para evitar los erroes de seguridad que puedan detectarse
en:

http://localhost/security/index.php se ejecutará http://localhost/security/xamppsecurity.php

* Para MySQL asignamos clave al administrador "root" de Mysql: root/roots2 (cookies).

Esta forma de acceso se refleja en el fichero: \serv\xampp\phpMyAdmin\config.inc.php

* Para Xampp: admin/admins2.

SUCCESS: The XAMPP directory is protected now! All personal data was safed in the following file:
D:\serv\xampp\security\xampp.users
D:\serv\xampp\htdocs\xampp\.htaccess

* Creación del certificado para SSL:

Para ello se ejecuta el fichero: D:\serv\xampp\apache\makecert.bat

Debería crearse con el tiempo de caducidad del curso académico.

D:\serv\xampp\apache>makecert.bat
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
......++++++
......++++++
writing new private key to 'privkey.pem'
Enter PEM pass phrase: estaesunafrasemuylarga2016
Verifying - Enter PEM pass phrase: estaesunafrasemuylarga2016
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:es
State or Province Name (full name) [Some-State]:Caceres
Locality Name (eg, city) []:Caceres
Organization Name (eg, company) [Internet Widgits Pty Ltd]:UEX
Organizational Unit Name (eg, section) []:Escuela Politecnica
Common Name (eg, YOUR name) []:bd.unex.es
Email Address []:seda@unex.es

Please enter the following 'extra' attributes


to be sent with your certificate request
A challenge password []:claroscuro
An optional company name []:GIM
Enter pass phrase for privkey.pem: estaesunafrasemuylarga2016
writing RSA key
Loading 'screen' into random state - done
Signature ok
subject=/C=es/ST=Caceres/L=Caceres/O=UEX/OU=Escuela Politecnica/CN=bd.unex.es/em
ailAddress=seda@unex.es
Getting Private key

-----
Das Zertifikat wurde erstellt.
The certificate was provided.
Presione una tecla para continuar . . .

D:\serv\xampp\apache>

De esta forma se crea un nuevo certificado que entrará en vigor al reiniciar Apache.

10) Realizar pruebas y tests de comprobación


Hay una página en http://localhost/test/index.html con los accesos que deben probarse:
http://localhost/xampp/index.php (Probar los enlaces y herramientas en esta página)
https://localhost/xampp/

* Para Tomcat ejecutar startup y comprobar que funciona:


Tomcat Server Home = .\xampp\tomcat
Tomcat URL = http://localhost:8080
Tomcat Doc Root = .\xampp\tomcat\webapps

JSP example Root = .\xampp\tomcat\webapps\jsp-examples


JSP example URL = http://localhost/jsp-examples/

Servlets example Root = .\xampp\tomcat\webapps\servlets-examples


Servlets example URL = http://localhost/servlets-examples/

Mod_jk java Root = .\xampp\tomcat\weppapps\java


Mod_jk java URL = http://localhost/java/

Definir el mapa de puertos de los servidores y aplicaciones


-----------------------------------------------------------
Apache 2.2.4 -> Puerto 80
Mysql 5.0.45 -> Puerto 3306
Apache Tomcat -> Puerto 8080
[
Ftp (FileZilla) -> Puerto 21
Servidor de Correo (Mercury) -> Puerto 25
]

The XAMPP default ports:


ftp 21/tcp # File Transfer [Control] (XAMPP: FTP Default Port)
smtp 25/tcp mail # Simple Mail Transfer (XAMPP: SMTP Default Port)
http 80/tcp # World Wide Web HTTP (XAMPP: Apache Default Port)
pop3 110/tcp # Post Office Protocol - Version 3 (XAMPP: POP3 Default Port)
imap 143/tcp # Internet Message Access Protocol (XAMPP: IMAP Default Port)
https 443/tcp # http protocol over TLS/SSL (XAMPP: Apache SSL Port)
mysql 3306/tcp # MySQL (XAMPP: MySQL Default Port)
AJP/1.3 8009 # AJP/1.3 (XAMPP: Tomcat AJP/1.3 Port)
http-alt 8080/tcp # HTTP Alternate (see port 80) (XAMPP: Tomcat Default Port)

* Probar las instalaciones y ajustar algunas de las variables.


* Para información adicional se puede seguir la forma en que se ha obtenido esta distribución y los
ficheros del parche de SEDA, que se explica a continuación.

***********************************************************************
* ¿Cómo se ha obtenido la versión de distribución de xampp-tomcat-svn?
***********************************************************************
1) ¿Cómo se ha obtenido "01-XamppTomcatSvn-v*.*.zip"?
1.1) Obtener Xampp 1.6.3a
Descomprimir "01-Xampp-v6.1.3a.zip\xampp-win32-1.6.3a.zip" en el directorio \serv\xampp
1.2) Añadir las extensiones de Tomcat
Descomprimir "01-Xampp-v6.1.3a.zip\xampp-win32-1.6.3a.zip" en el directorio \serv\xampp
(se sobrescriben los ficheros con el mismo nombre)
1.3) Obtener el servidor de svn 1.*.*^
Descomprimir "02-ServidorSVN-v1.4.5.zip\02-ServidorSVN-v1.4.5\svn-win32-1.4.5_Apache2.2.x.zip"
en el directorio \serv\bin

De esta forma se ha obtenido:


"01-XamppTomcatSvn-v*.*.zip"

2) ¿Cómo se ha obtenido "02-XamppTomcatSvn-SEDA-v0.0.zip"?

Todas las modificaciones de esta distribución para que se ejecute correctamente en SEDA,
con ficheros de configuración, etc. se han guardado en:
"02-XamppTomcatSvn-SEDA-v0.0.zip"
que deberá descomprimirse y sobrescribir la instalación anterior.

Para obtener la diferencia se ha comparado:


"01-XamppTomcatSvn-v*.*.zip"
con la instalación en el servidor que se ha ido modificando.

*************************************************************
* Instalar Subversion 1.4.5
*************************************************************
Como no se dispone de instalador para SVN 1.4.5 para Apache2.2.x,
se debe instalar a partir del fichero *.zip de la forma siguiente.
Descomprimir el fichero:
svn-win32-1.4.5_Apache2.2.x.zip
en un directorio, por ejemplo: "D:\serv\svn"
Poner en el path de ejecución: "D:\serv\svn", para hacerlo de forma permanente basta añadir:
;D:\serv\svn
a la variable de entorno PATH.
Por ejemplo en Propiedades de MiPC/OpcionesAvanzadas/VariablesDeEntorno, y buscar en "Variables
del sistema" la variable Path, editarla añadiendo la cadena anterior o la que corresponda.
Comprobar en una ventana de comandos de DOS que se ejecuta correctamente:
>svnadmin --version
(muestra la versión del servidor svn)

*************************************************************
Instalación de Xampp 1.6.3a
*************************************************************
Contiene:
Apache HTTPD 2.2.4 + Openssl 0.9.8e
MySQL 5.0.45
PHP 5.2.3
PHP 4.4.7
phpMyAdmin 2.10.3
Zend Optimizer 3.3.0
1.6.3 Patch

Se puede descargar desde:


http://www.apachefriends.org/en/xampp-windows.html
o
http://sourceforge.net/project/showfiles.php?group_id=61776

Instalación:
------------
Descomprimir xampp-win32-1.6.3a.zip en un directorio.
Ejecutar: ..\xampp\setup_xampp.bat (donde ..\ indica el directorio en el que se ha descomprimido el
directorio \\xampp)

Ejecutar: ..\xampp\xampp-control.exe y levantar los servicios correspondientes.

Bloquear/Desbloquear los servicios que se quieren dejar activos para Firewall de Windows, Panda, etc.
Por ej. si se tiene instalado el Firewall de Windows, se pedirá desbloquear:
..\xampp\apache\bin\apache.exe
ATENCIÓN.- Comprobar que no hay ningún otro programa que bloquee el puerto correspondiente, por
ejemplo Skype, suele bloquear el puerto 80.
Para que desactivar el puerto 80 del skype, seleccionar en Skype: Herramientas/...Opciones/Conexión y
deshabilitar la opción: "Usar puertos 80 y 443 como alternativas para las conexiones entrantes".
Seleccionar Guardar.

Apache 2.2.4 -> Puerto 80


Mysql 5.0.45 -> Puerto 3306
Ftp (FileZilla) -> Puerto 21
Servidor de Correo (Mercury) -> Puerto 25

The XAMPP default ports:


ftp 21/tcp # File Transfer [Control] (XAMPP: FTP Default Port)
smtp 25/tcp mail # Simple Mail Transfer (XAMPP: SMTP Default Port)
http 80/tcp # World Wide Web HTTP (XAMPP: Apache Default Port)
pop3 110/tcp # Post Office Protocol - Version 3 (XAMPP: POP3 Default Port)
imap 143/tcp # Internet Message Access Protocol (XAMPP: IMAP Default Port)
https 443/tcp # http protocol over TLS/SSL (XAMPP: Apache SSL Port)
mysql 3306/tcp # MySQL (XAMPP: MySQL Default Port)
AJP/1.3 8009 # AJP/1.3 (XAMPP: Tomcat AJP/1.3 Port)
http-alt 8080/tcp # HTTP Alternate (see port 80) (XAMPP: Tomcat Default Port)

NOTA.- Esta instalación es muy sencilla y no genera ningún fichero my.cfg o php.ini en el directorio de
Windows. Estos ficheros se encuentran en:
..\xampp\mysql\bin\my.cnf
..\xampp\apache\bin\php.ini
..\xampp\php\php.ini
..\xampp\php\php4\php.ini

Definir Usuarios/Claves: ...


Usuario y password para mysql: ¿¿??

*************************************************************
Instalación de Xampp 1.6.3a + Apache Tomcat 6.0.13
*************************************************************
* Tomcat 6.0.13 necesita Java 2 Standard Edition Runtime Environment (JRE) version 5.0 o superior.
Instalación
-----------
* Se han añadido los ficheros de xampp-win32-tomcat-addon-6.0.13-2.2.4.zip
* Volver a ejecutar: ..\xampp\setup_xampp.bat (donde ..\ indica el directorio en el que se ha
descomprimido el directorio \\xampp)

* Se debe instalar el servicio de Tomcat, para ello se debe ejecutar:


..\xampp\tomcat\bin\tomcat_service_install.bat

* Debe estar instalado previamente Java con el JSE 5.0 o superior.


Para levantar/bajar el servicio se han editado los ficheros:
startup.bat
y
shutdown.bat
Añadiéndoles el path para Java, por ejemplo:
set JAVA_HOME=C:\Archivos de programa\Java\jdk1.5.0_11\
set JVRE=C:\Archivos de programa\Java\jre1.5.0_11\

* Ejecutar startup y comprobar que funciona:


Tomcat Server Home = .\xampp\tomcat
Tomcat URL = http://localhost:8080
Tomcat Doc Root = .\xampp\tomcat\webapps

JSP example Root = .\xampp\tomcat\webapps\jsp-examples


JSP example URL = http://localhost/jsp-examples/

Servlets example Root = .\xampp\tomcat\webapps\servlets-examples


Servlets example URL = http://localhost/servlets-examples/

Mod_jk java Root = .\xampp\tomcat\weppapps\java


Mod_jk java URL = http://localhost/java/

**********************************************************************************
*
Instalación de SVN 1.4.4 para Apache 2.2.x con Xampp 1.6.3a + Apache Tomcat 6.0.13
**********************************************************************************
*
* Se ha realizado una copia de la version Xampp 1.6.3a + Apache Tomcat 6.0.13 a otro directorio.
* Ejecutar: setup_xampp.bat para actualizar los paths en los ficheros de configuración.
* Comprobar que funciona correctamente Apache, Mysql, Tomcat, etc.

* Descomprimir el fichero:
"xampp-win32-tomcat-addon-6.0.13-2.2.4-SEDA-v*.*.zip" en el directorio ..\Xampp
(Es decir descomprimir \\xampp-win32-tomcat-addon-6.0.13-2.2.4-SEDA-v*.*.zip\Xampp en
..\Xampp)
Aquí residen los ficheros actualizados y tambien el fichero httpd.conf con las todas las modificaciones
que se indican a continuación:

---Inicio Modificaciones
* Preparación para el funcionamiento de SVN
Hacer una copia del fichero de configuración de Apache:
..\apache\conf\httpd.conf
como:
..\apache\conf\httpd-original.conf

* Añadir las siguientes líneas al fichero de configuración de Apache (..\Xampp\apache\conf\httpd.conf )

LoadModule dav_svn_module modules/mod_dav_svn.so


LoadModule authz_svn_module modules/mod_authz_svn.so

* Descomento las líneas:


LoadModule ssl_module modules/mod_ssl.so (ya viene descomentada)
LoadModule rewrite_module modules/mod_rewrite.so

* Se copian del subdirectorio bin en la instalación de subversion a la carpeta modules de apache los
siguientes ficheros:
mod_dav_svn.so
mod_authz_svn.so
libdb44.dll
que se copian en los siguientes directorios:
..\Xampp\apache\modules\mod_dav_svn.so
..\Xampp\apache\modules\mod_authz_svn.so
..\Xampp\apache\bin\libdb44.dll

Al ejecutar da error de que no encuentra el módulo mod_ssl.so

El módulo mod_ssl.so se ha obtenido de donde se descargan las herramientas de OpenSSL (según se


indica en el Capitulo 3 de TortoiseSVN: "Capitulo 3. ". Una copia de esto se añade al final de este
fichero)

* Creamos los repositorios de ejemplos en el servidor con el fichero:


CreaRepositorioEnServidor-Ejemplos.bat
que ejecuta:
>svnadmin create H:\temp\svn\test
>svnadmin create H:\temp\svn\test0

*****
*Añadir las siguientes líneas en hpptd.conf que localizan el servicio svn para apache (al final del
fichero)

# INICIO CAMBIO 10-9-2007 Instalacion SVN


<Location /svn>
DAV svn

#Direccion fisica de la raiz repositorio


SVNParentPath H:\temp\svn\

#Dotamos de seguridad SSL al servidor de SVN


SSLRequireSSL
AuthType Basic
AuthName "Repositorios de Subversion"
#Fichero con los usuarios y sus claves para svn
AuthUserFile privado/passwd-svn
#Grupos de usuarios y privilegios para svn
AuthzSVNAccessFile privado/svnaccessfile
Require valid-user
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
# </LimitExcept>
</Location>

RewriteEngine on
RewriteRule ^/svn$ /svn_index.php [PT]
RewriteRule ^/svn/$ /svn_index.php [PT]
RewriteRule ^/svn/index.html$ /svn_index.php [PT]
# FIN CAMBIO 10-9-2007 Instalacion SVN

* Por último probar de nuevo que levanta el servidor apache sin problemas.
* Probar https://localhost/svn

**********************************************************************************
*******
Instalar varios repositorios
Dar de alta usuarios
Gestión de claves
Creación del certificado del servidor para acceso SSL (con https:)
**********************************************************************************
********
OJO.- Crear nuevos ficheros de acceso para este servicio SVN: passwd-svnSEDA y svnaccessfileSEDA
Añadir las siguientes líneas en hpptd.conf que localizan el servicio svnSEDA para apache (al final del
fichero)

---Fin Modificaciones

ATENCIÓN.- La mayoría de las acciones realizadas para la instalación del servidor Apache con SSL han
seguido las indicaciones del Capitulo 3 de TortoiseSVN para añadir SSL al servidor de Apache:
(Ver: http://tortoisesvn.net/docs/release/TortoiseSVN_es/help-onepage.html#tsvn-serversetup-
apache-7)
Capítulo 3. Preparando un servidor...Servidor basado en Apache...Asegurando el servidor con SSL

Comprobar que el servidor se levanta y probar acceso.

******************************
En este momento tenemos instalado el AppServ (Apache, PHP) y el subversion, pero falta integrar el
subversion al Apache para poder acceder a los repositorios desde internet, administrar usuarios, claves
y accesos a los repositorios, etc...
******************************

El primer paso es crear algunos repositorios de ejemplo.


Para ello ejecutamos:
D:\serv\Subversion\crear-repositoriosSVN-ejemplos.bat
y
crear-repositoriosSVNSEDA-ejemplos.bat

EXPLICACIÓN.-Es importante definir el directorio donde se almacenarán los repositorios.


En nuestro caso estarán definidos los siguientes directorios para crear repositorios:
E:\datos\SVN\ (para creación de repositorios generales de bd.unex.es o que deban estar aparte por
motivos de seguridad)
y
E:\datos\sedaSVN\ (para repositorios específicos de SEDA)

Para ello utilizamos el siguiente comando de Subversion:


>svnadmin create <ruta del repositorio>

Crear repositorios. Habrá un directorio raíz (E:\datos\SVN\) y en su interior se crearán los repositorios,
por ejemplo:

svnadmin create E:\datos\SVN\fecagu04


svnadmin create E:\datos\SVN\dacafe04
svnadmin create E:\datos\SVN\pepasu04
svnadmin create E:\datos\SVN\polo

Añadir las siguientes líneas en hpptd.conf que localizan el servicio svn para apache (al final del fichero)
[Nota.- Poner el bloque sin los comentarios de la derecha de las líneas, ya que causan conflictos.]

<Location /svn> #Para acceder http://localhost/svn


DAV svn
SVNParentPath E:\datos\SVN\ #Direccion fisica de la raiz repositorio
SSLRequireSSL #Dotamos de seguridad SSL al servidor de SVN
AuthType Basic
AuthName "Repositorios de Subversion"
AuthUserFile privado/passwd-svn #Fichero con los usuarios y sus claves para svn
AuthzSVNAccessFile privado/svnaccessfile #Grupos de usuarios y privilegios para svn
Require valid-user
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
# </LimitExcept>
</Location>

RewriteEngine on
RewriteRule ^/svn$ /svn_index.php [PT]
RewriteRule ^/svn/$ /svn_index.php [PT]
RewriteRule ^/svn/index.html$ /svn_index.php [PT]

Probar de nuevo que levanta el servidor apache sin problemas.

**********************************************************************************
************
Inclusión de un segundo directorio para repositorios SVN que será paralos repositorios de SEDA
**********************************************************************************
************
OJO.- Crear nuevos ficheros de acceso para este servicio SVN: passwd-svnSEDA y svnaccessfileSEDA
Añadir las siguientes líneas en hpptd.conf que localizan el servicio svnSEDA para apache (al final del
fichero)
[Nota.- Poner el bloque sin los comentarios de la derecha de las líneas, ya que causan conflictos.]

<Location /svnSEDA> #Para acceder http://localhost/svnSEDA


DAV svnSEDA
SVNParentPath E:\datos\SVNSEDA\ #Direccion fisica de la raiz repositorio
SSLRequireSSL #Dotamos de seguridad SSL al servidor de SVN
AuthType Basic
AuthName "Repositorios de Subversion"
AuthUserFile privado/passwd-svnSEDA #Fichero con los usuarios y sus claves para svn
AuthzSVNAccessFile privado/svnaccessfileSEDA #Grupos de usuarios y privilegios para svn
Require valid-user
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
# </LimitExcept>
</Location>

RewriteEngine on
RewriteRule ^/svn$ /svn_index.php [PT]
RewriteRule ^/svn/$ /svn_index.php [PT]
RewriteRule ^/svn/index.html$ /svn_index.php [PT]

Probar de nuevo que levanta el servidor apache sin problemas.

-----

Ejemplo de Repositorios creados en D:\svn:


D:\svn\bda (se crea el repositorio y luego en el repositorio se crean las siguientes carpetas):
D:\svn\bda\b
D:\svn\bda\b00
...
D:\svn\bda\b30
D:\svn\pl (se crea el repositorio y luego en el repositorio se crean las siguientes carpetas):
D:\svn\bda\b
D:\svn\pl\p
D:\svn\pl\p00
...
D:\svn\pl\p30
Claves de apache y svn
Dir : C:\ArchivosDeProgramas\AppServ\apache\privado\
passwd-svn - contiene los usuarios y claves de acceso a svn para Apache
svnaccessfile - Define grupos de usuarios y permisos rw (Read/Write) a usuarios o grupos para
directorios en los repositorios).
mk-passwd.bat - Para llamar al comando de añadir passwords al fichero passwd-svn

Ejecutar el fichero de creación de certificados con:


AppServ-SVN\c-ArchivosDeProgramas-AppServ\apache\certificadoSSL.bat

-----

************************************************
Preparación de permisos Usuarios en Subversion
************************************************

** 1 **
Primero crearemos los certificados del servidor. Para ello, ejecutaremos el fichero "certificadoSSL.bat"
(C:\serv\AppServ\Apache\certificadoSSL.bat).

******************* Ejemplo de ejecución:


C:\serv\AppServ\apache>certificadoSSL.bat

C:\serv\AppServ\apache>call bin\openssl req -config bin\openssl.cnf -new -out my


-server.csr
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
........................++++++
...........++++++
writing new private key to 'privkey.pem'
Enter PEM pass phrase:holasoypealyestoycansado
Verifying - Enter PEM pass phrase:holasoypealyestoycansado
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:es
State or Province Name (full name) []:Caceres
Locality Name (eg, city) []:Caceres
Organization Name (eg, company) []:UEX
Organizational Unit Name (eg, section) []:Proyecto Fin Carrera
Common Name (eg, your websites domain name) []:bd.unex.es
Email Address []:nanpeal@hotmail.com

Please enter the following 'extra' attributes


to be sent with your certificate request
A challenge password []:daleduro

C:\serv\AppServ\apache>call bin\openssl rsa -in privkey.pem -out my-server.key


Enter pass phrase for privkey.pem:holasoypealyestoycansado
writing RSA key

C:\serv\AppServ\apache>call bin\openssl x509 -in my-server.csr -out my-server.ce


rt -req -signkey my-server.key -days 4000
Loading 'screen' into random state - done
Signature ok
subject=/C=es/ST=Caceres/L=Caceres/O=UEX/OU=Proyecto Fin Carrera/CN=bd.unex.es/e
mailAddress=nanpeal@hotmail.com
Getting Private key

C:\serv\AppServ\apache>call bin\openssl x509 -in my-server.cert -out my-server.d


er.crt -outform DER
C:\serv\AppServ\apache>
*************************FIN EJECUCION

Cuando se haya terminado la ejecución deberán haberse generado, donde se encuentra el fichero
certificadoSSL.bat, los siguientes ficheros (que continen los certificados y claves privadas para el
servidor):
.rnd
my-server.cert
my-server.csr
my-server.der.crt
my-server.key
privkey.pem

Estos ficheros hay que meterlos en la carpeta C:\serv\AppServ\apache\conf\ssl

(OJO.- Estos ficheros son importantes pues contienen la clave privada del servidor y no deben
distribuirse)

NOTA.- PEM: Acrónimo de Privacy Enhanced Mail (Correo implementado con privacidad). Estándar
propuesto para asegurar la privacidad del correo electrónico en Internet. Incluye protocolos para
encriptación, autenticación, integridad de mensajes y gestión de claves.
Es el formato que aparece al final de los correos de la forma:
-----BEGIN CERTIFICATE-----
MIIDrTCCAxagAwIBAgIBATANBgkqhkiG9w0BAQQFADCBoDELMAkGA1UEBhMCVVMx
CzAJBgNVBAgTAk1BMRMwEQYDVQQHEwpCb3hib3JvdWdoMRgwFgYDVQQKEw9SdXN0
ZWQgUm9vdCBJTkMxEDAOBgNVBAsTB1Jvb3QgQ0ExHjAcBgNVBAMTFXJvb3RDQS5y
dXN0ZWRyb290LmNvbTEjMCEGCSqGSIb3DQEJARYUYWRtaW4ucnVzdGVkcm9vdC5j
b20wHhcNMDQwODI4MDQyMDM2WhcNMDUwODI4MDQyMDM2WjCBkzELMAkGA1UEBhMC
VVMxCzAJBgNVBAgTAk1BMRMwEQYDVQQHEwpCb3hib3JvdWdoMRYwFAYDVQQKEw1U
YW5rIERvZyBUb3lzMRQwEgYDVQQLEwtUYW5rIFN0aWNrczEVMBMGA1UEAxMMd3d3
LnRhbmsuY29tMR0wGwYJKoZIhvcNAQkBFg5hZG1pbi50YW5rLmNvbTCBnzANBgkq
hkiG9w0BAQEFAAOBjQAwgYkCgYEA65WjIJcEvYynLrWUsPz1H+VM5O8sRMp10BLI
vSTCWsrWD9rn0Hut9R3Cwc2MmjecDk8avDXxF+vqKLkI41KGLz6yniNcjVfsLi8X
InXrRL53INAXkC1xbP0jsnz5iJU9aquvh81ak/f2nvKm9p9y8QLGYouDdzoFBHc4
kE5DNoECAwEAAaOCAQAwgf0wHQYDVR0OBBYEFD1zYK+rk0zEDJ1hRHev7QO9OQhx
MIHNBgNVHSMEgcUwgcKAFDk1ekYzE8uAEXrt7/J1dSbgAg9ioYGmpIGjMIGgMQsw
CQYDVQQGEwJVUzELMAkGA1UECBMCTUExEzARBgNVBAcTCkJveGJvcm91Z2gxGDAW
BgNVBAoTD1J1c3RlZCBSb290IElOQzEQMA4GA1UECxMHUm9vdCBDQTEeMBwGA1UE
AxMVcm9vdENBLnJ1c3RlZHJvb3QuY29tMSMwIQYJKoZIhvcNAQkBFhRhZG1pbi5y
dXN0ZWRyb290LmNvbYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GB
AKC9izT+RkBQ8lUOK2VsLMYSi7a6uAzJwUwfIezYevl9U1AgQKrO++GvKKaTwfcS
NerJajut7JZr+JOh4+Ai16Ccz7yZjqZ8/lFmB0dDzJGlib5ASE0eiy/+azp6GFG1
acYcDdCtNAa3oR6DknNKDWihRQpIF3P/rFsbPb0+t/OD
-----END CERTIFICATE-----

** 2 **
Ahora crearemos los usuarios que podrán acceder a SVN, sus claves y el tipo de acceso del que
disponen. Para ello, nos situamos en la carpeta \\Apache\privado\ que copiamos en uno de los pasos
anteriores y ejecutamos el comando:

mk-passwd.bat <nombre de usuario>


******************* Ejemplo de ejecución:
C:\serv\AppServ\apache\privado>mk-passwd.bat polo

C:\serv\AppServ\apache\privado>..\bin\htpasswd passwd-svn polo


Automatically using MD5 format.
New password: ****
Re-type new password: ****
Adding password for user polo

C:\serv\AppServ\apache\privado>mk-passwd.bat fecagu04

C:\serv\AppServ\apache\privado>..\bin\htpasswd passwd-svn fecagu04


Automatically using MD5 format.
New password: ***********
Re-type new password: ***********
Adding password for user fecagu04

C:\serv\AppServ\apache\privado>mk-passwd.bat pepasu04

C:\serv\AppServ\apache\privado>..\bin\htpasswd passwd-svn pepasu04


Automatically using MD5 format.
New password: ***********
Re-type new password: ***********
Adding password for user pepasu04

C:\serv\AppServ\apache\privado>mk-passwd.bat dacafe04

C:\serv\AppServ\apache\privado>..\bin\htpasswd passwd-svn dacafe04


Automatically using MD5 format.
New password: ***********
Re-type new password: ***********
Adding password for user dacafe04
*************************FIN EJECUCION

El contenido de la carpeta privado será el siguiente:


passwd-svn - contiene los usuarios y claves de acceso a svn para Apache

svnaccessfile - Define grupos de usuarios y permisos rw (Read/Write) a usuarios o grupos para


directorios en los repositorios).Este fichero se puede editar a mano

mk-passwd.bat - Para llamar al comando de añadir passwords al fichero passwd-svn

*****
Sin embargo, esta forma de creación de usuarios será más completa con la forma en que se realiza en
la práctica xdoc, con la carpeta /privado, en la que se ejecuta un comando bat que permite crear un
repositorio, sus usuarios con su password para Apache y asignando privilegios de acceso al repositorio.

************************************************************
FIN INSTALACION AppservSVN
*************************************************************

Você também pode gostar