ERRO INSTALAÇÃO DOCKER atual

Estou instalando o i-educar num servidor com Linux Ubuntu 16-04, e está apresentando o seguinte erro após o comando: sudo docker-compose exec php composer new-install. Alguém passou por isso, que possa ajudar?

A mensagem diz que a extensão ext-pcntl está faltando. Eu procuraria no google como resolver

Já fiz isso @robson, e o resultado foi que ficaram duas instalações. É uma instalação docker, que é diferente de uma instalação em produção. Em tese, essa instalação já trás todos os pacotes e dependências, pelo menos antigamente era assim. Se mudou, a gente deveria ser notificado, pois já tive essa experiência ruim de instalar todas as dependências faltantes (muitas vezes elas até não existem) na versão em uso. Em suma, sempre que a gente tenta resolver um problema, acaba gerando muitos outros desnecessários.
Mas isso eu já tentei, e não obtive resultado, inclusive algumas dependências acusam já estar instaladas.

No caso aqui eu trabalho com a versão sem docker, ainda não tenho experiência suficiente para tentar essa camada a mais (docker)

Estou com o mesmo problema, alguem da Portabilis poderia nos ajudar a solucionar o mesmo ou não será mais possivel instalar o i-Educar utilizando Docker?

1 Curtida

Desde o inicio sempre instalei o i-Educar com o docker no VPS, S.O Ubuntu 16.04

1 Curtida

Ja instalamos tambem mais agora ta dando isso ai!

1 Curtida

Acabei de fazer aqui uma nova instalacao da ultima versao, nao deu erro. vejai meu tutorail.

Tutorial i-Educar

SEGUE TUTORIAL ATUALIZADO

Instalação em servidor NGINX - PHP 7.2 - POSTGRESQL 9.5

apt-get update

apt-get install nginx -y

apt-get install software-properties-common -y	

add-apt-repository ppa:ondrej/php -y

apt-get update	

apt-get install -y php7.2 php7.2-bcmath php7.2-curl php-dompdf php7.2-mbstring php7.2-pgsql php7.2-xml php7.2-zip php7.2-fpm php7.2-gd

apt-get install postgresql postgresql-contrib -y

apt-get update

BAIXAR I-EDUCAR

chmod -R 755 /var/www/html

rm /etc/nginx/sites-available/default

nano /etc/nginx/sites-available/default

Copiar o arquivo abaixo no default	

server {

index index.php index.html index.htm;
server_name MEUSITE.com.br www.MEUSITE.com.br;
error_log  /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html/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:/var/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:/var/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;
}

}

cd /var/www/html/

curl -s https://getcomposer.org/installer | php

php composer.phar install

apt-get install -y composer

apt-get update


nano /etc/nginx/nginx.conf

server_names_hash_bucket_size 64;


nginx -t

systemctl restart nginx

nano /etc/hosts

191.010.101.111 MEUSITE.com.br
191.010.101.111 www.MEUSITE.com.br


chown -R www-data:www-data /var/www/html/


nano /var/www/html/.env

DB_CONNECTION=pgsql
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=ieducar
DB_USERNAME=ieducar
DB_PASSWORD=MINHASENHA

service postgresql restart

sudo -u postgres createuser ieducar
sudo -u postgres psql
alter user ieducar with encrypted password 'MINHASENHA';
\q

sudo -u postgres psql
alter user ieducar with SUPERUSER;
\q

sudo -u postgres createdb ieducar
sudo -u postgres psql
grant all privileges on database ieducar to ieducar;
\q

nano /etc/postgresql/9.5/main/pg_hba.conf

# "local" is for Unix domain socket connections only
local all all peer

por:

“local” is for Unix domain socket connections only

local all all md5

service postgresql restart

Instalação do i-Educar
MEUSITE.com.br/install.php

Instalação do pacote de relatórios

cd /var/www/html/

apt-get update

apt-get install default-jdk -y

git clone https://github.com/portabilis/i-educar-reports-package.git ieducar/modules/Reports

chmod -R 755 /var/www/html

composer new-install

php artisan reports:install

chmod -R 755 /var/www/html/ieducar/modules/Reports

php artisan reports:compile

chmod -R 777 /var/www/html/ieducar/modules/Reports/ReportSources

Mudanca da logo em documentos e relatorios

Caminho de hospedagem da logo.

ieducar/modules/Reports/ReportLogos/logo-pm.png

sudo -u postgres psql

\c ieducar

INSERT INTO public.settings (key, value, type, description, created_at, updated_at) VALUES (‘legacy.report.logo_file_name’, ‘logo-pm.png’, ‘string’, null, now(), now());

UPDATE public.settings SET value = ‘logo-pm.png’ WHERE key = ‘legacy.report.logo_file_name’;

1 Curtida

Essa instalação é em produção, e estamos falando de uma instalação com docker. Essa também fiz a alguns dias atrás, e deu tudo certo.

Portabilis não se manifesta para explicar oque está ocorrendo com a instalação com Docker, por estas práticas de descaso e falta de esclarecimento sobre possiveis falhas no sistema por parte da mantenedora dos fontes, que este projeto não consegue abranger um numero mais considerável de municipios e quando sugerimos aos secretários de educação que adotem o i-Educar eles alegam que o sistema é problematico e cheio de bugs.

