sexta-feira, 14 de abril de 2023

Revisão de Algoritmos em Java - 1º Bimestre

Centro Universitário UniFatecie

Bacharelado em Eng de Software

Prof. Dr. Hudson Souza

Revisão de Algoritmos - 1º Bim


Olá meus Caros,


Hoje vou fazer uma revisão da matéria introdutória da Linguagem de Programação Java.

Avançamos até o momento nos tópicos:

- ambiente de programação com IDE NetBeans

- estrutura básica de uma arquivo de programação Java

- tipos de variáveis

- entrada de dados fixo

- entrada de dados dinâmica pelo usuário

- processamento

- comandos de repetição FOR

- comandos de decisão IF...ELSE-IF...ELSE


 

Criei um exercício único em Java contemplando todas estas ações até aqui, a qual deixarei o código fonte comentado, assim como gravei uma videoaula do criando este mesmo programa de revisão.


Bora lá colocar a mão na massa!!!


Prof. Dr. Hudson Souza, Ph.D



### EXERCÍCIO DE REVISÃO:

Desenvolva um Algoritmos em Linguagem de Programação Java, que pergunte do a quantidade de alunos que serão calculado as notas, o nome completo, trabalho1, trabalho2, moodle, multidisciplinar, prova e calcule a média bimestral. 

Use um Status para definir a classificação da nota do aluno:

Reprovado:   de 0.0 a  3.9

Recuperação: de 4.0 a  5.9

Aprovado:    de 6.0 a 10.0

Use os comandos: FOR, IF...ELSE-IF...ELSE


YOUTUBE VÍDEOAULA:


Videoaula Youtube - Exercício de Revisão

https://youtu.be/xZX-9Q0krCQ



ARQUIVO: RevisaoJava.java

#------------------------

package revisao1Bim;

import java.util.Scanner;  // BIBLIOTECA

public class RevisaoJava {

    public static void main(String[] args){

        Scanner input = new Scanner(System.in);  // INSTANCIA

        // VARIAVEIS

        int qtdAlunos;

        String nomeCompleto, status="";

        double trb1, trb2, moodle, mult, prova, mediaBim;

        

        System.out.print("Qtd de Alunos...: ");

        qtdAlunos = input.nextInt();

        

        for(int i=0; i<qtdAlunos; i++){

            System.out.println("\nALUNO...: " + (i+1) );

            

            System.out.print("Nome Completo.....: ");

            nomeCompleto = input.next();

            

            System.out.print("Trabalho 1........: ");

            trb1 = input.nextDouble();

            

            System.out.print("Trablaho 2........: ");

            trb2 = input.nextDouble();

            

            System.out.print("Moodle............: ");

            moodle = input.nextDouble();

            

            System.out.print("Multidisciplinar..: ");

            mult = input.nextDouble();

            

            System.out.print("Prova.............: ");

            prova = input.nextDouble();

      

            // PROCESSAMENTO

            mediaBim = trb1 + trb2 + moodle + mult + prova;

            

            // CONTROLE DE STATUS - IF...ELSE-IF...ELSE

            if(mediaBim >= 0.0 && mediaBim <=3.9){

                status = "REPROVADO";

            } else if(mediaBim >= 4.0 && mediaBim <= 5.9){

                status = "RECUPERAÇÃO";

            } else if(mediaBim >= 6.0 && mediaBim <= 10.0){

                status = "APROVADO";

            } else {

                System.out.println("Dados estão Incorretos.");

            }

            

            // SAIDA

            System.out.println("Caro " +nomeCompleto+ ", sua média " +mediaBim+ " vc está " + status);

        } 

    } 

}

#------------------------


sexta-feira, 24 de março de 2023

PORTUGOL ALTENTICAÇÃO BANCO COM 3 TENTATIVAS

DESAFIO: 

Desenvolva um algoritmos em linguagem de programação Portugol, implementado com a ferramente Portugol Studio 2.7.5, que solicite ao usuário o seu Login e Senha. A autenticação terá 3 tentativas.

Caso a autenticação da Senha seja VERDADEIRA, apresente a mensagem "AUTENTICADO COM SUCESSO" e Mostra um MENU do Banco e Fim.

