programadorx
Usuario (Panamá)

1. Instalacion Lo primero que haremos será instalar las herramientas necesarias y comprobar si nuestro Ubuntu ya tiene instalado algunos modulos necesarios. Para instalar las herramientas necesarias: root@mylinux:~$ sudo apt-get install subversion subversion-tools Si utilizaremos svn a través de internet (lo cual es una de sus grandes cualidades) necesitaremos comprobar que Apache tenga instalado los módulos dav y dav_svn, para esto, verificamos si ya los tenemos instalados: root@mylinux:~$ a2enmod dav root@mylinux:~$ a2enmod dav_svn y si no están instalados, los instalamos: root@mylinux:~$ sudo apt-get install libapache2-svn 2. Configuracion Crearemos un grupo y los usuarios necesarios para manejar los permisos que tengan que ver con subversion. Para crear el grupo (en este caso lo llame subversion, pero puedes llamarlo como quieras): root@mylinux:~$ sudo groupadd subversion y para agregarle usuarios a el grupo recien creado los cuales queremos que usen de algun modo nuestro servidor: root@mylinux:~$ sudo usermod -G subversion myuser1 root@mylinux:~$ sudo usermod -G subversion myuser2 El siguiente paso será crear los archivos que contendrán los usuarios anteriores con sus passwords para poder utilizar svn, para ello: root@mylinux:~$ sudo htpasswd -c /etc/apache2/dav_svn.passwd myuser1 root@mylinux:~$ sudo htpasswd /etc/apache2/dav_svn.passwd myuser2 La primera línea lleva la opción -c por la simple razón de que crea el fichero. Los demás usuarios se añaden a el fichero creado. Cada vez que agreguemos un usuario, nos irá pidiendo su contraseña y la confirmación de la misma. 3. Creación y configuración de un repositorio En la mayoría de casos querremos tener más de un repositorio, por ejemplo uno para pruebas, y otros que sirvan a proyectos reales. Por eso crearemos un directorio padre (/var/www/svn) y dentro de él crearemos tantos un subdirectorio para el repositorio SVN de cada proyecto: Directorio padre de los repositorios: root@mylinux:~$ sudo mkdir /var/www/svn Directorio para las primeras pruebas con SVN. Crearemos tantos como sea necesario, aunque en este ejemplo sólo hacemos uno: root@mylinux:~$ sudo mkdir /var/www/svn/$REPOS 3.1 Crear estructuras de soporte svn en el repositorio: Esto debemos repetirlo para cada subdirectorio que queramos que sirva como repositorio Subversion. Este comando crea un conjunto de ficheros necesarios para almacenar la información de versionado del proyecto y jamás deberíamos manipular su contenido directamente. Para ello tenemos comandos y aplicaciones que se encargarán de mantener la información adecuadamente. root@mylinux:~$ sudo svnadmin create /var/www/svn/$REPOS 3.2 Crear subdirectorios para el tronco, las ramas y las etiquetas (Opcional): Típicamente los proyectos suelen estructurarse internamente manteniendo un "tronco" principal en un subdirectorio llamado "trunk" y las ramas derivadas del proyecto principal en un subdirectorio "branches". La carpeta "tags" se usa para las etiquetas. No es necesario crear estas carpetas, además se pueden crear más adelante cuando las necesitemos. root@mylinux:~$ sudo svn mkdir -message="Preparando los direcotorios..." file:///var/www/svn/$REPOS/trunk file:///var/www/svn/$REPOS/tags file:///var/www/svn/$REPOS/branches Le damos los correspondientes permisos a los repositorios que en mi caso han sido creados dentro de /var/www/svn root@mylinux:~$ sudo chown -R www-data:subversion /var/www/svn/$REPOS root@mylinux:~$ sudo chmod -R 770 /var/www/svn/$REPOS 4. Habilitar y configurar WebDAV y SVN: Configuraremos Apache para que use los repositorios, configuramos el archivo que gestiona el módulo de apache para el svn: root@mylinux:~$ sudo gedit /etc/apache2/mods-available/dav_svn.conf Dentro ponemos esta configuración, en este caso solo descomentaremos estas lineas, ya que las mismas estan comentadas en el archivo: ## # SVN # <Location /svn> DAV svn SVNParentPath /var/www/svn AuthType Basic AuthName "Repositorio Subversion del proyecto" AuthUserFile /etc/apache2/dav_svn.passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location> Si deseamos que el modo lectura no este accesible para cualquiera, (ya sea porque nuestro proyecto sea confidencial o no queramos que sea visto desde fuera, o lo que sea) basta con reemplazar la sección: <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> por Require valid-user Necesitamos reiniciar apache para que tome la nueva configuración. root@mylinux:~$ sudo /etc/init.d/apache2 restart 5. Acceso mediante protocolo (svn://) Cuando se haya creado el repositorio de Subversion, podrás configurar el control de acceso. Puedes editar el archivo /var/www/svn/proyecto/conf/svnserve.conf para configurar el control de acceso. Por ejemplo, para configurar la autenticación, puedes descomentar las siguientes líneas en el archivo de configuración: # # password-db = passwd Tras descomentar las líneas anteriores, podrás mantener la lista de usuarios en el archivo passwd. Para ello, edita el archivo passwd en el mismo directorio y añade el nuevo usuario. La sintaxis es la siguiente: username = password Ahora, para acceder a Subversion a través del protocolo personalizado svn://, bien sea desde la misma máquina o desde otra diferente, debes ejecutar svnserver usando la orden svnserve. La sintaxis es la siguiente: root@mylinux:~$ sudo svnserve -d --foreground -r /var/www/svn/ # -d -- modo demonio # --foreground -- ejecutar en primer plano (útil para depuración) # -r -- raíz del directorio a servir Definicion de los parametros utilizados · -d ejecuta svnserve como un demonio. · -r permite a los clientes no tener que escribir la ruta completa. Esto resulta más cómodo al cliente y aporta cierta seguridad al ocultar los detalles de donde están realmente los repositorios. 6. Configuracion del servicio como demonio Se debe crear el fichero /etc/init.d/svnserve: root@mylinux:~$ sudo nano /etc/init.d/svnserve agregarle el siguiente contenido: #! /bin/sh set -e # /etc/init.d/svn: start and stop the SVN daemon test -x /usr/bin/svnserve || exit 0 . /lib/lsb/init-functions SVND_OPTS="-d -r /var/www/svn/" export PATH="${PATH:+$PATH:}/usr/bin:/bin" case "$1" in start) log_begin_msg "Iniciando servidor SVN..." start-stop-daemon --start --quiet --exec /usr/bin/svnserve -- $SVND_OPTS || log_end_msg 1 log_end_msg 0 ;; stop) log_begin_msg "Cerrando servidor SVN..." start-stop-daemon --stop --quiet --oknodo --exec /usr/bin/svnserve || log_end_msg 1 log_end_msg 0 ;; reload|force-reload) log_begin_msg "Recargando servidor SVN" start-stop-daemon --stop --signal 1 --quiet --oknodo --exec /usr/bin/svnserve || log_end_msg 1 log_end_msg 0 ;; restart) log_begin_msg "Reiniciando servidor SVN..." start-stop-daemon --stop --quiet --oknodo --retry 30 start-stop-daemon --start --quiet --exec /usr/bin/svnserve -- $SVND_OPTS || log_end_msg 1 log_end_msg 0 ;; *) log_success_msg "Usage: $0 {start|stop|reload|force-reload|restart}" exit 1 esac exit 0 NOTA: se deben dar los permisos 775 para que al arrancar se pueda acceder al demonio root@mylinux:~$ sudo chmod 777 /etc/init.d/svnserve Ahora sólo nos queda crear los enlaces simbólicos necesarios en la estructura /etc/rcx.d para que el servicio se arranque y se pare automáticamente al arrancara y parar el servidor. Para ello se hará: root@mylinux:~$ sudo update-rc.d svnserve defaults 7. Instalar WebSVN Instalamos WebSVN, si nos pide alguna configuración solo hay que recordar que el directorio de nuestros repositorios es /var/www/svn/ root@mylinux:~$ sudo aptitude install websvn **opcionial instalamos enscript, que nos sirve para el para coloreado de sintaxis en websvn root@mylinux:~$ sudo aptitude install enscript Movemos la carpeta de websvn que se intalo en /usr/share/ a /var/www/ root@mylinux:~$ sudo cp -r /usr/share/websvn/ /var/www/ Configuramos el módulo de apache para el websvn root@mylinux:~$ sudo gedit /etc/apache2/mods-available/dav_svn.conf y agregamos al final lo siguiente: <Location /websvn/> Options FollowSymLinks order allow,deny allow from all AuthType Basic AuthName "Subversion Repository" </Location> Guardamos y cerramos dav_svn.conf Reiniciamos apache para que aplique las configuraciones. root@mylinux:~$ sudo /etc/init.d/apache2 restart Para configuraciones adicionales o reconfiguraciones podemos utilizar el comando dpkg-reconfigure websvn o irnos directamente al archivo de configuracion que esta en etc/websvn/svn_deb_conf.inc 8. Cómo corregir Apache - "apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName" Error en Ubuntu Probablemente podría enfrentan el siguiente error misma mientras estaba de reiniciar el servidor Apache en Ubuntu root@mylinux:~$ sudo /etc/init.d/apache2 restart * Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName Para solucionar ese problema, tiene que editar el archivo httpd.conf. Abra el terminal y el tipo root@mylinux:~$ sudo gedit /etc/apache2/httpd.conf Por defecto el archivo httpd.conf estará en blanco. Ahora sólo tiene que añadir la siguiente línea al archivo ServerName localhost Finalmente reiniciar el servidor root@mylinux:~$ sudo /etc/init.d/apache2 restart ANEXOS configurar ip fija en ubuntu server sudo nano /etc/network/interfaces auto eth0 (o la que corresponda) iface eth0 inet static address xxx.xxx.xxx.xxx (la ip que quieras que tenga) netmask xxx.xxx.xxx.xxx (la mascara de red que nececitas) gateway xxx.xxx.xxx.xxx (si estas atras de un router o un firewall) despues tiras desde consola /etc/init.d/networking restart y listoooooo para confirmar pones en la consola ifconfig eth0 y te deberia de haber cambiado todo. Cada vez que reinicies, los datos los va a tomar de /etc/network/interfaces asique no vas a tener que tocarle nada mas. Activar root en ubuntu sudo passwd root
Como se pronuncia...? Estás son las pronunciaciones correctas de varios términos, tecnologías y marcas informáticas con los que la gente suele tener bastantes problemas, o que, curiosamente, tienen una pronunciación que nada tiene que ver con cómo se escribe. Un artículo perfecto para quedar como un tío de lo más inteligente ante tus amistades. O de lo más pretencioso. *SCSI /ˈskʌzi/ (escasi) Aunque el creador original de SCSI, Larry Boucher, pretendía que se pronunciara como “sexy”, esta es la pronunciación que se ha perpetuado, y la considerada como correcta actualmente *GNU /gnu/ (guenuu) Al ser un acrónimo la g no es muda, como sí ocurre en la palabra inglesa gnu (ñú), que sonaría algo así como “nuu” *GNOME /gnoʊm/ (guenoom) Como en GNU, la g no es muda, por lo que pronunciar GNOME como “noom” que sería lo normal en inglés, no es correcto *SQL /ˈsikwəl/ (sicuel) *SQL /ˌɛskjuːˈɛl/ (es-quiu-el) La primera es la pronunciación que suelen utilizar multitud de personas que llevan años trabajando con bases de datos, dado que el nombre original del lenguaje eran SEQUEL, de Structured English QUEry Language. Más tarde se cambió por el acrónimo que utilizamos hoy en día por cuestiones de copyright. La segunda pronunciación consiste en leer las letras del acrónimo. En España también se suele castellanizar, y leer “ese-cu-ele” *MySQL /maɪˌɛskjuːˈɛl/ (mai es-quiu-el) Esta es la pronunciación correcta de MySQL oficialmente, aunque debido a lo explicado anteriormente, también se suele escuchar la pronunciación /maɪˌsiː’kwɛl/ (mai sicuel). En España es habitual utilizar “mai ese-cu-ele” *Linux /ˈlɪnʌks/ (linux) En esta ocasión los hispanohablantes tenemos ventaja, ya que la palabra se lee en castellano de forma similar a como se escribe. No intentéis utilizar la pronunciación “lainux”, ni otras pronunciaciones exóticas, porque no son correctas. El propio Linus Torvlads nos enseña cómo pronunciar Linux correctamente en How to pronounce Linux (40,5KB), aunque de un tiempo a esta parte nuestro finlandés favorito ha adquirido un cierto acento estadounidense. *Ubuntu /uːˈbuːntuː/ (ubuntu) De nuevo los hispanohablantes partimos con ventaja frente a los anglosajones, porque, como explica el FAQ de Ubuntu, la palabra se lee de forma muy similar a como se escribe en español *ASCII /ˈæski/ (asqui) *Java /ˈdʒævə/ (yava) *PNG /ˈpɪŋ/ (ping) Como podemos leer en la especificación del formato PNG, la pronunciación correcta es esta, aunque pronunciarlo como acrónimo también es aceptable (“pi-en-yi” en inglés o “pe-ene-ge” en castellano)