bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
vagrant_dotnet

Creació d'una màquina Vagrant per desenvolupar aplicacions de .NET en Ubuntu

Es proposa crear una màquina Vagrant per poder provar la instal·lació i funcionament d'un entorn de desenvolupament d'aplicacions de .NET en un sistema operatiu Ubuntu 20.

Introducció

Els darrers anys, Microsoft ha obert la porta per poder instal·lar l'entorn de desenvolupament de .NET en sistemes no Windows. Per fer-ho possible, es va crear un framework paral·lel a .NET anomenat .NET Core.

En les darreres versions .NET segueix ja la filosofia multiplataforma de .NET Core, i desapareix la distinció entre els dos frameworks.

Els elements mínims que necessitem són:

  • Una instal·lació de .NET que ens permetrà desenvolupar aplicacions web de servidor amb el framework ASP.NET Core.
  • Un servidor de base de dades SQL Server.

EXERCICI 1: Creació de la màquina Vagrant, instal·lació de SQL Server i prova de connexió

Per resoldre l'exercici s'ha de tenir uns fonaments per treballar amb l'eina Vagrant. Pots consultar aquesta pàgina

  1. Crea una maquina Vagrant. Configura el Vagrantfile amb les característiques següents:
    • imatge d'Ubuntu Focal.
    • La maquina del VirtualBox s’anomenarà AspNetCore.
    • Redirigeix el port 1433 al port 1433 de la màquina host (el farà servir el servidor de BDD SQL Server).
    • Redirigeix el port 8080 al port 8080 de la màquina host (serà el port on es visualitzarà l'aplicació web).
    • Xarxa pública.
    • 2 GB de RAM (és el requisit mínim de SQL Server).
  2. Arranca la màquina AspNetCore i instal·la el servidor de base de dades SQL Server 2019:
    • Segueix les instruccions de la pàgina oficial.
      • Important: el password té requisits de seguretat. Pot servir aquest: P@ssw0rd
    • No és necessari instal·lar les eines de terminal (command-line tools).
    • Tampoc és necessari fer les proves que hi ha a continuació.
      • Ens connectarem d'una altra manera, per entorn gràfic des de la màquina host.
    • Instal·la en la màquina host l'eina DBeaver.
      • Crea una connexió a SQL Server. Per defecte es connecta a localhost, port 1433
      • Com que hem redirigit el port de la màquina virtual, en realitat es connectarà al servidor de la màquina Vagrant.
        • Comprova que la connexió és correcta.
        • Prova d'executar aquest script amb DBeaver: bibliotecacreate.zip
        • Et crearà una BDD amb llibres i autors, relacionats per una Foreign Key (el llibre té un autor).
        • Prova de crear llibres i autors de prova a través de la interfície gràfica de DBeaver. Veuràs que el seu funcionament és prou intuitiu.


EXERCICI 2: Instal·lació de l'entorn de .NET en la màquina Vagrant

  1. Es tracta de realitzar, en la mateixa màquina de l'exercici anterior, la instal·lació de l'entorn de .NET per Ubuntu:
    • Segueix les instruccions de la pàgina oficial.
      • Instal·la l’SDK (software development kit) de .NET per la nostra versió d’Ubuntu.
      • Instal·la també el Runtime (instància en temps d'execució) d'ASP.NET Core.
    • Com a comprovació de la instal·lació, executa la comanda:
       $ dotnet --info
  2. Crea un projecte ASP.NET MVC i visualitza la pàgina d'inici des de la màquina host. Passos a seguir:
    • Situa't en el terminal de la màquina vagrant.
      • Crea un directori de treball que es digui per exemple Projects.
      • Situa't amb el terminal en la nova carpeta.
      • Per crear un projecte ASP.NET MVC, executa la comanda
         $ dotnet new mvc --auth Individual --use-local-db true -o projecte1
      • Se'ns crea un directori amb el nom que li hem posat al projecte.
        • Situa't amb el terminal en el directori del projecte.
      • Per arrancar el projecte, disposem de la comanda
         $ dotnet run
        • Ens falta dir-li que arranqui pel port 8080
          • Es deixa com a exercici cercar informació per resoldre-ho.
          • Una possible solució és afegir una opció –urls a la comanda dotnet run, indicant el port 8080
      • Prova de connectar-te des del navegador de la màquina host
        http://localhost:8080/
        • S'ha de veure la pàgina d'inici de l'aplicació ASP.NET
        • Si no pots connectar-te, segurament serà perquè cal habilitar les connexions remotes.
          • Podem fer-ho també amb l'opció –urls de la comanda dotnet run


EXERCICI 3: Automatitzar les instal·lacions en el Vagrantfile

Es demana modificar el Vagrantfile de l’exercici 1 perquè les instal·lacions de SQL Server i .NET s’efectuen com un script quan fem el vagrant up (Shell Provisioner de Vagrant).

  1. La instal·lació de SQL Server ha de ser desatesa.
    • En l'exercici 1 vam executar una comanda per configurar el servidor, on ens demanava introduir per terminal (2 cops) la contrasenya de l'administrador del servidor, usuari SA
      • Ara hem d'executar la comanda d'una manera diferent, perquè el password de l'administrador estigui escrit en la comanda del Shell Provisioner.
      • Consulta la documentació oficial per veure com podem fer-ho.
    • Per altra banda, el més correcte seria definir el password com un paràmetre o variable al començament de l'script, i incrustar el valor de la variable en la comanda on es configura el password.
      • Ho podem aconseguir definint el password com una variable del terminal de Linux.
  2. Un cop instal·lat SQL Server, copia a continuació les instruccions per instal·lar l'entorn de .NET que has provat en l'exercici 2.
    • És important que tot l'script de la shell quedi degudament estructurat amb comentaris per indicar què s'està fent en cada moment.


Com en qualsevol framework MVC actual, en ASP.NET disposem d'un sistema de rutes (les peticions HTTP s'enruten a un mètode d'un controlador), un ORM (Entity Framework) i un motor de plantilles (Razor).

Si voleu ampliar informació sobre el framework ASP.NET:


vagrant_dotnet.txt · Darrera modificació: 2022/07/05 14:32 per francisco_ramon_peralta_llorens