Caso contrario, a autenticação da Senha seja FALSA, apresente a mensagem "CONTA BLOQUEADA" e Fim.


Algoritmos em Portugol - Autenticação de Banco


YOUTUBE:

https://youtu.be/vHkCbWE4edE


CÓDIGO FONTE EM PORTUGOL

#----------------

programa

{

funcao inicio()

{

cadeia senhaCad = "Mauro12@", senhaDig, login

inteiro tentativa=0

real saldo = 1856.32

logico autenticacao = falso

escreva("\n=== Banco UniFatecie ===")

escreva("\nDigite seu Login...: ")

leia(login)

escreva("\nSeja Bem Vindo ",login,"!")


para(inteiro i=1; i<=3; i++){

tentativa++  // CONTADOR DE TENTATIVAS


se(tentativa==3){

escreva("\n\n*** ATENÇÃO ESTÁ É A SUA ULTIMA TENTATIVA ***")

}

escreva("\n\nDigite sua Senha...: ")

leia(senhaDig)

se(senhaCad == senhaDig){

escreva("\nAutenticação efetuada com sucesso!")

escreva("\nCaro ",login," seu saldo atual é de R$ ", saldo)

autenticacao = verdadeiro  // MUDA STATUS DA AUTENTICACAO

pare  // INTERROMPE O CICLO DO 'pare'

} senao {

escreva("\nSenha Invalida.")

escreva("\nTentativa...: ", tentativa)

}

}


se(autenticacao == verdadeiro){

escreva("\n\n=== MENU ===")

escreva("\n1-Saldo na Tela")

escreva("\n2-Deposito")

escreva("\n3-Tranferencia")

escreva("\n4-Poupança")

escreva("\n5-Pagamento")

} senao {

escreva("\n\nCaro ",login,", por medidas de segurança sua conta foi BLOQUEADA.")

escreva("\nDetectamos 3 tentativas de autenticação inválidas.")

escreva("\nProcure o seu Gerente e troque a senha imediatamente.")

escreva("\n\nBanco Unifatecie Virtual - 0800-123456")

}

}

}

#----------------


quinta-feira, 23 de março de 2023

SINTAXE DO CÓDIGO FONTE PARA PORTUGOL STUDIO 2.7.5

 Olá,

Irei demostrar as principais sintaxe da programação utilizando a ferramenta Portugol Studio 2.7.5.

Pensar em uma solução computacional para o iniciante em programação, já não é uma tarefa fácil, agora escrever o código da forma e com a sintaxe que a ferramenta aceite já é bem mais complicado.

Pensando nisso, vou deixar um código para start um start inicial:


INSTALAÇÃO PORTUGOL STUDIO 2.7.5:

https://hudsonss.blogspot.com/2023/03/portugol-studio-275.html


VIDEOAULA DE SINTAXE DO CÓDIGO FONTE:

https://youtu.be/MIRO2KIXJEs


programa 

{

inclua biblioteca Util // BIBLIOTECA

funcao inicio()

{

// LIMPAR TELA

limpa()

// VARIAVEIS

const inteiro ANO_ATUAL = 2023


cadeia nome  // String Alfanumerico Mauro !@#$%¨123

inteiro anoNasc, idade  // 2023

real salario, novoSalario, bonus, porcNatal = 0.0, natal  //  1356.87

// ENTRADA

escreva("Digite o seu nome..............: ")

leia(nome)

escreva("Qual o seu Ano de Nascimento...: ")

leia(anoNasc)


escreva("Qual o valor do seu Salario....: ")

leia(salario)


// PROCESSAMENTO

idade = ANO_ATUAL - anoNasc

// bonus no salario: 1% a cada ano de vida

bonus = salario * (idade * 0.01)

novoSalario = salario + bonus

// bonus de Natal 

se(idade >= 5 e idade <=10){

porcNatal = 0.05  // +5%

} senao se(idade >= 11 e idade <= 30){

porcNatal = 0.10  // +10%

} senao se(idade >= 31){

porcNatal = 0.20  // +20%

} senao {

escreva("Dados Incorretos")

}

natal = salario * porcNatal

novoSalario = novoSalario + natal

// SAIDA

escreva("\n=== RESUMO ===")

escreva("\nNome..: ", nome , "- Idade..: ", idade, "- Salario_Total..: R$ ", novoSalario)

escreva("\nSalario Base...: ", salario)

escreva("\nVlr do Bonus...: ", bonus)

escreva("\nPresente Natal.: ", natal)


escreva("\n")

// FOR - REPETICAO

para (inteiro i=0; i<10; i++) {

escreva("\n", i ,"-Nome...: ", nome)

}

}

}

