install
This commit is contained in:
@@ -11,7 +11,7 @@ echo "==== system essential"
|
||||
sudo apt -y install build-essential openssl git pkg-config redis supervisor sqlitebrowser samba-client cifs-utils gettext
|
||||
|
||||
echo "==== python3 install"
|
||||
sudo apt -y install python3-dev python3-pip python3-venv default-libmysqlclient-dev libmariadb-dev libpq-dev python3-picamera2
|
||||
sudo apt -y install python3-dev python3-pip python3-venv libpq-dev default-libmysqlclient-dev libmariadb-dev python3-picamera2
|
||||
|
||||
echo "==== supervisor http access login:pass => root:toor"
|
||||
sudo cp supervisor-inet_http.conf /etc/supervisor/conf.d/
|
||||
@@ -5,7 +5,7 @@ sudo apt install libprotobuf-dev protobuf-compiler
|
||||
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
source .cargo/env
|
||||
source $HOME/.cargo/env
|
||||
cargo --version
|
||||
rustc --version
|
||||
cargo install reductstore
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script d'installation et de configuration d'un client Samba sur Raspberry Pi 4 (Debian Trixie)
|
||||
|
||||
# Mise à jour des paquets
|
||||
echo "[1/5] Mise à jour des paquets..."
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
|
||||
# Installation des paquets nécessaires (client Samba et outils de montage)
|
||||
echo "[2/5] Installation des paquets nécessaires..."
|
||||
sudo apt install -y cifs-utils smbclient
|
||||
|
||||
# Création du point de montage pour le partage distant
|
||||
echo "[3/5] Création du point de montage..."
|
||||
sudo mkdir -p /mnt/samba/public
|
||||
sudo mkdir -p /mnt/samba/secure
|
||||
|
||||
# Demande des informations de connexion au partage Samba
|
||||
read -p "Adresse IP ou nom d'hôte du serveur Samba (ex: 192.168.1.10) : " samba_server
|
||||
read -p "Nom du partage public (ex: public) : " public_share
|
||||
read -p "Nom du partage sécurisé (ex: secure) : " secure_share
|
||||
read -p "Nom d'utilisateur Samba (laissez vide si partage public uniquement) : " samba_user
|
||||
if [ -n "$samba_user" ]; then
|
||||
read -s -p "Mot de passe de l'utilisateur Samba : " samba_password
|
||||
echo
|
||||
fi
|
||||
|
||||
# Configuration des identifiants Samba (pour le partage sécurisé)
|
||||
if [ -n "$samba_user" ]; then
|
||||
echo "[4/5] Configuration des identifiants pour le partage sécurisé..."
|
||||
sudo bash -c "echo 'username=$samba_user' > /etc/samba/credentials"
|
||||
sudo bash -c "echo 'password=$samba_password' >> /etc/samba/credentials"
|
||||
sudo chmod 600 /etc/samba/credentials
|
||||
fi
|
||||
|
||||
# Configuration du montage automatique dans /etc/fstab
|
||||
echo "[5/5] Configuration du montage automatique dans /etc/fstab..."
|
||||
# Sauvegarde du fichier fstab existant
|
||||
sudo cp /etc/fstab /etc/fstab.bak
|
||||
|
||||
# Ajout des lignes pour monter les partages Samba
|
||||
if [ -n "$samba_user" ]; then
|
||||
# Montage du partage sécurisé
|
||||
sudo bash -c "echo '//$samba_server/$secure_share /mnt/samba/secure cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,file_mode=0770,dir_mode=0770 0 0' >> /etc/fstab"
|
||||
fi
|
||||
|
||||
# Montage du partage public (sans authentification)
|
||||
sudo bash -c "echo '//$samba_server/$public_share /mnt/samba/public cifs guest,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0' >> /etc/fstab"
|
||||
|
||||
# Montage des partages
|
||||
echo "Montage des partages Samba..."
|
||||
sudo mount -a
|
||||
|
||||
# Vérification du montage
|
||||
echo "Vérification des partages montés :"
|
||||
df -h | grep samba
|
||||
|
||||
echo "Installation et configuration du client Samba terminées !"
|
||||
echo "Les partages sont montés dans /mnt/samba/public et /mnt/samba/secure."
|
||||
|
||||
Executable
+76
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script d'installation et de configuration de MariaDB
|
||||
# Utilisation : source mariadb_config.sh && ./install_mariadb.sh
|
||||
|
||||
|
||||
ENV_FILE="../test_tube_scanner/.env"
|
||||
source $ENV_FILE
|
||||
|
||||
# Vérifie que le fichier de configuration est sourcé
|
||||
if [ -z "$DATABASE_ROOT_PASSWORD" ] || [ -z "$DATABASE_NAME" ] || [ -z "$DATABASE_USER" ] || [ -z "$DATABASE_PASSWORD" ]; then
|
||||
echo "Erreur : Les variables de configuration ne sont pas définies."
|
||||
echo "Sourcez le fichier de configuration avant d'exécuter ce script :"
|
||||
echo " source mariadb_config.sh && ./install_mariadb.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Mise à jour des paquets
|
||||
echo "[1/6] Mise à jour des paquets..."
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
|
||||
# Installation de MariaDB
|
||||
echo "[2/6] Installation de MariaDB..."
|
||||
sudo apt install -y mariadb-server
|
||||
|
||||
|
||||
# Sécurisation de MariaDB (désactive l'accès root à distance, supprime les bases de test, etc.)
|
||||
echo "[3/6] Sécurisation de MariaDB..."
|
||||
sudo mariadb_secure_installation <<EOF
|
||||
|
||||
n
|
||||
y
|
||||
$DATABASE_ROOT_PASSWORD
|
||||
$DATABASE_ROOT_PASSWORD
|
||||
y
|
||||
y
|
||||
y
|
||||
y
|
||||
EOF
|
||||
|
||||
# Création de la base de données, de l'utilisateur et attribution des droits
|
||||
echo "[4/6] Configuration de la base de données '$DATABASE_NAME' et de l'utilisateur '$DATABASE_USER'..."
|
||||
sudo mariadb -u root -p"$DATABASE_ROOT_PASSWORD" <<EOF
|
||||
CREATE DATABASE IF NOT EXISTS $DATABASE_NAME;
|
||||
CREATE USER IF NOT EXISTS '$DATABASE_USER'@'localhost' IDENTIFIED BY '$DATABASE_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON $DATABASE_NAME.* TO '$DATABASE_USER'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
|
||||
# Autoriser l'accès à distance (optionnel, si nécessaire)
|
||||
# Remplace '%' par une IP spécifique pour plus de sécurité
|
||||
echo "[5/6] Autorisation de l'accès à distance pour '$DATABASE_USER' (optionnel)..."
|
||||
sudo mariadb -u root -p"$DATABASE_ROOT_PASSWORD" <<EOF
|
||||
CREATE USER IF NOT EXISTS '$DATABASE_USER'@'%' IDENTIFIED BY '$DATABASE_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON $DATABASE_NAME.* TO '$DATABASE_USER'@'%';
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
|
||||
# Redémarrage du service MariaDB
|
||||
echo "[6/6] Redémarrage du service MariaDB..."
|
||||
sudo systemctl restart mariadb
|
||||
sudo systemctl enable mariadb
|
||||
|
||||
# Vérification du statut
|
||||
echo "Statut du service MariaDB :"
|
||||
sudo systemctl status mariadb --no-pager
|
||||
|
||||
# Affichage des informations de connexion
|
||||
echo ""
|
||||
echo "=== Configuration terminée ==="
|
||||
echo "Base de données : $DATABASE_NAME"
|
||||
echo "Utilisateur : $DATABASE_USER"
|
||||
echo "Mot de passe : $DATABASE_PASSWORD"
|
||||
echo ""
|
||||
echo "Pour te connecter à MariaDB :"
|
||||
echo " mariadb -u $DATABASE_USER -p$DATABASE_PASSWORD $DATABASE_NAME"
|
||||
Executable
+81
@@ -0,0 +1,81 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script d'installation d'Adminer avec Nginx (sans Apache) + détection automatique de PHP
|
||||
|
||||
# Mise à jour des paquets
|
||||
echo "[1/6] Mise à jour des paquets..."
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
|
||||
# Installation de Nginx et PHP-FPM (avec détection de la version de PHP)
|
||||
echo "[2/6] Installation de Nginx et PHP-FPM..."
|
||||
sudo apt install -y nginx
|
||||
|
||||
# Détection de la version de PHP installée (ou installation si absente)
|
||||
PHP_VERSION=$(ls /etc/php/ | grep -E '^[0-9]+\.[0-9]+$' | sort -V | tail -n 1)
|
||||
if [ -z "$PHP_VERSION" ]; then
|
||||
echo "Aucune version de PHP détectée. Installation de PHP 8.2 par défaut..."
|
||||
sudo apt install -y php8.2 php8.2-fpm php8.2-mysql
|
||||
PHP_VERSION="8.2"
|
||||
else
|
||||
echo "Version de PHP détectée : $PHP_VERSION"
|
||||
sudo apt install -y "php$PHP_VERSION" "php$PHP_VERSION-fpm" "php$PHP_VERSION-mysql"
|
||||
fi
|
||||
|
||||
# Téléchargement de la dernière version stable d'Adminer
|
||||
echo "[3/6] Téléchargement de la dernière version d'Adminer..."
|
||||
ADMINER_VERSION=$(curl -s https://api.github.com/repos/vrana/adminer/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
|
||||
sudo mkdir -p /var/www/adminer
|
||||
sudo wget "https://github.com/vrana/adminer/releases/download/v$ADMINER_VERSION/adminer-$ADMINER_VERSION.php" -O /var/www/adminer/index.php
|
||||
|
||||
# Configuration de Nginx pour Adminer
|
||||
echo "[4/6] Configuration de Nginx..."
|
||||
sudo bash -c "
|
||||
cat > /etc/nginx/sites-available/adminer <<'END'
|
||||
server {
|
||||
listen 81;
|
||||
server_name scanner.local;
|
||||
|
||||
root /var/www/adminer;
|
||||
index index.php;
|
||||
|
||||
location / {
|
||||
try_files \$uri \$uri/ =404;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
include snippets/fastcgi-php.conf;
|
||||
fastcgi_pass unix:/var/run/php/php${PHP_VERSION}-fpm.sock;
|
||||
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
|
||||
include fastcgi_params;
|
||||
}
|
||||
}
|
||||
END"
|
||||
|
||||
# Activation du site Nginx
|
||||
sudo ln -s /etc/nginx/sites-available/adminer /etc/nginx/sites-enabled/
|
||||
sudo nginx -t # Teste la configuration Nginx
|
||||
|
||||
# Redémarrage des services
|
||||
echo "[5/6] Redémarrage de Nginx et PHP-FPM..."
|
||||
sudo systemctl restart nginx "php${PHP_VERSION}-fpm"
|
||||
sudo systemctl enable nginx "php${PHP_VERSION}-fpm"
|
||||
|
||||
# Ajout de l'entrée dans /etc/hosts (optionnel)
|
||||
echo "[6/6] Ajout de 'scanner.local' dans /etc/hosts..."
|
||||
echo "$(hostname -I | awk '{print $1}') scanner.local" | sudo tee -a /etc/hosts
|
||||
|
||||
# Affichage des informations
|
||||
echo ""
|
||||
echo "=== Installation terminée ==="
|
||||
echo "Adminer est accessible à l'adresse : http://scanner.local:81"
|
||||
echo "ou via l'IP locale : http://$(hostname -I | awk '{print $1}'):81"
|
||||
echo "Version d'Adminer installée : $ADMINER_VERSION"
|
||||
echo "Version de PHP utilisée : $PHP_VERSION"
|
||||
echo "Ajouter 'scanner.local' au fichier hosts:"
|
||||
echo " linux : /etc/hosts"
|
||||
echo " windows: C:\Windows\System32\drivers\etc\hosts"
|
||||
echo ""
|
||||
echo "Pour accéder à Adminer depuis cette machine:"
|
||||
echo " http://scanner.local:81"
|
||||
echo "ou"
|
||||
echo " http://$(hostname -I | awk '{print $1}')"
|
||||
Executable
+84
@@ -0,0 +1,84 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script d'installation et de configuration d'un serveur Samba sur Debian Trixie
|
||||
|
||||
# Mise à jour des paquets
|
||||
echo "[1/6] Mise à jour des paquets..."
|
||||
apt update && apt upgrade -y
|
||||
|
||||
# Installation de Samba
|
||||
echo "[2/6] Installation de Samba..."
|
||||
apt install -y samba samba-common
|
||||
|
||||
# Sauvegarde du fichier de configuration original
|
||||
echo "[3/6] Sauvegarde du fichier smb.conf original..."
|
||||
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
|
||||
|
||||
# Configuration de Samba
|
||||
echo "[4/6] Configuration de Samba..."
|
||||
cat > /etc/samba/smb.conf << 'EOL'
|
||||
[global]
|
||||
workgroup = WORKGROUP
|
||||
server string = Serveur Samba %h
|
||||
netbios name = DebianSamba
|
||||
security = user
|
||||
map to guest = bad user
|
||||
dns proxy = no
|
||||
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
|
||||
|
||||
[public]
|
||||
comment = Partage Public
|
||||
path = /srv/samba/public
|
||||
browsable = yes
|
||||
guest ok = yes
|
||||
read only = no
|
||||
create mask = 0777
|
||||
directory mask = 0777
|
||||
|
||||
[secure]
|
||||
comment = Partage Sécurisé
|
||||
path = /srv/samba/secure
|
||||
browsable = yes
|
||||
guest ok = no
|
||||
read only = no
|
||||
create mask = 0770
|
||||
directory mask = 0770
|
||||
valid users = @smbgroup
|
||||
EOL
|
||||
|
||||
# Création des répertoires de partage
|
||||
echo "[5/6] Création des répertoires de partage..."
|
||||
mkdir -p /srv/samba/public
|
||||
mkdir -p /srv/samba/secure
|
||||
chmod -R 0777 /srv/samba/public
|
||||
chmod -R 0770 /srv/samba/secure
|
||||
|
||||
# Création d'un groupe pour le partage sécurisé
|
||||
echo "[5/6] Création du groupe smbgroup..."
|
||||
groupadd smbgroup
|
||||
|
||||
# Ajout d'un utilisateur Samba (remplace 'utilisateur' par le nom d'utilisateur souhaité)
|
||||
echo "[5/6] Ajout d'un utilisateur Samba..."
|
||||
read -p "Entrez le nom de l'utilisateur Samba à créer : " username
|
||||
if id "$username" &>/dev/null; then
|
||||
echo "L'utilisateur $username existe déjà."
|
||||
else
|
||||
useradd -M -s /usr/sbin/nologin "$username"
|
||||
usermod -aG smbgroup "$username"
|
||||
(echo "motdepasse"; echo "motdepasse") | smbpasswd -a "$username"
|
||||
echo "Utilisateur $username ajouté à Samba."
|
||||
fi
|
||||
|
||||
# Redémarrage du service Samba
|
||||
echo "[6/6] Redémarrage du service Samba..."
|
||||
systemctl restart smbd
|
||||
systemctl enable smbd
|
||||
|
||||
# Vérification du statut du service
|
||||
echo "Statut du service Samba :"
|
||||
systemctl status smbd --no-pager
|
||||
|
||||
echo "Installation et configuration de Samba terminées !"
|
||||
echo "Le partage public est accessible sans authentification."
|
||||
echo "Le partage sécurisé est accessible avec l'utilisateur $username et le mot de passe défini."
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
Montage samba:
|
||||
=============
|
||||
|
||||
sudo nano /etc/samba/.smb_creds
|
||||
username=user_windows
|
||||
password=mot_de_passe
|
||||
domain=WORKGROUP
|
||||
|
||||
sudo chmod 600 /etc/samba/.smb_creds
|
||||
sudo chown root:root /etc/samba/.smb_creds
|
||||
|
||||
sudo mkdir -p /mnt/exports
|
||||
sudo chown django:django /mnt/exports
|
||||
|
||||
sudo nano /etc/fstab
|
||||
//192.168.1.210/scanner /mnt/exports_cam cifs credentials=/etc/samba/.smb_creds,uid=django,gid=django,file_mode=0664,dir_mode=0775,iocharset=utf8,vers=3.0,_netdev,nofail 0 0
|
||||
|
||||
Reference in New Issue
Block a user