ULC Lab · implementação reproduzível
Laboratório: Implantação do OpenEMR integrado ao MySQL e Apache em ambiente local
Você terá um ambiente OpenEMR funcional, integrado ao MySQL e servido pelo Apache, pronto para testes de interoperabilidade e configuração clínica. O laboratório leva cerca de 2 horas.

- Duração estimada
- 120 min
- Passos
- 11
- Validações
- 5
- Versões da documentação consultada
- OpenEMR 7.0.0 · MySQL Community Server 8.0 · Apache HTTP Server 2.4
Este laboratório ensina a instalar o OpenEMR do zero em uma máquina virtual Linux, configurando o Apache e o MySQL, e validando o acesso ao prontuário eletrônico via navegador. O objetivo é garantir a compreensão dos fluxos de instalação, configuração básica e integração entre os componentes, preparando o ambiente para futuras integrações clínicas e laboratoriais.
Topologia
Uma máquina virtual Linux (192.168.56.10) roda Apache, MySQL e OpenEMR. O acesso ocorre via navegador local ou de outro host na mesma rede privada.
+---------------------+
| VM Linux |
| 192.168.56.10 |
| |
| +-----------+ |
| | Apache | |
| +-----------+ |
| | MySQL | |
| +-----------+ |
| | OpenEMR | |
+---------------------+
|
Navegador local
Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| Máquina virtual Linux (Ubuntu 22.04 ou Debian 11) | 2 vCPU, 2 GB RAM, 20 GB disco, rede NAT ou bridge, porta 80 liberada |
| OpenEMR | GNU GPL v2 · 7.0.0 |
| MySQL Community Server | GPL · 8.0 |
| Apache HTTP Server | Apache License 2.0 · 2.4 |
Roteiro
- Atualizar o sistema operacional
Antes de instalar qualquer software, garanta que o sistema está atualizado para evitar conflitos e vulnerabilidades.
sudo apt update && sudo apt upgrade -yO que você deve ver: O sistema aplica atualizações e retorna ao prompt sem erros.
- Instalar Apache
O OpenEMR é uma aplicação web. Precisa de um servidor HTTP robusto. Apache é o mais documentado para OpenEMR.
sudo apt install apache2 -yO que você deve ver: Apache instalado. Serviço 'apache2' ativo (verifique com 'systemctl status apache2').
- Instalar MySQL Server
O OpenEMR armazena dados clínicos em um banco relacional. MySQL é suportado oficialmente.
sudo apt install mysql-server -yO que você deve ver: MySQL instalado. Serviço 'mysql' ativo (verifique com 'systemctl status mysql').
- Configurar usuário e banco de dados do OpenEMR no MySQL
Separar o banco e o usuário do OpenEMR aumenta a segurança e facilita backups.
sudo mysql -u root CREATE DATABASE openemr CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'senha_forte'; GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost'; FLUSH PRIVILEGES; EXIT;O que você deve ver: Banco de dados e usuário criados sem erros.
- Instalar dependências PHP
O OpenEMR exige PHP e módulos específicos. Sem eles, a aplicação não roda.
sudo apt install php php-mysql php-gd php-xml php-mbstring php-curl php-zip php-soap php-intl php-json -yO que você deve ver: PHP e módulos instalados. Verifique com 'php -v'.
- Baixar e extrair o OpenEMR
O código-fonte do OpenEMR está disponível no site oficial. Use sempre a versão estável.
cd /var/www/html sudo wget https://github.com/openemr/openemr/archive/refs/tags/v7_0_0.tar.gz sudo tar -xzvf v7_0_0.tar.gz sudo mv openemr-7_0_0 openemr sudo chown -R www-data:www-data openemr sudo chmod -R 755 openemrO que você deve ver: Diretório /var/www/html/openemr criado e com permissões corretas.
- Configurar Apache para servir o OpenEMR
É preciso criar um VirtualHost para isolar o OpenEMR e facilitar futuras integrações.
sudo tee /etc/apache2/sites-available/openemr.conf > /dev/null <<EOF <VirtualHost *:80> DocumentRoot /var/www/html/openemr <Directory /var/www/html/openemr> AllowOverride All Require all granted </Directory> ErrorLog \/var\/log\/apache2\/openemr_error.log CustomLog \/var\/log\/apache2\/openemr_access.log combined </VirtualHost> EOF sudo a2ensite openemr.conf sudo a2enmod rewrite sudo systemctl reload apache2O que você deve ver: Site habilitado. Apache recarregado sem erros.
- Instalar o OpenEMR via navegador
A instalação web finaliza a configuração, conecta ao banco e gera arquivos críticos.
Acesse http://192.168.56.10/openemr/setup.php pelo navegador. Siga o assistente, informando: - Database Name: openemr - Login Name: openemruser - Password: senha_forte - Host: localhostO que você deve ver: Assistente conclui sem erros. Tela de login do OpenEMR aparece.
- Ajustar permissões pós-instalação
Remova permissões de escrita desnecessárias para reduzir riscos.
sudo chmod 640 /var/www/html/openemr/sites/default/sqlconf.phpO que você deve ver: Arquivo sqlconf.php protegido contra escrita indevida.
- Configurar idioma para português
Facilita o uso clínico no Brasil. O OpenEMR suporta múltiplos idiomas.
No OpenEMR, acesse: Admin > Configurações Globais > Idioma > Portuguese (Brazilian)O que você deve ver: Interface do OpenEMR em português.
- Testar login e navegação básica
Confirme que o ambiente está funcional antes de pensar em integrações.
Entre com o usuário admin definido na instalação.O que você deve ver: Acesso ao dashboard do OpenEMR sem erros.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Acessar http://192.168.56.10/openemr do navegador local | Tela de login do OpenEMR carregada | |
| Login com usuário admin | Dashboard do OpenEMR exibido | |
| Verificar status do Apache | systemctl status apache2 | Serviço ativo (active/running) |
| Verificar status do MySQL | systemctl status mysql | Serviço ativo (active/running) |
| Testar conexão ao banco | mysql -u openemruser -p -e 'SHOW DATABASES;' | Banco 'openemr' listado |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Página do OpenEMR não carrega | Apache não está rodando ou firewall bloqueia porta 80 | Verifique com 'systemctl status apache2' e ajuste firewall se necessário |
| Erro de conexão ao banco durante instalação web | Usuário ou senha do MySQL incorretos | Revise credenciais e permissões no MySQL |
| Erro 500 ao acessar OpenEMR | Permissões incorretas nos arquivos ou módulos PHP ausentes | Ajuste permissões e confira dependências PHP instaladas |
| Interface não aparece em português | Idioma não selecionado nas configurações globais | Acesse Admin > Configurações Globais > Idioma e selecione 'Portuguese (Brazilian)' |
Segurança e hardening
- Use senhas fortes para o banco e admin
- Restrinja acesso remoto ao MySQL (bind-address = 127.0.0.1)
- Proteja arquivos de configuração com permissões restritivas
- Remova arquivos de instalação após uso
- Mantenha sistema e dependências atualizados
Checklist final
Referências
- Apache HTTP Server Documentation · Apache Software Foundation (HTTP Server) (httpd.apache.org)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 1 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
