{{tag> DocMGR}} ===== DocMGR ===== ====== Instalación de DocMGR 0.55.3 ====== Documento original http://diariodeunadministrador.blogspot.com/2006/03/instalacin-de-docmgr-0553.html DocMGR 0.55.3 http://www.docmgr.org/ es un gestor de documentación que incluye características tales como indexación de contenidos, control de versiones, gestión de usuarios y grupos, colecciones de archivos... entre otras. Para instalar docmanager 0.55.3 necesitamos los siguientes paquetes para Debian Sid. La mínima versión para Debian es Etch (que tiene php 5) o Sarge si lo compilamos, o usamos un backport. Con la madurez actual de Etch (testing a 28-03-2006) recomiendo esta por sus archivos más actualizados y estabilidad moderada. Entre los siguientes paquetes, es posible que no se necesiten todos, pero son los que hay en mi instalación (en negrita, algunos que no pueden faltar, aparte de los propios de cada programa claro) **PHP 5.x** ii php-pear 5.1.2-1 PEAR - PHP Extension and Application Reposit ii php5-clamavlib 0.12a-1+b1 PHP ClamAV Lib - ClamAV Interface for PHP5 S ii php5-cli 5.1.2-1+b1 command-line interpreter for the php5 script ii php5-common 5.1.2-1+b1 Common files for packages built from the php ii php5-gd 5.1.2-1+b1 GD module for php5 ii php5-imap 5.1.2-1 IMAP module for php5 ii php5-ldap 5.1.2-1+b1 LDAP module for php5 ii php5-mapscript 4.8.1-2 module for php5-cgi to use mapserver ii php5-mhash 5.1.2-1+b1 MHASH module for php5 ii php5-mysql 5.1.2-1+b1 MySQL module for php5 ii php5-pgsql 5.1.2-1+b1 PostgreSQL module for php5 ii php5-recode 5.1.2-1+b1 recode module for php5 ii php5-xsl 5.1.2-1+b1 XSL module for php5 **Postgresql 8.x** ii postgresql-8.1 8.1.3-2 object-relational SQL database, version 8.1 ii postgresql-8.1-plr 0.6.2-2 Procedural language interface between Postgr ii postgresql-client-8.1 8.1.3-2 front-end programs for PostgreSQL 8.1 ii postgresql-client-common 48 manager for multiple PostgreSQL client versi ii postgresql-common 48 manager for PostgreSQL database clusters ii postgresql-contrib-8.1 8.1.3-2 additional facilities for PostgreSQL Apache 2.x ii apache-common 1.3.34-2 support files for all Apache webservers ii apache2 2.0.55-4 next generation, scalable, extendable web se ii apache2-common 2.0.55-4 next generation, scalable, extendable web se ii apache2-doc 2.0.55-4 documentation for apache2 ii apache2-mpm-prefork 2.0.55-4 traditional model for Apache2 ii apache2-utils 2.0.55-4 utility programs for webservers ii libapache-mod-auth-mysql 4.3.9-2.1+b1 Apache module for MySQL authentication ii libapache2-mod-auth-pam 1.1.1-6 module for Apache2 which authenticate using ii libapache2-mod-auth-pgsql 2.0.3-3 Module for Apache2 which provides pgsql auth ii libapache2-mod-perl2 2.0.2-2 Integration of perl with the Apache2 web ser ii libapache2-mod-php5 5.1.2-1+b1 server-side, HTML-embedded scripting languag ii libapache2-mod-security 1.8.7-1 Tighten web applications security for Apache ii libapache2-modxslt 2004112100-3.1 XSLT processing module for Apache 2.0.x base ===== Otras aplicaciones externas requeridas para añadir funcionalidad ===== A continuación pongo la información del DocMGR instalado sobre los programas que usa. Cuando lo instaléis y os logoneéis, podéis ir a Administrar --> Aplicaciones externas y os informará de que tenéis y que no. Con apt-get install podéis instalar todo lo que os falte y que queráis usar. Algunas son xpdf, clamav o antiword. {{aplicaciones:docmgr1.jpg?450|}} Una vez instalados vamos a configurar cada parte de forma básica para que funcione (después se puede ir afinando) ===== Configuración Postgresql ===== Editamos el archivo /etc/postgresql/8.1/main/pg_hba.conf que se encarga de la seguridad y añadimos o cambiamos lo que hay en negrita. A mi no me ha funcionado postgresql sin hacer esto. # Database administrative login by UNIX sockets local all postgres trust # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all postgres 127.0.0.1/32 trust host all all 127.0.0.1/32 md5 # IPv6 local connection: host all all ::1/128 md5 ===== Configuramos PHP ===== Editamos el archivo /etc/php5/apache2/php.ini para el servidor apache y /etc/php5/cli/php.ini que es el de configuración del cliente para que usen postgresql y otras cosas mas: max_execution_time = 39200 #(segundos, 12 horas, 30 sg por defecto) - Dejarlo por defecto en 30 sg puede ser un problema al ejecutar algunos scripts y que estos se paren antes de que se terminen de ejecutar. Como con todo, cada uno puede afinarlo como quiera. max_input time = 600 # (segundos, 60 sg por defecto), es el tiempo máximo que cada script puede gastar analizando sintácticamente datos que han sido pedidos. max_memory_limit = 256M #(8M por defecto) máxima cantidad de memoria que un script puede consumir post_max_size = 1024M # máximo tamaño de un POST que php aceptará upload_max_filesize = 1024M # máximo tamaño de archivo que se puede subir al servidor extension = pgsql.so # La extensión o modulo para poder usar postgresql en php Las anteriores directivas están igual en los dos ficheros. Además debe aparecer la sección [PostgreSQL]. ===== Configuramos Apache 2 ===== Editamos el archivo /etc/apache2/apache2.conf ServerRoot "/etc/apache2" # por defecto ServerName "nombre_del_host" El archivo /etc/apache2/sites-enabled/000-default contiene los sitios permitidos del servidor. Este es el archivo que viene por defecto y el contenido está modificado, no es el que viene originalmente, así que hay que tener cuidado con esto y fijaros en lo que hay antes de hacer nada. En este caso tenemos: NameVirtualHost *:80 # Todo lo que llega al puerto 80 (el servidor web por defecto) ServerAdmin admin@mail # mail administrador del sitio DocumentRoot /var/www/ # Documento raíz del servidor web Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all RedirectMatch ^/$ /doc/ #Para que se al poner la dirección de la web, el servidor vaya directamente a la carpeta /doc y cargue DocMGR de forma automática. Esta carpeta doc, la copiaremos en los siguientes pasos al directorio raíz del servidor apache. ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Recargamos los ficheros de los servidores para asegurarnos de que las configuraciones se van a aplicar con # /etc/init.d/apache2 reload Reloading apache 2.0 configuration... # /etc/init.d/postgresql-8.1 reload Reloading PostgreSQL 8.1 database server: main. ===== Poner archivos de DocMGR en apache2 ===== Una vez que los requisitos están cumplidos, debemos hacer funcionar la aplicación. Para ello, debemos tener descargados los archivos docmgr-0.55.3.tar.gz desde http://sourceforge.net/project/showfiles.php?group_id=39658 Spanish.zip desde http://wiki.docmgr.org/index.php/Language_Files El primero lo descomprimimos con tar y se nos creará la carpeta doc en el directorio donde lo descomprimamos, con todos los subdirectorios y archivos de DocMGR. # tar -zxvf docmgr-0.55.3.tar.gz El segundo lo descomprimimos con unzip, que nos dará como resultado los archivos Castellano.php y es.js que son los archivos de idioma Castellano. Estos los movemos a la carpeta doc/lang/ para que estén disponibles para DocMGR. # unzip Spanish.zip Archive: Spanish.zip inflating: Castellano.php inflating: es.js # mv Castellano.php es.js doc/lang/ Una vez hecho esto, movemos el directorio doc/ , ya con el idioma español, al directorio raíz de apache2 # mv doc /var/www/ Le cambiamos el propietario y grupo a a www-data que es el usuario de apache2, para que pueda manejar los archivos. # cd /var/www/ # chown -R www-data:www-data doc Le cambiamos los permisos a 770 para que solo el usuario y grupo www-data tenga acceso (o root). # chmod -R 770 doc ===== Creación de la base de datos de DocMGR ===== A continuación, creamos la base de datos docmgr usando el comando su para ejecutar el comando proporcionado con (-c) con el usuario de sistema postgres (-l) desde consola de root. El comando createdb esta disponible cuando instalamos postgresql. # su -l postgres -c "createdb docmgr" Creamos la estructura de la base de datos docmgr con el script docmgr.pgsql que se encuentra en el directorio /var/www/doc/scripts. Primero cambiamos el propietario y grupo del script a postgres para que pueda ser ejecutado y después lo ejecutamos así: # chown -R postgres:postgres /var/www/doc/scripts/docmgr.pgsql # psql -d docmgr -f /var/www/doc/scripts/docmgr.pgsql -u postgres Con el comando psql podemos gestionar Postgresql, la opción -d es la base de datos donde vamos a ejecutar las sentencias del archivo dado con -f y con el usuario de la base de datos llamado postgres. Cuando os pida la contraseña del usuario, dais a intro sin escribir nada. Si usais otro usuario pues escribis la contraseña si tiene. En la carpeta /var/www/doc/scripts/ hay otros archivos interesantes que podréis ejecutar según vuestros intereses, recordando siempre cambiar los permisos. De hecho, recomiendo encarecidamente cambiar los permisos de toda esta carpeta para que no se puedan acceder con el servidor web. Entre otros están los script de indexación o de generación de bases de datos de versiones anteriores a postgres. También hay otro archivo importante que deberíais configurar a vuestro gusto este es /var/www/doc/config/config.php y es el archivo que sirve para configurar DocMGR, entre otras cosas, parametros de conexión a la base de datos (si cambiais el nombre de la base de datos, puerto, host, etc. hay que ponerlo aquí), directorio de los ficheros, directorio de importación, lenguaje por defecto,etc. Para más información www.docmgr.org Comprobación de la instalación Para comprobar que todo ha salido correctamente, abrimos nuestro navegador web favorito (en mi caso Firefox) y ponemos la dirección http://localhost que debería llevarnos a la pantalla de login. {{aplicaciones:img02.jpg?450|inicio sesión}} Si es así, ya esta funcionando, después introducimos el usuario admin y contraseña admin por defecto y ya podemos usarlo y configurarlo.