Giter VIP home page Giter VIP logo

servidorsri's Introduction

ServidorSRI

Para crear un repositorio en github vamos a github y creamos un repositorio, hacemos

git init 

en la carpeta raiz del proyectyo

git add archivo

de los archivos que queramos subir

git commit -m "name"

con el nombre del commit

git add remote url 

la url te la dan al iniciar el repositorio desde github

git push -u origin master

para subir los archivos a la rama master de tu repositorio en github


Y ya tenemos el repositorio creado con los archivos que añadamos en el git add

lo primero que tendremos que crear sera el readme seguido de nustras carpetas y el docker-compose.yml

Para configurar el docker-compose.yml le ponemos la imagen el nombre y mapeamos los volumenes y los puertos

docker-compose.yml

para mapear el document root tenemos que darle a la carpeta /usr/local/apache/htdocs una carpeta local

para hacer un hola mundo necesitamos hacer un index.php en la carpeta local que hayamos mapeado en el docker-compose.yml, por lo que haremos el index en la carpeta /Servidor/Pagina1

en el index.php escribiremos lo siguiente

<?php
echo "hola mundo"
?>

y para hacer uso de la opcion phpinfo() haremos otro documento llamado info.php y escribiremos lo siguiente

<?php
    phpinfo();
?>

para acceder a la pagina de info.php tendremos que ir a la pagina localhost:puerto/info.php


DNS

lo primero que hay que hacer es meter en el docker-compose un servidor dns de bind9, para ello copiaremos los archivos de la practica anterior y los modificaremos para que tanto oscuras.fabulas.com como brillantes.fabulas.com nos redireccione a la ip del apache que le pondremos luego, tambien tendremos que crear una red para los contenedores, para crear la red tendremos que poner al final del docker-compose lo siguiente

networks:
  trabajo-servidor:
    external: true

una vez creada la red podemos crear el bind9 en el docker compose, para ello le añadiremos lo siguiente en servicios

 bind9:
    container_name: asir_bind9
    image: internetsystemsconsortium/bind9:9.18
    volumes:
      - ./DNS:/etc/bind
      - ./DNS/zonas:/var/lib/bind
    networks:
      trabajo-servidor:
        ipv4_address: 172.29.0.101

le pongo esa ip ya que la red tiene el rango de ips 172.29.0.0/16

Despues hay que crear un contenedor de firefox para poder visualizar luego los cambios que hagamos, para ellos añadimos al docker-compose lo siguiente creando un nuevo contenedor

firefox:
    image: jlesage/firefox
    container_name: asir-firefox
    ports:
      - '5800:5800'
    volumes:
      - ./firefox:/config:rw
    dns:
      - 172.29.0.101 
    networks:
      trabajo-servidor:
        ipv4_address: 172.29.0.58 

y les vamos cambiando las ips a los contenedores que ya tenemos, al servidor apache le dare la ip 172.29.0.80, con los puertos 80 y 8000 para acceder a las distintas webs, por lo que el servicio de apache nos queda de la siguiente manera

apache:
    image: php:7.4-apache
    container_name: asir_servidor_apache
    ports:
      - '8000:8000'
      - '80:80'
    volumes:
      - ./Servidor:/var/www/html
      - ./Servidor/ConfApache:/etc/apache2
    dns:
      - 172.29.0.101 
    networks:
      trabajo-servidor:
        ipv4_address: 172.29.0.80 
 

para que el DNS funcione hay que configurarlo, donde lo hayamos mapeado tendremos que crear el archivo named.conf, y le haremos los includes de named.conf.local y named.conf.options, en el local añadiremos lo siguiente

zone "fabulas.com." {
        type primary;
        file "/var/lib/bind/db.fabulas.com";
        notify explicit;
};

en el options le escribiremos lo siguiente

options {

    directory "/var/cache/bind";

    forwarders {
        8.8.8.8;
        4.4.4.4;
    };
    forward only;
    listen-on { any; };
    listen-on-v6 { any; };
    allow-query { 
        any; 
    };
};

y luego en la otra carpeta que mapeamos, la de zonas tendremos que poner lo siguiente

$TTL    3600
@       IN      SOA     ns.fabulas.com. ssanjuanandres.danielcastelao.org. (
                   2022161101           ; Serial
                         3600           ; Refresh [1h]
                          600           ; Retry   [10m]
                        86400           ; Expire  [1d]
                          600 )         ; Negative Cache TTL [1h]
;
@       IN      NS      ns.fabulas.com.
@       IN      MX      10 ssanjuanandres.danielcastelao.org.

ns      IN      A       172.29.0.101
oscuras    IN      A       172.29.0.80
brillantes	IN	A	172.29.0.80


pop     IN      CNAME   ns
www     IN      CNAME   etch
mail    IN      CNAME   etch

servidorsri's People

Contributors

samuelsanjuan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.