<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-br">
		<id>http://wiki.mstech.com.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alexandre.paravani</id>
		<title>MSTECH wiki - Contribuições do usuário [pt-br]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mstech.com.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alexandre.paravani"/>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php/Especial:Contribui%C3%A7%C3%B5es/Alexandre.paravani"/>
		<updated>2026-05-07T16:20:16Z</updated>
		<subtitle>Contribuições do usuário</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6233</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6233"/>
				<updated>2017-08-10T19:56:44Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Rodando serviços */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Usuários ==&lt;br /&gt;
Para acessar o conteúdo utilize os usuários abaixo:&lt;br /&gt;
 '''user / password'''&lt;br /&gt;
 staff@example.com / edx&lt;br /&gt;
 verified@example.com / edx&lt;br /&gt;
 audit@example.com / edx&lt;br /&gt;
 honor@example.com / edx&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Discussão ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Discussão''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Acessibilidade ==&lt;br /&gt;
Dá suporte a acessibilidade com o [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/accessibility.html#use-wai-aria-to-create-accessible-widgets-or-enhance-native-elements WAI-ARIA].&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
Possui um sessão dedicada a desenvolvimento, [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/index.html#writing-good-code Writing Good Code].&lt;br /&gt;
&lt;br /&gt;
Atualmente suporte para ES5 e está iniciando o suporte para ES6.&lt;br /&gt;
&lt;br /&gt;
A plataforma permite a uso de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
Também possui um [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/style_guides/javascript_guidelines.html#edx-javascript-guidelines EdX JavaScript Style Guide]( Estilo de código, testes e documentação ) que orienta com desenvolver usando '''JavaScript na plataforma'''.&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
Exemplos achados no [https://github.com/search?utf8=%E2%9C%93&amp;amp;q=edx+themes&amp;amp;type= Github]&lt;br /&gt;
* [https://github.com/dadasoz/edx-bootstrap-theme edx-bootstrap-theme - LMS]&lt;br /&gt;
* [https://github.com/openfun/edx-theme OpenFun] - [https://www.fun-mooc.fr/ examplo]&lt;br /&gt;
* [https://github.com/Stanford-Online/edx-theme/ Stanford theme]&lt;br /&gt;
* [https://github.com/raccoongang/themes_for_themex.io Raccoongang] - [https://edx-marvel-blue.raccoongang.com/ exemplo]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://youtrack.mstech.com.br/issue/10030020-2#tab=Comments Youtrack] &lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6232</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6232"/>
				<updated>2017-08-10T19:53:34Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Discussão ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Discussão''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Acessibilidade ==&lt;br /&gt;
Dá suporte a acessibilidade com o [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/accessibility.html#use-wai-aria-to-create-accessible-widgets-or-enhance-native-elements WAI-ARIA].&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
Possui um sessão dedicada a desenvolvimento, [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/index.html#writing-good-code Writing Good Code].&lt;br /&gt;
&lt;br /&gt;
Atualmente suporte para ES5 e está iniciando o suporte para ES6.&lt;br /&gt;
&lt;br /&gt;
A plataforma permite a uso de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
Também possui um [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/style_guides/javascript_guidelines.html#edx-javascript-guidelines EdX JavaScript Style Guide]( Estilo de código, testes e documentação ) que orienta com desenvolver usando '''JavaScript na plataforma'''.&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
Exemplos achados no [https://github.com/search?utf8=%E2%9C%93&amp;amp;q=edx+themes&amp;amp;type= Github]&lt;br /&gt;
* [https://github.com/dadasoz/edx-bootstrap-theme edx-bootstrap-theme - LMS]&lt;br /&gt;
* [https://github.com/openfun/edx-theme OpenFun] - [https://www.fun-mooc.fr/ examplo]&lt;br /&gt;
* [https://github.com/Stanford-Online/edx-theme/ Stanford theme]&lt;br /&gt;
* [https://github.com/raccoongang/themes_for_themex.io Raccoongang] - [https://edx-marvel-blue.raccoongang.com/ exemplo]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://youtrack.mstech.com.br/issue/10030020-2#tab=Comments Youtrack] &lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6231</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6231"/>
				<updated>2017-08-10T19:21:16Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Iniciando Fórum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Discussão ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Discussão''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Acessibilidade ==&lt;br /&gt;
Dá suporte a acessibilidade com o [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/accessibility.html#use-wai-aria-to-create-accessible-widgets-or-enhance-native-elements WAI-ARIA].&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
Possui um sessão dedicada a desenvolvimento, [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/index.html#writing-good-code Writing Good Code].&lt;br /&gt;
&lt;br /&gt;
Atualmente suporte para ES5 e está iniciando o suporte para ES6.&lt;br /&gt;
&lt;br /&gt;
A plataforma permite a uso de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
Também possui um [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/style_guides/javascript_guidelines.html#edx-javascript-guidelines EdX JavaScript Style Guide]( Estilo de código, testes e documentação ) que orienta com desenvolver usando '''JavaScript na plataforma'''.&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
Exemplos achados no [https://github.com/search?utf8=%E2%9C%93&amp;amp;q=edx+themes&amp;amp;type= Github]&lt;br /&gt;
* [https://github.com/dadasoz/edx-bootstrap-theme edx-bootstrap-theme - LMS]&lt;br /&gt;
* [https://github.com/openfun/edx-theme OpenFun] - [https://www.fun-mooc.fr/ examplo]&lt;br /&gt;
* [https://github.com/Stanford-Online/edx-theme/ Stanford theme]&lt;br /&gt;
* [https://github.com/raccoongang/themes_for_themex.io Raccoongang] - [https://edx-marvel-blue.raccoongang.com/ exemplo]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6230</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6230"/>
				<updated>2017-08-10T19:19:04Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Acessibilidade ==&lt;br /&gt;
Dá suporte a acessibilidade com o [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/accessibility.html#use-wai-aria-to-create-accessible-widgets-or-enhance-native-elements WAI-ARIA].&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
Possui um sessão dedicada a desenvolvimento, [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/index.html#writing-good-code Writing Good Code].&lt;br /&gt;
&lt;br /&gt;
Atualmente suporte para ES5 e está iniciando o suporte para ES6.&lt;br /&gt;
&lt;br /&gt;
A plataforma permite a uso de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
Também possui um [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/style_guides/javascript_guidelines.html#edx-javascript-guidelines EdX JavaScript Style Guide]( Estilo de código, testes e documentação ) que orienta com desenvolver usando '''JavaScript na plataforma'''.&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
Exemplos achados no [https://github.com/search?utf8=%E2%9C%93&amp;amp;q=edx+themes&amp;amp;type= Github]&lt;br /&gt;
* [https://github.com/dadasoz/edx-bootstrap-theme edx-bootstrap-theme - LMS]&lt;br /&gt;
* [https://github.com/openfun/edx-theme OpenFun] - [https://www.fun-mooc.fr/ examplo]&lt;br /&gt;
* [https://github.com/Stanford-Online/edx-theme/ Stanford theme]&lt;br /&gt;
* [https://github.com/raccoongang/themes_for_themex.io Raccoongang] - [https://edx-marvel-blue.raccoongang.com/ exemplo]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6225</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6225"/>
				<updated>2017-08-10T15:50:23Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Temas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Acessibilidade ==&lt;br /&gt;
Dá suporte a acessibilidade com o [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/accessibility.html#use-wai-aria-to-create-accessible-widgets-or-enhance-native-elements WAI-ARIA].&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
Possui um sessão dedicada a desenvolvimento, [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/index.html#writing-good-code Writing Good Code].&lt;br /&gt;
&lt;br /&gt;
Atualmente suporte para ES5 e está iniciando o suporte para ES6.&lt;br /&gt;
&lt;br /&gt;
A plataforma permite a uso de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
Também possui um [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/style_guides/javascript_guidelines.html#edx-javascript-guidelines EdX JavaScript Style Guide]( Estilo de código, testes e documentação ) que orienta com desenvolver usando '''JavaScript na plataforma'''.&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
Exemplos achados no [https://github.com/search?utf8=%E2%9C%93&amp;amp;q=edx+themes&amp;amp;type= Github]&lt;br /&gt;
* [https://github.com/dadasoz/edx-bootstrap-theme edx-bootstrap-theme - LMS]&lt;br /&gt;
* [https://github.com/openfun/edx-theme OpenFun] - [https://www.fun-mooc.fr/ examplo]&lt;br /&gt;
* [https://github.com/Stanford-Online/edx-theme/ Stanford theme]&lt;br /&gt;
* [https://github.com/raccoongang/themes_for_themex.io Raccoongang] - [https://edx-marvel-blue.raccoongang.com/ exemplo]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6224</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6224"/>
				<updated>2017-08-10T15:41:19Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Customização */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Acessibilidade ==&lt;br /&gt;
Dá suporte a acessibilidade com o [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/accessibility.html#use-wai-aria-to-create-accessible-widgets-or-enhance-native-elements WAI-ARIA].&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
Possui um sessão dedicada a desenvolvimento, [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/index.html#writing-good-code Writing Good Code].&lt;br /&gt;
&lt;br /&gt;
Atualmente suporte para ES5 e está iniciando o suporte para ES6.&lt;br /&gt;
&lt;br /&gt;
A plataforma permite a uso de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
Também possui um [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/style_guides/javascript_guidelines.html#edx-javascript-guidelines EdX JavaScript Style Guide]( Estilo de código, testes e documentação ) que orienta com desenvolver usando '''JavaScript na plataforma'''.&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6223</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6223"/>
				<updated>2017-08-10T15:30:20Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Javascript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
&lt;br /&gt;
Possui um sessão dedicada a desenvolvimento, [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/conventions/index.html#writing-good-code Writing Good Code].&lt;br /&gt;
&lt;br /&gt;
Atualmente suporte para ES5 e está iniciando o suporte para ES6.&lt;br /&gt;
&lt;br /&gt;
A plataforma permite a uso de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
Também possui um [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/style_guides/javascript_guidelines.html#edx-javascript-guidelines EdX JavaScript Style Guide]( Estilo de código, testes e documentação ) que orienta com desenvolver usando '''JavaScript na plataforma'''.&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6222</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6222"/>
				<updated>2017-08-10T15:25:03Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Javascript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Javascript ==&lt;br /&gt;
A plataforma permite a incorporação de frameworks e tecnologias como [http://facebook.github.io/react/ React] / &lt;br /&gt;
[http://backbonejs.org/ Backbone] / &lt;br /&gt;
[http://underscorejs.org Underscore] e &lt;br /&gt;
[http://webpack.github.io Webpack] / &lt;br /&gt;
[http://http://requirejs.org/ RequireJS]( XBlocks não dão suporte à RequireJS ), &lt;br /&gt;
bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6221</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6221"/>
				<updated>2017-08-10T15:21:38Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Customização */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Javascript ==&lt;br /&gt;
A plataforma permite a incorporação de frameworks e tecnologias como [http://facebook.github.io/react/ React]/[http://backbonejs.org/ Backbone]/[http://underscorejs.org Underscore] e [http://webpack.github.io Webpack], bem como até o uso de [http://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6220</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6220"/>
				<updated>2017-08-10T15:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Javascript ==&lt;br /&gt;
A plataforma permite a incorporação de frameworks e tecnologias como [https://facebook.github.io/react/ React]/[https://backbonejs.org/ Backbone]/[https://underscorejs.org Underscore] e [https://webpack.github.io Webpack], bem como até o uso de [https://coffeescript.org CoffeeScript].&lt;br /&gt;
&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
A plataforma de edX permite uma customização completa de toda a plataforma.&lt;br /&gt;
Também disponibiliza padrões de User Interface e guidlines.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6219</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6219"/>
				<updated>2017-08-10T15:12:07Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/user_interface_development.html Open edX UI Patterns]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6218</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6218"/>
				<updated>2017-08-10T15:10:07Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Customização =&lt;br /&gt;
== Cursos ==&lt;br /&gt;
A customização ou criação de cursos pode ser feita através do '''Studio''', que possui um plataforma dedicada para isso.&lt;br /&gt;
== XBlock==&lt;br /&gt;
São arquitetura de components para cursos da edX.org. Cursos são construídos hierarquicamente com peças chamadas Xblocks, como tags HTML, &amp;lt;div&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
O XBlock provem a estrutura, dados e até a API se for necessário para construir o componente. [https://open.edx.org/xblocks Mais detalhes]&lt;br /&gt;
&lt;br /&gt;
== Temas ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack Dev. on Devstack]&lt;br /&gt;
* [https://github.com/edx/XBlock XBlock]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/spaces/FEDX Open edX Front End Development Guideline]&lt;br /&gt;
* [https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#configuring-themes-in-devstack Configuring Themes in Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6217</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6217"/>
				<updated>2017-08-10T14:28:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Rodando serviços */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
== Problemas ==&lt;br /&gt;
=== Serviços não rodam novamente ===&lt;br /&gt;
Caso algum dos serviços acima já tenha sido executado e ao tentar rodar está apresentando o seguinte erro:&lt;br /&gt;
 '''Build failed running pavelib.servers.devstack: Subprocess return code: 1'''&lt;br /&gt;
É possível que tenha dado erro ao se conectar no Mongo, para corrigir isso será preciso executar os comandos abaixo '''dentro da VM''':&lt;br /&gt;
 sudo rm /edx/var/mongo/mongodb/mongod.lock&lt;br /&gt;
 sudo mongod -repair --config /etc/mongod.conf&lt;br /&gt;
 sudo chown -R mongodb:mongodb /edx/var/mongo/.&lt;br /&gt;
 sudo service mongod start&lt;br /&gt;
Agora é só tentar executar o serviço novamente, conforme os exemplos acima.&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6213</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6213"/>
				<updated>2017-08-09T21:34:09Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://open.edx.org/about-open-edx Dúvidas básicas sobre Open edX]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6212</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6212"/>
				<updated>2017-08-09T21:28:27Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Rodando serviços =&lt;br /&gt;
== Conectando na VM ==&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
== Iniciando LMS ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Studio ==&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
== Iniciando Fórum ==&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6211</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6211"/>
				<updated>2017-08-09T21:27:41Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Conectando na VM =&lt;br /&gt;
Após a instalação será possível conectar na VM usando o comando:&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
&lt;br /&gt;
Usaremos o usuário '''edxapp''' como root com o comando:&lt;br /&gt;
 sudo su edxapp&lt;br /&gt;
&lt;br /&gt;
= Iniciando LMS =&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de LMS com o comando:&lt;br /&gt;
 paver devstack lms ( use '''--fast''' para não atualizar o conteúdo do LMS )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8000].&lt;br /&gt;
&lt;br /&gt;
= Iniciando Studio =&lt;br /&gt;
&lt;br /&gt;
Agora que estamos no sistem com o usuário '''edxapp''' vamos iniciar o serviço de '''Studio''' com o comando:&lt;br /&gt;
 paver devstack studio ( use '''--fast''' para não atualizar o conteúdo do Studio )&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:8000 localhost:8001].&lt;br /&gt;
&lt;br /&gt;
= Iniciando Fórum =&lt;br /&gt;
&lt;br /&gt;
É preciso estar com o usuário '''forum''' para iniciar o serviço de '''Fórum''' com o comando:&lt;br /&gt;
 sudo su forum&lt;br /&gt;
 bundle install ( atualiza Ruby )&lt;br /&gt;
 ruby app.rb -p 18080&lt;br /&gt;
Deve ser acessível no endereço [http://localhost:18080 localhost:18080].&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6210</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6210"/>
				<updated>2017-08-09T21:04:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Problemas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas de rede ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
=== Erros diversos ===&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6209</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6209"/>
				<updated>2017-08-09T21:04:06Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Problemas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas ===&lt;br /&gt;
Após a criação da VM, '''durante a instalação''', é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
Durante o processo ocorreram erros em diversos momentos. &lt;br /&gt;
&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6208</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6208"/>
				<updated>2017-08-09T21:03:54Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Problemas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas ===&lt;br /&gt;
Após a criação da VM, durante a instalação, é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
Durante o processo ocorreram erros em diversos momentos. &lt;br /&gt;
&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6207</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6207"/>
				<updated>2017-08-09T19:51:24Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas ===&lt;br /&gt;
Após a criação da VM é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
Durante o processo ocorreram erros em diversos momentos. &lt;br /&gt;
&lt;br /&gt;
Ao reiniciar o processo de instalação do zero muitos deles não ocorreram, então é possível que haja '''um dependência alta da qualidade da internet e estabilidade durante a instalação'''&lt;br /&gt;
&lt;br /&gt;
= Remoção = &lt;br /&gt;
Deleter a pasta '''devstack''' e a imagem no virtualbox.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6206</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6206"/>
				<updated>2017-08-09T19:14:24Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas ===&lt;br /&gt;
Após a criação da VM é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6205</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6205"/>
				<updated>2017-08-09T19:13:56Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Dependências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz x4'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas ===&lt;br /&gt;
Após a criação da VM é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6204</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6204"/>
				<updated>2017-08-09T19:12:57Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Problemas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
&lt;br /&gt;
A máquina usada nessa operação foi:&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz x4'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
Para iniciar o processo de instalação é preciso os itens abaixo:&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas ===&lt;br /&gt;
Após a criação da VM é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
Talvez peça suas credenciais durante o processo.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6203</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6203"/>
				<updated>2017-08-09T19:12:32Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Instalando Devstack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
&lt;br /&gt;
A máquina usada nessa operação foi:&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz x4'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
Para iniciar o processo de instalação é preciso os itens abaixo:&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
=== Problemas ===&lt;br /&gt;
Após a criação da VM é preciso habilitar conexão por cabo na VM.&lt;br /&gt;
 Abra o Virtualbox &lt;br /&gt;
 selecione a máquina do devstack rodando&lt;br /&gt;
 clique em Network( Rede ) no '''Adapter 1''' habilite o item '''Cable Connected'''&lt;br /&gt;
 clique em OK.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6202</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6202"/>
				<updated>2017-08-09T19:05:11Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
&lt;br /&gt;
A máquina usada nessa operação foi:&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz x4'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
Para iniciar o processo de instalação é preciso os itens abaixo:&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6201</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6201"/>
				<updated>2017-08-09T19:04:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
&lt;br /&gt;
A máquina usada nessa operação foi:&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz x4'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
Para iniciar o processo de instalação é preciso os itens abaixo:&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
* [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
* [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6200</id>
		<title>Configurando OpenEDX devstack</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Configurando_OpenEDX_devstack&amp;diff=6200"/>
				<updated>2017-08-09T19:01:59Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: Criou página com 'Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.  = Instalação = == Dependências ==   A máqu...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será feito a instalação e acompanhamento dos processos para instalar o ambiente de desenvolvimento do OpenEDX.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
== Dependências == &lt;br /&gt;
&lt;br /&gt;
A máquina usada nessa operação foi:&lt;br /&gt;
 CPU: '''Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz x4'''&lt;br /&gt;
 SO: '''Debian 8.8 3.16.0-4-amd64 Mate 1.8.1'''&lt;br /&gt;
 MEMÓRIA: '''10 GB'''&lt;br /&gt;
&lt;br /&gt;
Para iniciar o processo de instalação é preciso os itens abaixo:&lt;br /&gt;
 vagrant &amp;gt; 1.6.4&lt;br /&gt;
 virtualbox = 4.3.*&lt;br /&gt;
 nfs ( network file system )&lt;br /&gt;
 curl/wget ( ou similar )&lt;br /&gt;
 bash/sh/zsh ( ou similar)&lt;br /&gt;
 '''conexão com internet'''&lt;br /&gt;
 '''20 GB livres'''&lt;br /&gt;
&lt;br /&gt;
== Pegando versão ==&lt;br /&gt;
Selecion um versão oficial no site [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases OpenEDX Release]&lt;br /&gt;
&lt;br /&gt;
Após selecionar a versão desejada, vamos usar o '''Git Tag''' da mesma.&lt;br /&gt;
&lt;br /&gt;
Neste processo utilizaremos a versão '''open-release/ficus.3'''.&lt;br /&gt;
&lt;br /&gt;
Assim iremos cadastrar essa versão em um variável de ambiente, no terminal com a linha:&lt;br /&gt;
 export OPENEDX_RELEASE=&amp;quot;open-release/ficus.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para baixar a imagem do box do vagrant, use o comando:&lt;br /&gt;
 curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh&lt;br /&gt;
&lt;br /&gt;
== Instalando Devstack ==&lt;br /&gt;
É preciso criar um pasta chamada '''devstack''', e de dentro é preciso executar o script  com o comando:&lt;br /&gt;
 bash install_stack.sh devstack&lt;br /&gt;
&lt;br /&gt;
Esse processo pode ser demorado, dependendo das condições de internet e máquina.&lt;br /&gt;
&lt;br /&gt;
Na máquina citada levou por volta de '''3 horas'''.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
- [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/installation_prerequisites.html Installation Prerequisites]&lt;br /&gt;
- [https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/devstack/install_devstack.html Installing Open edX Devstack]&lt;br /&gt;
- [https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases Open edX Release]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4869</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4869"/>
				<updated>2017-06-21T12:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
=== Configuração de Daemon ===&lt;br /&gt;
É preciso configurar o serviços para que aceite a configuração de '''replSet''' para [[permitir múltiplas instâncias do serviços]], com o proposito de log.&lt;br /&gt;
&lt;br /&gt;
Assim é preciso adicionar no arquivo '''/etc/mongod.config''' as configurações abaixo:&lt;br /&gt;
&lt;br /&gt;
Habilita replicas.&lt;br /&gt;
 replication:&lt;br /&gt;
   replSetName: rs0&lt;br /&gt;
   oplogSizeMB: 128&lt;br /&gt;
&lt;br /&gt;
Habilita máximo de ram que o mongo pode usar para cache.&lt;br /&gt;
 storage:&lt;br /&gt;
   wiredTiger:&lt;br /&gt;
      engineConfig:&lt;br /&gt;
         cacheSizeGB: 2&lt;br /&gt;
&lt;br /&gt;
Após isso será é preciso executar o '''mongod'''.&lt;br /&gt;
&lt;br /&gt;
Caso tenha sido executa com sucesso, é preciso habilitar internamente as opções de replica com os comandos:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate()&amp;quot;&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.add('localhost:27017')&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ou:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ]})&amp;quot;&lt;br /&gt;
&lt;br /&gt;
e habilitar modo slave&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.slaveOk()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, depois acesso a pasta '''programs/server/''', é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Como é preciso fazer uso de vários núcleos de processamento, e devido a natureza dos serviços em '''nodejs''' se single thread,&lt;br /&gt;
&lt;br /&gt;
é preciso que seja feito um '''json''' contendo '''N-1''' instâncias do serviço, onde '''N''' é o número de cpu.&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   },&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork-'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;300'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atenção aos itens [['name' e 'port']], que precisam ser[[ únicos ]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Caso já exista algum conjunto de serviços configurados é preciso remover antes:&lt;br /&gt;
 '''pm2 unstartup'''&lt;br /&gt;
E depois proceder com os processos anteriores.&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Múltiplas instâncias =&lt;br /&gt;
&lt;br /&gt;
Após ter configurado como descrito acima ambo os serviços do '''mongodb e teamwork''', usando o '''pm2'''.&lt;br /&gt;
&lt;br /&gt;
É sugerido o seguinte passos para aumentar as instâncias:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Não deve estar rodando o '''mongod'''.&lt;br /&gt;
* pm2 kill, para matar tudo que está rodando.&lt;br /&gt;
* pm2 start /opt/teamwork/&amp;lt;json&amp;gt;&lt;br /&gt;
* service mongod start&lt;br /&gt;
* service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;br /&gt;
* [https://rocket.chat/docs/installation/manual-installation/multiple-instances-to-improve-performance/ Rodando múltiplas instâncias do rocket.chat]&lt;br /&gt;
* [https://docs.mongodb.com/manual/reference/configuration-options/ Configurando mongodb no linux]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4861</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4861"/>
				<updated>2017-06-14T13:17:55Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* pm2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
=== Configuração de Daemon ===&lt;br /&gt;
É preciso configurar o serviços para que aceite a configuração de '''replSet''' para [[permitir múltiplas instâncias do serviços]], com o proposito de log.&lt;br /&gt;
&lt;br /&gt;
Assim é preciso adicionar no arquivo '''/etc/mongod.config''' as configurações abaixo:&lt;br /&gt;
&lt;br /&gt;
Habilita replicas.&lt;br /&gt;
 replication:&lt;br /&gt;
   replSetName: rs0&lt;br /&gt;
   oplogSizeMB: 128&lt;br /&gt;
&lt;br /&gt;
Habilita máximo de ram que o mongo pode usar para cache.&lt;br /&gt;
 storage:&lt;br /&gt;
   wiredTiger:&lt;br /&gt;
      engineConfig:&lt;br /&gt;
         cacheSizeGB: 2&lt;br /&gt;
&lt;br /&gt;
Após isso será é preciso executar o '''mongod'''.&lt;br /&gt;
&lt;br /&gt;
Caso tenha sido executa com sucesso, é preciso habilitar internamente as opções de replica com os comandos:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate()&amp;quot;&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.add('localhost:27017')&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ou:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ]})&amp;quot;&lt;br /&gt;
&lt;br /&gt;
e habilitar modo slave&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.slaveOk()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, depois acesso a pasta '''programs/server/''', é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Como é preciso fazer uso de vários núcleos de processamento, e devido a natureza dos serviços em '''nodejs''' se single thread,&lt;br /&gt;
&lt;br /&gt;
é preciso que seja feito um '''json''' contendo '''N-1''' instâncias do serviço, onde '''N''' é o número de cpu.&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   },&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork-'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;300'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atenção aos itens [['name' e 'port']], que precisam ser[[ únicos ]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Caso já exista algum conjunto de serviços configurados é preciso remover antes:&lt;br /&gt;
 '''pm2 unstartup'''&lt;br /&gt;
E depois proceder com os processos anteriores.&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;br /&gt;
* [https://rocket.chat/docs/installation/manual-installation/multiple-instances-to-improve-performance/ Rodando múltiplas instâncias do rocket.chat]&lt;br /&gt;
* [https://docs.mongodb.com/manual/reference/configuration-options/ Configurando mongodb no linux]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4860</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4860"/>
				<updated>2017-06-14T13:16:04Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
=== Configuração de Daemon ===&lt;br /&gt;
É preciso configurar o serviços para que aceite a configuração de '''replSet''' para [[permitir múltiplas instâncias do serviços]], com o proposito de log.&lt;br /&gt;
&lt;br /&gt;
Assim é preciso adicionar no arquivo '''/etc/mongod.config''' as configurações abaixo:&lt;br /&gt;
&lt;br /&gt;
Habilita replicas.&lt;br /&gt;
 replication:&lt;br /&gt;
   replSetName: rs0&lt;br /&gt;
   oplogSizeMB: 128&lt;br /&gt;
&lt;br /&gt;
Habilita máximo de ram que o mongo pode usar para cache.&lt;br /&gt;
 storage:&lt;br /&gt;
   wiredTiger:&lt;br /&gt;
      engineConfig:&lt;br /&gt;
         cacheSizeGB: 2&lt;br /&gt;
&lt;br /&gt;
Após isso será é preciso executar o '''mongod'''.&lt;br /&gt;
&lt;br /&gt;
Caso tenha sido executa com sucesso, é preciso habilitar internamente as opções de replica com os comandos:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate()&amp;quot;&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.add('localhost:27017')&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ou:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ]})&amp;quot;&lt;br /&gt;
&lt;br /&gt;
e habilitar modo slave&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.slaveOk()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, depois acesso a pasta '''programs/server/''', é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Como é preciso fazer uso de vários núcleos de processamento, e devido a natureza dos serviços em '''nodejs''' se single thread,&lt;br /&gt;
&lt;br /&gt;
é preciso que seja feito um '''json''' contendo '''N-1''' instâncias do serviço, onde '''N''' é o número de cpu.&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   },&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork-'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;300'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atenção aos itens [['name' e 'port']], que precisam ser[[ únicos ]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;br /&gt;
* [https://rocket.chat/docs/installation/manual-installation/multiple-instances-to-improve-performance/ Rodando múltiplas instâncias do rocket.chat]&lt;br /&gt;
* [https://docs.mongodb.com/manual/reference/configuration-options/ Configurando mongodb no linux]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4859</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4859"/>
				<updated>2017-06-14T13:14:39Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* MongoDB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
=== Configuração de Daemon ===&lt;br /&gt;
É preciso configurar o serviços para que aceite a configuração de '''replSet''' para [[permitir múltiplas instâncias do serviços]], com o proposito de log.&lt;br /&gt;
&lt;br /&gt;
Assim é preciso adicionar no arquivo '''/etc/mongod.config''' as configurações abaixo:&lt;br /&gt;
&lt;br /&gt;
Habilita replicas.&lt;br /&gt;
 replication:&lt;br /&gt;
   replSetName: rs0&lt;br /&gt;
   oplogSizeMB: 128&lt;br /&gt;
&lt;br /&gt;
Habilita máximo de ram que o mongo pode usar para cache.&lt;br /&gt;
 storage:&lt;br /&gt;
   wiredTiger:&lt;br /&gt;
      engineConfig:&lt;br /&gt;
         cacheSizeGB: 2&lt;br /&gt;
&lt;br /&gt;
Após isso será é preciso executar o '''mongod'''.&lt;br /&gt;
&lt;br /&gt;
Caso tenha sido executa com sucesso, é preciso habilitar internamente as opções de replica com os comandos:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate()&amp;quot;&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.add('localhost:27017')&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ou:&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ]})&amp;quot;&lt;br /&gt;
&lt;br /&gt;
e habilitar modo slave&lt;br /&gt;
 mongo rocketchat --eval &amp;quot;rs.slaveOk()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, depois acesso a pasta '''programs/server/''', é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Como é preciso fazer uso de vários núcleos de processamento, e devido a natureza dos serviços em '''nodejs''' se single thread,&lt;br /&gt;
&lt;br /&gt;
é preciso que seja feito um '''json''' contendo '''N-1''' instâncias do serviço, onde '''N''' é o número de cpu.&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   },&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork-'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;300'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atenção aos itens [['name' e 'port']], que precisam ser[[ únicos ]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4857</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4857"/>
				<updated>2017-06-14T12:52:13Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Configurar serviço automatico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, depois acesso a pasta '''programs/server/''', é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Como é preciso fazer uso de vários núcleos de processamento, e devido a natureza dos serviços em '''nodejs''' se single thread,&lt;br /&gt;
&lt;br /&gt;
é preciso que seja feito um '''json''' contendo '''N-1''' instâncias do serviço, onde '''N''' é o número de cpu.&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   },&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork-'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2G&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;300'''N'''&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atenção aos itens [['name' e 'port']], que precisam ser[[ únicos ]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4739</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4739"/>
				<updated>2017-06-01T14:28:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, depois acesso a pasta '''programs/server/''', é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4738</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4738"/>
				<updated>2017-05-29T20:25:30Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Configurar serviço automatico */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;http://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4737</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4737"/>
				<updated>2017-05-29T20:08:31Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Problemas possíveis = &lt;br /&gt;
== Serviços fora do ar ==&lt;br /&gt;
* É possível que o servidor apache não tenha renovado os arquivos alterados.&lt;br /&gt;
&lt;br /&gt;
== Erro ao iniciar serviço ==&lt;br /&gt;
* É possível que a '''rota das pastas''' estejam erradas.&lt;br /&gt;
* É preciso executar o '''main.js''', no '''pm2''' ( atualmente é usando um arquivo de configuração '''pm2.json''' )&lt;br /&gt;
* É possível que '''falte dependências [[do hubot]]''' .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4736</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4736"/>
				<updated>2017-05-29T15:54:55Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Teamwork */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
=== Extrair pacote ===&lt;br /&gt;
Extrair pacote '''custom.tar.gz''' dentro da pasta '''/opt'''&lt;br /&gt;
&lt;br /&gt;
=== Instalar dependências ===&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
=== Validar pacote ===&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
=== Configurar serviço automatico ===&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4735</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4735"/>
				<updated>2017-05-29T15:50:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4732</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4732"/>
				<updated>2017-05-26T13:36:00Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* COLORS(MINOR) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker ou #7F7F7F&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4731</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4731"/>
				<updated>2017-05-25T19:37:00Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
== Configurando layout ==&lt;br /&gt;
&lt;br /&gt;
* É preciso fazer manualmente a alterações em adminstrativo/layout&lt;br /&gt;
&lt;br /&gt;
Segue o parametros e cores: &lt;br /&gt;
&lt;br /&gt;
=== COLORS ===&lt;br /&gt;
    content Background color : #FFFFFF &lt;br /&gt;
    Primary Background Color : #0F7043 &lt;br /&gt;
    Primary Font Color : #444444&lt;br /&gt;
 &lt;br /&gt;
    Primary Action Color : #2F9E68 &lt;br /&gt;
    Secondary Background Color : #F4F4F4 &lt;br /&gt;
    Secondary Font Color : #7F7F7F &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Component Color : #EAEAEA &lt;br /&gt;
    Success Color : #35AC19 &lt;br /&gt;
    Pending Color : #FCB316 &lt;br /&gt;
    Error Color : #D30230 &lt;br /&gt;
    Selection Color : #FF0000 &lt;br /&gt;
    theme-color-attention-color : #9C27B0 &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
    Secondary Action Color : #FFFFFF &lt;br /&gt;
&lt;br /&gt;
=== COLORS(MINOR) ===&lt;br /&gt;
    Custom Scrollbar Color : #@transparent-darker &lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Approxima&amp;diff=4667</id>
		<title>Approxima</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Approxima&amp;diff=4667"/>
				<updated>2017-04-24T15:38:31Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Link do Product Backlog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Descrição==&lt;br /&gt;
&lt;br /&gt;
Uma ferramenta que permite o fluxo das informações do dia a dia da escola e do aluno para seus pais ou responsáveis e propicia um canal de comunicação direto entre todos os envolvidos de forma prática e em tempo real.&lt;br /&gt;
&lt;br /&gt;
Para atingir esse objetivo, o usuário que instalar o aplicativo poderá contar ainda com uma plataforma web que possui as mesmas ferramentas disponíveis no aplicativo. São elas:&lt;br /&gt;
&lt;br /&gt;
MENSAGEIRO, que permite a troca de mensagens síncronas entre diretoria, coordenações, docentes, alunos e responsáveis por meio da gestão de grupos e/ou em conversas .&lt;br /&gt;
&lt;br /&gt;
AGENDA, que possibilita cadastrar, compartilhar e visualizar eventos recebidos no calendário como provas, reuniões de pais, recesso, feriados, e demais eventos. Com isso, mantendo todos os usuários sempre &lt;br /&gt;
&lt;br /&gt;
O BOLETIM ESCOLAR garante uma visão aos alunos e seus responsáveis da frequência, notas obtidas em cada uma das disciplinas e as médias da turma para que se possa fazer uma análise comparativa do rendimento escolar. &lt;br /&gt;
&lt;br /&gt;
A ENQUETE, que permite que a equipe diretiva, coordenadores e professores criem questões de múltipla escolha para levantamento de opiniões.&lt;br /&gt;
&lt;br /&gt;
As NOTIFICAÇÕES mantém todos os usuários alertas sobre cada novidade, ou seja, por meio dela é possível verificar se uma nova mensagem, novo evento, nova enquete ou demais novidades que foram cadastradas e estão disponíveis aos usuários.&lt;br /&gt;
&lt;br /&gt;
==Funcionalidades de Ouro==&lt;br /&gt;
&lt;br /&gt;
* MENSAGEIRO&lt;br /&gt;
* BOLETIM ESCOLAR&lt;br /&gt;
* ENQUETE&lt;br /&gt;
* NOTIFICAÇÕES&lt;br /&gt;
&lt;br /&gt;
==Link do Product Backlog==&lt;br /&gt;
&lt;br /&gt;
Nesta seção, insira o link do Product Backlog do produto&lt;br /&gt;
&lt;br /&gt;
* '''Filho sem fila''' - sistema que permite agilizar o processo de pegar o filho na escola.Ao ativar o serviço, é disparado uma notificação avisando a escola/filho que os pais estão indo buscar seu filho, ao entrar no perímetro de 100 metros da escola, a mesma é notificada para deixar de prontidão o seu filho, também é possível notificar os filhos para eles ficarem de prontidão.&lt;br /&gt;
&lt;br /&gt;
==Outras informações==&lt;br /&gt;
* [[Requisitos funcionais]]&lt;br /&gt;
* [[Requisitos não funcionais]]&lt;br /&gt;
* [[Especificações mínimas de hardware e software]]&lt;br /&gt;
* [[Arquitetura do produto]]&lt;br /&gt;
* [[Integrações]]&lt;br /&gt;
* [[Manual de instalação]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabela de permissões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Linha do tempo (Novidades)&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Acessar e visualizar eventos por turma&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Acessar e visualizar eventos por filho&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar itens na timeline&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Criar notícia com foto&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Enviar parabéns ou comunicados aos pais&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Enviar atualizações (Status de matrícula/solicitações)&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
! Autorizações*&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Assinar autorizações&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar a autorização respondida na timeline&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar autorizações enviadas&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar as autorizações já respondidas&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
! Mensagens&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Iniciar conversas&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Responder mensagens&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
! Avaliações&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar notas por bimestre&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar notas por bimestre/filho&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
! Agenda&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Criar eventos&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Compartilhar eventos com a turma&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar eventos criados por professores&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar eventos por filho&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
! Questionários&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Responder questionários&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar questionários recebidos&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar questionários enviados&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Criar questionários&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
! Grade horária&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar horários de aula&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar atribuições de aula&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar horários de aula dos filhos&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
! Buscar filho&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Indicar que está próximo a escola/indo buscar&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar o quadro de responsáveis próximos&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Remover responsáveis do quadro após a retirada&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Versões testadas do produto ==&lt;br /&gt;
[[Approxima 1.0.0.74]]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Approxima&amp;diff=4666</id>
		<title>Approxima</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Approxima&amp;diff=4666"/>
				<updated>2017-04-20T13:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Descrição==&lt;br /&gt;
&lt;br /&gt;
Uma ferramenta que permite o fluxo das informações do dia a dia da escola e do aluno para seus pais ou responsáveis e propicia um canal de comunicação direto entre todos os envolvidos de forma prática e em tempo real.&lt;br /&gt;
&lt;br /&gt;
Para atingir esse objetivo, o usuário que instalar o aplicativo poderá contar ainda com uma plataforma web que possui as mesmas ferramentas disponíveis no aplicativo. São elas:&lt;br /&gt;
&lt;br /&gt;
MENSAGEIRO, que permite a troca de mensagens síncronas entre diretoria, coordenações, docentes, alunos e responsáveis por meio da gestão de grupos e/ou em conversas .&lt;br /&gt;
&lt;br /&gt;
AGENDA, que possibilita cadastrar, compartilhar e visualizar eventos recebidos no calendário como provas, reuniões de pais, recesso, feriados, e demais eventos. Com isso, mantendo todos os usuários sempre &lt;br /&gt;
&lt;br /&gt;
O BOLETIM ESCOLAR garante uma visão aos alunos e seus responsáveis da frequência, notas obtidas em cada uma das disciplinas e as médias da turma para que se possa fazer uma análise comparativa do rendimento escolar. &lt;br /&gt;
&lt;br /&gt;
A ENQUETE, que permite que a equipe diretiva, coordenadores e professores criem questões de múltipla escolha para levantamento de opiniões.&lt;br /&gt;
&lt;br /&gt;
As NOTIFICAÇÕES mantém todos os usuários alertas sobre cada novidade, ou seja, por meio dela é possível verificar se uma nova mensagem, novo evento, nova enquete ou demais novidades que foram cadastradas e estão disponíveis aos usuários.&lt;br /&gt;
&lt;br /&gt;
==Funcionalidades de Ouro==&lt;br /&gt;
&lt;br /&gt;
* MENSAGEIRO&lt;br /&gt;
* BOLETIM ESCOLAR&lt;br /&gt;
* ENQUETE&lt;br /&gt;
* NOTIFICAÇÕES&lt;br /&gt;
&lt;br /&gt;
==Link do Product Backlog==&lt;br /&gt;
&lt;br /&gt;
Nesta seção, insira o link do Product Backlog do produto&lt;br /&gt;
&lt;br /&gt;
==Outras informações==&lt;br /&gt;
* [[Requisitos funcionais]]&lt;br /&gt;
* [[Requisitos não funcionais]]&lt;br /&gt;
* [[Especificações mínimas de hardware e software]]&lt;br /&gt;
* [[Arquitetura do produto]]&lt;br /&gt;
* [[Integrações]]&lt;br /&gt;
* [[Manual de instalação]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabela de permissões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Linha do tempo (Novidades)&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Acessar e visualizar eventos por turma&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Acessar e visualizar eventos por filho&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar itens na timeline&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Criar notícia com foto&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Enviar parabéns ou comunicados aos pais&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Enviar atualizações (Status de matrícula/solicitações)&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
! Autorizações*&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Assinar autorizações&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar a autorização respondida na timeline&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar autorizações enviadas&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar as autorizações já respondidas&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
! Mensagens&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Iniciar conversas&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Responder mensagens&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
! Avaliações&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar notas por bimestre&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar notas por bimestre/filho&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
! Agenda&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Criar eventos&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Compartilhar eventos com a turma&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar eventos criados por professores&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar eventos por filho&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
! Questionários&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Responder questionários&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar questionários recebidos&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar questionários enviados&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Criar questionários&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
! Grade horária&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar horários de aula&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar atribuições de aula&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar horários de aula dos filhos&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
! Buscar filho&lt;br /&gt;
! Professor&lt;br /&gt;
! Aluno&lt;br /&gt;
! Responsável&lt;br /&gt;
! Func. da escola&lt;br /&gt;
|-&lt;br /&gt;
| Indicar que está próximo a escola/indo buscar&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
|-&lt;br /&gt;
| Visualizar o quadro de responsáveis próximos&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|-&lt;br /&gt;
| Remover responsáveis do quadro após a retirada&lt;br /&gt;
| Sim&lt;br /&gt;
| Não&lt;br /&gt;
| Não&lt;br /&gt;
| Sim&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Versões testadas do produto ==&lt;br /&gt;
[[Approxima 1.0.0.74]]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4657</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4657"/>
				<updated>2017-04-05T20:54:32Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4656</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4656"/>
				<updated>2017-04-05T20:53:23Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
= Configurações do sistema =&lt;br /&gt;
&lt;br /&gt;
Caso haja algum problema em que o '''o primeiro login funciona e o restante não''', será preciso habilitar na opções administrativas na parte do LDAP.&lt;br /&gt;
&lt;br /&gt;
O item de '''Mescar usuários já existentes''' para permitir o uso de '''username e email''' para login.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4642</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4642"/>
				<updated>2017-03-30T14:53:42Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Configuração do serviços */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[Os passos abaixo precisam ser executados como root!]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4641</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4641"/>
				<updated>2017-03-30T14:53:20Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Configuração do serviços */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Os passos abaixo precisam ser '''executados como root!''']]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4640</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4640"/>
				<updated>2017-03-30T14:51:29Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Configuração do serviços */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''teamwork.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;8192M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start teamwork.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado.&lt;br /&gt;
&lt;br /&gt;
É preciso instalar as dependências globais do hubot, com o seguinte comando:&lt;br /&gt;
 '''npm i -g coffee-script'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Será preciso adicionar o caminho correto dentro do arquivo '''bin/hubot''' na linha com '''exec node_modules/..''' para '''exec /opt/''&amp;lt;pasta&amp;gt;''/node_modules/..'''&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''hubot.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;2048M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora execute comando:&lt;br /&gt;
 '''pm2 start hubot.json --watch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando '''corretamente e em paralelo !'''&lt;br /&gt;
&lt;br /&gt;
Agora que os arquivos '''.json''' foram criados e executados podemos memorizar esses processos e suas ordem com o comando:&lt;br /&gt;
 '''pm2 save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.&lt;br /&gt;
&lt;br /&gt;
 '''pm2 startup'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:&lt;br /&gt;
 '''pm2 m ou pm2 status'''&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4639</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4639"/>
				<updated>2017-03-30T14:40:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* Configuração do serviços */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
A configuração será feita através do '''pm2''', serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o '''auto-start''' dos serviços de forma automática.&lt;br /&gt;
&lt;br /&gt;
Aqui é preciso que esteja instalado o seguinte itens:'''node, npm, mongodb, pm2'''.&lt;br /&gt;
&lt;br /&gt;
É preciso que os passos sejam executado seguindo os tópicos seguintes.&lt;br /&gt;
&lt;br /&gt;
É fortemente sugerido que os serviços e suas pastas sejam criados na pasta '''opt''' ( para evitar problemas com atualização de sistema ).&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.&lt;br /&gt;
&lt;br /&gt;
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:&lt;br /&gt;
 '''npm i'''&lt;br /&gt;
Agora é preciso executar o serviço '''pm2 start main.js --name teamwork''', para validar se o serviço esta rodando execute o comando:&lt;br /&gt;
 '''pm2 m'''&lt;br /&gt;
Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.&lt;br /&gt;
&lt;br /&gt;
'''O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.'''&lt;br /&gt;
&lt;br /&gt;
Agora é preciso parar o serviço com :&lt;br /&gt;
 '''pm2 stop teamwork'''&lt;br /&gt;
vamos criar um arquivo '''pm2.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
Segue o modelo: &lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[&lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;teamwork&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;4096M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/teamwork/main.js&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/teamwork/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/teamwork/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;3000&amp;quot;,&lt;br /&gt;
    &amp;quot;env&amp;quot;: {&lt;br /&gt;
     &amp;quot;MONGO_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/rocketchat&amp;quot;,&lt;br /&gt;
     &amp;quot;MONGO_OPLOG_URL&amp;quot;: &amp;quot;mongodb://localhost:27017/local&amp;quot;,&lt;br /&gt;
     &amp;quot;ROOT_URL&amp;quot;: &amp;quot;https://comunicador.seduc.rs.gov.br&amp;quot;, &lt;br /&gt;
     &amp;quot;PORT&amp;quot;: &amp;quot;3000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vamos criar um arquivo '''pm2.json''' na pasta do projeto para configurar o serviço e executa-lo no pm2.&lt;br /&gt;
&lt;br /&gt;
Segue o modelo:&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;apps&amp;quot;:[ &lt;br /&gt;
   {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;bot&amp;quot;,&lt;br /&gt;
    &amp;quot;max_memory_restart&amp;quot;: &amp;quot;1536M&amp;quot;,&lt;br /&gt;
    &amp;quot;log_date_format&amp;quot;: &amp;quot;YYYY-MM-DD HH:mm:ss SSS&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;: &amp;quot;/opt/rockbot/bin/hubot&amp;quot;,&lt;br /&gt;
    &amp;quot;out_file&amp;quot;: &amp;quot;/var/log/bot/app.log&amp;quot;,&lt;br /&gt;
    &amp;quot;error_file&amp;quot;: &amp;quot;/var/log/bot/err.log&amp;quot;,&lt;br /&gt;
    &amp;quot;port&amp;quot;: &amp;quot;1337&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Será responsável por configurar a máquina para auto-executar os serviços ao reiniciar.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4638</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4638"/>
				<updated>2017-03-30T14:22:35Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: /* MongoDB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Aplicar '''pm2 start main.js''' para executar.&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].&lt;br /&gt;
&lt;br /&gt;
Aplicar configuração de scripts para gerar indexes.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocketchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Será responsável por configurar a máquina para auto-executar os serviços ao reiniciar.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4637</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4637"/>
				<updated>2017-03-30T14:14:08Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o '''git na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
== Gerando pacote ==&lt;br /&gt;
* é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases].&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git].&lt;br /&gt;
* executar: '''npm i'''&lt;br /&gt;
* gerar um zip '''com toda a pasta raiz''' e colocar no servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Aplicar '''pm2 start main.js''' para executar.&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].&lt;br /&gt;
&lt;br /&gt;
Aplicar configuração de scripts para gerar indexes.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).&lt;br /&gt;
&lt;br /&gt;
Para executar faça o seguinte:&lt;br /&gt;
* ir na pasta com o script [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js].&lt;br /&gt;
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':&lt;br /&gt;
 '''mongo localhost:27017/rocektchat mongo-custom-index.js'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Será responsável por configurar a máquina para auto-executar os serviços ao reiniciar.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;br /&gt;
* [https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#execute-a-javascript-file Executando script no mongodb]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	<entry>
		<id>http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4635</id>
		<title>Implantação Teamwork e Hubot para SEDUC</title>
		<link rel="alternate" type="text/html" href="http://wiki.mstech.com.br/index.php?title=Implanta%C3%A7%C3%A3o_Teamwork_e_Hubot_para_SEDUC&amp;diff=4635"/>
				<updated>2017-03-30T13:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Alexandre.paravani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.&lt;br /&gt;
&lt;br /&gt;
Nas referências estão todos os dados que serão explicados nessa tópico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Servidor = &lt;br /&gt;
&lt;br /&gt;
Configuração de hardware e software para execução dos serviços.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requisitos mínimos ==&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD&lt;br /&gt;
* SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* Node 4.7.3&lt;br /&gt;
* MongoDB&lt;br /&gt;
* pm2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Teamwork =&lt;br /&gt;
&lt;br /&gt;
== Requisitos de build ==&lt;br /&gt;
&lt;br /&gt;
Ao implantar o Teamwork é preciso seguir os passos:&lt;br /&gt;
&lt;br /&gt;
* é preciso instalar o ''meteor na máquina do desenvolvedor''', [https://git-scm.com/downloads Git - downloads].&lt;br /&gt;
* é preciso instalar o '''meteor na máquina do desenvolvedor''', para que possamos fazer o build do projeto ( [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]).&lt;br /&gt;
* Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/custom/tree/develop git@gitlab.mstech.com.br:teamwork/custom.git]&lt;br /&gt;
* executa em um cli( terminal ), '''na raiz do projeto''', o comando de build de pacote:&lt;br /&gt;
  '''''meteor build ./ --server-only'''''&lt;br /&gt;
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requisitos de servidor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hubot =&lt;br /&gt;
&lt;br /&gt;
== Requisito ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configuração do serviços =&lt;br /&gt;
== Teamwork ==&lt;br /&gt;
Aplicar '''pm2 start main.js''' para executar.&lt;br /&gt;
&lt;br /&gt;
== MongoDB ==&lt;br /&gt;
Aplicar configuração de scripts para gerar indexes.&lt;br /&gt;
&lt;br /&gt;
É preciso pegar os scripts na pasta '''.scripts'''( pode estar oculta ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hubot ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== pm2 ==&lt;br /&gt;
Será responsável por configurar a máquina para auto-executar os serviços ao reiniciar.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
* [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop Repositório Hubot]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/tree/develop Repośitório Teamwork]&lt;br /&gt;
* [https://gitlab.mstech.com.br/teamwork/custom/blob/develop/MSTECH.md Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork]&lt;br /&gt;
* [https://rocket.chat/docs/ Rocket.Chat Docs]&lt;br /&gt;
* https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]&lt;/div&gt;</summary>
		<author><name>Alexandre.paravani</name></author>	</entry>

	</feed>