Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
143 lines (117 sloc) 4.32 KB
#!/bin/sh
#
# Install WordPress
#
# Installation: Copy this script into /usr/local/bin/wordpress
# Useage: root@server [~]# wordpress
#
# Get the handle name
echo 'Please enter the handle name'
read HANDLE
# Get the group and username
group=$(ls -la | head -3 | awk 'END {print $3}')
user=$(ls -la | head -3 | awk 'END {print $4}')
# Install the latest version of WordPress
wget http://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
mv ./wordpress/* ./
rmdir ./wordpress/
rm -f latest.tar.gz
# Remove the sample configuration file
rm -f ./wp-config-sample.php
# Get random salts from the WordPress website
salts=$(wget -O- -q https://api.wordpress.org/secret-key/1.1/salt/)
# Create the configuration file
cat <<EOF >./wp-config.php
<?php
/**
* The base configurations of the WordPress.
*
* This file has the following configurations: MySQL settings, Table Prefix,
* Secret Keys, WordPress Language, and ABSPATH. You can find more information
* by visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing
* wp-config.php} Codex page. You can get the MySQL settings from your web host.
*
* This file is used by the wp-config.php creation script during the
* installation. You don't have to use the web site, you can just copy this file
* to "wp-config.php" and fill in the values.
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '$HANDLE_wordpress');
/** MySQL database username */
define('DB_USER', 'dev');
/** MySQL database password */
define('DB_PASSWORD', 'dev');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
$salts
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
\$table_prefix = 'wp_';
/**
* WordPress Localized Language, defaults to English.
*
* Change this to localize WordPress. A corresponding MO file for the chosen
* language must be installed to wp-content/languages. For example, install
* de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German
* language support.
*/
define('WPLANG', '');
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*/
define('WP_DEBUG', false);
/**
* Turn off the file editor.
*
* This has been replaced from DISALLOW_FILE_MODS to enable automatic updates
* without having to compromise on security.
*/
define('DISALLOW_FILE_EDIT', true);
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
EOF
# Insert custom blank theme (comment out the unfavored copying process)
mkdir ./wp-content/themes/$HANDLE
#cp -r /path/to/my/custom-theme/* ./wp-content/themes/$HANDLE
#rsync -avz root@myserver.com:/path/to/my/custom-theme/. ./wp-content/themes/$HANDLE/.
# Replace placeholder content (this was to replace the comments within the custom theme
# but I have yet to get it working, maybe something to fix in the near future)
#perl -pi -w -e 's/Company Name/$HANDLE/g;' ./wp-content/themes/$HANDLE/*.php
#perl -pi -w -e 's/since 2014/since $(date +%Y)/g;' ./wp-content/themes/$HANDLE/*.php
# Install plugins (comment out the unfavored copying process)
#cp -r /path/to/my/plugins/* ./wp-content/plugins/
#rsync -avz root@myserver.com:/path/to/my/plugins/. ./wp-content/plugins/.
# Change file permissions and ownership
sudo chown -R $group:$user ./
find ./ -type d -exec chmod 755 {} \;
find ./ -type f -exec chmod 644 {} \;