PORTUGOL STUDIO 2.7.5

O Portugou Studio é uma ferramente para aquele que quer iniciar no aprendizado da programação.

Português Estruturado é uma forma especial de linguagem, bem mais restrita que a Língua Portuguesa e com significados bem definidos para todos os termos utilizados nas instruções (comandos).

A linguagem também é conhecida como Portugol (Português + Algol), Pseudocódigo ou Pseudolinguagem.


Portugol Studio 2.7.5


INSTALAÇÃO:
1- Acesse a página para baixar o programa
http://lite.acad.univali.br/portugol/ - 129,5 Mb

DOWNLOAD:
portugol-studio-2.7.5-linux-x64.run.zip

DESEMPACOTAR O ARQUIVO ZIPADO:
$ unzip portugol-studio-2.7.5-linux-x64.run.zip

PERMISSÃO DE EXECUÇÃO AO ARQUIVO:
$ chmod 755 portugol-studio-2.7.5-linux-x64.run

TORNE-SE SUPER USUARI PARA INSTALAR O PROGRAMA:
$ su
***********

INSTALAÇÃO:
# ./portugol-studio-2.7.5-linux-x64.run
Siga os passos na janela que abrirá


SINTAXE DO CÓDIGO FONTE PARA PORTUGOL STUDIO 2.7.5

https://www.blogger.com/blog/post/edit/1804092869220586996/8313709491923977378


VIDEOAULA DE SINTAXE DO CÓDIGO FONTE:

https://youtu.be/MIRO2KIXJEs


terça-feira, 7 de setembro de 2021

Aula 02 - Equação 1º e 2º Grau

Centro Universitário UniFatecie

Bacharelado em Eng. Agronômica - EAD

a1m3d1-Métodos Quantitativos Matemáticos

Prof. Me. Luciano Xavier de Azevedo


Projeto de Extensão: Métodos Matemáticos

Prof. Dr. Hudson Souza


Aula 02 - Equação 1º e 2º Grau

YOUTUBE: https://youtu.be/mTXV9jIl-eU


Arquivo PDF:

https://drive.google.com/file/d/1kXwulyYCwTFnB2ZxeAhCvtF_Pz8gU5z0/view?usp=sharing

Aula 01 - Expressão Matemática

Centro Universitário UniFatecie 
Curso: Bacharelado em Eng. Agronômica - EAD 
Disciplina: Métodos Quantitativos Matemáticos 
Responsável: Prof. Me. Luciano Xavier de Azevedo 

UNIDADE 1 - MATEMÁTICA BÁSICA E CONJUNTOS NUMÉRICOS 

expressão E = 396 : {2.[ 26 – 5.(2 + 3)2]} 

LINK DA VIDEOAULA: 



PDF RASCUNHO:



terça-feira, 12 de janeiro de 2021

SIGNAL NO LINUX MINT

Signal é um aplicativo de bate-papo criptografado para Android e iOS. 

Uma alternativa do WhatsApp, o Sinal permite enviar mensagens para outras pessoas que usam o serviço. 

Ele também permite que você crie e participe em conversas em grupo e faça chamadas de voz e vídeo para outros usuários.

Signal


### REPOSITÓRIO

# vim /etc/apt/sources.list


# SIGNAL

deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main

# KEY

apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys D980A17457F6FB06



### INSTALAÇÃO SIGNAL NO LINUX


Atualizar a lista de repositório

# apt clean

# apt update


Instalar

# apt install signal-desktop

terça-feira, 5 de janeiro de 2021

Habilitar Snap Linux Mint 20

