Custom site administration form/page I'm looking to create a page on my site that will allow certain users to perform administrative tasks without them needing to have access to the entire administrative back end.

I want to create a page/form that will allow my user to:


Change the default logo (like is on the Appearance page) 
Change the site slogan
Put the site into maintenance mode/Change the maintenance mode
text


I have no doubt there is not a module out there with this capability, so I assume I am going to have to make use of the form API, but I was wondering if anyone could give me a point in the right direction.

Kind regards
Like @jimajamma said in the question comments, you most likely want to create a custom module that implements hook_menu(), creates a form, and handles the form submission. Also, notice the trick where you can use the drupal_get_form() page callback to build a page that is just rendering a form. To use this, you need to pass the name of the function that returns your form as a page argument.

/**
 * Implements hook_menu().
 */
function demo_menu() {
  $items['admin/config/demo'] = array(
    'title' =&gt; 'Demo page title',
    'type' =&gt; MENU_NORMAL_ITEM,
    'page callback' =&gt; 'drupal_get_form',
    'page arguments' =&gt; array('demo_form'),
    'access arguments' =&gt; array('administer content'),    
    // Choose an appropriate permission or create your own using hook_permission()!
  );
}

/**
 * Provides an admin form to change the site slogan, put the site into
 * maintenance mode.
 */
function demo_form($form, &amp;$form_state) {
  // Adapted from system.admin.inc line 1495.
  $form['site_slogan'] = array(
    '#type' =&gt; 'textfield',
    '#title' =&gt; t('Slogan'),
    '#default_value' =&gt; variable_get('site_slogan', ''),
    '#description' =&gt; t("Change the site's slogan."),
  );

  // Taken from system.admin.inc line 2201.
  $form['maintenance_mode'] = array(
    '#type' =&gt; 'checkbox',
    '#title' =&gt; t('Put site into maintenance mode'),
    '#default_value' =&gt; variable_get('maintenance_mode', 0),
    '#description' =&gt; t('When enabled, only users with the "Use the site in maintenance mode" &lt;a href="@permissions-url"&gt;permission&lt;/a&gt; are able to access your site to perform maintenance; all other visitors see the maintenance mode message configured below. Authorized users can log in directly via the &lt;a href="@user-login"&gt;user login&lt;/a&gt; page.', array('@permissions-url' =&gt; url('admin/people/permissions'), '@user-login' =&gt; url('user'))),
  );
  $form['maintenance_mode_message'] = array(
    '#type' =&gt; 'textarea',
    '#title' =&gt; t('Maintenance mode message'),
    '#default_value' =&gt; variable_get('maintenance_mode_message', t('@site is currently under maintenance. We should be back shortly. Thank you for your patience.', array('@site' =&gt; variable_get('site_name', 'Drupal')))),
    '#description' =&gt; t('Message to show visitors when the site is in maintenance mode.')
  );

  return $form;
}

/**
 * Submits demo_form().
 */
function demo_form_submit($form, &amp;$form_state) {
  variable_set('site_slogan', $form_state['values']['site_slogan']);
  variable_set('maintenance_mode', $form_state['values']['maintenance_mode']);
  variable_set('maintenance_mode_message', $form_state['values']['maintenance_mode_message']);
}


The form elements for the logo are a bit more complicated, but I suggest you take a look at system_theme_settings() in system.admin.inc line 399.