Método automático: um único script da área pessoal prepara todo o servidor (stack web Apache + PHP, base de dados, ferramentas de segurança, cron). Depois — implementar o painel, emitir o SSL e introduzir a licença. Funciona em Ubuntu/Debian: num VPS novo configura tudo de raiz, num servidor já configurado — apenas de forma aditiva (perfil «Servidor configurado», passo 01). Todos os comandos abaixo estão por ordem, basta percorrer de cima para baixo.
monitor.example.com — o seu domínio; 203.0.113.10 — o IP real do servidor; /var/www/monitor — a raiz do painel (onde estão public/, assets/, config.php); defina a sua própria palavra-passe da BD.
jail.local), root-crontab, regras do UFW, configuração do Apache. Se o servidor já estiver configurado (painel a funcionar, sites, correio, jails próprias) — escolha o perfil «Servidor configurado»: introduz apenas alterações aditivas e não mexe na sua firewall, no Fail2ban, no correio, no SSH nem no sysctl. Ao detetar um painel de alojamento, o script muda sozinho para este modo. Antes da primeira execução pode ativar a simulação (opção na área pessoal) — mostra o que será feito sem alterar nada. Num servidor em produção, faça uma cópia instantânea (snapshot) por precaução.
my.arciveo.com → secção «Configuração do servidor» (disponível depois de subscrever o Arcivéo Monitor). Está associado à sua conta e contém um token pessoal.
O script prepara todo o servidor: pilha web (Apache + PHP), base de dados, ferramentas para SSL, o conjunto completo de meios de proteção e tarefas cron (Lynis, SMART, debsums, Logwatch, relatório diário, atualização do ipsum).
1) Escolha o nível de proteção (na área pessoal, antes de copiar o comando):
2) Execute no servidor como root o comando da área pessoal — tem este aspeto:
Para abrir o painel num endereço como monitor.example.com e obter SSL gratuito, o domínio tem de apontar para o servidor. No painel de gestão de DNS (do registador ou do alojamento) crie um registo A:
Passados alguns minutos (por vezes até uma hora), verifique que o domínio aponta para o servidor:
/var/www/monitor e configurou o site Apache (DocumentRoot na raiz do painel, PHP-FPM, AllowOverride para .htaccess). Não é preciso criar a diretoria e o vhost à parte — basta enviar os ficheiros e definir as permissões.
my.arciveo.com → «Transferências». Descompacte o arquivo antes de o enviar para o servidor.
Envie o conteúdo da distribuição para /var/www/monitor (de modo a que lá dentro fiquem public/, assets/, config.php etc.) — por SFTP/SCP (FileZilla / WinSCP) ou com o comando scp a partir do computador local:
ServerName) fique logo definido no vhost, ele é passado ao comando de configuração automática ainda no passo 01: … | sudo bash -s -- monitor.example.com (ou indica-se o domínio no campo «Domínio do painel» na área pessoal). Se o domínio não for passado — o painel responde a qualquer host e por IP, e o ServerName será definido pelo certbot ao emitir o SSL (passo 06); não é preciso reinstalar nada.
root ou por SFTP, os ficheiros pertencem ao root, e o servidor web (www-data) não os conseguirá ler — o painel abrirá vazio ou com erro 403 (no registo: .htaccess unreadable / directory not executable). O comando abaixo corrige isto:
Abra para si próprio o envio de ficheiros por SFTP. Depois do comando acima todos os ficheiros pertencem ao www-data, enquanto o FileZilla / WinSCP se ligam com o seu próprio utilizador — o envio falhará com SSH_FX_PERMISSION_DENIED (Permission denied). Escolha uma das duas variantes.
Variante A — uma ACL apenas para o seu utilizador (recomendado). A permissão de escrita fica só consigo; o servidor web continua sem poder substituir o código do painel:
Variante B — através do grupo www-data. Mais simples, mas a permissão de escrita nos ficheiros do painel passa também para o servidor web: com uma vulnerabilidade no PHP o código poderia ser substituído. A ordem dos comandos importa — config.php e as pastas de trabalho são fechadas por último:
id deploy — na lista de grupos deve aparecer www-data; ls -ld /var/www/monitor — permissões drwxrwsr-x, a letra s em vez de x significa que o setgid está ativo.
Crie a base de dados e o utilizador, depois importe o esquema. O bloco da BD é colado no terminal por inteiro (sudo mysql entra como root pelo socket unix — não é preciso a palavra-passe de root). monitor_db e monitor_user são nomes de exemplo, pode definir os seus; memorize o nome da base, do utilizador e a palavra-passe — irá inseri-los no config.php no passo seguinte:
admin no primeiro acesso pelo navegador (a partir de database/db.sql), se a BD estiver vazia.
www-data).
config.php na raiz do painel (/var/www/monitor/config.php) é o único ficheiro que precisa de editar à mão. Todas as definições do painel estão definidas nele através de constantes define(). Abra-o num editor:
Introduza os seus valores nos locais realçados; deixe o resto como está:
O que alterar:
DB_NAME, DB_USER, DB_PASS — exatamente os mesmos nome da base, utilizador e palavra-passe que definiu ao criar a BD no passo 04 (se manteve os exemplos — monitor_db / monitor_user). Não mexa em DB_HOST e DB_CHARSET.APP_URL — o endereço completo do painel com https://, sem barra no fim e sem www. Tem de coincidir com o domínio no qual ativa a licença (passo 07), caso contrário a chave será rejeitada.TIMEZONE — o seu fuso horário (lista — timedatectl list-timezones). Afeta apenas a forma como o painel mostra as datas; não afeta a hora de execução das tarefas cron (aí vale o fuso do sistema).SESSION_LIFETIME — após quantos segundos de inatividade o painel pede novo início de sessão (por predefinição 8 horas). Ex.: 3600 = 1 hora, 86400 = um dia.display_errors, log_errors, error_log) — deixe por predefinição.Guarde o ficheiro (Ctrl+O, Enter, depois Ctrl+X) e reinicie o PHP-FPM — caso contrário, devido ao OPcache, as alterações não serão aplicadas:
640 (definidas no passo 03) e proibição explícita no .htaccess da raiz. Não o publique em repositórios públicos nem o envie para o suporte com a palavra-passe real.
http:// não conseguirá entrar.
O certbot e o plugin para Apache já foram instalados pela configuração automática. O DNS do domínio já deve apontar para o servidor (passo 02). Emissão num único comando:
Y.<VirtualHost *:443>, configura o redirecionamento http→https e a renovação automática. No fim — Successfully enabled HTTPS.
dig +short monitor.example.com devolve o IP do servidor e se as portas 80/443 estão abertas (sudo ufw allow 80,443/tcp).
Após a emissão: https://monitor.example.com abre com o cadeado, http:// redireciona para https://.
Abra https://monitor.example.com, inicie sessão com admin / useradmin e siga a lista de verificação:
ARCIVEO-… para o seu domínio e cole a chave em «Definições» → «Licença». Saber mais.public/start_db.php, se ainda existir: permite recriar a base de dados sem autenticação. Enquanto o ficheiro estiver na raiz do painel ou em public/, o painel avisa disso com um banner vermelho.