Instalação OpenEMR · 8 min read · Sep 08, 2025
Como Instalar OpenEMR no Servidor Ubuntu 24.04

OpenEMR é uma solução de gerenciamento de registros de saúde e práticas médicas de código aberto. É um registro eletrônico de saúde totalmente integrado e gerenciamento de práticas, agendamento, faturamento eletrônico e suporte à internacionalização. OpenEMR é certificado pelo ONC, o que significa que o OpenEMR atende aos padrões do Escritório do Coordenador Nacional de Tecnologia da Informação em Saúde (ONC).
Este guia mostrará como instalar o OpenEMR no servidor Ubuntu 24.04 com a pilha LEMP (Linux, Nginx, MariaDB e PHP-FPM). Também mostraremos como proteger o OpenEMR com HTTPS do Let’s Encrypt e abrir as portas HTTP e HTTPS via UFW (Firewall Descomplicado).
Pré-requisitos
Para começar com este guia, certifique-se de ter:
- Um servidor Ubuntu 24.04
- Um usuário não-root com privilégios de administrador
- Um nome de domínio apontando para o endereço IP do servidor
Instalando Dependências LEMP
OpenEMR é um aplicativo baseado na web escrito em PHP e MySQL. Para instalá-lo, você deve garantir que tanto o PHP quanto o MySQL estejam instalados. Neste guia, você executará o OpenEMR com a pilha LEMP (Linux, Nginx, MariaDB e PHP). Portanto, por enquanto, você instalará esses pacotes através do repositório APT.
Para começar, execute o comando ‘ apt ‘ abaixo para atualizar seu índice de pacotes do Ubuntu e instalar os pacotes da pilha LEMP (Linux, Nginx, MariaDB e PHP-FPM). Digite ‘Y’ para confirmar a instalação.
sudo apt update
sudo apt install nginx mariadb-server php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-soap imagemagick libtiff-tools php-ldap
Após a conclusão da instalação, verifique o status do serviço ‘ nginx ‘ com o comando ‘systemctl’ abaixo. Certifique-se de que o Nginx esteja em execução e habilitado.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Agora verifique o serviço ‘ mariadb ‘ usando o seguinte comando. Você verá que o servidor MariaDB está em execução e habilitado em seu servidor Ubuntu.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Por último, verifique o serviço ‘ php8.3-fpm ‘ com o comando abaixo. Você verá que o serviço PHP-FPM está ativo e em execução.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm
Configurando PHP-FPM
Uma vez que a pilha LEMP esteja instalada, vamos configurar a instalação do PHP-FPM editando o ‘php.ini’, reiniciando o serviço PHP-FPM e aplicando suas alterações.
Edite o arquivo ‘ php.ini ‘ com o editor ‘ nano ‘.
sudo nano /etc/php/8.3/fpm/php.iniAltere a configuração padrão com o seguinte. Certifique-se de ajustar o ‘ memory_limit ‘ com sua RAM atual.
max_execution_time = 60
max_input_time = -1
memory_limit = 512M
post_max_size = 30M
upload_max_filesize = 30M
max_input_vars = 3000
mysqli.allow_local_infile = OnSalve o arquivo e saia do editor quando terminar.
Em seguida, execute o comando ‘chgrp’ abaixo para alterar a propriedade do diretório ‘ /var/lib/php/sessions ‘ para o usuário ‘ www-data ‘.
sudo chgrp -R www-data /var/lib/php/sessionsPor último, reinicie o serviço ‘ php8.3-fpm ‘ com o comando abaixo. Isso aplicará suas alterações à sua instalação do PHP-FPM.
sudo systemctl restart php8.3-fpmConfigurando o Servidor MariaDB
Agora que o PHP está configurado, vamos configurar o servidor MariaDB e criar um novo banco de dados para o OpenEMR. Nesta seção, você protegerá o servidor MariaDB com a ferramenta ‘ mariadb-secure-installation ‘ e criará um novo banco de dados e usuário através do cliente ‘ mariadb ‘.
Primeiro, execute o comando ‘ mariadb-secure-installation ‘ abaixo para proteger seu servidor MariaDB.
sudo mariadb-secure-installationAgora você será questionado sobre as seguintes configurações:
- Pressione ENTER para continuar e configurar o servidor MariaDB
- Digite ‘ Y ‘ para configurar a senha do root do MariaDB, depois digite e repita sua senha
- Digite ‘ Y ‘ para desabilitar o login remoto para o usuário ‘ root ‘
- Digite ‘ Y ‘ para excluir o banco de dados ‘ test ‘ e seus privilégios
- Digite ‘ Y ‘ para concluir a configuração
Após o servidor MariaDB ser protegido, você precisa criar um novo banco de dados e usuário que serão usados pela instalação do OpenEMR.
Faça login no servidor MariaDB com o comando ‘ mariadb ‘ abaixo. Digite sua senha de root do MariaDB quando solicitado.
sudo mariadb -u root -pExecute as seguintes consultas para criar um novo banco de dados e usuário para o OpenEMR. Neste exemplo, você criará um novo banco de dados ‘ openemr ‘ com o usuário ‘ openemruser ‘ e a senha é ‘ password ‘. Você pode ajustar os detalhes do banco de dados com suas informações.
CREATE DATABASE openemr;
CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2';
GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';
FLUSH PRIVILEGES;
Agora execute a consulta abaixo para verificar os privilégios do ‘openemruser’. Certifique-se de que o usuário pode acessar o banco de dados ‘openemr’.
SHOW GRANTS FOR openemruser@localhost;Por último, digite ‘ quit ‘ para sair do servidor MariaDB.