@Moises sinto muito você não ter conseguido fazer a instalação via Docker, mas denigrir a Portabilis ou o i-Educar por causa disso é completamente desnecessário.

Primeiro, a Portabilis é uma instituição privada que tem o propósito de desburocratizar e melhorar a gestão escolar do Brasil, pra isso, ela mantém o i-Educar, um software livre de mais de 10 anos que está no mercado apenas e somente graças ao seu esforço em manter a comunidade ativa e querer possibilitar que outros possam usufruí-lo para fins acadêmicos, técnicos e comerciais.

A maior parte das melhorias tem sido feita pela Portabilis, mas há muitos contribuidores, aqui no fórum, no Telegram e GitHub que ajudam com código, documentação e respostas a perguntas como esta de forma voluntária.

Ninguém é pago para estar aqui, é uma doação individual de cada um.

Quanto a resolução do problema, basta saber que o i-Educar utiliza o Laravel que é um framework PHP de código aberto, muito utilizado na comunidade. Nós utilizamos o Laravel Dusk que é uma ferramenta para testes de browser e foi esta ferramenta que teve suas dependências atualizadas no PR https://github.com/laravel/dusk/pull/682 onde foi inserido a dependência da extensão pcntl.

Este problema até então não havia sido percebido por ninguém. Porém a solução já se encontra neste PR https://github.com/portabilis/i-educar/pull/678 e você pode utilizar o sistema normalmente.

Não entendi sua crítica, pois a solução é facilmente encontrada no Google, basta digitar docker ext-pcntl e o primeiro item já ajudaria a resolver.

Nós estamos em uma comunidade, onde um deveria ajudar o outro e não delegar a culpa a terceiros devido a certas frustrações.

Comunidade é isso, pessoas ajudando umas as outras sem esperar nada em troca visando um crescimento coletivo.

1 Curtida

Oi @netocazuza obrigado pelo tópico.

Realmente existia este problema ao fazer uma nova instalação com o Docker devido a uma dependência adicionada em um pacote de terceiro, mas já foi solucionada.

Se você tiver mais interesse em saber sobre o problema, o PR original no Laravel Dusk é este https://github.com/laravel/dusk/pull/682 mas vi que o pessoal por lá identificou que estava ocasionando outros problemas devido a esta dependência e já removeram ela novamente neste PR https://github.com/laravel/dusk/pull/692.

Por fim, gostaria de dizer que o i-Educar tem releases constantes, então se por acaso uma não funcionar, basta pegar a versão anterior que tudo estará funcionando.

A Portabilis é privada mais o i-Educar não e como mantenedora ela tem o dever de orientar a toda a comunidade sobre atualizações e alterações no projeto, os investimentos feitos pela fundação Lemann foram para melhorar o i-Educar e a comunidade e não para alavancar a venda de suporte comercial, mais enfim espero que seja resolvida esta questão e que a Portabilis sempre que fizer alterações nos componentes informe a comunidade, no mais cada um tem seu próprio entendimento sobre o assunto. Obrigado!

@Moises como mantenedora a Portabilis auxilia a todos sempre que possível. Muitas vezes a própria comunidade se auto-organiza de forma que este auxilio seja colaborativo, o que é o ideal.

O propósito do código aberto é a comunidade se auto-sustentar.

Você precisa entender que não há e dificilmente irá existir uma comunidade que possua suporte técnico ativo todos os dias. Todas as alterações são descritas nas releases.

Problemas ocorrem com o i-Educar, assim como ocorrem com o Linux, Apache HTTPd, PHP, Laravel e tantas outras comunidades de código aberto por aí.

A Portabilis tem o compromisso de manter o software e algumas ferramentas para que a comunidade possa interagir e evoluir, não a obrigação de prestar suporte técnico ou consultoria que são as atividades fins da empresa.

O i-Educar é funcional, tem diversas versões anteriores que também são funcionais e caso você encontre algum problema técnico diretamente ligado ao código fonte do mesmo, convido você a abrir uma issue no GitHub do projeto https://github.com/portabilis/i-educar.

Pessoal, boa noite. Resolvido aqui com o primeiro link sugerido pelo @edersoares. Acessei o arquivo Dockerfile no caminho i-educar/docker/php, e acrescentei as linhas abaixo:
COPY pdflib.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/pdflib.so
RUN echo “extension=/usr/local/lib/php/extensions/no-debug-non-zts-20180731/pdflib.so” > /usr/local/etc/php/conf.d/pdflib.ini

    RUN docker-php-ext-install pcntl

Fiz isso no início do arquivo, após a linha que instala o PHP, e funciou normalmente e a instalação se completou. Caso surja algum novo problema, reporto aqui.

Link correto:
https://github.com/portabilis/i-educar/pull/678

Em nenhum momento eu falei de suporte técnico e sim de correção na instalação com Docker, que é responsabilidade da mantenedora, mais em fim, como disse antes, cada um tem seu ponto de vista e interpretação individual, agradeço pelo retorno por parte da equipe de desenvolvimento e espero que o projeto siga o melhor caminho possível visando alcançar melhorias na gestão educacional.

Bom dia, conseguimos instalar o sistema e restaurar o backup mais está apresentando o seguinte erro, alguem pode nos ajudar?

Você executou as migrations?

Sim!