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?
Desde o inicio sempre instalei o i-Educar com o docker no VPS, S.O Ubuntu 16.04
Ja instalamos tambem mais agora ta dando isso ai!
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’;
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.
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?