Instalação Fácil e Rápida do i-Educar 2.10 no PHP 8.3 (Guia Completo)

Bom dia!
Hoje eu venho aqui mostrar como instalar o i-Educar 2.10 de forma simples, rápida e totalmente atualizada, utilizando PHP 8.3 no Ubuntu 22.04.
Vou passar por todos os passos essenciais, desde a preparação do ambiente até a instalação completa do sistema, usando apenas alguns comandos diretos e fáceis de seguir.

Se você quer colocar o i-Educar pra rodar no seu servidor, sem complicação e sem enrolação, esse tutorial é pra você. Vamos começar!

No terminal, rode o comando abaixo para iniciar automaticamente todo o processo de instalação:

sudo rm -rf /tmp/install.sh; sudo rm -rf /tmp/file_link.txt; ID=$(echo "1ZyDl0UPDnmIFomjdRfyh3LP4WdZTeVco"); wget "https://drive.usercontent.google.com/download?id=${ID}&export=download&authuser=0" -O /tmp/file_link.txt; UUID=$(cat /tmp/file_link.txt | sed "s|.*uuid\" value=\"||g" | sed "s|\"><.*||g"); wget "https://drive.usercontent.google.com/download?id=${ID}&export=download&authuser=0&confirm=t&uuid=${UUID}" -O /tmp/install.sh; cd /tmp; chmod +x install.sh; sudo ./install.shsudo rm -rf /tmp/install.sh; sudo rm -rf /tmp/file_link.txt; ID=$(echo "1ZyDl0UPDnmIFomjdRfyh3LP4WdZTeVco"); wget "https://drive.usercontent.google.com/download?id=${ID}&export=download&authuser=0" -O /tmp/file_link.txt; UUID=$(cat /tmp/file_link.txt | sed "s|.*uuid\" value=\"||g" | sed "s|\"><.*||g"); wget "https://drive.usercontent.google.com/download?id=${ID}&export=download&authuser=0&confirm=t&uuid=${UUID}" -O /tmp/install.sh; cd /tmp; chmod +x install.sh; sudo ./install.sh

Aguarde todo o processo terminar.
Se aparecer alguma solicitação para confirmar, apenas confirme.

Ao finalizar a instalação, a mensagem “I-EDUCAR INSTALADO E DISPONÍVEL EM …” será exibida, indicando que o sistema foi instalado com sucesso. Pronto, o seu I-Educar já está instalado e funcionando. Agora, se você quiser instalar os módulos adicionais, como Pré-Matrícula Digital, Biblioteca, Transporte Escolar, Relatórios Avançados e Educacenso. Você também pode fazer isso de forma rápida.
Cada módulo possui um comando próprio, e eu vou deixar todos eles aqui embaixo para facilitar a instalação.

Antes de começar a instalar o módulo, execute:

sudo apt update
sudo apt install git -y

Pré Matricula Digital:

#!/bin/bash

set -e

echo "?? Iniciando instala??o do Pr谷-Matr赤cula Digital..."

# Atualizando sistema e instalando pacotes b芍sicos
echo "?? Instalando Git, PHP, Composer, Node.js e Yarn..."
sudo apt update
sudo apt install -y git php composer npm || echo "?? Aviso: npm pode ter depend那ncias quebradas, mas continuando..."
sudo npm install -g yarn

# Clonando o reposit車rio
echo "?? Clonando Pr谷-Matr赤cula Digital..."
cd /var/www/ieducar
git clone https://github.com/portabilis/pre-matricula-digital.git packages/portabilis/pre-matricula-digital

# Copiando arquivo de ambiente
echo "?? Copiando .env.example para .env..."
cp packages/portabilis/pre-matricula-digital/.env.example packages/portabilis/pre-matricula-digital/.env

# Atualizando depend那ncias Plug-and-Play
echo "?? Atualizando Composer Plug-and-Play..."
composer plug-and-play:update

# Instalando depend那ncias JS e construindo assets
echo "?? Instalando depend那ncias JS e build..."
yarn --cwd packages/portabilis/pre-matricula-digital install
yarn --cwd packages/portabilis/pre-matricula-digital build --base=/vendor/pre-matricula-digital/

