Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Como usar o instalador do i-Educar

Olá! Meu nome é Éber e sou um dos desenvolvedores da Portabilis que trabalha no i-Educar.

Recentemente lançamos a versão 2.1.0 do i-Educar que inclui diversas novidades e melhorias. Uma delas é a presença de um instalador que deve ajudar usuários e administradores a instalar o i-Educar sem seus sistemas de forma mais tranquila. Neste artigo vamos mostrar um passo a passo de como utilizar este recurso para instalar o i-Educar numa instância nova do Ubuntu Server 18.04.

Como esta é uma instância nova, vamos atualizar e fazer upgrade dos nossos pacotes:

$ sudo apt update
$ sudo apt upgrade -y

Depois de tudo atualizado vamos instalar as principais dependências do i-Educar, aquelas que precisam estar presentes e configuradas para usarmos o instalador:

$ sudo apt install nginx php-fpm postgresql

Este comando vai instalar as versões mais recentes do nginx e php-fpm presentes em seu repositório. Ele também deve instalar o PostgreSQL 10 (a versão padrão disponível enquanto escrevo este artigo). O i-Educar é extensivamente testado na versão 9.5 e não garantimos total compatibilidade com versões mais recentes. Recomendamos que, se possível, a versão 9.5 seja usada até que novas versões sejam devidamente validadas, mas para este artigo vamos prosseguir com a versão padrão do sistema que deve funcionar bem o suficiente pra gente instalar o i-Educar.

Neste ponto, se eu acessar o IP da minha máquina, devo ser capaz de ver a mensagem de boas vindas do nginx: "Welcome to nginx!". Isso indica que o nginx foi devidamente instalado.

Agora vamos baixar o release do i-Educar e colocar num lugar onde o nginx possa ler seus conteúdos:

$ wget https://github.com/portabilis/i-educar/releases/download/2.1.0/ieducar-2.1.0.tar.gz
$ sudo tar -zxf ieducar-2.1.0.tar.gz -C /var/www/
$ sudo mv /var/www/ieducar-2.1.0/ /var/www/ieducar

Depois que o código foi devidamente copiado, vamos configurar o nginx para carregar o projeto. No repositório temos um exemplo de arquivo de configuração do nginx. Vamos copiá-lo realizando algumas adaptações (se você não está acostumado com o vim, fique à vontade para usar qualquer outro editor):

