Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

Install the MySQL Client

(This will be needed later).

Warning

If you are installing STORE on a machine which will contain the role DATA too, then do not install the default mysql client, as this will collide with MySQL. Instead, install the MySQL software first (see role DATA).


Code Block
apt-get -y install default-mysql-client lvm2

Create the Store with LVM

It is recommended to create the STORE machine without the disk for the storage being mounted by the installation routines. 

Useful Commands

The following commands are useful to see the current configuration of the machine,

Translations Ignore


Code Block
languagebash
# Show free space on existing devices
df -h

# Show drives
ls /dev/sd*

# Show partitions
fdisk -l

# Show partitions
ls /dev/sd*

# Re-scan the SCSI bus
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
...

# View physical volumes managed by LVM
lvm pvs

# Display logical volumes managed by LVM
lvm lvs

# Display logical volume groups managed by LVM
lvm vgs

# Where is what mounted
mount


Some of the information above may be required to complete installation.

It is important to know where the disk to be used is, and where the space is. 

Usually, we recommend adding a second disk drive to the machine for the storage. 

The following assumes that the disk was added as /dev/sdb on the machine, and is not yet partitioned. 

If this is not the case, or the drive is not /dev/sdb or the space was added to an existing partition, then the commands below will have to be (carefully) modified to take this into account.

Creation Steps

Create a Partition

Info

Partitioning is only required if there are multiple disks. If the machine has only one disk, then no partition must be created for the samba share. You can continue below at "Prepare Mount Point" in this case.


Translations Ignore


Code Block
languagebash
fdisk /dev/sdb
 
# --> Edit the partitions on /dev/sdb
 
n
# --> Create new partition
p
# --> New primary partition
1
# --> Create new partition 1 (view output at fdisk -1 above)
Enter
# --> Confirmation that the first available cylinder should be used
Enter
# --> Confirmation that the last available cylinder is to be used (gives the maximum size in total)
t
# --> Change partition type
8e
# --> Linux LVM
w
# --> When OK, write


Create LVM Physical Volume

This command creates a physical volume which can be managed by LVM.

The above commands will have created a partition /dev/sdb1. If you are working on a different partition, then modify accordingly.

Translations Ignore


Code Block
languagebash
lvm pvcreate /dev/sdb1


Create a Volume Group

This command creates a volume group called vg_jtelshared. The volume group can be expanded later, by adding more physical volumes. 

Translations Ignore


Code Block
languagebash
lvm vgcreate "vg_jtelshared" /dev/sdb1


Create a Logical Volume

Finally, a logical volume lv_jtelshared is created on the volume group which contains the aggregated space.

Translations Ignore


Code Block
languagebash
lvm lvcreate -l +100%FREE vg_jtelshared -n lv_jtelshared


Create File System

Now, the file system is created. Here we use xfsext4, though you can use something else if you really want.

Translations Ignore


Code Block
languagebash
mkfs.xfsext4 -L data /dev/vg_jtelshared/lv_jtelshared


Prepare Mount Point

The data should be mounted to the directory /srv/jtel/shared.

The following commands prepare for this:

Translations Ignore


Code Block
languagebash
mkdir /srv/jtel
mkdir /srv/jtel/shared shared 
chown -R jtel:jtel /srv/jtel


Add to fstab to Mount at Boot

The following adds a line to fstab to mount the file system at boot:

Translations Ignore


Code Block
languagebash
cat <<EOFF >> /etc/fstab
/dev/mapper/vg_jtelshared-lv_jtelshared /srv/jtel/shared        xfsext4     defaults 0   0
EOFF


Mount the File System

This also makes sure the ownership is correct:

Translations Ignore


Code Block
languagebash
mount /srv/jtel/shared
chown -R jtel:jtel /srv/jtel


Checks

Translations Ignore


Code Block
languagebash
df -h


This should show an entry for /srv/jtel/shared with the expected amount of free space.

Install and Configure Access to STORE

Install Samba

These commands install the samba server and client and lsof.

Note: if a popup selection screen comes asking whether you want the smb.conf modified, then just hit enter.

Translations Ignore


Code Block
dnfapt-get -y install samba samba-clientsmbclient lsof


Configure Samba

The following creates a samba configuration file with a minimum configuration.

Translations Ignore


Code Block
# SMB Conf
cat <<EOFF > /etc/samba/smb.conf
[global]
    workgroup = JTEL
    security = user
    passdb backend = tdbsam
    min protocol = SMB3SMB2
    reset on zero vc = yes
    ntlm auth = yes
[shared]
    comment = jtel ACD Shared Directory
    public = no
    read only = no
    writable = yes
    locking = yes
    path = /srv/jtel/shared
    create mask = 0644
    directory mask = 0755
    force user = jtel
    force group = jtel
    acl allow execute always = True
