quinta-feira, 4 de abril de 2019

Instalação NovoSGA v2.0 com banco de dados Mysql e Painel WEB no Debian 8.5







Presume-se que você já tenha o Debian instalado.



- Instalar Apache2
# apt-get install apache2

Permitir reescrita no Apache2
# a2enmod rewrite env


- Instalar PHP 7.2  

Adicionar o repositório antes:

# apt install ca-certificates apt-transport-https
# wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
# echo "deb https://packages.sury.org/php/ jessie main" | tee /etc/apt/sources.list.d/php.list
# apt update

fonte: https://tecadmin.net/install-php7-on-debian/

# apt-get install php7.2 php7.2-mysql php7.2-curl php7.2-zip php7.2-intl php7.2-xml php7.2-mbstring php-gettext

- Instalar MySQL 5.7 e criar banco de dados
# wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
# dpkg -i mysql-apt-config_0.8.12-1_all.deb
Aparecerá a tela abaixo:

Dê enter na primeira opção e selecione o mysql-5.7 e depois OK até finalizar.
# apt-get update
# apt-get install mysql-server
Acessar o mysql:
# mysql -u root -p
OBS: Não se esquecer que todo comando no mysql tem que terminar em ";".
Como teste eu criei uma database com o nome universotidb, usuário universoti e senha 123456.
Criar database:
>CREATE DATABASE universotidb;

Criar usuário:
>CREATE USER 'universoti'@'%' IDENTIFIED BY '123456';

Garantir privilégio do usuário ao banco de dados:
>GRANT ALL PRIVILEGES ON universotidb.* TO 'universoti'@'%' IDENTIFIED BY '123456';

e depois o comando:
>FLUSH PRIVILEGES;
>exit;

- Instalar Composer
# apt-get install curl
# curl -fSL https://getcomposer.org/composer.phar -o composer.phar

- Baixar e criar o projeto Novo SGA dentro de /var/www/html
# export LANGUAGE=pt_BR
# php composer.phar create-project "novosga/novosga:^2.0" /var/www/html/novosga
Ir para a pasta do novosga
# cd /var/www/html/novosga

- Editar o arquivo .env para configurar a DATABASE_URL especificando os dados do banco de dados. Lembrem-se de editar o arquivo para colocar os dados do banco de dados que você criou no mysql. No meu caso, eu criei um banco de dados teste com o nome universotidb, usuário universoti e senha 123456. Então o DATABASE_URL ficou assim: 
mysql://universoti:123456@localhost:3306/universotidb.
# vim .env

- Dar permissão de execução ao console dentro de novosga/bin
# chmod +x bin/console
- Preparar o cache da aplicação para o ambiente de produção
# bin/console cache:clear --no-debug --no-warmup --env=prod
# bin/console cache:warmup --env=prod
- Alterar diretório e habilitar o .htaccess
# sed -i 's|AllowOverride None|AllowOverride All|g' /etc/apache2/apache2.conf
Criar e editar o arquivo .htaccess dentro da pasta public. Lembrem-se de editar o arquivo para colocar os dados do banco de dados que você criou no mysql. No meu caso, eu criei um banco de dados teste com o nome universotidb, usuário universoti e senha 123456. Então o SetEnv DATABASE_URL ficou assim: mysql://universoti:123456@localhost:3306/universotidb.
Obs: O comando abaixo tem que ser inserido no terminal. Não é pra copiar e colar todo o texto abaixo no arquivo .htaccess.
# echo 'Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
SetEnv APP_ENV prod
SetEnv LANGUAGE pt_BR
SetEnv DATABASE_URL mysql://universoti:123456@localhost:3306/universotidb
' > /var/www/html/novosga/public/.htaccess

- Permitir acesso ao diretório NOVOSGA
# chown www-data:www-data -R /var/www/html/novosga

- Reiniciar serviço do Apache2:
# service apache2 restart
- Comando install do Novo SGA (como dito acima não se esqueça de editar o DATABASE_URL para ficar igual ao do .htaccess). 
# APP_ENV=prod \
   LANGUAGE=pt_BR \
   DATABASE_URL="mysql://universoti:123456@localhost:3306/universotidb" \
   bin/console novosga:install

Se a instalação não apresentar nenhum problema, aparecerá para que você cadastre o usuário e senha do admin bem como outras informações.
Depois de instalado, vá no navegador e digite:
http://"ipdoservidor"/novosga/public
Se tudo deu certo, vai aparecer a tela de login. Basta acessar com o usuário que você criou anteriormente e efetuar as configurações do sistema de acordo com suas necessidades. =)
OBS:
Caso não funcione, o problema pode ser por conta de o sistema ativar o php5, então devemos desativá-lo e ativar o php 7.2
# a2dismod php5 
# a2enmod php7.2
# service apache2 restart



Instalar Painel WEB