Snap está disponível para Linux Mint 18.2 (Sonya), Linux Mint 18.3 (Sylvia), Linux Mint 19 (Tara), Linux Mint 19.1 (Tessa) e a versão mais recente, Linux Mint 20 (Ulyana).

No Linux Mint 20 é preciso remover o arquivo "/etc/apt/preferences.d/nosnap.pref"  antes que o Snap possa ser instalado, através do comando:

# rm /etc/apt/preferences.d/nosnap.pref


### INSTALAÇÃO DO SNAP

Para instalar o Snap a partir do aplicativo Gerenciador de software, pesquise snapd e clique em Instalar .

Como alternativa, o snapd pode ser instalado a partir da linha de comando:

# apt install snapd

Reinicie sua máquina.


Vamos testar agora com a instalação de um aplicativo via  Snap


### Instale Todoist: lista de tarefas

#  snap install todoist


domingo, 12 de janeiro de 2020

Informações do Sistema com Neofetch

Neofetch é uma ferramenta via terminal Bash que exibe as principais informações do Sistema Operacional GNU/Linux, de forma fácil, acompanhado pela Logo do S.O.


### INSTALAÇÃO:

1- Acrescentar o Repositório
# vim /etc/apt/sources.list
-----------
# Neofetch
deb http://ppa.launchpad.net/dawidd0811/neofetch/ubuntu disco main
-----------

2- Atualize a lista de repositórios
# apt clean
# apt update

3- Instalação
# apt install neofetch

4- Utilize o camando, como usuário comum
$ neofetch

Neofetch

sexta-feira, 9 de agosto de 2019

ARDUINO IDE 1.8.9 NO LINUX


Arduino IDE é uma aplicativo OpenSource/Código Aberto desenvolvida para facilita a gravação de código e o upload para a placa Arduino UNO. 

O ambiente é escrito em linguagem Java, baseado em Processing e outro software de código aberto.


INSTALAÇÃO

1- Faça o download diretamente do site do fabricante
https://www.arduino.cc

menu: Software / Downloads

Versões disponíveis:

Windows Installer, for Windows XP and up 
Windows ZIP file for non admin install 
Windows app Requires Win 8.1 or 10 Get

Mac OS X 10.8 Mountain Lion or newer

Linux 32 bits
Linux 64 bits
Linux ARM 32 bits 
Linux ARM 64 bits



2- Instalar via código na unha

# descobrir arquitetura 

ARQUITETURA 32 BITS
$ uname -m
i386

Fazer o download:
wget https://www.arduino.cc/download_handler.php?f=/arduino-1.8.9-linux32.tar.xz -O arduino-version.tar.xz


ARQUETETURA 64 BITS
$ uname -m
x86_64

Fazer o download:
wget https://www.arduino.cc/download_handler.php?f=/arduino-1.8.9-linux64.tar.xz -O arduino-version.tar.xz


3- Descompactar
tar -zxvf arduino-version.tar.xz


4- Entre na pasta
cd arduino-version


5- Lita todos os Arquivos

$ ls -lh
total 14M
-rwxr-xr-x  1 hudson hudson  882 mar 15 11:16 arduino
-rwxr-xr-x  1 hudson hudson  14M mar 15 11:16 arduino-builder
-rwxr-xr-x  1 hudson hudson 5,1K mar 15 11:16 arduino-linux-setup.sh
drwxr-xr-x 13 hudson hudson 4,0K mar 15 11:15 examples
drwxr-xr-x  4 hudson hudson 4,0K mar 15 11:16 hardware
-rwxr-xr-x  1 hudson hudson  11K mar 15 11:16 install.sh
drwxr-xr-x  6 hudson hudson 4,0K out  6  2018 java
drwxr-xr-x  4 hudson hudson 4,0K mar 15 11:16 lib
drwxr-xr-x 21 hudson hudson 4,0K mar 15 11:15 libraries
drwxr-xr-x  6 hudson hudson 4,0K mar 15 11:15 reference
-rw-r--r--  1 hudson hudson  87K mar 15 11:15 revisions.txt
drwxr-xr-x  4 hudson hudson 4,0K mar 15 11:16 tools
drwxr-xr-x  4 hudson hudson 4,0K mar  7 07:10 tools-builder
-rwxr-xr-x  1 hudson hudson   86 mar 15 11:16 uninstall.sh



6- Utilize o comando para instalação
./install.sh

Instalador



7- Menu do seu computador

menu: Aplicativo / Desenvolvedor / Arduino IDE

segunda-feira, 22 de julho de 2019

HomeBank 5.2.6 no Linux Mint 19.1

HomeBank
http://homebank.free.fr/en/index.php

HomeBank é um software gratuito de finanças pessoais. Trata-se de um software livre, para auxiliar o usuário final a seu gerenciamento financeiro pessoal.

HomeBank v5.2.6

Foi desenhado para ser intuitivo, fácil de usar, sendo capaz de analisar as finanças pessoais e orçamentos, para isso utiliza poderesos ferramentas de filtragem e gr áficos.

No site do desenvolvedor, pode ser encontrado gratuitamente para download nas versões para sistemas operacionais Linux, MAC e Windows.


INSTALAÇÃO NO LINUX

### REPOSITÓRIO
deb http://ppa.launchpad.net/mdoyen/homebank/ubuntu bionic main
deb-src http://ppa.launchpad.net/mdoyen/homebank/ubuntu bionic main

### INSTALAÇÃO
# apt clean
# apt update
# apt install homebank

segunda-feira, 8 de julho de 2019

HIBERNAR NOTEBOOK AO BAIXAR A TAMPA NO LINUX MINT 19.1

Hibernar o notebook baixando a tampa, utilizando um sistema operacional GNU/Linux, não é das tarefas mais fáceis de se configurar.

Normalmente a opção de Hibernate vem desabilitada por padrão nas distribuições, por motivos de espaço em  HD, por tamanho de memória RAM, tamanho Swap ou até mesmo pelo Hardware.

O mais engraçado é que utilizando o mesmo notebook, com instalações de distribuições diferentes, uma da certo a Hibernação e umas 3 para frente da errado. 

Bom, hoje estou utilizando a distribuição Linux Mint 19.1 Tessa Mate 64 Bit, com SSD, com HD, e 12 Gb RAM.

Para que tudo ocorra bem, o tamanho do seu Swap de ser maior ou igual ao tamanho da RAM.

1) Descobrir o tamanho da Swap
# fdisk -l | grep swap
/dev/sdb1   2048   39063551   39061504   18,6G 82 Linux swap / Solaris 

Neste caso tenho 12Gb RAM e 18,6 Gb de Swap, tudo certo até aqui Ok!


2) Acrescentar o botão Hibernar no Menu
# vim /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    [Re-enable hibernate by default]
    Identity=unix-user:*
    Action=org.freedesktop.upower.hibernate
    ResultActive=yes

    [Re-enable hibernate by default in logind]
    Identity=unix-user:*
    Action=org.freedesktop.login1.hibernate
    ResultActive=yes 



3) Descubra UUID da Swap para acrescentar no GRUB
# blkid | grep swap
/dev/sdb1: UUID="bc9015f8-98df-4959-bb39-479069a03400" TYPE="swap" PARTUUID="4d4ecfb0-01" 



4) Acrescentar o Resume ao Swap:
# vim /etc/default/grub
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=bc9015f8-98df-4959-bb39-479069a03400"


5) Atualizar Grub
# update-grub 


6) Acrescentar o botão do Gerenciamento de Energia
# vim  /etc/systemd/logind.conf

Altere a linha
de:   #HandleLidSwitch=suspend
para: HandleLidSwitch=hibernate


7) Abra o Gerenciador de Energia
Quando a tampa do laptop for fechada: Hibernar
Quando a energia da bateria estiver criticamente baixa: Hibernar


Gerenciador de energia: Hibernar - Tomada


Gerenciador de energia: Hibernar - Bateria


Isso é para evitar aquela famosa brincadeirinha sem graça dos "AMIGOS" que não tem nada melhor o que fazer e ficam apertando o botão de desligar do seu computador.

Gerenciador de energia: Hibernar - Geral

quarta-feira, 26 de junho de 2019

NetBeans-11.0 + JDK-12.0.1 no Linux Mint 19.1

