CIn/UFPE
Sistemas de Informação Redes de Computadores Professor: Kelvin Lopes Dias Monitor: Edson Adriano Maravalho Avelar
{kld,eama}@cin.ufpe.br
Instalando o APACHE, PHP (PHPADMIN), MySQL.
Este tutorial irá mostrar como instalar um servidor de WEB (Apche, PHP e MySQL) no linux. Para isso, foi utilizado uma máquina virtual com Ubuntu 12.04 rodando em um hospedeiro também com Ubuntu 12.04. Antes de iniciar a instalação é necessário verificar se o hospedeiro consegue se comunicar com a máquina virtual e se esta tem livre acesso à internet.
Para isso, basta configurar a interface de rede da máquina virtual em modo bridge e associar a interface física do hospedeiro que fornece acesso à internet. A Figura 1, mostra um exemplo de configuração.
Figura 1. Configuração de rede da VM
Passos Preliminares: Acessando a máquina virtual via ssh.
Primeiramente, acesse a máquina virtual diretamente pelo virtualbox. Verifique se ela está conectada à Internet. Exemplo:
ping 8.8.8.8
Antes de instalar qualquer pacote em um sistema linux, sempre atualize o repositório. sudo apt-get update
com o servidor ssh previamente instalados.
sudo apt-get install openssh-server
Feito isso, a máquina virtual está quase pronta. Agora precisamos saber qual o IP dela. ifconfig
A Figura 2, mostra a saida do ifconfig destacando a interface que está conectada à interface e que pode ser alcançada pelo host. Neste caso, o IP é 192.168.1.19
Figura 2 – Saída do ifconfig
Agora, minimize a máquina virtual pois não vamos mais acessá-la diretamente. Abra um terminal no hospedeiro. E digite o comando abaixo, substituindo o
nome_do_usuario pelo nome do usuário da sua máquina virtual e o ip_da_maquina_virtual pelo IP obtido no seu ifconfig exemplificado na Figura 2.
ssh -X nome_do_usuario@ip_da_maquina_virtual
O “-X” significa que você poderá requisitar interfaces gráficas da máquina remota. Como por exemplo, acessar o fiferox da máquina remota.
Após rodar o ssh, ele perguntará se você realmente quer acessar esta máquina remota. Digite “yes” e depois enter.
Figura 3. Comando SSH
Em seguida pedirá a senha do usuário remoto. Digite sua senha e confirme.
Figura 4. ssh requisitando senha de usuário. Se tudo der certo, você estará dentro da máquina virtual. A Figura
Figura 5. Acesso à máquina remota concedido .
Agora vamos para o que interessa. Instalar o servidor WEB. Todos os comandos abaixo deverão ser executado pelo terminal que está contectado remotamente à máquina virtual.
Passo 1: Instalar o APACHE
Esclarecimento: É possível instalar o Apache, PHP e MySQL usando os frameworks lamp, xamp ou wamp. Porém, é melhor saber instalar cada um separadamente, pois é possível que o usuário ou cliente queira um banco PostgreSQL, ou ASP ao invés de PHP etc.
Primeiro vamos instalar o apache: sudo apt-get install apache2
Após instalar o apache, o servidor web é automaticamente inicializado e se você acessar o IP da máquina virtual no browser do hospedeiro, poderá acessar a página web do servidor. Como mostra a FIgura 6.
acessada polo hospedeiro.
Passo 2: Instalar o MySQL e PHP
Depois vamos instalar o MySQL e PHPsudo apt-get install mysql-server php5 libapache2-mod-php5 php5-mysql O MySQL pedirá uma senha para o root. Cria um senha segura e não esqueça dela, ela será necessária depois.
Como estou testando criei uma senha qualquer. Minha senha: mysql1234
Agora vamos dar permissão de escrita para pasta onde ficam as páginas web do apache. Em sequida, reiniciamos o serviço.
sudo chmod 0777 -R /var/www/ sudo service apache2 restart
Para testar se o PHP está funcionando. Execute o comando abaixo para criar o arquivo info.php
nano /var/www/info.php
Preencha o arquivo com as linhas abaixo: <?php
print_r(phpinfo()); ?>
Execute os comandos “CTRL + O”(SALVAR) depois CTRL + X (SAIR).
Agora, acesse no browser do seu host o IP da máquina virtual junto com o caminho para o arquivo info.php. O resultado é mostrado na Figura 7.
Figura 7. Informações do PHP Passo 3: Instalar o PHPMyADMIN
Para isso basta executar o comando: sudo apt-get install phpmyadmin
Na tela de configuração mostrado na Figura 8, escolha apache2 como servidor web.
Figura 8. Escolhendo o servidor WEB
Na próxima tela, mostrado na Figura 9, selecione sim (yes) e confirme.
Figura 9. Configuração do banco de dados
Na tela apresentada na Figura 10, digite a senha do administrador do banco de dados configurada no PASSO 2.
Figura 10. Senha do administrado do banco de dados MySQL. Informe a senha do phpmyadmin. Esta pode ser qualquer senha. Por praticidade, vou colocar a mesma do administrador MySQL. As Figuras 11 e 12 mostram esse processo.
Figura 11. Senha para o PHPMYADMIN se registrar no banco.
Agora, vamos criar um link simbólico da pasta do phpmyadmin apontando para dentro da pasta web do servidor apache.
ln -s /usr/share/phpmyadmin /var/www reiniciando o serviço do apache. sudo service apache2 restart
Agora, vamos acessar o phpmyadmin se tudo está funcionando como deveria.
Figura 13. Tela Inicial do PHPMyADMIN
Passo 4: Criando um sistema de cadastro de usuário com PHP e MySQL Vá no phpmyadmin e clique em “bando de dados” (primeira aba). Em “criar um novo bando de dados” escreva um nome para o banco. A Figura 14 mostra a criação de um novo banco chamado “usuarios”.
Figura 14. Criando um novo banco.
Na aba da esquerda, aparecerá o novo banco criado. Clique nele e depois clique na aba SQL, ao lado da aba “Estrutura”
Copie para o campo vazio o código em SQL abaixo: Create table clientes (
ID Int UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, login Varchar(30),
senha Varchar(40), Primary Key (ID) )
ENGINE = MyISAM;
Clique em executar. Pronto! Sua tabela de usuários foi criada. Agora vamos criar o formulario de cadastro.
Execute os seguintes, substituindo o “adriano.com”, pelo nome do seu site. mkdir /var/www/adriano.com
nano /var/www/adriano.com/cadastro.html
<html> <head>
<title> Cadastro de Usuário </title> </head>
<body>
<div align="center">
<form method="POST" action="cadastro.php">
<label>Login:</label><input type="text" name="login" id="login"><br>
<label>Senha:</label><input type="password" name="senha" id="senha"><br> <input type="submit" value="Cadastrar" id="cadastrar" name="cadastrar"> </form>
</div> </body> </html>
Vamos criar o cadastro.php para se comunicar com o banco e cadastrar o usuário.
nano /var/www/adriano.com/cadastro.php
E insira o conteúdo abaixo. Veja as linhas destacadas, coloque as informações de acordo com as configurações que você colocou em seu banco.
<?php
$login = $_POST['login'];
$senha = MD5($_POST['senha']);
$connect = mysql_connect('127.0.0.1','root','mysql1234'); $db = mysql_select_db('usuarios');
$query_select = "SELECT login FROM clientes WHERE login = '$login'";
$select = mysql_query($query_select,$connect); $array = mysql_fetch_array($select);
$logarray = $array['login'];
if($login == "" || $login == null){
echo"<script language='javascript' type='text/javascript'>alert('O campo login deve ser preenchido');window.location.href='cadastro.html';</script>"; }else{
if($logarray == $login){
echo"<script language='javascript' type='text/javascript'>alert('Esse login já existe');window.location.href='cadastro.html';</script>";
die(); }else{
$query = "INSERT INTO clientes (login,senha) VALUES ('$login','$senha')";
$insert = mysql_query($query,$connect);
if($insert){
echo"<script language='javascript' type='text/javascript'>alert('Usuário cadastrado com sucesso!');window.location.href='login.html'</script>"; }else{
echo"<script language='javascript'
type='text/javascript'>alert('Não foi possível cadastrar esse usuário');window.location.href='cadastro.html'</script>"; }
} } ?>
Vamos criar a tela de login. Esta é semelhante à tela de cadastro. var/www/adriano.com/login.html
Preencha com as informações abaixo: <html>
<head>
<title> Login de Usuário </title> </head>
<body>
<form method="POST" action="login.php">
<label>Login:</label><input type="text" name="login" id="login"><br> <label>Senha:</label><input type="password" name="senha"
id="senha"><br>
<input type="submit" value="entrar" id="entrar" name="entrar"><br> <a href="cadastro.html">Cadastre-se</a>
</form> </body> </html>
Agora vamos criar o login.php para validar o login digitado pelo usuário. nano /var/www/adriano.com/login.php
Insira as informações abaixo, lembrando de modificar as linhas destacadas caso suas informações do banco sejam diferentes:
<?php $login = $_POST['login']; $entrar = $_POST['entrar']; $senha = md5($_POST['senha']); $connect = mysql_connect('127.0.0.1','root','mysql1234'); $db = mysql_select_db('usuarios'); if (isset($entrar)) {
= '$login' AND senha = '$senha'") or die("erro ao selecionar"); if (mysql_num_rows($verifica)<=0){
echo"<script language='javascript' type='text/javascript'>alert('Login e/ou senha
incorretos');window.location.href='login.html';</script>"; die(); }else{ setcookie("login",$login); header("Location:index.php"); } } ?>
Por fim, vamos criar a página principal do nosso site de login. nano /var/www/adriano.com/index.php Conteúdo: <?php $login_cookie = $_COOKIE['login']; if(isset($login_cookie)){ echo"Bem-Vindo, $login_cookie <br>";
echo"Essas informações <font color='red'>PODEM</font> ser acessadas por você";
}else{
echo"Bem-Vindo, convidado <br>";
echo"Essas informações <font color='red'>NÃO PODEM</font> ser acessadas por você";
echo"<br><a href='login.html'>Faça Login</a> Para ler o conteúdo"; }
?>