diff options
| author | jerome <jerome@xlinfo.fr> | 2026-01-23 13:15:35 +0100 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2026-01-23 13:15:35 +0100 |
| commit | 6d79ba39bc41812fa3bb0e8e711a61ce9ab01891 (patch) | |
| tree | 77760a31cd8c628c0a9cfb04a713ce0daa89b789 /install_wordpress | |
| download | wordpress-6d79ba39bc41812fa3bb0e8e711a61ce9ab01891.tar.gz wordpress-6d79ba39bc41812fa3bb0e8e711a61ce9ab01891.zip | |
Diffstat (limited to 'install_wordpress')
| -rwxr-xr-x | install_wordpress | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/install_wordpress b/install_wordpress new file mode 100755 index 0000000..3794b7c --- /dev/null +++ b/install_wordpress @@ -0,0 +1,92 @@ +#!/bin/bash + +user="bob" +pass="leponge" + +useradd $user -m -s /usr/sbin/nologin -G sftp +echo $user:$pass | chpasswd 2>/dev/null + +chmod 755 /home/$user +chown root:root /home/$user +mkdir /home/$user/{public_html,mail} +chown -R $user:$user /home/$user/* + +echo "Téléchargement et installation de la dernière version de wordpress..." +echo + +# Téléchargement de wordpress français latest +cd /home/$user/public_html +wget https://fr.wordpress.org/latest-fr_FR.zip + +# Décompression de wordpress +unzip -q -o latest-fr_FR.zip +rm -f latest-fr_FR.zip + +# Changement propriétaire wordpress +chown -R $user:$user wordpress + +# Ecriture du virtual host Apache +cat > /etc/apache2/sites-available/$user.conf << EOF +<VirtualHost *:80> + ServerName $user.domain.lan + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} +</VirtualHost> +EOF + +# Ecriture du virtual host SSL Apache +cat > /etc/apache2/sites-available/${user}-ssl.conf << EOF +<VirtualHost *:443> + ServerName $user.domain.lan + DocumentRoot /home/$user/public_html/wordpress + <Directory /home/$user/public_html/wordpress> + AllowOverride All + </Directory> + SSLEngine on + SSLCertificateFile /etc/apache2/apache.pem + SSLCertificateKeyFile /etc/apache2/apache.key +</VirtualHost> +EOF + +# Activation des virtualhost wordpress +a2ensite $user > /dev/null +a2ensite ${user}-ssl > /dev/null + +# Rechargement Apache +systemctl reload apache2 + +# Création de la base de données wordpress +mariadb << EOF +create database if not exists $user; +create user if not exists ${user}@localhost identified by "$pass"; +grant all privileges on ${user}.* to ${user}@localhost; +flush privileges; +EOF + +# Remplissage du fichier wp-config.php +cp wordpress/wp-config-sample.php wordpress/wp-config.php +sed -i "s/database_name_here/${user}/" wordpress/wp-config.php +sed -i "s/username_here/${user}/" wordpress/wp-config.php +sed -i "s/password_here/${pass}/" wordpress/wp-config.php + +# Ajout cname dynamique +nsupdate << EOF +server 127.0.0.1 +zone domain.lan +update add ${user}.domain.lan. 604800 in cname debian.domain.lan. +send +EOF + + +# Fin de l'installation +mail ${user}@domain.lan -s "Votre site Wordpress" << EOF +Bonjour, +L'installation de votre site wordpress est terminée et doit être finalisée sur https://${user}.domain.lan. +Vous avez accès à vos mails sur https://${user}.domain.lan/roundcube, à votre base de données sur https://${user}.domain.lan/phpmyadmin et à vos fichier avec un client sftp sur ${user}.domain.lan +login: $user +mot de passe: $pass +Cordialement, +L'équipe de domain.lan +EOF + |
