diff options
author | root <root@vps-18a7a2b7.vps.ovh.ca> | 2023-05-24 09:20:57 -0400 |
---|---|---|
committer | root <root@vps-18a7a2b7.vps.ovh.ca> | 2023-05-24 09:20:57 -0400 |
commit | 3a5d8c9385a288b284e591ec09df74dda13bc454 (patch) | |
tree | c31ae047d205472f7df9b6313c405a90eae641e4 /wordpress/wordpress-create-new-site | |
parent | dae155afd1dd2bed4d1bab1f6137b27d4a767d54 (diff) |
rename
Diffstat (limited to 'wordpress/wordpress-create-new-site')
-rwxr-xr-x | wordpress/wordpress-create-new-site | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/wordpress/wordpress-create-new-site b/wordpress/wordpress-create-new-site new file mode 100755 index 0000000..13fa33a --- /dev/null +++ b/wordpress/wordpress-create-new-site | |||
@@ -0,0 +1,63 @@ | |||
1 | #!/bin/bash | ||
2 | TEMPLATE=ichimisushiandgrill.com | ||
3 | OUTPUT=${1:-ichimisushi-thai.com} | ||
4 | SANITIZED=${OUTPUT//[-.]/_} | ||
5 | DB_USER=$SANITIZED | ||
6 | DB_NAME=wordpress_$SANITIZED | ||
7 | |||
8 | PATH=$PWD:$PATH | ||
9 | |||
10 | have_database() | ||
11 | { | ||
12 | mysql -ss -e "show databases like '${1//\'/\'\'}'" | (read match && [ "$match" ]) | ||
13 | } | ||
14 | |||
15 | set -ex | ||
16 | [ "$OUTPUT" != "$TEMPLATE" ] | ||
17 | |||
18 | create_apache_vhost() | ||
19 | { | ||
20 | if [ ! -e /etc/apache2/sites-enabled/$OUTPUT.conf ] | ||
21 | then | ||
22 | [ -e /etc/apache2/sites-available/$TEMPLATE.conf ] | ||
23 | mkdir /srv/$OUTPUT /srv/$OUTPUT/public_html /srv/$OUTPUT/logs | ||
24 | cd /etc/apache2/sites-available/ | ||
25 | sed -e "s/$TEMPLATE/$OUTPUT/g" < "$TEMPLATE".conf > "$OUTPUT".conf | ||
26 | a2ensite $OUTPUT | ||
27 | systemctl reload apache2 | ||
28 | fi | ||
29 | } | ||
30 | |||
31 | # Install wordpress content to apache htdocs directory | ||
32 | install_wordpress_documents() | ||
33 | { | ||
34 | if [ ! -e /srv/"$OUTPUT"/public_html/wordpress/wp-config.php ] | ||
35 | then | ||
36 | ( | ||
37 | cd /srv/"$OUTPUT"/public_html | ||
38 | curl https://wordpress.org/latest.tar.gz | tar -zx | ||
39 | cd wordpress | ||
40 | wp-conf.sh "$DB_NAME" "$DB_USER" > wp-config.php | ||
41 | chown www-data.www-data -R . | ||
42 | chown nobody.nogroup wp-config.php | ||
43 | ) | ||
44 | fi | ||
45 | } | ||
46 | |||
47 | create_database() | ||
48 | { | ||
49 | # Set up database | ||
50 | if ! have_database "$DB_NAME" | ||
51 | then | ||
52 | pwline=$(grep DB_PASSWORD /srv/$OUTPUT/public_html/wordpress/wp-config.php) | ||
53 | DB_PASSWORD=$(php -r "$pwline echo DB_PASSWORD;") | ||
54 | mysqladmin create "$DB_NAME" | ||
55 | mysql "$DB_NAME" <<END | ||
56 | grant all privileges on \`$DB_NAME\`.* to "$DB_USER" identified by "$DB_PASSWORD"; | ||
57 | END | ||
58 | fi | ||
59 | } | ||
60 | |||
61 | create_apache_vhost | ||
62 | install_wordpress_documents | ||
63 | create_database | ||