• Tutorial
  • Tutorial instalação Novo SGA v2.0

Vou deixar algumas dica para quem tiver dificuldades na instalação

Quem tiver problemas para abrir a pagina inicial verifique o PHP
No meu caso quando instalei o apache2 ele instalou o php 5.6 por default
Para trocar o PHP no apache execute os seguinte comandos

Para desativar o PHP 5.6

a2dismod php5.6

Ativar o PHP 7.2

a2enmod php7.2
service apache2 restart

Outra coisa que me bati um pouco foi esse comando

sed -i 's|/var/www/html|/var/www/html/novosga/public|g' /etc/apache2/sites-available/000-default.conf

Desta forma esta dizendo para o apache que o Raiz é o /var/www/html/novosga/public/ e não o /var/www/html/

Se executar o comando acima na hora de acessar via browser e só digitar o IP

http://IPDOSERVIDOR/

ao invés

http://IPDOSERVIDOR/novosga/public

E para quem quer utilizar o POSTGRES ao invés do MYSQL segue as configuração
apt-get install postgresql

Esse pacote deve ser instalado no lugar php7.2-mysql na hora da instalação dos pacotes PHP*
apt-get install php7.1-pgsql

Criando e configurando o POSTGRES

# su -l postgres
$ psql

Criando Banco

Postgres=# CREATE DATABASE novosgadb;

Criando User novosga

Postgres=#  CREATE USER novosga;

Atribuindo um senha ao User novosga

Postgres=# ALTER USER novosga WITH ENCRYPTED PASSWORD ‘123456’;

Dando Privilegios ao BANCO novosgadb ao USER novosga

Postgres=# GRANT ALL PRIVILEGES ON DATABASE novosgadb TO novosga;

O Comando para criar o arquivo .htaccess fica assim

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 postgres://novosga:123456@localhost:5432/novosgadb
' > /var/www/html/novosga/public/.htaccess

E comando para instalação assim

