Projet

Général

Profil

Paste
Télécharger (3,64 ko) Statistiques
| Branche: | Révision:

root / bin / d7-create-site.sh @ 3eef768d

1 d52a5b2f jenselme
#!/bin/sh
2
3
. /users/guest/assos/bin/scripts-config.sh
4 469b9d6d Julien Enselme
. /users/guest/assos/bin/scripts-config-site.sh $1
5
. /users/guest/assos/bin/scripts-utils.sh
6 d52a5b2f jenselme
7
help="# ARGS: site name"
8
9
######## Exceptions
10
check_arguments $# 1 "$help"
11
12 64ad485a Julien Enselme
echo "Checking if work tree is clean (may take a while)"
13 6d91f38e Julien Enselme
if ! `work_tree_clean` ; then
14 1c1c5a42 Julien Enselme
    echo "Your work tree is not clean. Solve this before $0 can continue."
15
    exit 2
16
fi
17
18 d52a5b2f jenselme
# "-" is forbidden because it provokes database error.
19
if [ `echo $1 | grep -` ] ; then
20
    echo '"-" is forbidden in the site name'
21
    exit 1
22
fi
23
24
# Site name length must be lower or equal to 16 due to database limitations.
25
if [`echo $1 | wc -c` -gt 16 ] ; then
26
    echo "site name can't have more than 16 characters"
27
    exit 1
28
fi
29
30
###### Initialisation
31
cd $d7_dir
32
site_password=`generate_password`
33 ad6711c7 Julien Enselme
site_line_sites_php="\$sites['assos.centrale-marseille.fr.$d7_site_name'] = 'assos.centrale-marseille.fr.$d7_site_name';"
34 94065d4e Julien Enselme
site_line_aliases_drushrc_php="\$aliases['$d7_site_name'] = array('uri' => 'assos.centrale-marseille.fr/$d7_site_name', 'root' => '/users/guest/assos/drupal7/', );"
35 d52a5b2f jenselme
36
# Check if site database already exists.
37 e0225b3a Julien Enselme
if mysql --defaults-extra-file=$myassos_cnf -e "USE $d7_site_name" 2>/dev/null ; then
38 d52a5b2f jenselme
    echo "Database $d7_site_name already exists"
39
    exit 1
40
fi
41
42
# Check if site folder already exists.
43
if [ -d $d7_site_dir ] ; then
44
    echo "Folder $d7_site_dir already exists"
45
    exit 1
46
fi
47
48
###### Main
49
mkdir $d7_site_dir
50
dir_site_name="assos.centrale-marseille.fr.$d7_site_name"
51
52
# Backup requirements
53
mkdir $d7_dir_individual_auto_backup/$dir_site_name
54
mkdir $d7_dir_individual_manual_backup/$dir_site_name
55
current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
56
57
# NB : ls sort by considering the 1st characters
58
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql
59
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql2
60
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql3
61 ddeedc17 Julien Enselme
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql4
62 d52a5b2f jenselme
63
# Create and grant privileges on database
64 e0225b3a Julien Enselme
mysql --defaults-extra-file=$myassos_cnf -e "CREATE DATABASE $d7_site_name"
65
mysql --defaults-extra-file=$myassos_cnf -e "GRANT ALL PRIVILEGES ON $d7_site_name.* TO '$d7_site_name'@'%' IDENTIFIED BY '$site_password'"
66 d52a5b2f jenselme
67
# Create settings.php
68 469b9d6d Julien Enselme
cp $d7_settings $d7_site_settings
69
generate_settings_local $d7_site_name $site_password $d7_settings_local_template $d7_site_settings_local
70 d52a5b2f jenselme
71
# Create symbolic link
72
cd $d7_dir
73
ln -s . $d7_site_name
74 92b0ba80 Julien Enselme
git add $d7_site_name
75 d52a5b2f jenselme
76 593e9a63 Julien Enselme
# Update sites.php
77 364f9fdd Julien Enselme
chmod +w $sites_php
78 ad6711c7 Julien Enselme
echo $site_line_sites_php >> $sites_php
79 364f9fdd Julien Enselme
chmod 400 $sites_php
80 593e9a63 Julien Enselme
81 0e4152d9 Julien Enselme
### Update aliases.drushrc.php
82
# For site
83
echo $site_line_aliases_drushrc_php >> $aliases_drushrc_php
84
# @d7
85 364f9fdd Julien Enselme
sed s/"'site-list' => array("/"'site-list' => array(%'assos.centrale-marseille.fr\/$d7_site_name',"/ < $aliases_drushrc_php | tr '%' '\n    ' > $dir_tmp/aliases.tmp
86
mv $dir_tmp/aliases.tmp $aliases_drushrc_php
87 0e4152d9 Julien Enselme
88 d52a5b2f jenselme
# Next Instructions
89
echo "Go to http://assos.centrale-marseille.fr/$d7_site_name/install.php to continue."
90
echo "Press enter when ready to go on."
91
read key
92
93
# Init variables
94
d7-reset-variables.sh $d7_site_name
95
96
# Permissions
97
chmod -R 755 $d7_site_dir
98
chmod 400 $d7_site_settings
99
100
# Last instructions
101
echo "Last instructions:"
102
echo "- Advice the webmaster to close account creation on the website"
103
echo "- Give the webmaster a link to the club Drupal's tutorials "
104
echo "- Create a node of type \"Site\" on default"
105
echo "- Register the webmaster on webmasters@listes.centrale-marseille.fr"
106 ad6711c7 Julien Enselme
echo -e "- If line to add to sites.php differs from the line below, please correct it\n\t$site_line_sites_php"
107 1c1c5a42 Julien Enselme
108
commit "Creation of site: $d7_site_name"