EOFF


Setup

SeLinux and

the Firewall

The following command sets up selinux for the smb service and opens the necessary ports in the firewall:

translations-ignore

Allow the ports required for SMB to work correctly:

Code Block
setsebool
ufw 
-P samba_enable_home_dirs=on samba_export_all_rw=on use_samba_home_dirs=on use_nfs_home_dirs=on firewall-cmd --zone=public --add-port=445/tcp --add-port=139/tcp --add-port=138/udp --add-port=137/udp --permanent firewall-cmd --reload
allow 445/tcp

Allow the ports required for SMB to work correctly on a specific ethernet interface:

Code Block
ufw allow in on eth1 to any port 445 proto tcp

Enable and Start Samba

The following commands setup the SMB and NMB services to autostart, and start them.

Translations Ignore


Code Block
systemctl enable nmbnmbd
systemctl enable smbsmbd
systemctl start nmbnmbd
systemctl start smbsmbd


Manually link /home/jtel/shared

Finally, link the /home/jtel/shared folder. 

Translations Ignore


Code Block
ln -s /srv/jtel/shared /home/jtel/shared


Setup Access to the Samba Server

jtel User Access

The following command creates the smb credentials for the jtel user.

Info

There is no need to create smb credentials for the jtel user on systems with only one linux machine, as there would be no other machines with a jtel user to connect to the share.


Status
colourRed
titleCaution Password

Translations Ignore


Code Block
printf '<password>\n<password>\n' | smbpasswd -a -s jtel


Further User Access

If necessary, add further users to samba - replacing password with the actual password for the user. Here, for example, the windows administrator user:

Status
colourRed
titleCaution Password

Translations Ignore


Code Block
useradd -m Administrator
printf '<password>\n<password>\n' | smbpasswd -a -s Administrator


Test the file mount

Finally, test the file mount from one of the other machines. Either by connecting to STORE, or by using the windows explorer to attach to \\acd-store\shared



Sv translation
languagede

Status
colourRed
titleTHIS PAGE IS ONLY AVAILABLE IN ENGLISH

Sv translation
languagefr

Installer le client MySQL

(Cela sera nécessaire plus tard).

Code Block
apt-get -y install default-mysql-client

Créez la magasin avec LVM

Il est recommandé de créer la machine MAGASIN sans que le disque de stockage soit monté par les routines d'installation. 

Commandes utiles

Les commandes suivantes sont utiles pour voir la configuration actuelle de la machine,

Translations Ignore


Code Block
languagebash
# Afficher l'espace libre sur les périphériques existantsdf -h# Afficher les disques /dev/sd*# Afficher les partitionsfdisk -l# Afficher les partitions /dev/sd*# Re-balayer le bus SCSI "- - -" > /sys/class/scsi_host/host0/scanecho "- - -" > /sys/class/scsi_host/host1/scanecho "- - -" > /sys/class/scsi_host/host2/scan...# Afficher les volumes physiques gérés par LVMlvm pvs# Afficher les volumes logiques gérés par LVMlvm lvs# Afficher les groupes de volumes logiques gérés par LVMlvm vgs# Où se trouve la monture


Certaines des informations ci-dessus peuvent être nécessaires pour terminer l'installation.

Il est important de savoir où se trouve le disque à utiliser, et où se trouve l'espace. 

En général, nous recommandons d'ajouter un deuxième lecteur de disque à la machine pour le stockage. 

Ce qui suit suppose que le disque a été ajouté en tant que /dev/sdb sur la machine, et n'est pas encore partitionné. 

Si ce n'est pas le cas, ou si le disque n'est pas /dev/sdb ou l'espace a été ajouté à une partition existante, alors les commandes ci-dessous devront être (soigneusement) modifiées pour en tenir compte.

Étapes de la création

Créer une partition


Translations Ignore


Code Block
languagebash
fdisk /dev/sdb # --> Modifier les partitions sur /dev/sdb n # --> Créer une nouvelle partition p # --> Nouvelle partition primaire 1 # --> Créer une nouvelle partition 1 (voir la sortie sur fdisk -1 ci-dessus) Entrer # --> Confirmer que le premier cylindre disponible doit être utilisé Entrer # --> Confirmer que le dernier cylindre disponible doit être utilisé (donne la taille maximale au total) t # --> Modifier le type de partition 8e # --> LVM Linux w # --> Quand c'est bon, écrire


Créer un volume physique de LVM

Cette commande crée un volume physique qui peut être géré par LVM.

Les commandes ci-dessus auront créé une partition /dev/sdb1. Si vous travaillez sur une autre partition, modifiez-la en conséquence.

