Advertisement
Guest User

Untitled

a guest
Mar 31st, 2018
498
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.77 KB | None | 0 0
  1. AGETIC ADSIB BOLIVIA HACKED AGAIN LOL
  2. ------------
  3. diff --git a/README.md b/README.md
  4. index 90fc555..3e88536 100644
  5. --- a/README.md
  6. +++ b/README.md
  7. @@ -1,146 +1,53 @@
  8. # NSIAF
  9.  
  10. -Sistema de Activos Fijos y Almacenes desarrollado por [ADSIB](http://adsib.gob.bo)
  11. +Sistema de Activos Fijos y Almacenes desarrollado originalmente por [ADSIB](http://adsib.gob.bo)
  12. +y mejorado con nuevas funcionalidades por [AGETIC](http://agetic.gob.bo).
  13.  
  14. ## Instalación
  15.  
  16. -La instalación en modo `production` del Sistema está descrito en el archivo [`INSTALL.md`](INSTALL.md)
  17. +La instalación en modo `production` del Sistema está descrito en el archivo
  18. +[`INSTALL.md`](INSTALL.md)
  19.  
  20. ## Primeros pasos
  21.  
  22. -Después del despliegue de la aplicación (en el paso anterior), se define algunos pasos iniciales que se debe seguir en el sistema los cuales están descritos en el archivo [`MANUAL.md`](MANUAL.md)
  23. +Después del despliegue de la aplicación (en el paso anterior), se define algunos
  24. +pasos iniciales que se debe seguir en el sistema los cuales están descritos en
  25. +el archivo [`MANUAL.md`](MANUAL.md)
  26.  
  27. ## Desarrollo
  28.  
  29. -Para realizar desarrollo de nuevas caraterísticas del sistema en la máquina local, es necesario realizar la configuración del ambiente de desarrollo con `Ruby On Rails`.
  30. +Para realizar desarrollo de nuevas funcionalidades del sistema en la máquina
  31. +local, es necesario realizar la configuración del ambiente de desarrollo con `Ruby On Rails`.
  32.  
  33. -### Lenguaje de programación y base de datos
  34. +### Tecnologías utilizadas
  35.  
  36. -* Lenguaje de programación: `Ruby 2.1`
  37. -* Framework para Web: `Ruby On Rails 4.1`
  38. +* Lenguaje de programación: `Ruby`
  39. +* Framework para Web: `Ruby On Rails`
  40. * Base de datos: `MySQL`
  41.  
  42. ### git-flow
  43.  
  44. -El flujo de trabajo se está manejando con [git-flow](https://github.com/nvie/gitflow). El desarrollo se organiza en dos ramas principales:
  45. +El flujo de trabajo está manejado con [git-flow](https://github.com/nvie/gitflow).
  46. +El desarrollo se organiza en dos ramas principales:
  47.  
  48. -* Rama `master`: cualquier commit que pongamos en esta rama debe estar preparado para subir a producción
  49. -* Rama `develop`: rama en la que está el código que conformará la siguiente versión planificada del proyecto
  50. -
  51. -### Ruby
  52. -
  53. -Instalando [Ruby Version Manager - RVM](https://rvm.io/)
  54. -
  55. -```console
  56. -curl -L get.rvm.io | bash -s stable
  57. -```
  58. -
  59. -Recargar el comando `rvm`
  60. -
  61. -```console
  62. -source ~/.rvm/scripts/rvm
  63. -```
  64. -
  65. -Instalando [Ruby](https://www.ruby-lang.org/)
  66. -
  67. -```console
  68. -rvm install 2.1
  69. -```
  70. -
  71. -Estableciendo la versión de `Ruby` por defecto
  72. -
  73. -```console
  74. -rvm use 2.1 --default
  75. -```
  76. -
  77. -Evitar que se instale `ri` y `rdoc`
  78. -
  79. -```console
  80. -echo "gem: --no-document" > ~/.gemrc
  81. -```
  82. -
  83. -Instalar `RubyGems`
  84. -
  85. -```console
  86. -rvm rubygems current
  87. -```
  88. +* Rama `master`: cualquier commit que pongamos en esta rama debe estar preparado
  89. +para subir a producción
  90. +* Rama `develop`: rama en la que está el código que conformará la siguiente
  91. +versión planificada del proyecto
  92.  
  93. ### Conversión de formatos
  94.  
  95. -Éste sistema depende del API de Conversión de Formatos para la importación de archivos `DBF`, cuyo repositorio es https://gitlab.geo.gob.bo/bolivia-libre/conversion-formatos
  96. -
  97. -La instalación del API de Conversión de Formatos está descrita en el archivo [INSTALL.md](https://gitlab.geo.gob.bo/bolivia-libre/conversion-formatos/blob/master/INSTALL.md)
  98. -
  99. -### Código fuente
  100. -
  101. -En la máquina local clonamos el repositorio del Sistema de Activos Fijos y Almacenes
  102. -
  103. -```console
  104. -git clone git@gitlab.geo.gob.bo:adsib/nsiaf.git
  105. -```
  106. -
  107. -Cambiar al branch `develop` que es el de desarrollo
  108. -
  109. -```console
  110. -cd nsiaf
  111. -git checkout develop
  112. -```
  113. -
  114. -Creación de un `gemset` para las gemas con `RVM`
  115. -
  116. -```console
  117. -rvm use 2.1@nsiaf --create --ruby-version
  118. -```
  119. -
  120. -Copiamos los archivos de ejemplo
  121. -
  122. -```console
  123. -cp config/database.yml.sample config/database.yml
  124. -cp config/secrets.yml.sample config/secrets.yml
  125. -```
  126. -
  127. -Editar `config/database.yml` con el siguiente contenido
  128. -
  129. -```yaml
  130. -development:
  131. - adapter: mysql2
  132. - encoding: utf8
  133. - database: nsiaf_development
  134. - pool: 5
  135. - username: root
  136. - password: root
  137. - socket: /var/run/mysqld/mysqld.sock
  138. -```
  139. -
  140. -Editar `config/secrets.yml` con el siguiente contenido
  141. -
  142. -```yaml
  143. -development:
  144. - convert_api_url: 'http://localhost/conversion-formatos'
  145. - rails_relative_url_root: ''
  146. - secret_key_base: d7c345615c14afe85dd35d9169e9743c4f24de413990b3133b93865f1f5f490db6a3c1327e9a5af3fc845937a7f489bbda865a25caa424144580d2d106cb121c
  147. -```
  148. -
  149. -Instalar las gemas
  150. -
  151. -```console
  152. -bundle install
  153. -```
  154. -
  155. -Crear la base de datos e inicializar con la configuración por defecto
  156. -
  157. -```console
  158. -bundle exec rake db:create
  159. -bundle exec rake db:migrate
  160. -bundle exec rake db:seed
  161. -```
  162. -
  163. -### Servidor web
  164. +Éste sistema depende del API de Conversión de Formatos para la importación de
  165. +archivos `DBF`, esto con el objetivo de utilizar los datos de la aplicación
  166. +[VSIAF](http://www.economiayfinanzas.gob.bo/index.php?opcion=com_contenido&ver=contenido&id=2100&id_item=626)
  167. +proporcionado por el Ministerio de Economía y Finanzas.
  168.  
  169. -Iniciar el servidor en modo desarrollo
  170. +El repositorio es https://gitlab.geo.gob.bo/bolivia-libre/conversion-formatos y
  171. +la instalación del API de Conversión de Formatos está descrito en el archivo
  172. +[INSTALL.md](https://gitlab.geo.gob.bo/bolivia-libre/conversion-formatos/blob/master/INSTALL.md)
  173.  
  174. -```console
  175. -rails server
  176. -```
  177. +### Migración a PostgreSQL
  178.  
  179. -y visitar en el navegador el link `http://localhost:3000`
  180. +Desde la versión 2.0.0, el Sistema de Activos Fijos y Almacenes hace uso de
  181. +PostgreSQL, cuyo manual de migración está descrito en el archivo
  182. +[doc/MIGRACION_A_POSTGRESQL.md](doc/MIGRACION_A_POSTGRESQL.md).
  183. diff --git a/bin/rails b/bin/rails
  184. index 4d608ed..5191e69 100755
  185. --- a/bin/rails
  186. +++ b/bin/rails
  187. @@ -1,8 +1,4 @@
  188. #!/usr/bin/env ruby
  189. -begin
  190. - load File.expand_path("../spring", __FILE__)
  191. -rescue LoadError
  192. -end
  193. APP_PATH = File.expand_path('../../config/application', __FILE__)
  194. require_relative '../config/boot'
  195. require 'rails/commands'
  196. diff --git a/bin/rake b/bin/rake
  197. index 8017a02..1724048 100755
  198. --- a/bin/rake
  199. +++ b/bin/rake
  200. @@ -1,8 +1,4 @@
  201. #!/usr/bin/env ruby
  202. -begin
  203. - load File.expand_path("../spring", __FILE__)
  204. -rescue LoadError
  205. -end
  206. require_relative '../config/boot'
  207. require 'rake'
  208. Rake.application.run
  209. diff --git a/config/environments/production.rb b/config/environments/production.rb
  210. index 2aa88a8..5c1b32e 100644
  211. --- a/config/environments/production.rb
  212. +++ b/config/environments/production.rb
  213. @@ -46,7 +46,7 @@ Rails.application.configure do
  214.  
  215. # Use the lowest log level to ensure availability of diagnostic information
  216. # when problems arise.
  217. - config.log_level = :info
  218. + config.log_level = :debug
  219.  
  220. # Prepend all log lines with the following tags.
  221. # config.log_tags = [ :subdomain, :uuid ]
  222. diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb
  223. index 54516e3..7f70458 100644
  224. --- a/config/initializers/cookies_serializer.rb
  225. +++ b/config/initializers/cookies_serializer.rb
  226. @@ -1,3 +1,3 @@
  227. # Be sure to restart your server when you modify this file.
  228.  
  229. -Rails.application.config.action_dispatch.cookies_serializer = :hybrid
  230. +Rails.application.config.action_dispatch.cookies_serializer = :json
  231. diff --git a/doc/MIGRACION_A_POSTGRESQL.md b/doc/MIGRACION_A_POSTGRESQL.md
  232. new file mode 100644
  233. index 0000000..2e52e9c
  234. --- /dev/null
  235. +++ b/doc/MIGRACION_A_POSTGRESQL.md
  236. @@ -0,0 +1,152 @@
  237. +# Migración de MySQL a PostgreSQL
  238. +
  239. +Actualmente el sistema de Activos Fijos y Almacenes funciona sobre MySQL, y
  240. +a continuación se describe una herramienta para migrar de MySQL a PostgreSQL que
  241. +se llama Taps, el cual habilita un servidor y mediante su API se puede realizar
  242. +la migración a otra base de datos en este caso a PostgreSQL.
  243. +
  244. +## Dependencias
  245. +
  246. +```console
  247. +sudo apt-get install -y curl
  248. +sudo apt-get install -y libpq-dev
  249. +sudo apt-get install -y libmysqlclient-dev
  250. +```
  251. +
  252. +## Ruby
  253. +
  254. +```console
  255. +gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
  256. +```
  257. +
  258. +```console
  259. +\curl -sSL https://get.rvm.io | bash
  260. +source ~/.rvm/scripts/rvm
  261. +
  262. +rvm install 2.1.9
  263. +rvm use 2.1.9 --default
  264. +
  265. +echo "gem: --no-document" > ~/.gemrc
  266. +```
  267. +
  268. +## Servidor MySQL origen
  269. +
  270. +* En el servidor remoto habilitar acceso a MySQL:
  271. +
  272. +```console
  273. +sudo editor /etc/mysql/my.cnf
  274. +```
  275. +
  276. +comentar la línea `bind-address = 127.0.0.1`
  277. +
  278. +* Dar permisos al permiso de base de datos:
  279. +
  280. +```console
  281. +mysql -u root nsiaf_agetic -p
  282. +
  283. +GRANT ALL PRIVILEGES ON *.* TO 'activos'@'%'
  284. +IDENTIFIED BY 'password-secreto' WITH GRANT OPTION;
  285. +```
  286. +
  287. +* Probar la conexión desde local:
  288. +
  289. +```console
  290. +mysql -u activos -p -h ip.host.remoto
  291. +```
  292. +
  293. +* Reiniciar servidor
  294. +
  295. +```console
  296. +sudo service mysql restart
  297. +```
  298. +
  299. +## Servidor PostgreSQL destino
  300. +
  301. +* En el servidor remoto habilitar acceso a PostgreSQL
  302. +
  303. +```console
  304. +sudo editor /etc/postgresql/9.4/main/postgresql.conf
  305. +```
  306. +
  307. +habilitar la línea `listen_addresses = '*'`
  308. +
  309. +```console
  310. +sudo editor /etc/postgresql/9.4/main/pg_hba.conf
  311. +```
  312. +
  313. +en la sección IPv4 adicionar la IP del servidor Taps:
  314. +
  315. +```postgresql
  316. +host all all 192.168.27.228/32 md5
  317. +```
  318. +
  319. +* Reiniciar servidor
  320. +
  321. +```console
  322. +sudo service postgresql restart
  323. +```
  324. +
  325. +## Taps
  326. +
  327. +* Preparando servidor Taps
  328. +
  329. +```console
  330. +cd
  331. +mkdir migracion
  332. +cd migracion
  333. +rvm use 2.1.9@migracion --create --ruby-version
  334. +
  335. +echo "source 'https://rubygems.org'" > Gemfile
  336. +echo "gem 'pg'" >> Gemfile
  337. +echo "gem 'mysql2'" >> Gemfile
  338. +echo "gem 'mysql-pr'" >> Gemfile
  339. +echo "gem 'taps-taps'" >> Gemfile
  340. +```
  341. +
  342. +* Instalar gemas
  343. +
  344. +```console
  345. +gem install bundler
  346. +bundle install
  347. +```
  348. +
  349. +* Iniciar servidor
  350. +
  351. +```console
  352. +export HOST_TAPS=localhost
  353. +export USUARIO=user
  354. +export PASSWORD=pass123
  355. +export HOST_REMOTO_ORIGEN=192.168.21.244
  356. +export HOST_REMOTO_DESTINO=192.168.21.244
  357. +
  358. +taps server mysql2://activos:password-secreto@$HOST_REMOTO_ORIGEN/nsiaf_agetic $USUARIO $PASSWORD
  359. +```
  360. +
  361. +* Realizar la migración a la base de datos destino (en otra terminal)
  362. +
  363. +```
  364. +cd
  365. +cd migracion
  366. +
  367. +(copiar todos los export anteriores)
  368. +
  369. +taps pull postgres://postgres:postgres@$HOST_REMOTO_DESTINO/nsiaf_production http://$USUARIO:$PASSWORD@$HOST_TAPS:5000
  370. +```
  371. +
  372. +## Tareas post-migración
  373. +
  374. +### Conexión a PostgreSQL
  375. +
  376. +Es necesario cambiar la configuración de base de datos del sistema a PostgreSQL
  377. +
  378. +```yml
  379. +production:
  380. + adapter: postgresql
  381. + encoding: unicode
  382. + pool: 5
  383. + database: nsiaf_production
  384. + username: postgres
  385. + password: postgres
  386. + host: localhost
  387. + port: 5432
  388. +```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement