Bueno, después de pensarlo un poco, me parece que la cosa se simplifica un poco.
- Configuración del sistema. (Debiera ser manejada con puppet o similar).
Para todas estas acciones se requiere acceso de root. - Crear usuario para la aplicación.
- Instalar dependencias, librerías, etc.
- Instalar aplicaciones (ruby, mysql, sudo, apache/nginx, passenger.
- Configuración a nivel de usuario (Se automatiza con capistrano).
NO se requiere acceso de root. - Instalación de rvm, ruby, bundle. (cap deploy:setup)
- Clonación del repositorio.
- Actualizaciones.
- Configuración de la aplicación:
Requiere SUDO. (o sería mejor con sudo) - Compresión de los logs (logrotate).
- Cron jobs. (whenever)
- Aviso de errores. (ni idea) aunque quizás es god.
- Configuración del virtual host. (Apache/nginx).
- Configuración del usuario en MySQL. (Encargarse de el archivo database.yml. Aunque las modifiqué un poco para parecerse más a esto)
# adduser
# aptitude install build-essential openssl libreadline6 libreadline6-dev curl \
git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 \
libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool \
bison subversion
# aptitude install libmysqlclient-dev
load deploy/assets
.
Otra opción, radicalmente distinta, es utilizar los paquetes de debian para hacer la instalación debianizada.
No hay comentarios:
Publicar un comentario