Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Mostrando entradas con la etiqueta apache. Mostrar todas las entradas
Mostrando entradas con la etiqueta apache. Mostrar todas las entradas

Como instalar y configurar Centos WebDav

Como instalar y configurar Centos WebDav

Imagino que muchos de nosotros hemos necesitado compartir un archivo grande (mas de 10MB) con otra persona y lo primero que tratamos de hacer es enviarlo por mail, enviarlo por Telegram o copiarlo en una USB, aunque hay una solución llamada WebDav.

Hoy instalaremos y configuraremos WebDav en un server Centos Linux. Para esto asumiremos que tenemos el server actualizado a la fecha y todos los comandos se realizaran desde la cuenta root.

Requisitos para Centos WebDAV


Como instalar y configurar Centos WebDav

-Abrimos una consola y comenzamos instalando Apache
yum -y install httpd

-Nos creamos un directorio a compartir con WebDav y le damos permisos a Apache en el
mkdir -p /home/httpd/webdav
chown apache:apache /home/httpd/webdav

-Creamos la configuracion para Apache de WebDav. Salimos guardando
vi /etc/httpd/conf.d/webdav.conf
<IfModule mod_dav.c>
 LimitXMLRequestBody 131072
 Alias /webdav "/home/httpd/webdav"

 <Directory /home/httpd/webdav>
  Dav On
  Options +Indexes
  IndexOptions FancyIndexing
  AddDefaultCharset UTF-8
  AuthType Basic
  AuthName "WebDAV Server"
  AuthUserFile /etc/httpd/webdav.users.pwd
  Require valid-user
  Order allow,deny
  Allow from all
 </Directory>
</IfModule>

-Creamos el fichero de password's. Los próximos usuarios serán incluidos sin el parámetro -c en el comando htpasswd ejecutado
htpasswd -c /etc/httpd/webdav.users.pwd usuario-a-crear

-Activamos el servicio httpd para que se inicie automáticamente al hacer boot e iniciamos el servicio para que tome los cambios
systemctl enable httpd
systemctl start httpd

Como conectar cliente ubuntu webdav

-Con lo anterior ya tenemos el servicio httpd ejecutando WebDav, ahora podemos acceder via web o con un cliente. Como ejemplo, mostrare como se configura el cliente para Ubuntu Linux Gnome Shell. Ejecutamos la aplicación Archivos

-Damos click en el botón izquierdo Otras ubicaciones

En la ventana Archivos damos click a Otras ubicaciones

-En el borde inferior de la ventana veremos una caja de texto nombrada Conectar con un servidor. Si damos click a su signo de interrogación veremos los diferentes protocolos que podemos usar como cliente. El que nos interesa es WebDav en su forma normal, davs no lo veremos en este articulo
La caja de texto nos muestra los diferentes protocolos que podemos usar

-Escribimos en la caja el URL como lo usaremos para WebDav dav://servidor/carpeta (en este caso por los directorios creados, el ejemplo seria dav://192.168.5.105/webdav ) y le damos click al botón Conectar
Escribimos el URL dependiendo del protocolo que usaremos

-Nos saldrá una nueva ventana pidiendo que nos autentiquemos. Escribimos el usuario y contraseña que creamos con el comando htpasswd en pasos anteriores. Elegimos una de las tres opciones inferiores
  • Olvidar contraseña inmediatamente: Apenas nos conectemos la contraseña es olvidada
  • Recordar la contraseña hasta salir de la sesion: La contraseña sera recordada hasta que nos salgamos de nuestra sesion Ubuntu
  • Recordar para siempre: Se recuerda la contraseña independientemente si nos salimos de Ubuntu o cerramos la ventana
Damos click al botón Conectar

Nos autenticamos con el servidor WebDav

-Ya estamos conectados a nuestro servidor WebDav. En este momento la carpeta nos aparece vacía porque acabamos de crear el servicio
Ya podemos ver la carpeta webdav

-Para copiar archivos es tan sencillo como arrastrarlos y soltarlos en la carpeta. Las carpetas las creamos dando click botón derecho de forma normal como si la carpeta fuera local en nuestro equipo Linux
Podemos comenzar a copiar archivos o carpetas en el sitio WebDav

-También podemos cambiar la forma de ver el contenido de la carpeta
La carpeta se comporta de forma identica a que si estuviera local

