View difference between Paste ID: N6vaG9KE and SmB4rSBZ
SHOW: | | - or go back to the newest paste.
1
#!/bin/bash
2
3
# live fast! die young!
4
5
set -e
6
7
#chạy file bash dưới, nói chung thường để gán biến thôi 
8
source /etc/statusnet/setup.cfg
9
10
# setup_status_network.sh mysite 'My Site' '1user' 'owner@example.com' 'Firsty McLastname'
11
12
# cái này là gán các biến bằng đầu vào. $1 là arg1, $2..... $0 chính là tên file 
13
export nickname="$1"
14
export sitename="$2"
15
export tags="$3"
16
export email="$4"
17
export fullname="$5"
18
export siteplan="$6"
19
20
if [ "$siteplan" == '' ]; then
21
    siteplan='single-user'
22
fi
23
24
# Fixme: if this is changed later we need to update profile URLs
25
# for the created user.
26
#Cũng gán biến, ghép của 2 biến kia lại 
27
export server="$nickname.$WILDCARD"
28
29
# End-user info
30
export userpass=`$PWDGEN`
31
export roles="administrator moderator owner"
32
33
# DB info
34
export password=`$PWDGEN`
35
export database=$nickname$DBBASE
36
export username=$nickname$USERBASE
37
38
# Create the db
39
40
mysqladmin -h $DBHOST -u $ADMIN --password=$ADMINPASS create $database
41
42
for f in statusnet.sql innodb.sql sms_carrier.sql foreign_services.sql notice_source.sql; do
43
    mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $database < ../db/$f;
44
done
45
46
mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $SITEDB << ENDOFCOMMANDS
47
48
GRANT ALL ON $database.* TO '$username'@'localhost' IDENTIFIED BY '$password';
49
GRANT ALL ON $database.* TO '$username'@'%' IDENTIFIED BY '$password';
50
INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created)
51
VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now());
52
53
ENDOFCOMMANDS
54
55
# Tạo directory dựa trên nickname, cho phép ghi file vào trong đấy 
56
for top in $AVATARBASE $FILEBASE $BACKGROUNDBASE; do
57
    mkdir $top/$nickname
58
    chmod a+w $top/$nickname
59
done
60
61
php $PHPBASE/scripts/checkschema.php -s"$server"
62
63
php $PHPBASE/scripts/settag.php -s"$server" "$nickname" "$tags"
64
65
php $PHPBASE/scripts/registeruser.php \
66
  -s"$server" \
67
  -n"$nickname" \
68
  -f"$fullname" \
69
  -w"$userpass" \
70
  -e"$email"
71
72
for role in $roles
73
do
74
  php $PHPBASE/scripts/userrole.php \
75
    -s"$server" \
76
    -n"$nickname" \
77
    -r"$role"
78
done
79
80
if [ -f "$MAILTEMPLATE" ]
81
then
82
    # fixme how safe is this? are sitenames sanitized?
83
# Cái này đóan là  lấy biến ngoài bash nhét vào php để làm thành cái mail.
84
    cat $MAILTEMPLATE | \
85
      sed "s/\$nickname/$nickname/" | \
86
      sed "s/\$sitename/$sitename/" | \
87
      sed "s/\$userpass/$userpass/" | \
88
      sed "s/\$siteplan/$siteplan/" | \
89
      php $PHPBASE/scripts/sendemail.php \
90
        -s"$server" \
91
        -n"$nickname" \
92
        --subject="$MAILSUBJECT"
93
else
94
    echo "No mail template, not sending email."
95
fi
96
97
if [ -f "$POSTINSTALL" ]
98
then
99
    echo "Running $POSTINSTALL ..."
100
    source "$POSTINSTALL"
101
fi