SHOW:
|
|
- or go back to the newest paste.
1 | #!/bin/sh | |
2 | ||
3 | # /etc/php/php.ini | |
4 | # uncomment and set cgi.fix_pathinfo to 0 | |
5 | sed -i -e 's/\;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/php.ini | |
6 | ||
7 | # /etc/php/php-fpm.conf | |
8 | sed -i -e "s/;pid = run\/php-fpm.pid/pid = \/run\/php-fpm\/php-fpm.pid/; | |
9 | s/user = nobody/user = nginx/; | |
10 | s/group = nobody/group = nginx/; | |
11 | s/;listen.owner = nobody/listen.owner = nginx/; | |
12 | s/;listen.group = nobody/listen.group = nginx/; | |
13 | s/;listen.mode = 0660/listen.mode = 0660/;" /etc/php/php-fpm.conf | |
14 | ||
15 | # Setup Wordpress | |
16 | if [[ -f /var/www/config/example-config.php ]]; then | |
17 | ||
18 | # start mysql | |
19 | service mysql start & | |
20 | sleep 10 | |
21 | ||
22 | # determine environment | |
23 | if [[ ! -z $CONTAINER_ENVIRONMENT+x ]]; then | |
24 | CONTAINER_ENVIRONMENT="local" | |
25 | fi | |
26 | ||
27 | # output environment | |
28 | echo "CONTAINER_ENVIRONMENT: ${CONTAINER_ENVIRONMENT}" | |
29 | ||
30 | # what database is wordpress going to use? | |
31 | WORDPRESS_DB="wordpress" | |
32 | ||
33 | # generate passwords | |
34 | MYSQL_PASSWORD=`pwgen -c -n -1 12` | |
35 | WORDPRESS_PASSWORD=`pwgen -c -n -1 12` | |
36 | ||
37 | # echo passwords (logs can see them) | |
38 | # if you wanted to, you could output them to files. | |
39 | echo "" | |
40 | echo "--------------------------------------------------------------" | |
41 | echo "" | |
42 | echo "[ ! ] MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD}" | |
43 | echo "[ ! ] WORDPRESS_PASSWORD: ${WORDPRESS_PASSWORD}" | |
44 | echo "" | |
45 | echo "--------------------------------------------------------------" | |
46 | echo "" | |
47 | ||
48 | # Replace text in the example config file and output to config-${ENVIRONMENT}.php | |
49 | sed -e "s/database_name_here/$WORDPRESS_DB/; | |
50 | s/username_here/$WORDPRESS_DB/; | |
51 | s/password_here/$WORDPRESS_PASSWORD/; | |
52 | /'AUTH_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/; | |
53 | /'SECURE_AUTH_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/; | |
54 | /'LOGGED_IN_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/; | |
55 | /'NONCE_KEY'/s/put your unique phrase here/`pwgen -c -n -1 65`/; | |
56 | /'AUTH_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/; | |
57 | /'SECURE_AUTH_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/; | |
58 | /'LOGGED_IN_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/; | |
59 | /'NONCE_SALT'/s/put your unique phrase here/`pwgen -c -n -1 65`/" /var/www/config/example-config.php > /var/www/config/config-${CONTAINER_ENVIRONMENT}.php | |
60 | ||
61 | # Remove the example config file | |
62 | rm /var/www/config/example-config.php | |
63 | ||
64 | # Plugin: wpMandrill | |
65 | echo "Downloading and unpacking plugin: wpmandrill..." | |
66 | curl -O `curl -i -s https://wordpress.org/plugins/wpmandrill/ | egrep -o "https://downloads.wordpress.org/plugin/[^']+"` | |
67 | unzip -qqo wpmandrill.zip -d /var/www/wp-content/plugins | |
68 | echo "Plugin unpacked." | |
69 | echo "" | |
70 | ||
71 | # Plugin: WP Migrate DB | |
72 | echo "Downloading and unpacking plugin: wp-migrate-db..." | |
73 | curl -O `curl -i -s https://wordpress.org/plugins/wp-migrate-db/ | egrep -o "https://downloads.wordpress.org/plugin/[^']+"` | |
74 | unzip -qqo wp-migrate-db.*.zip -d /var/www/wp-content/plugins | |
75 | echo "Plugin unpacked." | |
76 | echo "" | |
77 | ||
78 | # Set permissions on the new plugins | |
79 | find /var/www/wp-content -type d -print0 | xargs -0 chmod 0755 | |
80 | find /var/www/wp-content -type f -print0 | xargs -0 chmod 0644 | |
81 | ||
82 | # Clean up: Remove the downloaded zip files | |
83 | rm nginx-helper.*.zip wpmandrill.zip wp-migrate-db.*.zip | |
84 | ||
85 | # Ensure nginx owns all the things | |
86 | chown nginx:nginx /var/www/config/config-${CONTAINER_ENVIRONMENT}.php | |
87 | chown -R nginx:nginx /var/www/wp-content/* | |
88 | ||
89 | # Setup MySQL | |
90 | /usr/bin/mysqladmin -u root password $MYSQL_PASSWORD | |
91 | mysql -uroot -p$MYSQL_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES;" | |
92 | mysql -uroot -p$MYSQL_PASSWORD -e "CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY '$WORDPRESS_PASSWORD'; FLUSH PRIVILEGES;" | |
93 | killall mysqld | |
94 | ||
95 | # wait so we can restart mysqld | |
96 | echo "Environment configuration complete." | |
97 | echo "Please wait..." | |
98 | sleep 10 | |
99 | fi | |
100 | ||
101 | echo "" | |
102 | echo "Starting container services..." | |
103 | ||
104 | # Start services | |
105 | service mysql start | |
106 | ||
107 | echo "Starting php-fpm..." | |
108 | php-fpm | |
109 | ||
110 | echo "Starting nginx..." | |
111 | nginx |