- Bump DESK_MOLONI version to 3.0.1 across module - Normalize hooks to after_client_* and instantiate PerfexHooks safely - Fix OAuthController view path and API client class name - Add missing admin views for webhook config/logs; adjust view loading - Harden client portal routes and admin routes mapping - Make Dashboard/Logs/Queue tolerant to optional model methods - Align log details query with existing schema; avoid broken joins This makes the module operational in Perfex (admin + client), reduces 404s, and avoids fatal errors due to inconsistent tables/methods.
95 lines
3.1 KiB
Bash
95 lines
3.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Desk-Moloni v3.0 - Production Deployment Script
|
|
# Target: server.descomplicar.pt:9443 /home/ealmeida/desk.descomplicar.pt
|
|
# User: ealmeida:ealmeida
|
|
|
|
set -e
|
|
|
|
echo "🚀 Iniciando deployment do Desk-Moloni v3.0..."
|
|
|
|
# Configurações
|
|
SERVER="server.descomplicar.pt"
|
|
PORT="9443"
|
|
USER="root"
|
|
REMOTE_PATH="/home/ealmeida/desk.descomplicar.pt"
|
|
LOCAL_PATH="$(pwd)"
|
|
BACKUP_DIR="/tmp/desk-moloni-backup-$(date +%Y%m%d_%H%M%S)"
|
|
|
|
echo "📦 Configurações do Deploy:"
|
|
echo " Servidor: $SERVER:$PORT"
|
|
echo " Usuário: $USER"
|
|
echo " Destino: $REMOTE_PATH"
|
|
echo " Origem: $LOCAL_PATH"
|
|
|
|
# Função para executar comandos remotos
|
|
ssh_exec() {
|
|
ssh -p $PORT $USER@$SERVER "$1"
|
|
}
|
|
|
|
# Função para copiar arquivos
|
|
rsync_copy() {
|
|
rsync -avz --progress -e "ssh -p $PORT" "$1" "$USER@$SERVER:$2"
|
|
}
|
|
|
|
# 1. Verificar conexão SSH
|
|
echo "🔐 Verificando conexão SSH..."
|
|
ssh_exec "echo 'Conexão SSH OK'"
|
|
|
|
# 2. Criar backup do módulo atual (se existir)
|
|
echo "💾 Criando backup do módulo atual..."
|
|
ssh_exec "if [ -d '$REMOTE_PATH/modules/desk_moloni' ]; then
|
|
mkdir -p $BACKUP_DIR
|
|
cp -r $REMOTE_PATH/modules/desk_moloni $BACKUP_DIR/
|
|
echo 'Backup criado em $BACKUP_DIR'
|
|
else
|
|
echo 'Nenhum módulo anterior encontrado'
|
|
fi"
|
|
|
|
# 3. Criar diretórios necessários
|
|
echo "📁 Criando estrutura de diretórios..."
|
|
ssh_exec "mkdir -p $REMOTE_PATH/modules"
|
|
ssh_exec "mkdir -p $REMOTE_PATH/uploads/desk_moloni/logs"
|
|
ssh_exec "mkdir -p $REMOTE_PATH/uploads/desk_moloni/cache"
|
|
|
|
# 4. Copiar módulo principal
|
|
echo "📋 Copiando módulo Desk-Moloni..."
|
|
rsync_copy "$LOCAL_PATH/modules/desk_moloni/" "$REMOTE_PATH/modules/desk_moloni/"
|
|
|
|
# 5. Copiar arquivos de configuração
|
|
echo "⚙️ Copiando configurações..."
|
|
if [ -f "$LOCAL_PATH/config/desk_moloni.php" ]; then
|
|
rsync_copy "$LOCAL_PATH/config/desk_moloni.php" "$REMOTE_PATH/application/config/"
|
|
fi
|
|
|
|
# 6. Definir permissões corretas
|
|
echo "🔐 Definindo permissões..."
|
|
ssh_exec "chown -R ealmeida:ealmeida $REMOTE_PATH/modules/desk_moloni"
|
|
ssh_exec "chown -R ealmeida:ealmeida $REMOTE_PATH/uploads/desk_moloni"
|
|
ssh_exec "chmod -R 755 $REMOTE_PATH/modules/desk_moloni"
|
|
ssh_exec "chmod -R 777 $REMOTE_PATH/uploads/desk_moloni"
|
|
|
|
# 7. Executar instalação/atualização do banco de dados
|
|
echo "🗄️ Executando instalação/atualização do banco..."
|
|
ssh_exec "cd $REMOTE_PATH && php index.php desk_moloni admin install_db"
|
|
|
|
# 8. Verificar instalação
|
|
echo "✅ Verificando instalação..."
|
|
ssh_exec "cd $REMOTE_PATH && php -l modules/desk_moloni/desk_moloni.php"
|
|
|
|
# 9. Reiniciar serviços se necessário
|
|
echo "🔄 Reiniciando serviços..."
|
|
ssh_exec "systemctl reload apache2 || service apache2 reload || echo 'Apache reload failed'"
|
|
|
|
echo ""
|
|
echo "🎉 Deploy concluído com sucesso!"
|
|
echo ""
|
|
echo "📋 Próximos passos:"
|
|
echo " 1. Aceder ao painel admin: https://desk.descomplicar.pt/admin/desk_moloni"
|
|
echo " 2. Configurar credenciais OAuth do Moloni"
|
|
echo " 3. Testar sincronização"
|
|
echo " 4. Monitorizar logs: $REMOTE_PATH/uploads/desk_moloni/logs/"
|
|
echo ""
|
|
echo "💾 Backup disponível em: $BACKUP_DIR (no servidor)"
|
|
echo ""
|
|
echo "✨ Desk-Moloni v3.0 em produção! ✨" |