DBM1 Iabo1 dum - IlanRuiz/Cours-TechES GitHub Wiki

Prérequis

Nom Prérequis
Système de fichier 2go
RAM XFS ou EXT4
Stockage disque 6go
Vitesse processeur 2Ghz
Nombre coeurs processeur 2
Type processeur x64

https://learn.microsoft.com/fr-fr/sql/linux/sql-server-linux-setup?view=sql-server-2017#system

Configuration de base

Les machines ont été installées sur la version 17 pro de Vmware workstation.

Un routeur mikrotik est en place pour le réseau virtuel.

Schéma d'infrastructure

Réseau

Attribution d'une adresse IP pour la carte nat

sudo nano /etc/netplan/00-installer-config.yaml
sudo netplan apply

Validation

input

ping 8.8.8.8
ping google.ch

output

ubu@dbm1-lin-sqlsrv:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=15.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=128 time=20.2 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 15.909/18.053/20.197/2.144 ms
ubu@dbm1-lin-sqlsrv:~$ ping google.ch
PING google.ch (142.250.203.99) 56(84) bytes of data.
64 bytes from zrh04s16-in-f3.1e100.net (142.250.203.99): icmp_seq=1 ttl=128 time=15.7 ms
64 bytes from zrh04s16-in-f3.1e100.net (142.250.203.99): icmp_seq=2 ttl=128 time=11.7 ms
^C
--- google.ch ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 11.706/13.709/15.713/2.003 ms

Changement timezone

Appliquer le fuseau horraire adapté

sudo timedatectl set-timezone Europe/Zurich

Validation

input

date

output

ubu@dbm1-lin-sqlsrv:~$ date
Mon Jan 22 01:16:20 PM CET 2024

Installation SQL server

Se connecter avec un utilisateur ayant des droits admin (utilisation sudo ou SU)

Ajouter les clefs de dépot

curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list

Mettre à jour les dépots

apt-get update

Installer SQL server

apt-get install -y mssql-server

Configuration de base

Lancer la configuration de base du service

/opt/mssql/bin/mssql-conf setup

Choisir la version developer

Attribution d'un mdp du compte sa: Motd3Pa$$e

Par-feu

Ouvrir le port par défaut utilisé par le service (1433)

ufw allow 1433

Validation

input:

systemctl status mssql-server --no-pager

output:

ubu@dbm1-lin-sqlsrv:~$ sudo systemctl status mssql-server --no-pager
[sudo] password for ubu:
● mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-01-22 13:14:29 CET; 9min ago
       Docs: https://docs.microsoft.com/en-us/sql/linux
   Main PID: 872 (sqlservr)
      Tasks: 170
     Memory: 1.9G
        CPU: 20.203s
     CGroup: /system.slice/mssql-server.service
             ├─ 872 /opt/mssql/bin/sqlservr
             └─1103 /opt/mssql/bin/sqlservr

Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [66B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [75B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [96B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [100B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [71B blob data]
Jan 22 13:14:39 dbm1-lin-sqlsrv sqlservr[1103]: [124B blob data]
Jan 22 13:19:38 dbm1-lin-sqlsrv sqlservr[1103]: [75B blob data]
Jan 22 13:20:24 dbm1-lin-sqlsrv sqlservr[1103]: [156B blob data]
Jan 22 13:20:24 dbm1-lin-sqlsrv sqlservr[1103]: [195B blob data]
Jan 22 13:21:41 dbm1-lin-sqlsrv sqlservr[1103]: [71B blob data]

Microsoft SQL Server Management Studio

Installation

Récupérer l'exécutable sur le site de microsoft: https://aka.ms/ssmsfullsetup

Laisser le chemin d'installation par défaut

validation

input

image-20240125194119077

image-20240125194446770

output

image-20240125194516620

Ajout BD Adventurework

Serveur Linux sql

Téléchrager sur le serveur sql la base de donnée test Adventureworks sur le site de microsoft: https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2022.bak

Utiliser la commande wget

Déplacer le fichier .bak sous /var/opt/mssql/data/

Note: Passer en super user pour déplacer le fichier

Machine windows

Se connecter à la console sql sur windows

Préparer une nouvelle requet

image-20240125194232277

Exécuter la requet suivante pour importer la nouvelle base de donnée AdventureWorks

USE [master];
GO
RESTORE DATABASE [AdventureWorks2022]
FROM DISK = 'AdventureWorks2022.bak'
WITH
    MOVE 'AdventureWorks2022' TO '/var/opt/mssql/data/AdventureWorks2022.mdf',
    MOVE 'AdventureWorks2022_log' TO '/var/opt/mssql/data/AdventureWorks2022_log.ldf',
    FILE = 1,
    NOUNLOAD,
    STATS = 5;
GO

Domain Active Directory

Configuration du domain

Installation du service ADDS sur le serveur windows

Extrait du script d'installation en powershell

#
# Windows PowerShell script for AD DS Deployment
#

Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDnsDelegation:$false `
-DatabasePath "C:\Windows\NTDS" `
-DomainMode "WinThreshold" `
-DomainName "dbm.irs" `
-DomainNetbiosName "DBM" `
-ForestMode "WinThreshold" `
-InstallDns:$true `
-LogPath "C:\Windows\NTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath "C:\Windows\SYSVOL" `
-Force:$true

Promouvoir le serveur en contrôleur de domain

Ajouter un redirecteur DNS pour que les clients du LAN ai accès à internet

image-20240125195408690

Validation

input

connexion au compte administrateur du domain sur le serveur

output

C:\Users\Administrator>whoami
dbm\administrator

Joindre serveur linux au domain

Sur la machine Linux, appliquer la configuration réseaux requis pour pouvoir interroger le serveur DNS de l'AD.

network:
  ethernets:
    ens33:
      addresses:
      - 192.168.6.150/24
      gateway4: 192.168.6.2
      nameservers:
        addresses: [192.168.6.151]
        search: [dbm.local]
  version: 2

Sur l'AD, ajouter les enregistrement DNS requis requis pour la machine linux

image-20240325111147197

image-20240325111212475

Effectuer un ping des points suivant pour valider la configuration

ping dbm.local
ping srvad.dbm.local
nslookup 192.168.6.151

Installer les parquets requis pour joindre le domain

sudo apt-get install realmd krb5-user software-properties-common python3-software-properties packagekit
sudo apt-get install adcli libpam-sss libnss-sss sssd sssd-tools

Entrer le nom du realm en majuscule

Vérifier dans le fichier /etc/krb5.conf que les informations sont correcte

Faire un realm discover pour valider

ubu@srvdbm:~$ realm discover dbm.local
dbm.local
  type: kerberos
  realm-name: DBM.LOCAL
  domain-name: dbm.local
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin
  login-formats: %[email protected]
  login-policy: allow-realm-logins
ubu@srvdbm:~$

Changer le nom d'hote de la machine linux en ajouter le nom de domaine

sudo hostname srvdb.dbm.local

Joindre le domaine

sudo realm join dbm.local -U '[email protected]' -v

Informations côté AD

image-20240325111928546

Sources

https://learn.microsoft.com/fr-fr/sql/linux/sql-server-linux-release-notes-2022?view=sql-server-2017

https://learn.microsoft.com/fr-fr/sql/linux/sql-server-linux-setup?view=sql-server-2017#system

https://learn.microsoft.com/fr-fr/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver16&preserve-view=true&tabs=ubuntu2204#install

https://learn.microsoft.com/fr-fr/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017

https://learn.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms

https://www.server-world.info/en/note?os=Ubuntu_22.04&p=realmd