diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..496ee2ca6a2f08396a4076fe43dedf3dc0da8b6d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.DS_Store
\ No newline at end of file
diff --git a/manifests/firewall.pp b/manifests/firewall.pp
new file mode 100644
index 0000000000000000000000000000000000000000..0918c88dacb04001b52f6d20451cf96f0edb9e06
--- /dev/null
+++ b/manifests/firewall.pp
@@ -0,0 +1,7 @@
+class skadereg::firewall{
+  ::server_firewall::constricto_chain{ 'skadereg': }
+  ::server_firewall::rules_file { '55-permit-skadereg.rules':
+    content => template("${module_name}/55-permit-skadereg.rules.erb"),
+    require => ::Server_firewall::Constricto_chain['skadereg'],
+  }
+}
\ No newline at end of file
diff --git a/manifests/init.pp b/manifests/init.pp
index 4cc2710b6d675310ec2b9a5d8d093a9468bb65e6..ade3124673be0c2e6071dfe3f93bccdc81b57d7c 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -42,51 +42,106 @@
 #
 # Copyright 2016 Andreas Alvarsson
 #
+
+
 class skadereg {
   ::users::liu_user { 'andal699':
     commonname => 'Andreas Alvarsson',
     shell      => '/bin/bash',
-    sshkey     => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDBwLJB6f+wJqPl81NwT5NM7ughW6fdk3Jf6W0IWX2Ta7PChjnlBgpNGfec59+iuDBs3V/zFJqwUjIWNG8MshbJPShjhM5CpAf0VSsqd+MRlYtXw1Wtp3uwkbj62n9i8VlP1bKXgbnd4C4qiQ8xNJetMb45Alm3ueeyEHpmQbi4JpFvREaN7hDUfIEITPItgsZtV36Gs1nn+OHdV03wll0AddmD1SiIJPWqtO+RKS58oD3yqagthoLP7QdjB2vptaVhlg+e3SJuOFkC9AgQvzHBPh+NGJSZAe7IQXk3wENYZotEuGOKnQ3cFhMtf3TkoMLfglMtYl3oP1CxcecLkd47',
+    sshkey     => 'AAAAB3NzaC1yc2EAAAADAQABAAACAQDCdb9hWgucRRTpDEH1ozBsWXfC+zTnZEO8rrnuqLlwIy23vEaUK7pJ9tQ7AzdR3+fp6yhWBNOlWC9UT70TnVClS1NfXGXHep0J0yWqNnyXcKviKpVB/p9TOVOULrRX9o3oczYxQa4Bi+eYUfk/en2V6O8tIfYtx5AdWUoofdLYNSpCyrHD1xoH7k1/c+OfW0S3fR5f12n/5u8JTHrztDnpy79CfEtwgMr1pCMjOaiM+OIDYlhNJMvlBo5C6mcDls93snctUR1Zef+sJEznb739uw91f5Yqf5FUBLxXCBi3eveJacBVRVg++ZPzyZ9VHIlBz3OPZ1WEjiM/IRJDBXD4I5MoxnM0Urv2wZBr0+G+1cS916KKraMuEfJHf2Qg4O3L3kZY2zNN5DqRmTx1BflTqe2XdPCCMQJiQi37WjE4fOGfNVsAR2VENhw/TMzc8bcagrrIzeBm3dA5e3R7nTfloPufU6IlIwI9qvCmdI2w0rE3Ve6KHtTzWszjsFtVeOzxVzYkG6GQlT1vr867Ayvx8SWE3GixHiIRByw4BEhFVJWNN/DBT88qd61StuIvWEawZ4WiTGNYfh2SVDIy9Jrcp7Nfg1knK1OtYr+wnjO9OrJtePfo0oo9xwQ3GfwCxni8YJKp40BmfWT/fpY9Pmup71adhaPxPHnELGOeVG/fGw==',
   }
 
-  # include ::apache
-  # class { '::apache::mod_php'
-  #   package_name => 'php55-php', # The PHP 5.5 package has a different name for mod_php
-  # }
-  # include ::certdist
+  include skadereg::firewall
+  include ::yum::centos_scl
+  include ::apache
 
-  # $cert = "/etc/pki/tls/certs/cert-${::fqdn}.pem"
-  # $chain = "/etc/pki/tls/certs/chain-${::fqdn}.pem"
-  # $key = "/etc/pki/tls/private/${::fqdn}.key"
+  class { '::apache::mod::php':
+    package_name => 'php55-php'
+  }
+  include ::apache::mod::rewrite
 
-  # apache::vhost { 'default:80':
-  #   servername      => $::fqdn,
-  #   default_vhost   => true,
-  #   port            => '80',
-  #   docroot         => '/var/www/html',
-  #   redirect_status => 'permanent',
-  #   redirect_dest   => "https://${::fqdn}/",
-  # }
-  # apache::vhost { "${::fqdn}:443":
-  #   servername            => $::fqdn,
-  #   port                  => '443',
-  #   ssl                   => true,
-  #   ssl_cert              => $cert,
-  #   ssl_chain             => $chain,
-  #   ssl_key               => $key,
-  #   headers               => ['Set Strict-Transport-Security "max-age=31536000"',],
-  #   docroot               => '/var/www',
-  #   proxy_preserve_host   => true,
-  #   allow_encoded_slashes => 'on',
-  # }
+  package { 'php55-php-pdo':
+    ensure => installed;
+    'php55-php-mbstring': ensure => installed;
+    'php55-php-common': ensure => installed;
+  }
 
-  include ::yum::centos_scl
+  file { '/etc/httpd/modules/libphp5.so':
+    ensure => link,
+    target => '/opt/rh/httpd24/root/usr/lib64/httpd/modules/libphp55-php5.so',
+    before => Service['httpd']
+  }
+
+  include ::certdist
+
+  $cert = "/etc/pki/tls/certs/cert-${::fqdn}.pem"
+  $chain = "/etc/pki/tls/certs/chain-${::fqdn}.pem"
+  $key = "/etc/pki/tls/private/${::fqdn}.key"
 
-  file { '/tmp/example':
+  apache::vhost { 'default:80':
+    servername      => $::fqdn,
+    default_vhost   => true,
+    port            => '80',
+    docroot         => '/var/www/html',
+    redirect_status => 'permanent',
+    redirect_dest   => "https://${::fqdn}/",
+  }
+
+  apache::vhost { "${::fqdn}:443":
+    servername  => $::fqdn,
+    port        => '443',
+    ssl         => true,
+    ssl_cert    => $cert,
+    ssl_chain   => $chain,
+    ssl_key     => $key,
+    headers     => ['Set Strict-Transport-Security "max-age=31536000"',],
+    docroot     => '/var/www/skadereg/public',
+    directories => [
+      {
+        path           => '/var/www/skadereg/public',
+        allow_override => [ 'ALL' ],
+        directoryindex => 'index.php',
+      }
+    ]
+  }
+
+  file { '/var/www/skadereg/':
+    ensure => directory,
+    owner => 'andal699',
+    group => 'apache',
+    mode => '0770',
+    recurse => true
+  }->
+
+  vcsrepo { '/var/www/skadereg':
+    ensure => latest,
+    before => File['/var/www/skadereg/public'],
+    provider => git,
+    source => 'ssh://git@gitlab.it.liu.se:29418/andal699/laravel.git',
+    user => 'andal699'
+  }->
+
+  file { '/var/www/skadereg/.env':
     ensure  => file,
-    content => template('skadereg/example.erb'),
-    owner   => andal699,
-    group   => andal699,
-    mode    => '0400',
+    owner   => 'andal699',
+    group   => 'apache',
+    mode    => '0660',
+    content => template("${module_name}/dotenv.erb"),
+  }
+
+  class { '::mysql::server':
+    root_password    => 'ControlAvHandboll',
+    databases        => {
+      'homestead' => {
+        ensure  => present,
+        charset => 'utf8',
+      }
+    },
+    override_options => {
+      mysqld => {
+        'bind-address' => '0.0.0.0',
+        port           => 33060,
+      }
+    }
   }
-}
+}
\ No newline at end of file
diff --git a/templates/55-permit-skadereg.rules.erb b/templates/55-permit-skadereg.rules.erb
new file mode 100644
index 0000000000000000000000000000000000000000..52d3a7c2351b5621838bdc8246066620e75e0729
--- /dev/null
+++ b/templates/55-permit-skadereg.rules.erb
@@ -0,0 +1,15 @@
+require services
+
+policy skadereg chain skadereg is
+	accept service:http
+	accept service:https
+	accept { tcp/33060 }
+end policy
+
+append rule INPUT -j skadereg
+
+# <%# Put installed file in view mode when opened with Emacs: -%>
+# <%= "Nota bene: Puppet managed file, all local changes will be reverted." %>
+# <%= "Local" %> <%= "variables:" %>
+# mode: view
+# <%= "End:" %>
diff --git a/templates/dotenv.erb b/templates/dotenv.erb
new file mode 100644
index 0000000000000000000000000000000000000000..599813e3776f7220810ad2d228b364c64395c87b
--- /dev/null
+++ b/templates/dotenv.erb
@@ -0,0 +1,8 @@
+APP_KEY=1eridaub9oepqakdd9n9ckmk2m33mkv2
+DB_PASSWORD=ControlAvHandboll
+
+# <%# Put installed file in view mode when opened with Emacs: -%>
+# <%= "Nota bene: Puppet managed file, all local changes will be reverted." %>
+# <%= "Local" %> <%= "variables:" %>
+# mode: view
+# <%= "End:" %>
diff --git a/templates/example.erb b/templates/example.erb
deleted file mode 100644
index 418dbb9e54b78a2534a02621106c2344aa8f79aa..0000000000000000000000000000000000000000
--- a/templates/example.erb
+++ /dev/null
@@ -1 +0,0 @@
-Example content, rev2