Skip to content

Instantly share code, notes, and snippets.

@sergiopvilar
Created April 23, 2014 23:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sergiopvilar/11236599 to your computer and use it in GitHub Desktop.
Save sergiopvilar/11236599 to your computer and use it in GitHub Desktop.
# Define o path
Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] }
# apt
exec { 'apt-get update':
command => 'apt-get update',
timeout => 60,
tries => 3
}
class prepare {
class { 'apt':
always_apt_update => true,
}
# Adiciona os PPAs
apt::ppa { 'ppa:chris-lea/node.js': }
apt::ppa { 'ppa:ondrej/php5': }
package { ['python-software-properties']:
ensure => 'installed',
require => Exec['apt-get update'],
}
$sysPackages = [ 'build-essential', 'git', 'curl']
package { $sysPackages:
ensure => "installed",
require => Exec['apt-get update'],
}
}
class nginx{
class { "nginx": }
nginx::resource::vhost { 'localhost':
www_root => '/vagrant/www/',
}
nginx::resource::vhost { 'php':
www_root => '/vagrant/www/php',
}
nginx::resource::vhost { 'js':
www_root => '/vagrant/www/js',
}
nginx::resource::vhost { 'wp':
www_root => '/vagrant/www/wp',
}
nginx::resource::vhost { 'html':
www_root => '/vagrant/www/html',
}
nginx::resource::vhost { 'freelas':
www_root => '/vagrant/freelas',
}
}
class ruby{
class { 'ruby':
gems_version => 'latest'
}
package { 'sass':
ensure => 'installed',
provider => 'gem',
}
package { 'compass':
ensure => 'installed',
provider => 'gem',
}
}
include prepare
include nginx
include ruby
# node.js
package {'nodejs':
ensure => present,
require => Class['prepare']
}
package {'grunt-cli':
ensure => present,
provider => 'npm',
require => Package['nodejs'],
}
package {'bower':
ensure => present,
provider => 'npm',
require => Package['nodejs'],
}
package {'sails':
ensure => present,
provider => 'npm',
require => Package['nodejs'],
}
# php e mysql
class { 'php': require => Class['prepare', 'nginx']}
$phpModules = [ 'imagick', 'xdebug', 'curl', 'mysql', 'cli', 'intl', 'mcrypt', 'memcache']
php::module { $phpModules: }
php::ini { 'php':
value => ['date.timezone = "America/Sao_Paulo"'],
target => 'php.ini',
service => 'nginx',
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment