Subversion se ha eliminado del panel DreamHost. Si habías configurado Subversion en tu dominio previamente, seguirá funcionando normalmente.
Si creas tu repositorio antes de que se haya creado tu URL y se esté resolviendo en línea, es posible que tengas un repositorio inaccesible. Suponiendo que aún no contiene ninguna información, solo elimínalo y vuelve a crearlo.
Alternativamente, puedes experimentar un retraso en la propagación de DNS si puedes acceder a tu repositorio a través de http dentro del sistema DreamHost, pero ve un directorio vacío desde fuera de DreamHost. Si no puedes esperar, intenta consultar los servidores DNS de DreamHost para tu IP y usa un archivo de local hosts o NetInfo para resolver temporalmente tu host svn. Recuerda deshacer esto cuando los registros DNS se hayan propagado.
Alojar más de un dominio de Subversion
Puedes alojar varios dominios y subdominios svn en una cuenta DreamHost, pero no son completamente independientes. En particular, todos los repositorios creados con el mismo usuario de FTP comparten el mismo espacio de nombres, incluso si se encuentran en diferentes URL. Con un solo usuario FTP, un nombre de repositorio determinado solo se puede usar una vez para todos los dominios svn.
Si creas https://svn1.example.com/repo, no puedes tener un segundo repositorio llamado https://svn2.example.com/repo. Si configuras https://svn2.example.com/repo, es un segundo nombre para el mismo repositorio, con un conjunto de permisos separado. Si debes crear dos repositorios con el mismo nombre, crea un segundo usuario FTP.
Alojamiento de Subversion para un dominio que no está en DreamHost
Si tienes un dominio que no está alojado en DreamHost y deseas configurar Subversion en un subdominio de ese dominio, no funcionará con una configuración normal.
Debes configurar un subdominio como realsvn.ejemploENDreamHost.com, luego crear un subdominio para svn.ejemploNOenDreamHost.com.
Finalmente, crea un espejo o mirror para ese dominio a partir del dominio que desees. Asegúrate de esperar a que pase la propagación de DNS antes de probar todo.
Los repositorios hechos a mano son de solo lectura
Si encuentras que tienes que modificar y volver a cargar tu archivo de volcado varias veces, puede ser útil usar las herramientas CLI (por ejemplo, rm -rf y svnadmin create) para limpiar y volver a crear tu repositorio hasta que lo hagas bien. Pero luego querrás usar el panel para eliminar y volver a crear tu repositorio. Tus repositorios de prueba no funcionarán correctamente en producción ya que no permitirán ningún cambio.
El panel crea el repositorio con dhapache como propietario, y los archivos reponame.access y reponame.passwd con dhapache como grupo. Intentar crear tu propio repositorio de producción con svnadmin create es inútil porque no tienes autorización para cambiar esas propiedades y membresías de grupo (y no tienes un usuario sudo).
No sobrescribas los archivos de dhapache. Sobrescribir archivos hace que tengan su grupo de usuarios en lugar de dhapache. Si tu repositorio es relativamente maduro cuando cometes este error y no tienes una copia de seguridad, no tendrás ninguna opción.
Algunos clientes requieren contraseñas MD5
Si recibes advertencias de "access denied", es posible que debas usar contraseñas MD5 en lugar de la variedad estándar creada por el panel DreamHost. Usa htpasswd -nm username para generar la entrada (ala username: passwd-hash) para tu archivo reponame.passwd, luego usa un editor para reemplazar tu entrada de contraseña estándar.
No sobrescribas tus archivos reponame.access> y reponame.passwd con echo "username: passwd-hash"> reponame.passwd. Sobrescribir archivos hace que tengan su grupo de usuarios en lugar de dhapache, dejando tu repositorio en un estado de solo lectura o inaccesible.
Interfaz con Subversion desde PHP
Deberás instalar la extensión SVN de PECL:
Seguridad de .htaccess
Subversion puede ser una herramienta muy útil para desarrollar sitios web o aplicaciones basadas en web. Sin embargo, es posible que te preguntes cómo funcionaría. Después de confirmar los cambios en tu repositorio, ¿cómo se reflejan en tu sitio? El método más fácil es tener el directorio de tu sitio en el servidor configurado como una copia de trabajo extraída de tu repositorio de Subversion. Si eliges hacer esto, asegúrate de modificar el .htaccess de tu sitio para evitar que los usuarios naveguen por los archivos de control de Subversion. Algo simple en la raíz de tu sitio como lo siguiente debería ser suficiente:
RedirectMatch 403 /\.svn
Usar la autenticación básica de Apache
Los pasos de la sección anterior requieren que cada usuario tenga una cuenta Unix con acceso de shell para que puedan iniciar sesión a través de SSH. Sin embargo, el panel DreamHost proporciona una forma de crear cuentas de usuario solo para Subversion.
Pero para esas cuentas, si deseas especificar quién tiene acceso de lectura versus lectura y escritura y/o por directorio de tu repositorio, debes editar manualmente el archivo .access como se describe en el último manual de Subversion sobre "Acceso por directorio control "y la implementación de DreamHost de esta función. Puedes agregar y administrar manualmente los nombres de usuario y contraseñas de Subversion utilizando htpasswd para agregar/editar usuarios al archivo .passwd de tu repositorio.
Nota después de editar manualmente los archivos .access o .passwd
-
- El grupo de archivos cambia de dhapache a cualquiera que sea el grupo generado automáticamente para tu cuenta, lo que evita que el módulo de Apache pueda leer los archivos, por lo que debes cambiar los permisos para que Apache pueda leerlos (haz chmod 644).
- También deberás estar preparado para que si ahora usas el panel de control de DreamHost para cambiar la configuración (al menos si haces cambios en la lista de usuarios), el panel no solo revierte los permisos de archivo a dhapache sino que también sobrescribe ambos archivos, sobrescribiendo cualquier cambio que les hayas hecho. Por lo tanto, siempre debes tener una copia de seguridad para reconstruir cualquier cosa importante que pueda sobrescribirse.
chmod 644 proporciona acceso de lectura "mundial" a aquellos archivos que pueden ser un riesgo para la seguridad. Si bien estos archivos no serán accesibles vía http (a menos que también publiques tu svn/lo cual probablemente no sería prudente), estos archivos son accesibles para otros usuarios de shell en tu cuenta y QUIZÁS por otros titulares de cuentas DreamHost en tu host compartido. Por lo tanto, para una seguridad real, no debes usar http, sino https (que también es la única opción si accedes a través de WebDAV) o SSH.