Translations Ignore


Code Block
languagebash
lvm pvcreate /dev/sdb1


Créer un Group Volume

Cette commande crée un groupe de volumes appelé vg_jtelshared. Le groupe de volumes peut être étendu ultérieurement, en ajoutant d'autres volumes physiques. 

Translations Ignore


Code Block
languagebash
lvm vgcreate "vg_jtelshared" /dev/sdb1


Créer un volume logique

Enfin, un volume logique lv_jtelshared est créé sur le groupe de volume qui contient l'espace agrégé.

Translations Ignore


Code Block
languagebash
lvm lvcreate -l +100%FREE vg_jtelshared -n lv_jtelshared


Créer un système de fichiers

Maintenant, le système de fichiers est créé. Ici, nous utilisons ext4, mais vous pouvez utiliser autre chose si vous le souhaitez vraiment.

Translations Ignore


Code Block
languagebash
mkfs.ext4 /dev/vg_jtelshared/lv_jtelshared


Préparer le point de montage

Les données doivent être montées dans le répertoire /srv/jtel/shared.

Les commandes suivants s'y préparent :

Translations Ignore


Code Block
languagebash
mkdir /srv/jtel mkdir /srv/jtel/shared chown -R jtel:jtel /srv/jtel


Ajouter à la fstab de Monture en Boot

Ce qui suit ajoute une ligne à fstab pour monter le système de fichiers au démarrage :

Translations Ignore


Code Block
languagebash
cat <<EOFF >> /etc/fstab /dev/mapper/vg_jtelshared-lv_jtelshared /srv/jtel/shared ext4 defaults 0 0 EOFF


Monter le système de fichiers

Cela permet également de s'assurer que la propriété est correcte :

Translations Ignore


Code Block
languagebash
mount /srv/jtel/shared chown -R jtel:jtel /srv/jtel


Vérifications

Translations Ignore


Code Block
languagebash
df -h


Il devrait y avoir une entrée pour /srv/jtel/shared avec la quantité d'espace libre prévue.

Installer et configurer l'accès au MAGASIN

Installer SAMBA

Ces commandes installent le serveur et le client samba et lsof.

Note : si un écran de sélection popup vient vous demander si vous voulez modifier le smb.conf, alors appuyez simplement sur entrée.

Translations Ignore


Code Block
apt-get -y install samba smbclient lsof


Configurer Samba

Ce qui suit crée un fichier de configuration samba avec une configuration minimale.

Translations Ignore


Code Block
# SMB Conf cat <<EOFF > /etc/samba/smb.conf [global] workgroup = JTEL security = user passdb backend = tdbsam min protocol = SMB2 reset on zero vc = yes [shared] comment = jtel ACD Shared Directory public = no read only = no writable = yes locking = yes path = /srv/jtel/shared create mask = 0644 directory mask = 0755 force user = jtel force group = jtel acl allow execute always = True EOFF


Configurer le pare-feu

Permettre aux ports nécessaires au bon fonctionnement des SMB:

Code Block
ufw allow 445/tcp

Autoriser les ports nécessaires au bon fonctionnement de SMB sur une interface ethernet spécifique :

Code Block
ufw allow in on eth1 to any port 445 proto tcp

Activer et démarrer Samba

Les commandes suivantes permettent de configurer les services SMB et NMB pour un démarrage automatique, et de les démarrer.

Translations Ignore


Code Block
systemctl enable nmbd systemctl enable smbd systemctl start nmbd systemctl start smbd


Lien manuel /home/jtel/partagé

Enfin, liez le dossier /home/jtel/shared. 

Translations Ignore


Code Block
ln -s /srv/jtel/shared /home/jtel/shared


Configuration de l'accès au serveur Samba

accès des utilisateurs à jtel

La commande suivante crée les identifiants smb pour l'utilisateur jtel.

Status
colourRed
titleMot de passe de précaution

Translations Ignore


Code Block
printf '<password>\n<password>\n' | smbpasswd -a -s jtel 


Accès supplémentaire pour les utilisateurs

Si nécessaire, ajoutez d'autres utilisateurs à samba - en remplaçant password par le mot de passe réel de l'utilisateur. Ici, par exemple, l'utilisateur administrateur de Windows :

Status
colourRed
titleMot de passe de précaution

Translations Ignore


Code Block
useradd -m Administrator printf '<password>\n<password>\n' | smbpasswd -a -s Administrator 


Testerla monture de fichier

Enfin, testez le montage de fichiers depuis l'une des autres machines. Soit en se connectant à MAGASIN, soit en utilisant l'explorateur de Windows pour se connecter à \\acd-store\shared