Pular para o conteúdo principal

Checklist para Acreditação JCI: foco no Capítulo HCT (Tecnologia de Cuidados de Saúde)

  A tecnologia na saúde deixou de ser coadjuvante. Na 8ª edição da Joint Commission International (JCI), o capítulo HCT posiciona a tecnologia como parte central da assistência segura, ética e eficiente. Se sua instituição busca conformidade com os padrões JCI, este checklist é uma ferramenta prática e atualizada para avaliar os principais requisitos do capítulo HCT – Health Care Technology . Importante: Para todos os elementos de mensuração identificados com a letra (D) , é obrigatória a apresentação de documentação formalmente publicada , como políticas, procedimentos, comunicados institucionais ou outros registros válidos. No entanto, não basta que esses documentos existam : durante a auditoria, será exigida a comprovação prática de que o conteúdo é conhecido, aplicado de forma uniforme e integrado à rotina operacional da instituição. HCT.01.00 – Gerenciamento de tecnologia em saúde Existe um processo formal para avaliação, aquisição, instalação, inspeção e manutenção de...

Instalando o Laravel no Linux (Ubuntu 22.x)

Neste post, vou demonstrar como instalar o Laravel em um servidor Linux Ubuntu 22.x. O Laravel é um framework PHP popular que oferece uma maneira elegante e poderosa de criar aplicativos da web. Vamos dar os passos necessários para configurar o ambiente e começar a desenvolver com o Laravel.

Passo 1. Preparando o ambiente

Antes de tudo, é necessário que façamos a instalação do servidor Nginx e o PHP 8.1. Fiz um post sobre esse tema. Basta clicar aqui para acessar.

Também é preciso que seja instalado o gerenciador de dependências Composer. Clique aqui para abrir o post com o passo-a-passo.

Após finalizar os itens acima, vamos a instalação de duas extensões necessárias para o funcionamento correto do Composer. São elas: php-xml e php-curl.

sudo apt-get install php-curl
sudo apt-get install php-xml

Agora vamos ativar essas extensões:

sudo phpenmod curl
sudo phpenmod xml

Vamos também reiniciar os serviços do php8.1-fpm e do Nginx:

sudo service php8.1-fpm restart
sudo service nginx restart

Passo 2. Criando um projeto Laravel

Vou utilizar o mesmo vhost criado na demonstração da instalação do Nginx (veja o post sobre o tema). Caso você esteja seguindo o meu passo-a-passo, vamos precisar executar o comando abaixo para excluir o diretório criado (testeapp).

sudo rm -R /var/www/vhosts/testeapp

Agora podemos criar o projeto Laravel com o Composer dentro da pasta /var/www/vhosts (caminho usado para criação do teste).


Agora completado esse passo, já temos o projeto criado pelo Composer, com os componentes necessários para rodar o Laravel. Só que, quando vamos no navegador testar a URL, a aplicação retorna erro. Veja a imagem abaixo:


Passo 3. Mudando as permissões

Para que o Laravel funcione corretamente em um ambiente Linux, é necessário definir as permissões corretas em certos diretórios. Aqui estão as permissões recomendadas para cada diretório:

Nos diretórios de armazenamento (storage): O Laravel armazena caches, sessões, arquivos compilados e logs nesses diretórios. Eles devem ter permissões para escrita pelo servidor da web.

sudo chown -R www-data:www-data /var/www/vhosts/testeapp/storage
sudo chmod -R 775 /var/www/vhosts/testeapp/storage

Também no diretório de cache bootstrap: O Laravel usa o diretório bootstrap/cache para armazenar arquivos de cache. Esses arquivos também precisam de permissões para escrita.

sudo chown -R www-data:www-data /var/www/vhosts/testeapp/bootstrap/cache
sudo chmod -R 775 /var/www/vhosts/testeapp/bootstrap/cache

Fechado! Agora basta atualizar a tela do navegador. Aparecerá a tela padrão do projeto Laravel.

A permissão 775 significa:

  • Proprietário: Permissão total (leitura, escrita e execução).
  • Grupo: Permissão total (leitura, escrita e execução).
  • Outros: Permissão de leitura e execução (sem permissão de escrita).

Conclusão:

Neste tutorial, demonstramos como instalar o Laravel em um servidor Linux Ubuntu 22.x.

Postagens mais visitadas deste blog

Diferença entre banco de dados, instância, schema, tablespaces e etc.