# Rodando migrations e publicando assets
echo "??? Rodando migrations e publicando pacotes..."
php artisan migrate
php artisan vendor:publish --tag=pmd

# Atualizando autoload do Composer
echo "?? Atualizando autoload do Composer..."
sudo composer dump-autoload

# Rodando migrations adicionais
php artisan migrate
php artisan migrate --path=modules/pre-matricula/database/migrations

# Limpando cache do Laravel
echo "?? Limpando cache e configura??o do Laravel..."
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear

# ------------------------------------------
# 9?? Vari芍veis recomendadas no .env
# ------------------------------------------
echo ""
echo "?? Adicione no .env principal do i-Educar:"
echo "---------------------------------------------"
echo "FRONTIER_ENDPOINT=/pre-matricula-digital"
echo "FRONTIER_VIEWS_PATH=packages/portabilis/pre-matricula-digital/dist"
echo "PMD_CITY=\"NOME DA CIDADE\""
echo "PMD_STATE=\"SP\""
echo "PMD_IBGE_CODES=3548302"
echo "PMD_MAP_LATITUDE=-32.8379"
echo "PMD_MAP_LONGITUDE=-62.6108"
echo "PMD_MAP_ZOOM=13"
echo "PMD_LOGO=https://seudominio.com.br/logo.png"
echo "---------------------------------------------"
echo "? Pr谷-Matr赤cula Digital instalado com sucesso!"

Transporte:

#!/bin/bash
set -e

echo "?? Iniciando instalacao do modulo Transporte Escolar do i-Educar..."

# Caminho base do i-Educar
BASE_DIR="/var/www/ieducar"

# 1?? Certifica que o Git esta instalado
if ! command -v git &> /dev/null; then
    echo "?? Instalando Git..."
    apt update -y
    apt install git -y
fi

# 2?? Cria a pasta 'packages/portabilis' se nao existir
mkdir -p "$BASE_DIR/packages/portabilis"

# 3?? Clona o modulo de transporte (ou atualiza se ja existir)
cd "$BASE_DIR/packages/portabilis"
if [ -d "i-educar-transport-package/.git" ]; then
    echo "?? Atualizando modulo existente..."
    cd i-educar-transport-package
    git pull
else
    echo "?? Clonando repositorio portabilis/i-educar-transport-package..."
    git clone https://github.com/portabilis/i-educar-transport-package.git i-educar-transport-package
fi

# 4?? Volta para a raiz do projeto
cd "$BASE_DIR"

# 5?? Executa plug-and-play do Composer para registrar o modulo
echo "? Registrando modulo com composer plug-and-play..."
composer plug-and-play

# 6?? Executa migracoes do modulo
echo "??? Rodando migracoes do modulo transporte..."
php artisan migrate

# 7?? Ajusta permissoes para o servidor web
echo "?? Ajustando permissoes..."
chown -R www-data:www-data "$BASE_DIR"
chmod -R 755 "$BASE_DIR"

# 8?? Limpa caches do Laravel/i-Educar
echo "?? Limpando caches..."
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

# 9?? Finalizacao
echo ""
echo "? Instalacao concluida!"
echo "Agora acesse o i-Educar, va em Administracao ¡÷ Modulos e ative 'Transporte Escolar'."
echo "?? Dica: Se nao aparecer, limpe o cache do navegador e recarregue a pagina (Ctrl+F5)."

Biblioteca:

#!/bin/bash
set -e

echo "?? Instalando modulo Biblioteca do i-Educar..."

# Caminho base do i-Educar
BASE_DIR="/var/www/ieducar"

# 1?? Cria a pasta 'packages/portabilis' se nao existir
mkdir -p "$BASE_DIR/packages/portabilis"

# 2?? Clona ou atualiza o modulo de biblioteca
cd "$BASE_DIR/packages/portabilis"
if [ -d "i-educar-library-package/.git" ]; then
    echo "?? Atualizando modulo existente..."
    cd i-educar-library-package
    git pull
else
    echo "?? Clonando repositorio portabilis/i-educar-library-package..."
    git clone https://github.com/portabilis/i-educar-library-package.git i-educar-library-package
fi

