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

Add a Comment