-Te da curiosidad ver la carpeta en el servidor? Los archivos o carpetas pertenecen al usuario y grupo apache y podemos verlos dando un comando
ls -la /home/httpd/webdav
La carpeta webdav y su contenido pertenecen a apache

No es la solución mas sofisticada pero si una de las mas útiles para intercambiar archivos dentro de tu LAN por medio del protocolo WebDav. Y tu, ya lo utilizas o tienes otra solución?

                                            Como instalar OwnCloud en un servidor Linux Centos paso a paso
                                            Como instalar Nextcloud en Linux Centos / Ubuntu Server

Quiero vivir de mi blog, de enseñar opensource, pero esto no sera posible sin tu apoyo, me ayudas?


Satisfech@ con el articulo? Bien, hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.
Sígueme en twittergoogle+facebook, email, YouTube o Patreon y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.


Share/Bookmark

Optimiza tu servidor Apache con URL amigables

DriveMeca optimizando un servidor web Apache en Linux Centos 7
Un buen diseño de tu pagina web sera primordial si quieres llegar a muchos pero de nada te servirá si tu servidor web no esta preparado para servir las paginas de una forma que tenga un buen SEO (Search engine optimization). Hablándolo un poco mas claro, es la forma en que se optimizan las paginas web para que sean encontradas por los buscadores (google, bing, yahoo, etc). Las paginas para tener un buen SEO deben acercarse lo mas posible a una forma "natural" del habla y de como los usuarios, es decir tu, buscas con palabras claves.

Ejemplo de mal SEO
https://draft.blogger.com/.g?bbloggerlogID=8744887760408486317#editor/target=post;postID=3299305910614033731

Correcto uso de SEO
http://www.tienda.com/contactenos

Para nuestro articulo usaremos Apache 2.4 en un servidor Linux Centos 7 el cual ya por default trae el modulo mod_rewrite. Este modulo es el que permite el uso de URL amigables con buen SEO y se activa de la siguiente forma.


-Modificamos httpd.conf y habilitamos la opción AllowOverride. Salimos guardando cambios
vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
    Options Indexes FollowSymLinks

    AllowOverride All

    Require all granted
</Directory>

-Reiniciamos el servicio
service httpd restart

Con esto ya esta listo nuestro servidor web Apache para ser indexado de forma correcta por un buscador y poder alcanzar una buena visibilidad en internet con nuestros links.
Usas mod_rewrite? con que versión de Apache? Que otra optimizacion para SEO usas en tu servidor web?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar y configurar Mailman con postfix MTA

Mailman es un servidor de listas muy util que nos sirve para tener nuestra propia lista de discusion por email o tener informado a un grupo sobre noticias, lanzamientos, etc. Bien usado (no para el envio de spam o correo no deseado) puede ser una gran herramienta.
Hoy les mostrare como instalarlo y configurarlo en un server Linux Centos 6 con Postfix como MTA. Toda la instalacion y configuracion la haremos desde root.

-Instalamos dependencias
yum install gcc python-devel python

-Descargamos mailman, aunque ya hay algunas versiones 3.x estan aun no estan en modo stable y no tienen casi documentacion asi que no las recomiendo para un servidor de produccion.
cd /tmp
wget -c http://launchpad.net/mailman/2.1/2.1.14/+download/mailman-2.1.14-1.tgz
tar -xzvf mailman-2.1.14-1.tgz
mkdir /usr/local/mailman

-Creamos un usuario y grupo para mailman con permisos limitados
cd mailman-2.1.14-1
groupadd mailman
useradd -c 'GNU Mailman' -s /sbin/nologin -M -g mailman mailman

-Damos permisos para el grupo mailman
chmod a+rx,g+ws /usr/local/mailman/
chown -R mailman.mailman /usr/local/mailman

-Compilamos
./configure
make install

cd /usr/local/mailman

-Verificamos los permisos ejecutando el siguiente comando hasta que ya no devuelva errores.
bin/check_perms -f

-Configuramos apache
chkconfig httpd on
cd /etc/httpd/conf

-Agregamos al conf de apache y salimos guardando
vi httpd.conf

group nobody
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
Alias   /pipermail/     "/usr/local/mailman/archives/public/"
<Directory "/usr/local/mailman/archives/public/">
    AddDefaultCharset Off
</Directory>

-Reiniciamos apache
service httpd restart

cd /usr/local/mailman
cp icons/*.{jpg,png} /var/www/icons/

vi Mailman/mm_cfg.py
IMAGE_LOGOS = '/icons/'
MTA = 'Postfix'

-Agregar a postfix y salimos guardando
vi /etc/postfix/main.cf
#luser_relay
recipient_delimiter = +
alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases

-Generamos aliases
bin/genaliases

-Cambios en permisos
chown mailman:mailman data/aliases*
chmod g+w data/aliases*

-Generamos la primera lista, obligatorio para el funcionamiento de mailman
bin/newlist mailman

-Configuramos tareas en cron
cd cron

-Editamos el crontab.in y agregamos el campo MAILTO en la primera linea y salimos guardando.
vi crontab.in

MAILTO=user@example.com


-Ejecutamos
crontab -u mailman crontab.in
cd ..

-Ejecutamos mailman
bin/mailmanctl start

-Configuramos para inicio automatico cada vez que haga boot el server
cp scripts/mailman /etc/init.d/mailman
chkconfig mailman on

-Creamos el password del sitio en general y el de creador de listas. El del sitio tiene permisos para todas las listas, el de creador de listas seria para dar permisos para una lista a otro usuario sin que tenga permisos para las demas

-Password del sitio
bin/mmsitepass

-Password para una lista
bin/mmsitepass -c password-a-colocar

-Entramos con un browser a la pagina del server con mailman y llenamos los campos para crear nuestra segunda lista, esta ya de uso nuestro.
http://mm.test.com/mailman/create

Listo, ya podemos configurar a nuestro gusto las listas, que pueden ser moderadas o no moderadas, de solo envio, etc.
Disfrutenlo

Share/Bookmark

Como habilitar apache server para sitios moviles

Hoy en dia es muy comun que naveguemos desde nuestros telefonos  smartphone's, ipad, ipod, tablet, etc. igual que en nuestro PC. Por eso muchos sitios virtuales estan haciendo una version 'mobil' para adaptar el sitio a estas pantallas, por lo general mas pequeñas y hacer la navegacion mas eficiente sin que el usuario se cance y cierre la pagina.
Esta vez veremos como configurar un web server apache para que dependiendo el dispositivo del usuario muestre nuestro sitio web normal o una versión ligera.
Usaremos un server Linux Centos 6 con web server apache instalado y actualizado a la fecha. Todo los cambios los haremos desde la cuenta root.

Tenemos 2 versiones del web site:
1- www.test.com o test.com (sitio normal)
DocumentRoot: /var/www/html/test

2- m.test.com                        (sitio móvil)
DocumentRoot: /var/www/html/mtest

-Verificamos los rpm http instalados, en caso de no tenerlos, los instalamos con yum

rpm -qa|grep http*
httpd-tools-2.2.15-5.el6.centos.i686
httpd-2.2.15-5.el6.centos.i686

-Verificamos tengamos habilitado el modulo rewrite

cd /etc/httpd/conf
grep rewrite_module *
httpd.conf:LoadModule rewrite_module modules/mod_rewrite.so

-Habilitamos el uso de vhost y creamos 2, uno para el sitio normal y otro para el móvil

cd /etc/httpd/conf
vi httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.test.com
    DocumentRoot /var/www/html/test
</VirtualHost>
<VirtualHost *:80>
    ServerName test.com
    DocumentRoot /var/www/html/test
</VirtualHost>
<VirtualHost *:80>
    ServerName m.test.com
    DocumentRoot /var/www/html/mtest
</VirtualHost>

Salimos guardando
-Creamos los dos escenarios. Comenzamos con el conf del sitio normal www.test.com

vi /etc/httpd/conf.d/test.conf
<Directory /var/www/html/test/>
   AllowOverride All 
</Directory>
<IfModule mod_rewrite.c>
  RewriteEngine On 
  RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos" [NC] 
  RewriteRule ^$ http://m.test.com/ [L,R=302] 
</IfModule>

Salimos guardando

-Hacemos el conf del sitio móvil negando la condición anterior del sitio normal

vi /etc/httpd/conf.d/mtest.conf
<Directory /var/www/html/mtest/>
   AllowOverride All 
</Directory>

<IfModule mod_rewrite.c>
  RewriteEngine On 
  RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC] 
  RewriteRule ^$ http://www.test.com/ [L,R=302] 
</IfModule>

Salimos guardando
-Reiniciamos el servicio apache
service httpd restart
 
En este URL tenemos la version de este articulo con un servidor Debian/Ubuntu. Espero les sea útil.
 

Share/Bookmark

Servidor subversion con interfaz web Trac

Hoy instalaremos y configuraremos un repositorio subversion con trac, una interfaz web que nos facilitara colaborar en nuestros proyectos de programacion con otras personas en un grupo.
Para esto usaremos un debian o ubuntu server

-Instalamos paquetes que usaremos
apt-get install enscript libapache2-mod-python python-docutils db4.3-util libapache2-svn subversion-tools

-Creamos el directorio para subversion
mkdir -p /var/local/svn/svn.example.com

-Creamos un grupo para desarrollo y agregamos el usuario web a este grupo
addgroup example
adduser www-data example

-Agregamos usuarios al grupo de desarrollo. En mi server el grupo tomo el id 1000
adduser --gid 1000 cabrera

-Colocamos permisos
chmod 2770 /var/local/svn/svn.example.com

-Activamos el repositorio
svnadmin create /var/local/svn/svn.example.com

-Eliminamos passwords para despues crearlos para protocolo https o http
rm /var/local/svn/svn.example.com/conf/passwd
touch /var/local/svn/svn.example.com/conf/passwd

-Damos permiso de escritura al grupo
chmod -R g+w /var/local/svn/svn.example.com

-Cambiamos el dueño y grupo de los files
chown -R www-data:example /var/local/svn/svn.example.com

-Activamos permisos para el repositorio. Ejemplo, dale permiso al grupo example de lectura y escritura
vi /var/local/svn/svn.example.com/conf/authz
example = rw

-Creamos un directorio para los logs
mkdir /var/log/apache2/svn.example.com

-Agregamos a la lista de rotacion de logs de apache
vi /etc/logrotate.d/apache2
/var/log/apache2/svn.example.com {
rotate 6
monthly
compress
missingok
notifempty
}

-Configuramos el directorio virtual de apache
vi /etc/apache2/sites-available/svn.example.com

ServerName svn.example.com

DAV svn
AuthType Basic
AuthName "svn.example.com"
AuthUserFile /var/local/svn/svn.example.com/conf/passwd
AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz
SVNPath /var/local/svn/svn.example.com
Require valid-user

CustomLog /var/log/apache2/svn.example.com/access.log combined
ErrorLog /var/log/apache2/svn.example.com/error.log
# Descomente la siguiente linea cuando tenga un certificado web real.
# SSLCertificateKeyFile /etc/apache2/ssl/server.key


-Activamos el sitio virtual
a2ensite svn.example.com

-Creamos los usuarios web
htpasswd /var/local/svn/svn.example.com/conf/passwd cabrera

-Reiniciamos apache
/etc/init.d/apache2 restart

-Creamos un link para poder trabajar localmente
ln -s /usr/bin/svnwrap /usr/local/bin/svn

-Creamos el directorio web para trac
mkdir -p /var/local/trac/trac.example.com

-Activamos permisos
chmod 2770 /var/local/trac/trac.example.com

-Descargamos setuptools, en este caso el de python 2.4, si tiene otra version, cambie el file a descargar o verifique desde la pagina de python

wget -c http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c9-py2.4.egg

-Lo instalamos
sh setuptools-0.6c9-py2.4.egg

-Instalamos trac 0.11
easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11

-Creamos una instancia de trac
trac-admin /var/local/trac/trac.example.com initenv
Creating a new Trac environment at /var/local/trac/trac.hyette.com

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

Please enter the name of your project.
This name will be used in page titles and descriptions.

Project Name [My Project]> Cabrera project

Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).

Database connection string [sqlite:db/trac.db]>

Please specify the type of version control system,
By default, it will be svn.

If you don't want to use Trac with version control integration,
choose the default here and don't specify a repository directory.
in the next question.

Repository type [svn]>

Please specify the absolute path to the version control
repository, or leave it blank to use Trac without a repository.
You can also set the repository location later.

Path to repository [/path/to/repos]> /var/local/svn/svn.example.com

Creating and Initializing Project
Installing default wiki pages
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracFineGrainedPermissions imported from TracFineGrainedPermissions
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracPermissions imported from TracPermissions
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiProcessors imported from WikiProcessors
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracLogging imported from TracLogging
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracWiki imported from TracWiki
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/InterTrac imported from InterTrac
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracBrowser imported from TracBrowser
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/SandBox imported from SandBox
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/InterMapTxt imported from InterMapTxt
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiMacros imported from WikiMacros
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/PageTemplates imported from PageTemplates
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracWorkflow imported from TracWorkflow
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/InterWiki imported from InterWiki
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/CamelCase imported from CamelCase
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracUnicode imported from TracUnicode
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracInstall imported from TracInstall
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracUpgrade imported from TracUpgrade
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracModPython imported from TracModPython
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiRestructuredTextLinks imported from WikiRestructuredTextLinks
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracEnvironment imported from TracEnvironment
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracTickets imported from TracTickets
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracCgi imported from TracCgi
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiPageNames imported from WikiPageNames
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiRestructuredText imported from WikiRestructuredText
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracIni imported from TracIni
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracInterfaceCustomization imported from TracInterfaceCustomization
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracChangeset imported from TracChangeset
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracRoadmap imported from TracRoadmap
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/RecentChanges imported from RecentChanges
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracReports imported from TracReports
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiFormatting imported from WikiFormatting
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TitleIndex imported from TitleIndex
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracQuery imported from TracQuery
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracNotification imported from TracNotification
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracAdmin imported from TracAdmin
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracPlugins imported from TracPlugins
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracAccessibility imported from TracAccessibility
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracGuide imported from TracGuide
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracImport imported from TracImport
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracNavigation imported from TracNavigation
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiHtml imported from WikiHtml
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracStandalone imported from TracStandalone
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiStart imported from WikiStart
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracRevisionLog imported from TracRevisionLog
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracTicketsCustomFields imported from TracTicketsCustomFields
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracLinks imported from TracLinks
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracSyntaxColoring imported from TracSyntaxColoring
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracSearch imported from TracSearch
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracTimeline imported from TracTimeline
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracBackup imported from TracBackup
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracSupport imported from TracSupport
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiNewPage imported from WikiNewPage
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracFastCgi imported from TracFastCgi
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/WikiDeletePage imported from WikiDeletePage
/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/wiki/default-pages/TracRss imported from TracRss
Indexing repository

---------------------------------------------------------------------
Project environment for 'Cabrera project' created.

You may now configure the environment by editing the file:

/var/local/trac/trac.hyette.com/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

tracd --port 8000 /var/local/trac/trac.example.com

Then point your browser to http://localhost:8000/trac.example.com.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

http://trac.edgewall.org/

Congratulations!

-Activamos permisos al directorio web de trac
chown -R www-data:example /var/local/trac/trac.example.com

-Damos permisos de escritura al grupo
chmod -R g+w /var/local/trac/trac.example.com

-Configuramos trac
vi /var/local/trac/trac.example.com/conf/trac.ini

-Creamos un directorio para logs de trac
mkdir /var/log/apache2/trac.example.com

-Agregamos el site a la rotacion de logs
vi /etc/logrotate.d/apache2
/var/log/apache2/trac.example.com {
rotate 6
monthly
compress
missingok
notifempty
}

-Configuramos el directorio virtual
vi /etc/apache2/sites-available/trac.example.com

ServerName localhost
DocumentRoot /var/local/trac/trac.example.com/
Alias /trac/ /usr/share/trac/htdocs

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all


SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonInterpreter main_interpreter
PythonOption TracEnv /var/local/trac/trac.example.com/
PythonOption TracUriRoot /
AuthType Basic
AuthName "trac.example.com"
# Use the SVN password file.
AuthUserFile /var/local/svn/svn.example.com/conf/passwd
Require valid-user

CustomLog /var/log/apache2/trac.example.com/access.log combined
ErrorLog /var/log/apache2/trac.example.com/error.log
# SSLCertificateKeyFile /etc/apache2/ssl/server.key


-Activamos el directorio virtual de trac
a2ensite trac.example.com

-Configuramos los permisos de trac dentro de su consola administrativa
trac-admin /var/local/trac/trac.example.com

-Reiniciamos apache
/etc/init.d/apache2 restart

-Por ultimo, en caso de que no queramos usar apache podemos manejar nuestro web trac con el server que incluye trac
tracd --port 8000 /var/local/trac/trac.example.com

-Tambien tener en cuenta que para que nos funcione en internet esta solucion, los domains usados, en este caso svn.example y trac.example.com deben estar registrados a nuestro nombre y activos y funcionando en un DNS. Share/Bookmark