Projet

Général

Profil

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

root / bin / d7-create-site.sh @ 10166730

1
#!/bin/sh
2

    
3
. /users/guest/assos/bin/scripts-config.sh
4
. /users/guest/assos/bin/scripts-config-site.sh $1
5
. /users/guest/assos/bin/scripts-utils.sh
6

    
7
help="# ARGS: site name"
8

    
9
######## Exceptions
10
check_arguments $# 1 "$help"
11

    
12
# "-" is forbidden because it provokes database error.
13
if [ `echo $1 | grep -` ] ; then
14
    echo '"-" is forbidden in the site name'
15
    exit 1
16
fi
17

    
18
# Site name length must be lower or equal to 16 due to database limitations.
19
if [`echo $1 | wc -c` -gt 16 ] ; then
20
    echo "site name can't have more than 16 characters"
21
    exit 1
22
fi
23

    
24
###### Initialisation
25
cd $d7_dir
26
db_password=`ask_password_db $db_server $db_user`
27
site_password=`generate_password`
28
site_line_sites_php="\$sites['assos.centrale-marseille.fr.$d7_site_name'] = 'assos.centrale-marseille.fr.$d7_site_name';"
29
site_line_aliases_drushrc_php="\$aliases['$d7_site_name'] = array('uri' => 'assos.centrale-marseille.fr/$site_name', 'root' => '/users/guest/assos/htmltest/', );"
30
d7_line_aliases_drushrc_php="s/'site-list' => array(/'site-list' => array(%'assos.centrale-marseille.fr/$d7_site_name',/"
31

    
32
# Check if site database already exists.
33
if mysql -h $db_server -u $db_user -e "USE $d7_site_name" -p$db_password 2>/dev/null ; then
34
    echo "Database $d7_site_name already exists"
35
    exit 1
36
fi
37

    
38
# Check if site folder already exists.
39
if [ -d $d7_site_dir ] ; then
40
    echo "Folder $d7_site_dir already exists"
41
    exit 1
42
fi
43

    
44
###### Main
45
mkdir $d7_site_dir
46
dir_site_name="assos.centrale-marseille.fr.$d7_site_name"
47

    
48
# Backup requirements
49
mkdir $d7_dir_individual_auto_backup/$dir_site_name
50
mkdir $d7_dir_individual_manual_backup/$dir_site_name
51
current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
52

    
53
# NB : ls sort by considering the 1st characters
54
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql
55
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql2
56
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql3
57
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql4
58

    
59
# Create and grant privileges on database
60
mysql -h $db_server -u $db_user -e "CREATE DATABASE $d7_site_name" -p$db_password
61
mysql -h $db_server -u $db_user -e "GRANT ALL PRIVILEGES ON $d7_site_name.* TO '$d7_site_name'@'%' IDENTIFIED BY '$site_password'" -p$db_password
62

    
63
# Create settings.php
64
cp $d7_settings $d7_site_settings
65
generate_settings_local $d7_site_name $site_password $d7_settings_local_template $d7_site_settings_local
66

    
67
# Create symbolic link
68
cd $d7_dir
69
ln -s . $d7_site_name
70

    
71
# Update sites.php
72
echo $site_line_sites_php >> $sites_php
73

    
74
### Update aliases.drushrc.php
75
# For site
76
echo $site_line_aliases_drushrc_php >> $aliases_drushrc_php
77
# @d7
78
sed $d7_line_aliases_drushrc_php < $aliases_drushrc_php | tr '%' '\n' > $aliases_drushrc_php
79

    
80
# Next Instructions
81
echo "Go to http://assos.centrale-marseille.fr/$d7_site_name/install.php to continue."
82
echo "Press enter when ready to go on."
83
read key
84

    
85
# Init variables
86
d7-reset-variables.sh $d7_site_name
87

    
88
# Permissions
89
chmod -R 755 $d7_site_dir
90
chmod 400 $d7_site_settings
91

    
92
# Last instructions
93
echo "Last instructions:"
94
echo "- Advice the webmaster to close account creation on the website"
95
echo "- Give the webmaster a link to the club Drupal's tutorials "
96
echo "- Create a node of type \"Site\" on default"
97
echo "- Register the webmaster on webmasters@listes.centrale-marseille.fr"
98
echo -e "- If line to add to sites.php differs from the line below, please correct it\n\t$site_line_sites_php"