$ sudo vim /etc/nginx/sites-available/ieducar
server {
    index index.php index.html;
    server_name _;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/ieducar/public;

    location ~ ^/intranet/?$ {
        rewrite ^.*$ /intranet/index.php redirect;
    }

    location ~ /module/(.*)/(styles|scripts|imagens)/(.*) {
        rewrite ^/module/(.*)/(imagens|scripts|styles)/(.*)$ /intranet/$2/$3 break;
    }

    location ~ /module/(.*)/(.*) {
        rewrite ^/module/(.*/)(.*intranet/.*)$ /$2 redirect;
        rewrite ^/module/(.*/)(.*index\.php)$ /$2 redirect;
        rewrite ^/module/(.*/)(.*logof\.php)$ /intranet/logof.php redirect;
        rewrite ^/module/(.*/)(.*meusdados\.php)$ /intranet/meusdados.php redirect;
        rewrite ^/module/(.*/)(.*_xml.*)(\.php)$ /intranet/$2.php redirect;
        rewrite ^/module/(.*/)(.*erro_banco\.php)$ /intranet/erro_banco.php redirect;
        rewrite ^/module/(.*/)(.*educar_pesquisa_cliente_lst\.php)$ /intranet/educar_pesquisa_cliente_lst.php redirect;
        rewrite ^/module/(.*/)(.*educar_pesquisa_obra_lst\.php)$ /intranet/educar_pesquisa_obra_lst.php redirect;
        rewrite ^/module/(.*)$ /module/index.php last;
    }

    location ~ ^(/intranet.*\.php|/modules.*\.php|/module/) {
        try_files /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

    location ~ \.php {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

Alteramos a diretiva root indicando a nova pasta onde colocamos os arquivos do i-Educar. Veja que o root precisa ser a pasta public dentro da pasta que baixamos do i-Educar. Também alteramos a diretiva fastcgi_pass apontando para o socket do php-fpm rodando na nossa máquina. Vamos remover o site padrão do nginx e habilitar o i-Educar:

$ sudo rm /etc/nginx/sites-enabled/default
$ sudo ln -s /etc/nginx/sites-available/ieducar /etc/nginx/sites-enabled/ieducar
$ sudo service nginx restart

O próximo passo é conectar ao PostgreSQL e criar um banco de dados para o i-Educar. Antes vamos criar um novo usuário (role) para o nosso projeto. Aqui vou criar um usuário exatamente com o mesmo login que uso no meu sistema, neste caso ieducar:

$ sudo -u postgres createuser -P -s -e ieducar

Substitua ieducar pelo nome de usuário que você desejar e preencha a senha. Agora basta criar o banco de dados. Como criamos um usuário com o mesmo nome de usuário do nosso sistema, tudo o que precisamos fazer é chamar o seguinte comando.

$ createdb

Se você usou um outro nome de usuário, dê uma olhada na documentação do createdb para saber como proceder.

Com tudo pronto nós já devemos ser capazes de acessar o nosso instalador pelo browser:

http://endereco.de.ip/install.php

Troque "endereco.de.ip" pelo endereço de IP de sua instância ou domínio. A tela de instalação deve surgir como a logo abaixo:

Imagem aqui

O instalador encontrou uma série de problemas que nos impede de prosseguir com o processo. Primeiro ele avisa que existem extensões do PHP que ainda não foram instaladas, então vamos resolver isto:

$ sudo apt install php-bcmath php-curl php-xml php-mbstring php-pgsql php-zip
$ sudo service php7.2-fpm restart

O próximo erro indica que o arquivo de configuração ieducar.ini não está correto. Vamos configurá-lo exatamente da forma como o instalador sugere que façamos:

$ cd /var/www/ieducar/ieducar/configuration
$ vim ieducar.ini
[192.168.0.105 : production]

Como você pode ver, todas as sugestões de comandos e mudanças de arquivo levam em consideração o ambiente em que a aplicação está rodando. Assim fica fácil simplesmente copiar o que o instalador sugere.

Em seguida precisamos modificar o nosso arquivo .env para realizar a conexão com o banco:

$ cd /var/www/ieducar
$ vim .env
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=ieducar
DB_USERNAME=ieducar
DB_PASSWORD=12345678

Estas configurações vão variar de acordo com a forma como você criou e configurou o banco de dados. Infelizmente para este passo o instalador não tem como descobrir os valores corretos de antemão então é necessário modificá-los de acordo com sua realidade.

Por fim vamos dar permissão de escrita ao servidor em algumas pastas e arquivos específicos. Novamente podemos usar exatamente a sugestão de comando que o instalador nos fornece:

$ sudo chown -R www-data:www-data /var/www/ieducar

Com isso podemos clicar no botão "Recarregar" e todas as checagens devem estar positivas agora.

Imagem aqui

Se algo ainda não estiver funcionando basta corrigir e tentar novamente.

Ao final da página defina uma senha segura e forte para o usuário "admin", clique em "instalar" e aguarde pelo processo de instalação. Uma mensagem de sucesso irá surgir e, logo em seguida, você pode acessar o sistema instalado clicando no link "Clique aqui para acessar o i-Educar".

Parabéns! Você acabou de instalar o i-Educar em seu servidor!

A instalação do i-Educar é bem simples. O mais complexo é organizar a infra-estrutura para permitir sua instalação de forma adequada. A preparação que fizemos aqui é apenas o primeiro passo no caminho de gestão do i-Educar, por isso é importante ter profissionais capacitados responsáveis por garantir seu bom funcionamento levando em consideração questões como segurança, backups, escalabilidade, atualizações, etc. A Portabilis, mantenedora do projeto i-Educar, oferece serviços que respondem a estas questões da melhor forma possível.

Esperamos que o instalador seja de grande ajuda para quem quer experimentar o i-Educar sem dificuldades. Mas se houver qualquer dúvida ou problema, compartilhe com a gente na comunidade ou entre em contato com a Portabilis para uma assessoria profissional.

Agora que você é um expert em instalação do i-Educar considere contribuir conosco participando de nossa comunidade, escrevendo código, documentações, etc. Toda contribuição é super bem-vinda. Para mais informações visite nosso GitHub!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.