Baixando o Código Fonte do OpenEMR
Agora que você configurou o PHP-FPM e o servidor MariaDB, o próximo passo é baixar o código fonte do OpenEMR e configurar a instalação com as permissões e propriedade adequadas.
Vá para o diretório ‘ /var/www ‘ e baixe o código fonte do OpenEMR usando o comando ‘ wget ‘ abaixo.
cd /var/www/
wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.2/openemr-7.0.2.tar.gzUma vez baixado, execute o comando ‘tar’ abaixo para extrair o código fonte do OpenEMR e renomear o novo diretório para ‘ openemr ‘. Com isso, o código fonte do OpenEMR será armazenado no diretório ‘ /var/www/openemr ‘.
tar -pxzf openemr-7.0.2.tar.gz
mv openemr-7.0.2 openemrPor último, execute o comando ‘chown’ abaixo para alterar a propriedade do diretório ‘ /var/www/openemr ‘ para o usuário ‘ www-data ‘.
sudo chown -R www-data:www-data /var/www/openemrConfigurando o Bloco do Servidor Nginx
Após baixar o código fonte do OpenEMR, você criará um novo bloco de servidor Nginx que será usado para executar sua instalação do OpenEMR. Portanto, certifique-se de que você tenha seu nome de domínio pronto e apontado para o endereço IP do servidor.
Crie uma nova configuração de bloco de servidor Nginx ‘ /etc/nginx/sites-available/openemr ‘ com o seguinte comando do editor ‘ nano ‘.
sudo nano /etc/nginx/sites-available/openemrInsira a configuração e certifique-se de alterar a opção ‘ server_name ‘ com seu nome de domínio.
server {
listen 80;
server_name openemr.example.com;
access_log /var/log/nginx/openemr.access.log;
error_log /var/log/nginx/openemr.error.log;
root /var/www/openemr;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
# Pass PHP Scripts To FastCGI Server
location ~* \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Depends On The PHP Version
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
include fastcgi_params;
}
# deny access to writable files/directories
location ~* ^/sites/*/(documents|edi|era) {
deny all;
return 404;
}
# deny access to certain directories
location ~* ^/(contrib|tests) {
deny all;
return 404;
}
# Alternatively all access to these files can be denied
location ~* ^/(admin|setup|acl_setup|acl_upgrade|sl_convert|sql_upgrade|gacl/setup|ippf_upgrade|sql_patch)\.php {
deny all;
return 404;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
log_not_found off;
access_log off;
}
location ~ /\. {
deny all;
}
}Salve o arquivo e saia do editor.
Agora execute o comando abaixo para ativar o bloco de servidor ‘openemr’ e verificar sua sintaxe Nginx. Se você estiver correto e a sintaxe Nginx estiver adequada, você verá uma saída como ‘ teste bem-sucedido - sintaxe está ok ‘.
sudo ln -s /etc/nginx/sites-available/openemr /etc/nginx/sites-enabled/
sudo nginx -t
Por último, execute o comando ‘ systemctl ‘ abaixo para reiniciar o servidor web Nginx e aplicar suas alterações.
sudo systemctl restart nginxProtegendo o OpenEMR com HTTPS
Nesta seção, você instalará o Certbot e protegerá o OpenEMR com HTTPS. Isso funcionará se você estiver usando um nome de domínio público e servidor. Em um servidor local ou de desenvolvimento, você pode usar certificados autoassinados.
Antes de configurar o SSL, execute o comando ‘ufw’ abaixo para abrir os serviços HTTP e HTTPS em seu servidor. Você verá uma saída como ‘sucesso’.
Sudo ufw allow 'Nginx Full'Agora instale o ‘ certbot ‘ e o plugin ‘ python3-certbot-nginx ‘ com o seguinte comando ‘ apt ‘. Digite ‘Y’ para confirmar a instalação.
sudo apt install certbot python3-certbot-nginx -yApós a conclusão da instalação, execute o comando ‘certbot’ abaixo para gerar certificados SSL e proteger sua instalação do OpenEMR.
sudo certbot --nginx -d openemr.howtoforge.localUma vez que o processo esteja concluído, seus certificados SSL estarão disponíveis no diretório ‘ /etc/letsencrypt/live/domain.com ‘. Além disso, sua instalação do OpenEMR estará protegida com HTTPS.
Instalando OpenEMR
Abra seu navegador da web e visite https://openemr.howtoforge.local/ através de um navegador da web.
Primeiro, o instalador verificará as permissões do código fonte do OpenEMR, então certifique-se de ter a permissão adequada.

Selecione a opção ‘ Eu criei o banco de dados ‘ para configurar sua integração de banco de dados.

Digite os detalhes do seu banco de dados e o novo administrador para o OpenEMR.

A inicialização do banco de dados será executada e seu usuário administrador será criado.

Em seguida, certifique-se de que sua configuração PHP atenda aos requisitos do OpenEMR.

Uma vez que a instalação esteja completa, você será redirecionado para a página de login do OpenEMR. Digite seu usuário administrador e senha, e clique em Login.

Se bem-sucedido, você verá o seguinte painel do OpenEMR.

Conclusão
Parabéns! Você completou a instalação do OpenEMR no servidor Ubuntu 24.04. O OpenEMR está em funcionamento com o PHP-FPM, servidor web Nginx e servidor MariaDB. Você também protegeu o OpenEMR com HTTPS através do Certbot e Let’s Encrypt.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.