Skip to content

Instantly share code, notes, and snippets.

@gilsondev
Created July 20, 2015 23:59
Show Gist options
  • Save gilsondev/f9f2a287363572b89bbf to your computer and use it in GitHub Desktop.
Save gilsondev/f9f2a287363572b89bbf to your computer and use it in GitHub Desktop.
Procedimento de instalação e configuração do login cidadão usando a branch "symphony2.7"

este guia precisa ser testado novamente e corrigido para novos problemas

este guia precisa ser testado novamente e corrigido para novos problemas

Passo a passo

Instalação

Obtendo o Login Cidadão e instalando

  1. Observar se as dependências externas descritas na página do Login Cidadão no Github estão satisfeitas

  2. Clone o repositório do LC no servidor do diretório desejado (ex. /var/www/)
    git clone https://github.com/PROCERGS/login-cidadao.git

  3. Entre no diretório criado
    cd login-cidadao

  4. Mude para o branch symfony2.7 (este branch é experimental atualmente, 07.07.2015, mas funciona)
    git checkout symfony2.7

  5. Crie um arquivo app/config/parameters.yml a partir de app/config/parameters.yml.dist e edite com suas modificações

  6. Verifique se todas os requisitos estão sendo cumpridos antes de iniciar a instalação php app/check.php

  7. Se a verificação for bem sucedida inicie a instalação ./install.sh

Arquivo de configuração parameters.yml

locale: -> substitua pelo seu locale (ex. pt_BR)

secret: -> substitua por uma longa cadeia de letras, números e símbolos

site_domain: -> substitua pelo seu domínio/subdomínio

recaptcha_public_key: e recaptcha_private_key: -> gere essas chaves em https://www.google.com/recaptcha/

registration.cpf.empty_time: e registration.email.unconfirmed_time: -> define quanto tempo deve ser dado para que o usuário confirme o CPF e o email, respectivamente

brute_force_threshold: -> quantas tentativas devem ser toleradas antes de considerar um ataque de força bruta

Apache

Exemplo de arquivo de configuração do Apache.

<VirtualHost *:80>
    ServerName sub.dominio.com.br
    ServerAdmin usuario@email
 
    DocumentRoot /var/www/login-cidadao/web
 
    <Directory / >
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
 
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Em DocumentRoot é preciso apontar para o diretório web, neste exemplo o caminho completo é /var/www/login-cidadao/web.

  • ServerName deve ser preenchido com o domínio (ex. dominio.com.br) ou subdomínio completo (ex. sub.dominio.com.br)

Primeiros passos pós-instalação

  1. Adicione os seguintes aliases ao seu arquivo .bashrc
    alias prod='php app/console --env=prod'
    alias dev='php app/console --env=dev'

  2. Atualize o perfil do terminal
    source ~/.bashrc

    • Obs.: Etapa desnecessária para logins futuros já que o .bashrc será executado no processo de login.
  3. Processe e ative todos os assets
    prod assets:install
    prod assetic:dump

  4. Dar poderes de super administrador para o primeiro usuário
    prod fos:user:promote <username> ROLE_SUPER_ADMIN

    • Obs. 1: Substitua "" pelo nome do usuário como mostrado na área superior direita da página, geralmente o que precede o '@' do email usado na hora da criação do usuário.

    • Obs. 2: Para confirmar visualmente o novo papel de super administrador faça um logout e depois um login. Junto ao nome deverá haver um campo 'impersonate', ver esse campo é a confirmação.

Navegando em modo de desenvolvimento

Adicione /app_dev.php na URL.

Alguns comandos práticos