Para instalar a nova versão no Apache NetBeans 11.0, será necessário a instalação do JDK-11 (>= JDK-8).


NetBeans 11.0

Verificar qual Java está instalado
# java --version
openjdk 11.0.3 2019-04-16

Vamos desistalar o OpenJDK e instalar o Oracle-Java11

1- Desistalar tudo OpenJDK
# apt-get remove --purge openjdk-* 
# apt-get autoremove


2- Repositório 
# add-apt-repository ppa:linuxuprising/java
deb http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main
deb-src http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main
# apt install oracle-java12-set-default


3- Instalação Oracle-Java12.0.1
# apt clean
# apt update
# apt install oracle-java12-set-default

Verificar versão Java instalado
# java --version
java 12.0.1 2019-04-16

Versão do Java

4- Download NetBeans 11
https://netbeans.apache.org/download/nb110/nb110.html
Binaries: incubating-netbeans-11.0-bin.zip (SHA-512, PGP ASC) - 304.0 Mb


5- Descompactar .ZIP
CRIAR PASTA
$ mkdir netbeans-11

COPIAR .ZIP PARA DENTRO DA NOVA PASTA
cp incubating-netbeans-11.0-bin.zip netbeans-11

DESCOMPACTAR .ZIP
$ unizip incubating-netbeans-11.0-bin.zip

APAGAR .ZIP
$ rm -rf netbeans-11/incubating-netbeans-11.0-bin.zip

6- Copiar a nova pasta descompactada para o diretório "/opt"
# cp -vr netbeans/ /opt/

O executável do NetBeans está na pasta
sh ./opt/netbeans/bin/netbeans

Icon 
/opt/netbeans/nb/netbeans.icns


7- Link simbólico para o executável
Entrar na pasta
# cd /usr/bin

Link Simbólico
# ln -s /opt/netbeans/bin/netbeans netbeans-11


8- Texte de execução
Se tudo ocorreu bem, o NetBeans-11 irá abrir.
Como usuário comum no terminal bash, digite:
$ netbeans-11


9- Criar um Menu
Botão direito sobre o Menu
Editar menu
Menus: Desenvolvimento
+ Novo Item

Icon: /opt/netbeans/nb/netbeans.icns
Tipo: Aplicativo
Nome: NetBeans IDE 11.0
Comando: /usr/bin/netbeans-11
Comentário: IDE


NetBeans IDE 11.0

Olá Mundo Java!

LAMP no Linux Mint 19.1

Para instalar um gerenciador de páginas web em um servidor ou em seu computador local de desenvolvimento, será necessário a instalação e configuração do LAMP, sigla composta pela primeiras letras de cada software necessário para esta tarefa:
- Linux
- Apache2
- MariaDB 5.2
- PHP 7.2

LAMP

1- Instalação LAMP
# apt install lamp-server^
# apt install apache2 apache2-utils
# apt install mariadb-server mariadb-client


### Status do Apache2
# systemctl status apache2

### PHP 7.2
# apt-get install php7.2-fpm php7.2-mysql php7.2-common php7.2-json php7.2-cli php7.2-curl libapache2-mod-php7.2 libcurl3 

# Ativar o módulo Apache PHP7.2
# a2enmod php7.2
# systemctl restart apache2

# Versificar a versão do PHP 7.2
# php --version


### PHPMyAdmin
# apt install php7.2-mbstring php7.2-gettext phpmyadmin
escolha o servidor web
|*| apache2


### MySQL Workbench
# apt install mysql-workbench

### Verificar o Status do MySQL
# systemctl status mariadb
Active: active (running)

Para sair precione "q"



### Acesso ao  Banco de Dados MySQL via terminal Bash
$ mariadb -u root -p
Enter password: ********


### LISTA DE USUARIOS DO BANCO DE DADOS 
MariaDB [(none)]> SELECT User, Host FROM mysql.user;
+------------+-----------+
| User       | Host      |
+------------+-----------+
| phpmyadmin | localhost |
| root       | localhost |
+------------+-----------+
2 rows in set (0.00 sec)


MariaDB [(none)]> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)


