segunda-feira, 7 de dezembro de 2015

PHP, IIS e MySQL juntos na rede caseira

IIS Internet Information Server 7, incluído no Windows 7
PHP 7.0.0
MySQL 5.7.9

Instalar MySQL

Baixar MySQL

http://dev.mysql.com/downloads/mysql/
Escolhi installer on line (dá para 32/64 bit).
download Windows (x86,32-bit), MySQL Installer MSI (mysql-installer-web-community-5.7.9.0.msi)

Instalar MySQL

só seguir padrão proposto do instalador
sem alterar pasta de instalação (default)
Develolper Default
type and Networking:
Config Type: Development Machine (default)
TCP/IP port Number: 3306 (default)
digitar 2 vezes senha root, não adicionar usuário agora
Configure MySQL Server as a Windows Service checado (default)
Windows Service Name: MySQL57 (default)
Start the MySQL Server at System Startup checado (default)
Standard System Accout selecionado (default)
clicar Execute

Uso de gerenciador de MySQL

Particularmente uso gerenciador HeidiSQL.
Só baixar e instalar, pode criar uma nova conexão 'local server' e conectar root e senha digitada na instalação MySQL.
Pode utilizar qualquer gerenciador ou não utilizar.

Acessar MySQL do servidor de outro computador remoto na rede privada caseira

liberar firewall

Controle Panel - System and Security - Windows Firewall - Allow a program through Windows Firewall
verificar se está checada MySQL57 da coluna Home/Work(Private), e quando clicar Details... a porta 3306 TCP está aberta

Criar um usuário não root que possa conectar de qualquer computador da rede privada

conectar MySQL root
grant all privileges on *.* to nomeDoUsuario@"192.168.0.%" identified by 'senhaDoUsuario' with grant option;
Precisa MySQL e/ou gerenciador instalado no outro computador remoto.

Acessar serviço web do servidor de outro computador na rede privada

abrir firewall para serviço web da rede privada
Controle Panel - System and Security - Windows Firewall - Allow a program through Windows Firewall
Clicar Change Settings
checar World Wide Web Services (HTTP) e também na coluna Home/Work(Private) -> OK

Testar tudo junto

Criar database e tabela MySQL para teste

CREATE DATABASE jantar;
USE jantar;
CREATE TABLE alimento (
 id INT UNSIGNED NOT NULL,
 nome VARCHAR(20) NOT NULL,
 PRIMARY KEY (id)
);
INSERT INTO alimento (id, nome) VALUES 
 (1, 'arroz'),
 (2, 'feijao');

Criar página PHP para teste

http://php.net/manual/en/pdo.connections.php
mostra código que pode testar conexão.
salvar como teste.php, e colocar na pasta inetpub\wwwroot
<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=jantar', 'root',
        'senhaRoot');
    foreach($dbh->query('SELECT * from alimento') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

Testar no próprio servidor

acessar http://localhost/test.php no browser e ver se mostra conteúdo da tabela.

Testar da outra máquina da rede privada

verificar endereço IP do servidor
Network and Sharing Center - Local Area Connection - Details... e anotar IPv4 Address (ex. 192.168.0.15)
digitar http://192.168.0.15/test.php no browser e ver se mostra conteúdo da tabela.

Nenhum comentário:

Postar um comentário