Skip to content

Latest commit

 

History

History
82 lines (66 loc) · 2.86 KB

README.md

File metadata and controls

82 lines (66 loc) · 2.86 KB

Copyright 2012 Georgia Tech Research Institute

Author: Lance Gatlin [[email protected]]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Puppet modules for configuring a basic single-website CentOS webserver. (apache module can be configured to support multi-site webservers)

  • See wiki (here) for instructions on creating a CentOS 6.X VirtualBox VM
Install Puppet for Centos 6.X
* For puppet packages, install the EPEL repo: * i386: rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm * x86_64: rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm * Install required packages for puppet: yum install puppet facter ruby ruby-libs ruby-shadow rubygems rubygem-activesupport cronie
Package Install Using Puppet
* Install GIT: yum install git * Check-out puppet modules: git clone https://github.com/gtri-iead/puppet-centos-webserver.git /usr/share/puppet/modules/ * Edit ~/site.pp to the following:
node default {
  class { webserver1 :
    ensure => latest,
    password => 'YOUR_PASSWORD_HERE',
  }
  # Other modules (such as mediawiki) go here!
}
  • Get a fresh repo db for yum (important!):
yum clean all * Apply the manifest: puppet apply ~/site.pp
Using the wwwadmin module
* The wwwadmin utility provides access to web-accessible admin utilities such as phpmyadmin or phppgadmin * The module provides an apache URL (/admin) that accepts connection ONLY from the localhost * This URL is inaccessible to normal http/https requests * To access /admin, an SSH session connecting to the server from a remote machine should be started * The ports 80,443 and 8080 should be tunneled so that the remote machine's localhost maps to the server's localhost (127.0.0.1) * Example using putty: [[Image:wwwadmin-putty-tunnel-config.png|300px]] * After enabling tunneling, to access /admin on the remote machine, navigate a browser to http://localhost/admin (this connects to the server as if it were from the server itself) [[Image:wwwadmin-test.png|300px]]