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
output
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
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
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
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
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://www.server-world.info/en/note?os=Ubuntu_22.04&p=realmd