Vamos a um pouco de teoria de banco de dados. Tenho certeza que será muito útil para os universitários. 🙂 No mundo da tecnologia e gerenciamento de informações, os bancos de dados desempenham um papel vital. Um banco de dados, ou base de dados, é um conjunto organizado de registros que oferece a capacidade de reorganização e extração de informações. Normalmente, os registros em um banco de dados são agrupados para servir a um propósito comum. A gestão de um banco de dados é tipicamente realizada por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Exemplos notáveis de SGBDs incluem o Oracle, MySQL, SQL Server e PostgreSQL. É importante notar que, às vezes, o termo “banco de dados” é erroneamente usado como sinônimo de SGBD. No contexto atual, o modelo de dados mais amplamente adotado é o modelo relacional, no qual as informações são organizadas em tabelas compostas por linhas e colunas. Instâncias: A Máquina Cerebral do Banco de Dados Quando se trata de...

Diferença entre erro, falha e defeito - conceitos

Se você trabalha com desenvolvimento de software ou engenharia de qualidade, provavelmente já ouviu falar nos termos erro, falha e defeito. Embora esses termos sejam frequentemente usados ​​de forma intercambiável, é importante compreender suas diferenças e como eles se relacionam. Em termos simples, um erro é uma ação humana que produz um resultado incorreto ou inesperado. Um desenvolvedor pode cometer um erro ao escrever um código incorreto para uma determinada função, um testador pode cometer um erro ao não testar corretamente uma determinada funcionalidade, e um usuário pode cometer um erro ao inserir dados incorretos em um formulário. Uma falha, por sua vez, é a manifestação externa de um erro. É quando o produto não executa conforme o esperado. Por exemplo, se uma aplicação de pagamento online apresentar um erro de processamento de pagamento, isso pode ser considerado uma falha. As falhas podem ser detectadas pelos usuários ou por testadores durante o processo de teste. Por fim, ...

Como iniciar, parar e reiniciar o serviço MySQL no Linux

Recentemente fiz um post sobre a instalação do MySQL no Linux , agora vamos falar como verificar o status do serviço e como aplicar os comandos start, stop e restart. Coisas básicas para a manutenção. 1 . Como verificar o status do serviço É importante compreender que, dependendo da versão do Linux, o comando a ser usado pode variar. Em versões mais antigas, utilizamos o comando " service ";  já em versões mais recentes, o comando " systemctl ". Veja os exemplos abaixo: sudo systemctl status mysql ou sudo service mysql status Um retorno semelhante a esse mostra que o serviço está ativo. 2 . Como iniciar o serviço no Linux Novamente importante atentar para a distribuição do linux. Para o Ubuntu ou outras distribuições baseadas no Debian, você usará o comando systemctl, em outras provavelmente o service. Vamos aos exemplos: sudo systemctl start mysql ou sudo service mysql start Importante notar que o comando start pode não gerar output, por isso é importante verificar...

Contar caracteres no MySQL

Vamos fazer uso das funções da linguagem SQL para contar caracteres de um campo salvo em uma tabela. Ou seja, vamos selecionar diversos registros de uma tabela e contar os caracteres de um de seus campos. No MySQL temos várias funções para contar caracteres: LENGTH(cadeia) – comando também existente no Oracle Recebe uma cadeia , conta e retorna o número de caracteres. CHARACTER_LENGTH(cadeia)  Recebe também uma cadeia e retorna o número de caracteres contados. CHAR_LENGTH(cadeia) É um sinônimo de CHARACTER_LENGTH. Embora nem todas as versões de MySQL o tenham. A diferença entre LENGTH e CHARACTER_LENGTH é que em CHARACTER_LENGTH um caractere “multibyte” conta como um só caractere. Em LENGTH conta o número de bytes da cadeia. Assim, no caso de ter uma cadeia com 5 caracteres que ocupam 2 bytes cada um, LENGTH retornaria 10 e CHARACTER_LENGTH só 5. Por enquanto vamos utilizar CHARACTER_LENGTH, ela devolverá os resultados que esperamos obter, o número de caracteres da cadeia, independ...

MySQL storage engines - parte 1

As “engines” de armazenamento do MySQL são módulos de software usados para criar, ler e atualizar dados de um banco de dados. Existem dois tipos de storage engines no MySQL: transaction e non-transactional. Para o MySQL 5.5 ou superior, o padrão de engine é o InnoDB. Nas versões anteriores o padrão era o MyISAM. Escolher a engine correta é uma decisão estratégica, visto que impacta no consumo do recurso e no que esperar de comportamento do banco. Lógico que, para coisas básicas, isso não será um problema. Mas se você está planejando um banco de dados de produção, o ideal é pelo menos entender onde você está pisando e ser um pouco mais criterioso. Para começar, vamos a lista atual de storages suportados: InnoDB MyISAM Memory CSV Merge Archive Federated Blackhole O InnoDB é o mecanismo de armazenamento mais usado com suporte a transações. É um mecanismo de armazenamento compatível com ACID. Ele suporta bloqueio em nível de linha, recuperação de travamento e controle de simultaneidade de ...