blob: 3794b7c8ab268ffc7aea68f4fca958357a510486 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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
|