Passo-a-passo da Instalação no Sistema Operacional Linux
Nome do Software: Gepnet
Versão do Software: Gestor de Escritórios de Projetos - Versão 2.1.1
1.Visão Geral
Este software é um sistema gerenciador de escritórios de projetos, com 16 módulos para criação, planejamento, monitoramento e encerramento de um projeto com base nos processos do PMBOK.
Possui também os seguintes módulos adicionais: processo, atividade pessoal, pesquisa, relatório, cadastros, acordo cooperação, grandes eventos, agenda e segurança (configuração).
2.Requisitos de Instalação
2.1 Requisitos de Software
Sistema Operacional – Linux Ubuntu 14.04
Banco de Dados – Postgresql 9.3/ PgAdmin III
Servidor de Aplicação – Apache2 2.2
Navegador Web – Monzilla FireFox
3.Instalação
Instalando Apache, PHP5 e PostgreSQL
$ apt-get install apache2 $ apt-get install postgresql-9.4 $ apt-get install php5 libapache2-mod-php5 php5-gd php5-pgsql
Download do software
Faça o download dos arquivos do sistema antes de prosseguir. A versão atual está disponível em pacotes RAR. Descompacte o pacote de sua preferência no diretório raiz do seu servidor web Apache (no Debian, geralmente o diretório raiz é /var/www).
$ cd /var/www $ unzip /caminho/gepnet2_versao-SPB_data $ mv gepnet2 /var/www
Criação do Banco de Dados
Crie o banco de dados ao qual o Gepnet usará para armazenar todos os dados digitados através da interface web. Os passos descritos nessa seção irão criar:
Um usuário admin no servidor PostgreSQL com a senha de acesso 'admin';
Um banco de dados para dump incial pode ser obtido na seção download ou na pasta tmp_dump do aplicativo.
Observação: Você pode usar o nome de usuário e senha que desejar. Esses são apenas nomes padrões que a aplicação usa para conectar-se ao banco. Entretanto, o nome do banco de dados deve ser "agepnet200" (sem aspas).
Faça login no servidor de banco de dados PostgreSQL com o cliente psql:
$ su # su - postgres # psql
Alternativamente, com o sudo:
$ sudo -u postgres psql
Crie o usuário de banco de dados que será utilizado pelo Gepnet:
postgres=# CREATE ROLE gestaoti; postgres=# ALTER ROLE agepnet200 WITH SUPERUSER INHERIT NOCREATEROLE CREATEDB LOGIN PASSWORD 'agepnet200'; Crie o banco de dados: postgres=# CREATE DATABASE gestaoti WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'pt_BR.utf8' LC_CTYPE = 'pt_BR.utf8'; postgres=# ALTER DATABASE gestaoti OWNER TO gestaoti; postgres=# \q Execute o arquivo script_dump_inicial (formato sql), localizado na pasta tmp_dump da aplicação ou na secao Download do site).
$ sudo -u postgres psql -d gepnet2-f /var/www/gepnet2/install/dump-inicial-gepnet2-agepnet200-data-da-versao.sql
Edite o arquivo de configuração e conceda permissões de escrita
O Gepnet armazena algumas configurações necessárias para a aplicação em um arquivo chamado application.ini (em /var/www/gepnet2/application/configs/), que possui uma sintaxe bem simples de entender. Caso tenha criado o banco de dados, nome de usuário ou senha com um valor diferente de admin, basta editar esse arquivo para que corresponda as suas escolhas:
resources.db.adapter = "pdo_pgsql"
resources.db.params.host = "localhost"
resources.db.params.username = "postgres"
resources.db.params.password = "gepnet2"
resources.db.params.dbname = "agepnet200"
resources.db.params.charset = "utf8"
Não esqueça, o nome do banco de dados dever ser "agepnet200" (sem aspas).
Depois, conceda permissões de escrita nos seguintes diretórios: /var/www/gepnet2/application/data, /var/www/gepnet2/arquivos, /var/www/gepnet2/upload. Uma forma prática é dar permissão de escrita para o usuário dono do diretório e para usuários de um grupo. Nesse caso, mudaremos o grupo desses diretórios para o grupo do usuário Apache.
# chmod -R 775 /var/www/gepnet2/gepnet/upload
# chown -R www-data.www-data /var/www/gepnet2/
Observação: www-data é o nome do grupo Apache padrão em sistemas Debian. Em outros sistemas, esse nome pode ser httpd, apache ou _www. Substitua de acordo com o usado em seu sistema operacional.
Configuração do vhost no apache (Zend\Apache2\conf\httpd.conf) ou similar .
<VirtualHost *:80>
ServerAdmin userName
ServerName localhost
DocumentRoot /var/www/gepnet2/public
<Directory /var/www/gepnet2/public>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Primeiro acesso ao aplicativo
Logar como: usuario01@gepnet2.gov
Senha de acesso: usuario01
Este usuário possui perfil de acesso Admin Gepnet. É superusuário do sistema.
Existem mais quatro usuarios cadastrados no banco de dados inicial:
Usuario02@gepnet2.gov - Senha de acesso: "usuario02",
Usuario03@gepnet2.gov- Senha de acesso: "usuario03",
Usuario04@gepnet2.gov- Senha de acesso: "usuario04",
Usuario05@gepnet2.gov- Senha de acesso: "usuario05".
Cada usuário possui perfis de exemplo cadastrados.
----------------------------------------------------------------------------------------
Lista de erros mais comuns na primeira instalação
Erro 1:
Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir is not writable' in /var/www/gepnet2/library/Zend/Cache.php:209 Stack trace: #0 /var/www/gepnet2/library/Zend/Cache/Backend/File.php(157): Zend_Cache::throwException('cache_dir is no...') #1 /var/www/gepnet2/library/Zend/Cache/Backend/File.php(121): Zend_Cache_Backend_File->setCacheDir('/var/www/gepnet...') #2 /var/www/gepnet2/public/index.php(31): Zend_Cache_Backend_File->__construct(Array) #3 {main} thrown in/var/www/gepnet2/library/Zend/Cache.php on line 209
Solução: Alterar permissão de escrita da pasta de cache (../var/www/gepnet2/application/data/cache) para possibilitar gravação de dados pelo sistema.
Por exemplo: chmod -R 777 /var/www/gepnet2/application/data/cache
Erro 2:
Fatal error: Uncaught exception 'Zend_Log_Exception' with message '"/var/www/gepnet2/application/../logs/application.log" cannot be opened with mode "a"' in /var/www/gepnet2/library/Zend/Log/Writer/Stream.php:81 Stack trace: #0 /var/www/gepnet2/library/Zend/Log/Writer/Stream.php(107): Zend_Log_Writer_Stream->__construct('/var/www/gepnet...', NULL) #1 [internal function]: Zend_Log_Writer_Stream::factory(Array) #2 /var/www/gepnet2/library/Zend/Log.php(276): call_user_func(Array, Array) #3 /var/www/gepnet2/library/Zend/Log.php(169): Zend_Log->_constructFromConfig('writer', Array, 'Zend_Log_Writer') #4 /var/www/gepnet2/library/Zend/Log.php(494): Zend_Log->_constructWriterFromConfig(Array) #5 /var/www/gepnet2/library/Zend/Log.php(152): Zend_Log->addWriter(Array) #6 /var/www/gepnet2/library/Zend/Application/Resource/Log.php(78): Zend_Log::factory(Array) #7 /var/www/gepnet2/library/Zend/Application/Resource/Log.php(54): Zend_Application_Resource_Log->getLog() #8 /var/www/gepnet2/library/Zend/Application/Bootstrap/BootstrapAbstra in /var/www/gepnet2/library/Zend/Log/Writer/Stream.php on line 81
Solução: Alterar permissão de escrita da pasta de log (../var/www/gepnet2/logs) para possibilitar gravação de dados pelo sistema.
Por exemplo: chmod -R 777 /var/www/gepnet2/logs
Erro 3:
An error occurred
Application error
Exception information:
Message: The given destination is not writeable
Stack trace:
#0 /var/www/gepnet2/library/Zend/Form/Element/File.php(505): Zend_File_Transfer_Adapter_Abstract->setDestination('/var/www/gepnet...', 'arquivo1')
#1 /var/www/gepnet2/library/Zend/Form/Element.php(375): Zend_Form_Element_File->setDestination('/var/www/gepnet...')
#2 /var/www/gepnet2/library/Zend/Form/Element.php(253): Zend_Form_Element->setOptions(Array)
#3 /var/www/gepnet2/library/Zend/Form.php(1112): Zend_Form_Element->__construct('arquivo1', Array)
#4 /var/www/gepnet2/library/Twitter/Bootstrap/Form.php(104): Zend_Form->createElement('file', 'arquivo1', Array)
#5 /var/www/gepnet2/library/Zend/Form.php(1040): Twitter_Bootstrap_Form->createElement('file', 'arquivo1', Array)
#6 /var/www/gepnet2/application/modules/projeto/forms/Rud.php(68): Zend_Form->addElement('file', 'arquivo1', Array)
#7 /var/www/gepnet2/library/Zend/Form.php(240): Projeto_Form_Rud->init()
#8 /var/www/gepnet2/library/Twitter/Bootstrap/Form.php(43): Zend_Form->__construct(NULL)
#9 /var/www/gepnet2/library/Twitter/Bootstrap/Form/Vertical.php(41): Twitter_Bootstrap_Form->__construct(NULL)
#10 /var/www/gepnet2/library/App/Form/FormAbstract.php(16): Twitter_Bootstrap_Form_Vertical->__construct(NULL)
#11 /var/www/gepnet2/library/App/Service/ServiceAbstract.php(316): App_Form_FormAbstract->__construct()
#12 /var/www/gepnet2/application/modules/projeto/services/Rud.php(62): App_Service_ServiceAbstract::_getForm('Projeto_Form_Ru...')
#13 /var/www/gepnet2/application/modules/projeto/controllers/RudController.php(19): Projeto_Service_Rud->getForm()
#14 /var/www/gepnet2/library/Zend/Controller/Action.php(516): Projeto_RudController->indexAction()
#15 /var/www/gepnet2/library/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('indexAction')
#16 /var/www/gepnet2/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#17 /var/www/gepnet2/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#18 /var/www/gepnet2/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#19 /var/www/gepnet2/public/index.php(43): Zend_Application->run()
#20 {main}
Request Parameters:
array (
'module' => 'projeto',
'controller' => 'rud',
'action' => 'index',
'idprojeto' => '1',
)
Solução: Alterar permissão de escrita da pasta de arquivos (../var/www/gepnet2/arquivos) e (../var/www/gepnet2/upload)para possibilitar gravação de dados pelo sistema.
Por exemplo: chmod -R 777 /var/www/gepnet2/arquivos
Por exemplo: chmod -R 777 /var/www/gepnet2/upload
----------------------------------------------------------------------------------------------
Orientações para customização dos logotipos e cabeçalhos dos documentos gerados em pdf pela aplicação
Logotipo da tela de apresentação do sistema
- Gerar logotipo da organização no formato .gif, tamanho 70 X 78 (pixels);
- Nomear o arquivo como “logo_semtexto_NOVO.gif” (sem aspas);
- Substituir o arquivo ../gepnet2/public/img/logo_semtexto_NOVO.gif pelo arquivo gerado no item 1.
Cabeçalho da tela de abertura
- Editar o arquivo ../gepnet2/application/layouts/scripts/default.phtml e inserir os dados de sua organização/órgão.
Cabeçalho da tela de login
- Editar o arquivo ../gepnet2/application/layouts/scripts/login.phtml e inserir os dados de sua organização/órgão.
Logotipo dos relatórios gerados em pdf
- Gerar logotipo da organização no formato .png, tamanho 70 X 78 (pixels);
- Nomear o arquivo como “brasão_fundobranco.png” (sem aspas);
- Substituir o arquivo ../gepnet2/public/img/brasão_fundobranco.png pelo arquivo gerado no item 1.
Cabeçalho dos documentos gerados em pdf
- Editar o arquivo ../gepnet2/application/modules/projeto/views/scripts/_partials/relatório-cabecalho.phtml e inserir os dados de sua organização/órgão.
----------------------------------------------------------------------------------------------
Orientações para configurar permissões de gravação nas pastas do aplicativo que recebem dados dos usuários ou da própria aplicação
Passo 1 : Alterar permissão de escrita da pasta de cache (../var/www/gepnet2/application/data/cache) para possibilitar gravação de dados pelo sistema.
Comando no terminal linux: chmod -R 777 /var/www/gepnet2/application/data/cache
Passo 2: Alterar permissão de escrita da pasta de log (../var/www/gepnet2/logs) para possibilitar gravação de dados pelo sistema.
Comando no terminal linux: chmod -R 777 /var/www/gepnet2/logs
Passo 3: Alterar permissão de escrita das pastas de arquivos (../var/www/gepnet2/arquivos) e (../var/www/gepnet2/upload) para possibilitar gravação de dados pelo sistema (módulo RUD do gepnet).
Comando no terminal linux: chmod -R 777 /var/www/gepnet2/arquivos
Comando no terminal linux: chmod -R 777 /var/www/gepnet2/upload
1Um comentário
Instalação no MySQL
A adaptação para uso com MySQL é possível, pois a arquitetura MVC e o framework Zend são flexíveis. Para tanto, deve-se criar o banco e a estrutura de dados no MySQL, popular as tabelas com dados iniciais e alterar as configurações do ambiente para uso com MySQL. Uma noção de configuração pode ser vista em: www.blogalizado.com.br/conexao-com-multiplos-bancos-de-dados-no-zend-framework/ (acessado em 19/02/2016) ou na documentação oficial do framework Zend.
Por favor digite as duas palavras abaixo