Reprise du dernier message de la page précédente :
Voilà j'ai fini par faire mes test sur ton serveur

Le script fonctionne mais j'ai du rajouter une variable
a définir au début du script c'est l'ip locale du serveur.
On pourrait le remplacer par un script qui la récupere automatiquement,
mais j'ai pas ça sous la main
Je t'ai mis le script final dans ton /root sous le nom vhost.sh
Regarde si tout va comme tu veut comme ça je pourrais faire un 2eme script
pour désactiver et supprimer les vhosts.
Et peu etre un pour les désactiver temporairement pour maintenance ...
PS : j'ai remis ton serveur "a neuf" c'est a dire que il n'y a aucun vhost dessus"
Pour creer un vhosts il faut que tu le fasse avec un autre user que leknoppix* (*il me semble que c'est ça) qui est déja creer.
Je poste le code final quand meme ici
Code : Bash 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 | #!/bin/bash
# Definition des variables
pass_mysql_ftp=elisha32vanille
pass_mysql_root=elisha32vanille
DOSSIER=home
USER_CONFIG_DIR=/etc/vsftpd
fonction_end(){
echo ''
echo "$0: -- Le vHost $DOMAINE a ete ajouter avec succes --"
exit 0
}
fonction_apache_conf(){
echo "$0: On configure apache"
echo "
NameVirtualHost $IP:80
<VirtualHost $IP:80>
DocumentRoot /$DOSSIER/$DOMAINE/public_html/www
ServerName www.$DOMAINE
</VirtualHost>
<VirtualHost $IP:80>
ServerName www.$DOMAINE
ServerAlias *.$DOMAINE
DocumentRoot /$DOSSIER/$DOMAINE/public_html/www/
<Directory /$DOSSIER/$DOMAINE/public_html/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog /$DOSSIER/$DOMAINE/logs/error.log
LogLevel warn
CustomLog /$DOSSIER/$DOMAINE/logs/access.log combined
ServerSignature Off
</VirtualHost>
" > /etc/apache2/sites-available/$DOMAINE
a2ensite $DOMAINE
/etc/init.d/apache2 reload
fonction_end
}
fonction_mysql_conf(){
echo "$0: On configure mysql"
mysql -u ftp -p"$pass_mysql_ftp" -D ftp -e "INSERT INTO users (name ,pass) VALUES ('$nom', ENCRYPT( '$pass' ));"
mysql -u root -p"$pass_mysql_root" -e "CREATE USER '$nom'@'localhost' IDENTIFIED BY '$pass'; GRANT USAGE ON *.* TO '$nom'@'localhost' IDENTIFIED BY '$pass' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS $nom; GRANT ALL PRIVILEGES ON $nom.* TO '$nom'@'localhost';"
fonction_apache_conf
}
fonction_create_dir(){
echo "$0: Creation des dossiers et application du chmod"
chmod 755 -R /$DOSSIER/$DOMAINE
mkdir /$DOSSIER/$DOMAINE/logs
mkdir /$DOSSIER/$DOMAINE/public_html
mkdir /$DOSSIER/$DOMAINE/public_html/www
chmod 777 -R /$DOSSIER/$DOMAINE
chmod 755 /$DOSSIER/$DOMAINE
touch /etc/apache2/sites-available/$DOMAINE
chmod 777 /etc/apache2/sites-available/$DOMAINE
touch $USER_CONFIG_DIR/$nom.conf
chmod 777 $USER_CONFIG_DIR/$nom.conf
fonction_vsftpd_conf
}
fonction_vsftpd_conf(){
echo "$0: Confiduration de Vsftpd"
echo 'anon_world_readable_only=NO' > $USER_CONFIG_DIR/$nom.conf #lecture seule
echo "local_root=/home/$DOMAINE" >> $USER_CONFIG_DIR/$nom.conf #repertoire d'arrivee
echo 'write_enable=YES' >> $USER_CONFIG_DIR/$nom.conf #droit d'ecriture
echo 'anon_upload_enable=YES' >> $USER_CONFIG_DIR/$nom.conf #droit d'upload
echo 'anon_mkdir_write_enable=YES' >> $USER_CONFIG_DIR/$nom.conf #droit de creer des repertoires
echo 'anon_other_write_enable=YES' >> $USER_CONFIG_DIR/$nom.conf
echo 'hide_file=(none)' >> $USER_CONFIG_DIR/$nom.conf
echo 'force_dot_files=YES' >> $USER_CONFIG_DIR/$nom.conf
echo '' >> $USER_CONFIG_DIR/$nom.conf #On laisse une ligne vide
fonction_mysql_conf
}
fonction_test_pass() {
echo "$0: Verfication du password "
if [ "$pass" = "$pass2" ]; then
{
fonction_create_dir
}
else
{
echo "$0: Attention : Les deux mots de passes ne sont pas identiques"
echo "$0: ## Annulation ... ##"
fonction_first_menu
}
fi
}
fonction_create_user(){
# creation du user (le programme s'arrete par securite si le user existe deja )
/usr/sbin/useradd $nom -p `perl -e "print crypt('$pass',pwet)"` -d /$DOSSIER/$DOMAINE -m -s /bin/bash
if [ $? -ne 0 ]; then
{
echo "$0: L'utilisateur $nom existe deja , operation annulee !"
fonction_first_menu
}
else
{
echo "$0: Utilisateur $nom cree\n"
fonction_test_pass
}
fi
}
fonction_menu(){
echo -n "Ip locale : "
read IP
echo -n "Nom d'utilisateur : "
read nom
echo -n "Nom de domaine (sans les www) : "
read DOMAINE
echo -n "Mot de passe : "
read pass
echo -n "Mot de passe (le retour) : "
read pass2
echo "#####################################"
fonction_create_user
}
fonction_first_menu(){
echo "'$0': Menu :"
echo ''
echo ' ---'
echo ''
echo '1.Creer un vHost.'
echo '2.Quitter'
echo ''
echo -n 'Votre choix ( 1 - 2) :'
read choix
if [ "$choix" = "1" ]; then
{
fonction_menu
}
else
{
exit 0
}
fi
}
fonction_first_menu
|
Linux is not just an Os but is the future of the humanity !
- Citation ubuntu : "... You are encorouraged and legally entiltled to copy, reinstall, modify and redistribute this CD ..." Yeaaah !!
Le libre !
- Si Billou à inventer crosoft et windaube alors le Manchot a inventer Billou (meme si il l'a rater
).
- La connerie n'est pas un virus mais elle se propage a la meme vitesse.
Citation : AlertAttention, Votre windows n'a pas planter depuis plus d'1h,
-Windows va maintenant effectuer un plantage de routine.
-FATALERROR