quarta-feira, 26 de junho de 2019

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



Um comentário:

HuDSON disse...

Versão PHP7.4
=============

apt install php7.4-fpm php7.4-mysql php7.4-common php7.4-json php7.4-cli php7.4-curl libapache2-mod-php7.4 libcurl4

a2enmod php7.4
systemctl restart apache2

apt install php7.4-mbstring php7.4-gettext phpmyadmin