Assume-se que as estapas 1 e 2 dos Primeiros passos pós-instalação tenham sido cumpridos para seguir estes comandos.

  • Limpar o cache
    prod cache:clear
    dev cache:clear
    se não funcionar, em última instância use
    rm -rf app/cache/*
  • Criar ou atualizar os assets
    prod assets:install
    prod assetic:dump
  • Criar ou atualizar os vendors (útil, por exemplo, quando se muda de branch)
    composer install

Adicionando serviços

em breve

Integrando com o Mapas Culturais

'auth.provider' => 'OpauthLoginCidadao',
'auth.config' => array(
    'client_id' => 'minha_chave_publica',
    'client_secret' => 'minha_chave_privada',
    'auth_endpoint' => 'https://sub.dominio/oauth/v2/auth',
    'token_endpoint' => 'https://sub.dominio/oauth/v2/token',
    'user_info_endpoint' => 'https://sub.dominio/api/v1/person.json'
),
  • Obs. 1: As chaves pública e privada são geradas na adição do serviço.
  • Obs. 2: substituir o domínio/subdomínio das três últimas linhas. clone this paste RAW Paste Data

Passo a passo

Instalação

Obtendo o Login Cidadão e instalando

  1. Observar se as dependências externas descritas na página do Login Cidadão no Github estão satisfeitas

  2. Clone o repositório do LC no servidor do diretório desejado (ex. /var/www/)
    git clone https://github.com/PROCERGS/login-cidadao.git

  3. Entre no diretório criado
    cd login-cidadao

  4. Mude para o branch symfony2.7 (este branch é experimental atualmente, 07.07.2015, mas funciona)
    git checkout symfony2.7

  5. Crie um arquivo app/config/parameters.yml a partir de app/config/parameters.yml.dist e edite com suas modificações

  6. Verifique se todas os requisitos estão sendo cumpridos antes de iniciar a instalação php app/check.php

  7. Se a verificação for bem sucedida inicie a instalação ./install.sh

Arquivo de configuração parameters.yml

locale: -> substitua pelo seu locale (ex. pt_BR)

secret: -> substitua por uma longa cadeia de letras, números e símbolos

site_domain: -> substitua pelo seu domínio/subdomínio

recaptcha_public_key: e recaptcha_private_key: -> gere essas chaves em https://www.google.com/recaptcha/

registration.cpf.empty_time: e registration.email.unconfirmed_time: -> define quanto tempo deve ser dado para que o usuário confirme o CPF e o email, respectivamente

brute_force_threshold: -> quantas tentativas devem ser toleradas antes de considerar um ataque de força bruta

Apache

Exemplo de arquivo de configuração do Apache.

<VirtualHost *:80>
    ServerName sub.dominio.com.br
    ServerAdmin usuario@email

    DocumentRoot /var/www/login-cidadao/web

    <Directory / >
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Em DocumentRoot é preciso apontar para o diretório web, neste exemplo o caminho completo é /var/www/login-cidadao/web.

  • ServerName deve ser preenchido com o domínio (ex. dominio.com.br) ou subdomínio completo (ex. sub.dominio.com.br)

Primeiros passos pós-instalação

  1. Adicione os seguintes aliases ao seu arquivo .bashrc
    alias prod='php app/console --env=prod'
    alias dev='php app/console --env=dev'

  2. Atualize o perfil do terminal
    source ~/.bashrc

    • Obs.: Etapa desnecessária para logins futuros já que o .bashrc será executado no processo de login.
  3. Processe e ative todos os assets
    prod assets:install
    prod assetic:dump

  4. Dar poderes de super administrador para o primeiro usuário
    prod fos:user:promote <username> ROLE_SUPER_ADMIN

    • Obs. 1: Substitua "" pelo nome do usuário como mostrado na área superior direita da página, geralmente o que precede o '@' do email usado na hora da criação do usuário.

    • Obs. 2: Para confirmar visualmente o novo papel de super administrador faça um logout e depois um login. Junto ao nome deverá haver um campo 'impersonate', ver esse campo é a confirmação.

Navegando em modo de desenvolvimento

Adicione /app_dev.php na URL.

Alguns comandos práticos

Assume-se que as estapas 1 e 2 dos Primeiros passos pós-instalação tenham sido cumpridos para seguir estes comandos.

  • Limpar o cache
    prod cache:clear
    dev cache:clear
    se não funcionar, em última instância use
    rm -rf app/cache/*
  • Criar ou atualizar os assets
    prod assets:install
    prod assetic:dump
  • Criar ou atualizar os vendors (útil, por exemplo, quando se muda de branch)
    composer install

Adicionando serviços

em breve

Integrando com o Mapas Culturais

'auth.provider' => 'OpauthLoginCidadao',
'auth.config' => array(
    'client_id' => 'minha_chave_publica',
    'client_secret' => 'minha_chave_privada',
    'auth_endpoint' => 'https://sub.dominio/oauth/v2/auth',
    'token_endpoint' => 'https://sub.dominio/oauth/v2/token',
    'user_info_endpoint' => 'https://sub.dominio/api/v1/person.json'
),
  • Obs. 1: As chaves pública e privada são geradas na adição do serviço.
  • Obs. 2: substituir o domínio/subdomínio das três últimas linhas.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment