Hébergement mutualisé : Déploiement du serveur
Procédure de déploiement du serveur. Les principaux fichiers de configuration ont été stocké en ligne pour ne pas surcharger le script.
Configuration initiale à faire directement depuis le serveur.
hostnamectl set-hostname webserver echo -e "auto ens18\niface ens18 inet dhcp" >> /etc/network/interfaces ip a reboot
Les commandes suivantes peuvent êtres saisies en root depuis ssh.
SITEPATH=/www mv /etc/apt/sources.list /etc/apt/sources.list.old1 wget http://dl.tssr/sources.list -P /etc/apt/ apt update apt install -y unzip tree apache2 libapache2-mod-php php default-mysql-server php-gd php-zip php-intl php-apcu php-mbstring php-sqlite3 php-curl php-xml php-xml-svg php-xmlrpc php-ldap php-imap php-imagick php-mysql php-cas vsftpd mv /etc/apache2/apache2.conf /etc/apache2/apache2.conf.old1 wget http://support-fr.org/Stuff/apache2.conf -P /etc/apache2/ mv /etc/vsftpd.conf /etc/vsftpd.conf.old1 wget http://support-fr.org/Stuff/vsftpd.conf -P /etc/ cp /etc/shells /etc/shells.old1 cat /etc/shells echo /bin/false >> /etc/shells cat /etc/shells mkdir /etc/templates/ wget http://support-fr.org/Stuff/sites-available.conf -P /etc/templates/ wget http://support-fr.org/Stuff/vsftpd_users.conf -P /etc/templates/ mkdir /etc/vsftpd_users mkdir -p $SITEPATH/default/data $SITEPATH/default/backups $SITEPATH/default/htdocs $SITEPATH/default/scripts $SITEPATH/default/logs echo Bienvenue sur la page par defaut du site par defaut du serveur $HOSTNAME > $SITEPATH/default/htdocs/index.html chown -R www-data:www-data $SITEPATH/default/data $SITEPATH/default/htdocs chmod 755 $SITEPATH/default/backups $SITEPATH/default/scripts $SITEPATH/default/logs
Création manuelle d’utilisateurs
DOM=exemple1 TLD=local SITE=$DOM.$TLD mkdir -p /www/$SITE/data /www/$SITE/backups /www/$SITE/htdocs /www/$SITE/scripts /www/$SITE/logs echo Bienvenue sur la page par defaut du $SITE > /www/$SITE/htdocs/index.html useradd -s /bin/false -b /www/$SITE -p $SITE $SITE SITE=$SITE envsubst < /etc/templates/sites-available.conf > /etc/apache2/sites-available/$SITE.conf SITE=$SITE envsubst < /etc/templates/vsftpd_users.conf > /etc/vsftpd_users/$SITE a2ensite $SITE.conf chown -R www-data:www-data /www/$SITE/data /www/$SITE/htdocs chmod 755 /www/default/backups /www/$SITE/scripts /www/$SITE/logs mysql -u root --execute="CREATE DATABASE $DOM$TLD; GRANT ALL PRIVILEGES ON $DOM$TLD.* TO '$SITE'@'localhost' IDENTIFIED BY '$SITE'" mysql -u $SITE -p$SITE --execute="SHOW DATABASES" echo -e "SITE=$SITE\nSOURCE=/www/$SITE\nDB=$DOM$TLD" > /www/$SITE/scripts/config ln -s /sbin/BackupScript /www/$SITE/scripts/Backup.sh chmod 700 /www/$SITE/scripts ls -l /www/$SITE tree /www