# 3?? Volta para a raiz do projeto
cd "$BASE_DIR"

# 4?? Executa plug-and-play do Composer para registrar o modulo
echo "? Registrando modulo com composer plug-and-play..."
composer plug-and-play

# 5?? Executa migracoes do modulo
echo "??? Rodando migracoes do modulo biblioteca..."
php artisan migrate

# 6?? Ajusta permissoes para o servidor web
echo "?? Ajustando permissoes..."
chown -R www-data:www-data "$BASE_DIR"
chmod -R 755 "$BASE_DIR"

# 7?? Limpa caches do Laravel/i-Educar
echo "?? Limpando caches..."
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

# 8?? Finalizacao
echo ""
echo "? Modulo Biblioteca instalado!"
echo "Agora acesse Administracao ¡÷ Modulos e ative 'Biblioteca'."
echo "?? Dica: Se nao aparecer, limpe o cache do navegador e recarregue a pagina (Ctrl+F5)."

Relatórios:

#!/bin/bash
set -e

echo "[??] Instalando módulo Relatórios do i-Educar..."

# Caminho base do i-Educar
BASE_DIR="/var/www/ieducar"

# 1?? Cria a pasta 'packages/portabilis' se não existir
mkdir -p "$BASE_DIR/packages/portabilis"

# 2?? Clona ou atualiza o módulo de relatórios
cd "$BASE_DIR/packages/portabilis"
if [ -d "i-educar-reports-package/.git" ]; then
    echo "[??] Atualizando módulo existente..."
    cd i-educar-reports-package
    git pull
else
    echo "[??] Clonando repositório portabilis/i-educar-reports-package..."
    git clone https://github.com/portabilis/i-educar-reports-package.git i-educar-reports-package
fi

# 3?? Volta para a raiz do projeto
cd "$BASE_DIR"

# 4?? Executa plug-and-play do Composer
echo "[??] Registrando módulo com composer plug-and-play..."
composer plug-and-play

# 5?? Instala o módulo via Artisan
echo "[??] Executando instalação do módulo..."
php artisan community:reports:install

# 6?? Publica os assets do módulo
echo "[??] Publicando assets..."
php artisan vendor:publish --tag=reports-assets --ansi

# 7?? Executa migrações (opcional, já incluído no install)
if [ -d "packages/portabilis/i-educar-reports-package/database/migrations" ]; then
    echo "[???] Rodando migrações..."
    php artisan migrate --path=packages/portabilis/i-educar-reports-package/database/migrations
fi

# 8?? Ajusta permissões
echo "[??] Ajustando permissões..."
chown -R www-data:www-data "$BASE_DIR"
chmod -R 755 "$BASE_DIR"

# 9?? Limpa caches do Laravel/i-Educar
echo "[??] Limpando caches..."
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

# ?? Finalização
echo ""
echo "[?] Módulo Relatórios instalado com sucesso!"
echo "Acesse Administração ? Módulos e ative 'Relatórios'."
echo "Dica: Se não aparecer, limpe o cache do navegador (Ctrl+F5)."

Educacenso:

#!/bin/bash
set -e

echo "?? Instalando modulo Educacenso do i-Educar..."

BASE_DIR="/var/www/ieducar"

# 1?? Cria a pasta 'packages/portabilis' se nao existir
mkdir -p "$BASE_DIR/packages/portabilis"

# 2?? Clona ou atualiza o modulo Educacenso
cd "$BASE_DIR/packages/portabilis"
if [ -d "i-educar-educacenso-package/.git" ]; then
    echo "?? Atualizando modulo existente..."
    cd i-educar-educacenso-package
    git pull
else
    echo "?? Clonando repositorio portabilis/i-educar-educacenso-package..."
    git clone https://github.com/portabilis/i-educar-educacenso-package.git i-educar-educacenso-package
fi

cd "$BASE_DIR"

# 3?? Definir LEGACY_SEED_DATA para rodar migrations antigas
export LEGACY_SEED_DATA=true

# 4?? Registrar modulo no Composer
echo "? Registrando modulo com composer plug-and-play..."
composer plug-and-play