APP_ENV=prod \
    LANGUAGE=pt_BR \
    DATABASE_URL="postgres://novosga:123456@localhost:5432/novosgadb" \
    /var/www/html/novosga/bin/console novosga:install

    Tive esse problema ao tentar instalar o novo SGA, pois o mysql 5.7 não aceita root sem senha:

    In AbstractMySQLDriver.php line 108:
    
      An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
    
    In PDOConnection.php line 47:
    
      SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
    
    In PDOConnection.php line 43:
    
      SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
    
    novosga:install [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command>

    O que preciso modificar para corrigir o problema?

    Obrigado pela dica, mas consegui uma outra solução.
    Descobri que excluindo o plugin "validate_password" do mysql, consigo retirar a senha do root e o instalador do novosga funciona corretamente. Segue abaixo as linhas de comando para quem tiver o mesmo problema:

    # mysql -u root -p "senha_que_foi_criada"
    > uninstall plugin validate_password;
    > ALTER USER 'root'@'localhost' IDENTIFIED BY '';
    > quit

    Lembrando que a versão 5.7 do mysql cria uma senha aleatória no final da instalação e você descobre qual é através do comando abaixo:

    # grep 'temporary password' /var/log/mysqld.log
    2018-04-13T20:08:23.432149Z 1 [Note] A temporary password is generated for root@localhost: senha_aleatoria

    Depois disso é só dar o comando abaixo para definir a nova senha e alguns parâmetros de segurança

    [root@sprsga02 ~]# mysql_secure_installation

      Agora estou com esse problema...

      <?php
      
      use App\Kernel;
      use Symfony\Component\Debug\Debug;
      use Symfony\Component\Dotenv\Dotenv;
      use Symfony\Component\HttpFoundation\Request;
      
      require __DIR__.'/../vendor/autoload.php';
      
      // The check is to ensure we don't use .env in production
      if (!isset($_SERVER['APP_ENV'])) {
          if (!class_exists(Dotenv::class)) {
              throw new \RuntimeException('APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file.');
          }
          (new Dotenv())->load(__DIR__.'/../.env');
      }
      
      $env = $_SERVER['APP_ENV'] ?? 'dev';
      $debug = $_SERVER['APP_DEBUG'] ?? ('prod' !== $env);
      
      if ($debug) {
          umask(0000);
      
          Debug::enable();
      }
      
      if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
          Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST);
      }
      
      if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
          Request::setTrustedHosts(explode(',', $trustedHosts));
      }
      
      $kernel = new Kernel($env, $debug);
      $request = Request::createFromGlobals();
      $response = $kernel->handle($request);
      $response->send();
      $kernel->terminate($request, $response);

      Ao tentar acessar via navegador, aparece somente isso...

      @Nutel parece que esta faltando o php.
      Ele abre a pagina sem tratar o codigo como php.

      Em outro tópico um administrador verifcou que mesmo instalando o php 7.1 ele só estava reconhecendo o php 5.6 (que não é suportado pelo SGA).Eu verificaria a versão do PHP (acho que o comando é php -v no terminal) e se tiver a 7.1 ou 7.2 tentaria desinstalar as versões anteriores (sudo apt-get -y purge php.5.6) via terminal.

      5 dias depois
      um mês depois

      El tutorial esta muy bien!! Muchas gracias.

      Características da instalação:

      • S.O : Ubuntu 18
      • PHP 7.2
      • Apache2
      • Mysql 5.7

      Feita a instalação sem apresentar nenhum problema verificando o arquivo dev.log. Ao fazer a chamada pelo browser Mozilla (http://localhost/novosga/public/login), entrando com o usuário admin (default da instalação) e senha Teste.123 (seguindo a regra de formação do mysql).
      O sistema apresenta a seguinte mensagem:

      "A autenticação não pode ser concluída devido a um problema no sistema"

      E não permite a entrada inviabilizando o seu uso.

      Não sou conhecedor de PHP e Apache2, e sendo esta mensagem do próprio SGA. Não sei o que fazer para conseguir usar a nova versão 2.0-RC3.

      Creio que muitos podem está tendo a mesma dificuldade.

      Alguém poderia me ajudar. Ficarei muito grato.

        MarujoMagalhaes Ese mensaje suele presentarse por varios motivos.
        - El Servicio MySQL no esta activo. Prueba a entrar por http.//localhost/phpmyadmin usando los mismos datos de usuario y contraseña.
        - La base de datos no se ha creado correctamente: Entra a phpmyadmin y verifica que la base de datos se ha creado correctamente y tiene las tablas y los campos.
        La base de datos MySQL no esta en localhost sino en otra IP.

          juanzapatac Muchas gracias.

          Al entrar en phpmyqdmin con el root o con el usuario nuevo(novosga), las tablas están creadas, pero en especial la tabla de usuario está presentando el siguiente error.

          mysqli_real_connect(): (HY000/1045): Access denied for user 'phpmyadmin'@'localhost' (using password: YES)
          A ligação como utilizador de controlo definida na sua configuração falhou.
          Warning in ./libraries/sql.lib.php#613
          count(): Parameter must be an array or an object that implements Countable
          
          Backtrace
          
          ./libraries/sql.lib.php#2128: PMA_isRememberSortingOrder(array)
          ./libraries/sql.lib.php#2079: PMA_executeQueryAndGetQueryResponse(
          array,
          boolean true,
          string 'novosga',
          string 'usuarios',
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          string '',
          string './themes/pmahomme/img/',
          NULL,
          NULL,
          NULL,
          string 'SELECT * FROM `usuarios`',
          NULL,
          NULL,
          )
          ./sql.php#221: PMA_executeQueryAndSendQueryResponse(
          array,
          boolean true,
          string 'novosga',
          string 'usuarios',
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          string '',
          string './themes/pmahomme/img/',
          NULL,
          NULL,
          NULL,
          string 'SELECT * FROM `usuarios`',
          NULL,
          NULL, 

          Muchas gracias de nuevo por la ayuda

          Olá,

          A mensagem anterior relata um bug do Phpmyadmin que já foi consertado.

          Através do PHPMYadmin pude constatar que foram criadas 29 tabelas e abaixo listo o conteudo da tabela de usuários criada na instalação.

          SELECT * FROM `usuarios`
          1    admin    marcelo    magalhaes        $2y$12$/L2gqTJkMUH7i9PPFFF4eubQanZs8gc5qi7HPzB4J9A...    1                bcrypt    1        2018-05-30 14:41:23

          Não sei mais o que fazer para conseguir o login na aplicação com o usuário admin.

          Por favor poderia me ajudar.
          Obrigado.

          20 dias depois

          Como o amigo rarandrade comentou acima. E muito importante desabilitar com o comando a2dismod phpX.X qualquer versao antiga do PHP e deixar habilitado somente um. Tive varios problemas devido a isso, hoje na data que estou instalando o sistema requer o php7.2 (25/06/2018) a versao 7.1 nao funcionou.

            25 dias depois

            Boa Tarde a todos!

            Utilizando: Debian 9, php 7.2 e mysql.

            Fiz a instalação normalmente, consigo logar pela web, porém, quando tento adicionar um usuário, o campo "Lotação" não mostra nada quando clico para adicionar uma lotação, impossibilitando a criação do usuário.

            Esse campo lotação ta sendo relacionado com o que?
            Preenchi todos os campos em Administração: Unidades, Departamentos, Serviços, Perfis, Prioridades, Locais, Módulos.

            Alguém tem alguma ideia?
            Obrigado.

              • S.O : Ubuntu 18
              • PHP 7.2
              • Apache2
              • Mysql 5.7.22

              Quando vou rodar a instalação no Docker da esse erro

              $ sudo docker run --rm \
              >   -p 80:80 -p 2020:2020 \
              >   -e DATABASE_URL="pdo-mysql://novosga:0f0c48eb2b@localhost:3306/novosga" \
              >   novosga/novosga:latest
              Starting pre-flight check...
              Database url: Ok
              
               // Clearing the cache for the prod environment with debug
               // false
              
               [OK] Cache for the "prod" environment (debug=false) was successfully cleared.
              
              
              In AbstractMySQLDriver.php line 113:
              
                An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or dir
                ectory
              
              
              In PDOConnection.php line 50:
              
                SQLSTATE[HY000] [2002] No such file or directory
              
              
              In PDOConnection.php line 46:
              
                SQLSTATE[HY000] [2002] No such file or directory
              
              
              Waiting for database...
              Waiting for database...
              Waiting for database...

              ai fica aparecendo essa informação de Waiting for database infinitamente

                fabriciobmx localhost se refere a própria máquina, no caso será o próprio container. Use o IP ou um hostname válido do servidor MySQL.