Efetuar o download do Painel WEB
# wget https://github.com/novosga/painel-web/releases/download/v2.0.1/painel-web-2.0.1.zip

Descompactar o arquivo
# unzip painel-web-2.0.1.zip

Mover a pasta para /var/www/html/painel
# mv painel-web-2.0.1 /var/www/html/painel

Feito isso é só acessar o painel
Ex: http://"ipdoservidor"/painel



Fontes:
Internet;
Forum NovoSGA;
Colegas de trabalho.

27 comentários:

  1. Mano, top demais, vlwzão mesmo.
    Só não veio os módulos no meu, entretanto eu fiz no windows.
    Consegui, porém não veio nenhum módulo, alguma sugestão?

    ResponderExcluir
    Respostas
    1. Deu algum erro no momento de baixar o projeto? Ao baixar o projeto via composer ele já baixar todos os módulos. Certifique-se de estar utilizando o banco de dados e php citado no tutorial.

      Excluir
    2. Ele baixou os módulos, não obtive erro, as pastas estão com módulos, porém notei que no arquivo: var/modules está vazio:
      <?php

      return [
      ];

      Mesmo quando eu adiciono manualmente, ai dá um erro enorme:
      Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Maximum function nesting level of '256' reached, aborting! in C:\wamp64\www\sga\vendor\symfony\http-foundation\ParameterBag.php on line 29

      Excluir
  2. Boa tarde amigo
    consegui fazer grande parte do tutorial mas to com dificuldade de como fazer os dois ultimos comandos na verdade o ultimo ...

    APP_ENV=prod \
    LANGUAGE=pt_BR \
    DATABASE_URL="mysql://universoti:123456@localhost:3306/universotidb" \
    bin/console novosga:install

    ele é colado dessa forma no terminal? direto?

    ResponderExcluir
    Respostas
    1. Exatamente. Você deve copiar e colar exatamente como está descrito no tutorial.

      Excluir
  3. Pode me dar uma ajuda? meu whats 68984015633

    ResponderExcluir
  4. Bom dia, da pra fazer todo esse procedimento no Debian 8.10 ? vlw

    ResponderExcluir
    Respostas
    1. Boa tarde, Universo TI.
      Teria como disponibilizar a ISO do novo SGA 2 para download ?
      Estou com dificuldades na instalação.

      Excluir
    2. Universo TI, poderia fazer algum tutorial referente ao Painel ?
      Estou com dificuldades na conexão como servidor, o NOVOSGA ja esta funcionando normalmente so que não consigo conecta ao painel.

      Excluir
    3. Ayrton, nas configurações do NovoSGA na opção "WEB API" você precisa criar o cliente. Após a criação você deve ir no painel e nas configurações informar o "Client ID" e "Client Secret" que foi gerado anteriormente.

      Excluir
    4. Universo TI, obg pelo retorno consegui sim, agora uma dúvida como faço para resetar as senhas automaticamente em um determinado horario ? estou procurando e não achei tal tutoria. Poderia me explica ? teria algum meio de comunicação com você.

      Excluir
    5. Ayrton, para isso você deverá criar uma rotina em seu servidor. Dê uma olhada no fórum, existem alguns tópicos tratando do assunto:
      http://forum.novosga.org/discussion/342/resetar-senha-automaticamente

      Excluir
  5. Olá, Amigo uma dúvida, saiu uma nova versão do SGA 2.8, faço a atualização sem perde o banco ?

    ResponderExcluir
  6. Oi Universo TI, faço todo procedimento correto, após chegar no -

    Preparar o cache da aplicação para o ambiente de produção
    # bin/console cache:clear --no-debug --no-warmup --env=prod
    # bin/console cache:warmup --env=prod

    da o Seguinte ERRO:

    PHP Warning: require(/var/www/html/novosga/bin/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/novosga/bin/console on line 12
    PHP Fatal error: require(): Failed opening required '/var/www/html/novosga/bin/../vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/novosga/bin/console on line 12

    ResponderExcluir
    Respostas
    1. Por algum motivo não está sendo possível encontrar o caminho para o arquivo "autoload.php"
      Tente editar o arquivo bin/console, na linha 12 onde consta require __DIR__.'/../vendor/autoload.php';
      Veja se ficando assim require_once __DIR__ . '/vendor/autoload.php'; resolve!

      Isso é apenas uma sugestão, não sei se resolve, caso resolva informa para que outros usuários tenham conhecimento. Mas o correto é o sistema encontrar automaticamente o arquivo mencionado.

      Excluir
    2. Também estou com este mesmo problema. Tem alguma solução?

      Excluir
  7. Este comentário foi removido pelo autor.

    ResponderExcluir
    Respostas
    1. Oi, Andrei você poderia me passa seu e-mail para eu tira umas dúvidas com você ?

      Excluir
  8. Ola pessoal,

    Já tentei várias vezes instalar o novosga 2.0.8 e me deparo com o seguinte erro:

    APP_ENV=prod \
    > LANGUAGE=pt_BR \
    > DATABASE_URL="mysql://novosga:senha123@mysqldb:3306/novosgadb"
    root@novosga:~# /var/www/html/novosga/bin/console novosga:install

    *******************

    Welcome to NovoSGA v2.0.8 installer

    *******************

    > Checking environment...
    Environment Ok!
    > Creating database...

    In AbstractMySQLDriver.php line 106:

    An exception occurred in driver: SQLSTATE[HY000] [1698] Access denied for user 'root'@'l
    ocalhost'


    In PDOConnection.php line 31:

    SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'


    In PDOConnection.php line 27:

    SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

    Estou utilizando ubuntu 18.04 LTS, Apache 2, PHP 7.3 e Mysql 5.7.27

    Não instalei o plugin do mysql Validate_Password e deixei o usuario root do mysql sem senha.

    Obrigado

    ResponderExcluir
    Respostas
    1. Você deve seguir todos os passos do tutorial, só assim obterá êxito. Este erro está ocorrendo por não edição do arquivo .env

      - Editar o arquivo .env para configurar a DATABASE_URL especificando os dados do banco de dados. Lembrem-se de editar o arquivo para colocar os dados do banco de dados que você criou no mysql. No meu caso, eu criei um banco de dados teste com o nome universotidb, usuário universoti e senha 123456. Então o DATABASE_URL ficou assim:
      mysql://universoti:123456@localhost:3306/universotidb.

      Você tem que deixar a url "mysql://" de acordo com o banco/usuário que você criou.

      Excluir
    2. Essa explicação server para minha dúvida logo acima ? pois esta do mesmo jeito todos os passos nenhum deu erro, so que quando vou PREPARA O CACHE da o erro citado acima.

      Excluir
    3. Isso. Você deve editar o arquivo .env antes de preparar o cache e demais etapas.

      Excluir
    4. Certo, Univerto TI o meu arquivo .env esta certo tanto no editor "vim" quanto no editor "nano"

      mysql://universoti:123456@localhost:3306/universotidb.

      Excluir
    5. Ayrton, esta url você deve editar de acordo com o usuário e banco que você criou.
      No seu comando inicial a url é outra, veja em DATABASE_URL. Tanto no arquivo .env como no comando devem conter as mesmas informações.

      APP_ENV=prod \
      > LANGUAGE=pt_BR \
      > DATABASE_URL="mysql://novosga:senha123@mysqldb:3306/novosgadb"
      root@novosga:~# /var/www/html/novosga/bin/console novosga:install

      Excluir
  9. ola bom dia, vc poderia me ajudar, nao consigo comunicação com o painel, versao 2.0.8 plataforma windows. me ajuda por faovor,

    whats 83 99395-3851 fala com yukiel

    email: masayukiyabutaneto@gmail.com

    agradeceria muito

    ResponderExcluir
  10. Oi, apos eu executar o #php composer.phar create-project "novosga/novosga:^2.0" /var/www/html/novosga
    deu esse erro.

    Problem 1
    - Installation request for symfony/framework-bundle v4.2.4 -> satisfiable by symfony/framework-bundle[v4.2.4].
    - symfony/framework-bundle v4.2.4 requires ext-xml * -> the requested PHP ex tension xml is missing from your system.
    Problem 2
    - Installation request for symfony/security-bundle v4.2.4 -> satisfiable by symfony/security-bundle[v4.2.4].
    - symfony/security-bundle v4.2.4 requires ext-xml * -> the requested PHP ext ension xml is missing from your system.
    Problem 3
    - Installation request for facebook/webdriver 1.6.0 -> satisfiable by facebo ok/webdriver[1.6.0].
    - facebook/webdriver 1.6.0 requires ext-curl * -> the requested PHP extensio n curl is missing from your system.
    Problem 4
    - Installation request for squizlabs/php_codesniffer 3.4.1 -> satisfiable by squizlabs/php_codesniffer[3.4.1].
    - squizlabs/php_codesniffer 3.4.1 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system.
    Problem 5
    - Installation request for symfony/debug-bundle v4.2.4 -> satisfiable by sym fony/debug-bundle[v4.2.4].
    - symfony/debug-bundle v4.2.4 requires ext-xml * -> the requested PHP extens ion xml is missing from your system.
    Problem 6
    - symfony/framework-bundle v4.2.4 requires ext-xml * -> the requested PHP ex tension xml is missing from your system.
    - symfony/maker-bundle v1.11.5 requires symfony/framework-bundle ^3.4|^4.0 - > satisfiable by symfony/framework-bundle[v4.2.4].
    - Installation request for symfony/maker-bundle v1.11.5 -> satisfiable by sy mfony/maker-bundle[v1.11.5].

    ResponderExcluir