Linux Shell

Contient les Scripts Shell et Bash pour linux.

Archives

Contient les scripts d'activité de build.

Archives

Bash - Build : InstallNextcloud.sh

Status :
 Terminé   
Auteur :
 Olivier 
Dernière version :
 V 1.0 
Dernière modification :
 05/03/2023 

I. Fonctionnalités

Peut être utilisé dans les modes suivants :    CLI 

La commande "-help" est présente :  non 



II. Captures d'écran

n/a


III. Script

InstallNextcloud.sh
#!/bin/bash

#Take Arguments
NEXTCLOUD_DOWNLOAD_LINK="https://download.nextcloud.com/server/releases/latest.zip"
NEXTCLOUD_APP_NAME=""

#Upgrade systservicessem
apt update
apt upgrade -y

#disable interactive mode
export DEBIAN_FRONTEND=noninteractive

#Install prerequisites
apt install -y wget vim zip

#Install apache2
apt install -y apache2 php8.1 libapache2-mod-php8.1
#Install required php modules
apt install -y php8.1-common php8.1-curl php8.1-dom php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-mysql
#Install optionnal php modules
apt install -y php8.1-bz2 php8.1-intl php8.1-ldap php8.1-smbclient php8.1-imap php8.1-bcmath php8.1-gmp php8.1-apcu 

#Go into apache directory
cd /etc/apache2/sites-available

#Disable all sites
a2dissite *

#Create site Configuration file
touch /etc/apache2/sites-available/nextcloud-http.conf
cat << EOF >> /etc/apache2/sites-available/nextcloud-http.conf
<VirtualHost *:80>
  DocumentRoot /var/www/nextcloud/
  ServerName  $NEXTCLOUD_APP_NAME

  <Directory /var/www/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
</VirtualHost>
EOF

#Enable nextcloud site
a2ensite nextcloud-http

#Enable necessary apache module
a2enmod rewrite env dir mime

#Create website directory
mkdir /var/www/nextcloud

#Go into apache directory
cd /var/www/

#Download nextcloud installer
wget $NEXTCLOUD_DOWNLOAD_LINK

#Unzip
unzip *.zip

#Remove zip file
rm *.zip

#set permissions
chown -R www-data:www-data /var/www/nextcloud/

#restart apache2 service
service apache2 restart

IV. Changelog

V 1.0
Archives

Bash - Build : InstallPHPMyAdmin.sh

Status :
 Terminé 
Auteur :
 Olivier 
Dernière version :
 V 1.0 
Dernière modification :
 03/03/2023 

I. Fonctionnalités

Peut être utilisé dans les modes suivants :    CLI 

La commande "-help" est présente :  non 



II. Captures d'écran

n/a


III. Script

InstallPHPMyAdmin.sh
#!/bin/bash

#Take Arguments
PHPMYADMIN_DOWNLOAD_LINK="https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip"
BLOWFISH_SECRET=""
MYSQL_SERVER_ADDRESS="mysql"

#Upgrade system
apt update
apt upgrade -y

#Install Prerequisites
apt install -y vim wget zip

#disable interactive mode
export DEBIAN_FRONTEND=noninteractive

#Install apache+php
apt install -y apache2 php php-mysqli php-mbstring

#Clean install
apt autoclean

#Install PHP My Admin
cd /var/www/html
rm index.html
wget $PHPMYADMIN_DOWNLOAD_LINK
unzip phpMyAdmin-*
mv phpMyAdmin-*/* ./
rm -rf phpMyAdmin-*

#Configure PHPMyAdmin
cp config.sample.inc.php config.inc.php
sed -i "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$BLOWFISH_SECRET'|" /var/www/html/config.inc.php
sed -i "s|'localhost'|'$MYSQL_SERVER_ADDRESS'|" /var/www/html/config.inc.php

#create TMP directory and set rights on it
mkdir tmp
chown www-data:www-data tmp/
chmod 700 tmp/

#Restart apache2 service
service apache2 restart

IV. Changelog

V 1.0

Bash - Utiliser les couleurs dans les messages

Les couleurs peuvent s'utiliser grâce à la matrice de couleur suivante :

Black        0;30     Dark Gray     1;30
Red          0;31     Light Red     1;31
Green        0;32     Light Green   1;32
Brown/Orange 0;33     Yellow        1;33
Blue         0;34     Light Blue    1;34
Purple       0;35     Light Purple  1;35
Cyan         0;36     Light Cyan    1;36
Light Gray   0;37     White         1;37

Pour les utiliser dans les scripts, il faudra les déclarer en début de script.

Pour cela deux méthodes, soit déclarer les couleurs et les utiliser ensuite dans le script :

RED='\033[0;31m' #Red, for error
NC='\033[0m' # No Color
echo -e "${RED} error s{NC} - ceci est une erreur"

ou déclarer un message entier, couleurs comprises :

#Declare color code
ERROR='[\033[0;31mERROR\033[0m]' # is for error
SUCCESS='[\033[0;32mSUCCESS\033[0m]' # is for Success
WARNING='[\033[0;33mWARNING\033[0m]' # is for warning
INFORMATION='[\033[0;34mINFO\033[0m]' # is fo informations
echo -e "${ERROR} Ceci est une erreur."