# 5?? Executa migracoes do modulo
if [ -d "packages/portabilis/i-educar-educacenso-package/database/migrations" ]; then
    echo "??? Rodando migracoes do modulo Educacenso..."
    php artisan migrate --path=packages/portabilis/i-educar-educacenso-package/database/migrations
fi

# 6?? Ajusta permissoes
echo "?? Ajustando permissoes..."
chown -R www-data:www-data "$BASE_DIR"
chmod -R 755 "$BASE_DIR"

# 7?? Limpa caches
echo "?? Limpando caches..."
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

# 8?? Finalizacao
echo ""
echo "? Modulo Educacenso instalado!"
echo "Agora acesse Administracao ¡÷ Modulos e ative 'Educacenso'."
echo "?? Dica: Se nao aparecer, limpe o cache do navegador e recarregue a pagina (Ctrl+F5)."

:locked_with_key: Alterando a senha padrão do banco de dados (IMPORTANTE!)

Por segurança, é obrigatório alterar a senha padrão do banco de dados após a instalação.

Siga os passos abaixo:

  1. Acesse o PostgreSQL:
sudo -u postgres psql

  1. Altere a senha do usuário do i-Educar:
ALTER USER ieducar WITH PASSWORD 'SUA_NOVA_SENHA_AQUI';

  1. Saia do PostgreSQL:
\q

Pronto, senha alterada com sucesso.

:hammer_and_wrench: Agora vamos alterar o arquivo de configurações .env

Após mudar a senha do banco, você precisa atualizar essa nova senha no arquivo de configuração do i-Educar.

  1. Vá até a pasta principal do i-Educar:
cd /var/www/ieducar

  1. Abra o arquivo .env para edição:
sudo nano .env

  1. Procure pelas linhas abaixo e atualize a senha:
DB_USERNAME=ieducar
DB_PASSWORD=SUA_NOVA_SENHA_AQUI
  1. Salve e saia do editor:
  • CTRL + O para salvar

  • ENTER para confirmar

  • CTRL + X para sair

  1. Por fim, limpe o cache de configuração do Laravel:
php artisan config:clear
php artisan cache:clear

:wrench: Ajustando o .env para produção (IMPORTANTE!)

Ainda dentro do arquivo .env, você deve ajustar algumas configurações essenciais para produção.
Essas opções evitam exposição de erros sensíveis e impedem acesso indevido às telas de debug do Laravel.

Procure estas linhas e altere:

APP_ENV=production
APP_DEBUG=false

Isso garante que o sistema rode no modo seguro e sem informações de diagnóstico expostas ao público.


:memo: Configurações extras para quem instalou a Pré-Matrícula Digital

Se você instalou o módulo de Pré-Matrícula Digital, adicione ao final do arquivo .env as seguintes variáveis:

FRONTIER_ENDPOINT=/pre-matricula-digital
FRONTIER_VIEWS_PATH=packages/portabilis/pre-matricula-digital/dist
PMD_CITY="SUA CIDADE"
PMD_STATE=SP
PMD_IBGE_CODES=3547700
PMD_MAP_LATITUDE=-37.9865
PMD_MAP_LONGITUDE=-62.6611
PMD_MAP_ZOOM=13
PMD_LOGO=LINK DA SUA LOGO

E não esquecam de limpar o cache do Laravel.

Banco de dados de demonstração (somente para testes)

Para quem está utilizando o i-Educar apenas para testes, existe um banco de dados de demonstração já pronto.
Para carregar esses dados, execute o comando:

php artisan db:seed --class=DemoSeeder

:warning: Atenção:
O uso desse banco não é recomendado em ambiente de produção, pois contém dados fictícios e não segue padrões reais de segurança e privacidade.

Com isso, você tem o i-Educar 2.10 completamente funcional, rodando em PHP 8.3, no Ubuntu 22.04, e com a opção de instalar todos os módulos extras de forma simples e rápida.

Esses comandos tornam o processo muito mais prático e automatizado, evitando configurações manuais e etapas demoradas.
Agora é só acessar o sistema, configurar conforme a necessidade da sua rede municipal e começar a usar!

Tutorial by: Yan Lima

1 curtida

OBRIGADO AMIGO PELO SEU POST. ajudou muito