OBSERVAÇÃO: caso tenha problemas de acesso com usuário ROOT, tente estes métodos

1) # mysql_secure_installation
--- Adicionar a senha de Root

2) criação de usuario root
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY '123mudar';
CREATE USER 'root'@'localhost' IDENTIFIED BY '123mudar';
CREATE USER 'root'@'%' IDENTIFIED BY '123mudar';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;


# Versão MySQL
# mysql --v


### Acessar MariaDB
# mysql -u root -p
Enter password: ******


### Verificar todos os bancos de dados existentes

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)


# Sair
MariaDB [(none)]> exit;
Bye


### Acerto da pasta princial da hospedagem

Na pasta /etc/apache2/sites-enable, a um arquivo chamado 000-default.conf.

# vim /etc/apache2/sites-enable/000-default.conf

Observe que ele possui um campo, como abaixo:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

O problema está justamente nessa configuração.
O Apache está configurado para levantar a página PHP dentro da pasta "/var/www/html" e não da pasta "/var/www/", como seria o padrão.


# ALTERE PARA
ServerAdmin webmaster@localhost
DocumentRoot /var/www/


# REINICIAR O SERVIÇO APACHE2
# systemctl restart apache2 


### ACERTOS PHP.INI
# vim /etc/php/7.2/apache2/php.ini


### HABILITAR EXPREÇÃO CURTA "
short_open_tag = On


### TAG CURTA NO NetBeans
botao2 sobre o nome do projeto - Propriedades
guia Código-fonte
|x| Permitir tags curtas (


### OCULTAR MOSTRAR ERROS

de: display_errors = On
para: display_errors = Off

de: html_errors = On
para: html_errors = Off

de: error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
para: error_reporting = ~E_ALL & ~E_DEPRECATED & ~E_STRICT


### HABILITAR MOSTRAR ERROS

de: display_errors = Off
para: display_errors = On

de: html_errors = Off
para: html_errors = On

de: error_reporting = ~E_ALL & ~E_DEPRECATED & ~E_STRICT
para: error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT


No navegador de internet entre com o endereço na URL:
http://localhost
ou:
http://127.0.0.1


# RESTART

# systemctl start/stop/restart mysql.service
# systemctl restart apache2 


### TESTAR CONEXÃO PHP COM MySQL

#Arquivo: /var/www/texta_banco.php
------------

$host = "localhost";
$usuario = "mauro";
$senha = "123mudar";

      $conecta = mysqli_connect($host,$usuario,$senha);
          if (!$conecta){
                die('Impossivel conectar ao MySQL: ' . mysqli_error());
          }else{
                 echo "Conexao com MySQL estabelecida com sucesso!";
          }
      mysqli_close($conecta);
?>
------------

--- Abra o browser para testar
http://localhost/testa_banco.php

Conexao com MySQL estabelecida com sucesso!


#### CRIAR BANCO DE DADOS E USUARIO-COMUM E USUARIO-WEB

# CRIAR BANCO DE DADOS
CREATE DATABASE db_sigep DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;


# CRIAR UM USUARIO-DESENVOLVEDOR PARA O BANCO DE DADOS 'db_sigep'
# PERMISSAO: dados; estrutura
GRANT ALL ON db_sigep.* TO "sigep-dev"@"localhost" IDENTIFIED BY "123mudar";


# CRIAR UM USUARIO-WEB PARA O BANCO DE DADOS 'db_sigep'
# PERMISSAO: dados(select, insert, update)
GRANT ALL ON db_sigep.* TO "sigep-web"@"%" IDENTIFIED BY "123mudarweb";


### TRANSFERIR A PASTA DE HOSPEDAGEM DO SITE PARA O HD
# cd /var/www
# ls -lha

APAGAR PASTA 'html'
# rm -rf html

CRIAR UM LINK SIMBOLICO
# ln -s /home/hudson/hudson2019/odrive/site site

MUDAR PERMISSAO 'index.php' PARA SOMENTE LEITURA
# chmod 444 index.php

MUDAR DONO.GRUPO DO ARQUIVO 'testa_banco.php'
# chown hudson.hudson testa_banco.php

# BROWSER
http://localhost/site/testa_banco.php