summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ansible.cfg2
-rw-r--r--files/rubygem-packages.sh6
-rw-r--r--files/website_apache.conf15
-rw-r--r--inventory.ini2
-rw-r--r--jekyll-playbook.yml27
-rw-r--r--jekyll-v2.playbook.yml24
-rw-r--r--lamp-stack-playbook.yml20
7 files changed, 96 insertions, 0 deletions
diff --git a/ansible.cfg b/ansible.cfg
new file mode 100644
index 0000000..5d514b6
--- /dev/null
+++ b/ansible.cfg
@@ -0,0 +1,2 @@
+[defaults]
+interpreter_python = /usr/bin/python3
diff --git a/files/rubygem-packages.sh b/files/rubygem-packages.sh
new file mode 100644
index 0000000..150e01d
--- /dev/null
+++ b/files/rubygem-packages.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#
+echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
+echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
+echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
+source ~/.bashrc
diff --git a/files/website_apache.conf b/files/website_apache.conf
new file mode 100644
index 0000000..99f5642
--- /dev/null
+++ b/files/website_apache.conf
@@ -0,0 +1,15 @@
+# Ensure that Apache listens on port 80
+Listen 80
+<VirtualHost *:80>
+ DocumentRoot "/www/example1"
+ ServerName www.example.com
+
+ # Other directives here
+</VirtualHost>
+
+<VirtualHost *:80>
+ DocumentRoot "/www/example2"
+ ServerName www.example.org
+
+ # Other directives here
+</VirtualHost>
diff --git a/inventory.ini b/inventory.ini
new file mode 100644
index 0000000..44c3ab7
--- /dev/null
+++ b/inventory.ini
@@ -0,0 +1,2 @@
+[hosts]
+192.168.1.231
diff --git a/jekyll-playbook.yml b/jekyll-playbook.yml
new file mode 100644
index 0000000..30fe444
--- /dev/null
+++ b/jekyll-playbook.yml
@@ -0,0 +1,27 @@
+---
+- name: Set up Jekyll Stack on all servers
+ hosts: all
+ remote_user: root
+ tasks:
+ - name: Install Needed Packages
+ ansible.builtin.apt:
+ update_cache: yes
+ pkg:
+ - nginx
+ - git
+ - ruby-full
+ - build-essential
+ - zlib1g-dev
+ - name: Copy RubyGem Packages BASH File
+ become_user: ben
+ ansible.builtin.copy:
+ src: files/rubygem-packages.sh
+ dest: /home/ben
+ owner: ben
+ group: ben
+ - name: Install RubyGem Packages
+ become_user: ben
+ ansible.builtin.shell: bash /home/ben/rubygem-packages.sh
+ - name: Install Jekyll and Bundlr
+ become_user: ben
+ ansible.builtin.shell: gem install jekyll bundler
diff --git a/jekyll-v2.playbook.yml b/jekyll-v2.playbook.yml
new file mode 100644
index 0000000..80ede72
--- /dev/null
+++ b/jekyll-v2.playbook.yml
@@ -0,0 +1,24 @@
+---
+- name: Set up Jekyll Stack on all servers
+ hosts: all
+ remote_user: root
+ tasks:
+ - name: Install Needed Packages
+ ansible.builtin.apt:
+ update_cache: yes
+ pkg:
+ - nginx
+ - git
+ - ruby-full
+ - build-essential
+ - zlib1g-dev
+ - name: Install RubyGem Packages
+ become: true
+ become_method: su
+ become_user: ben
+ ansible.builtin.script: files/rubygem-packages.sh
+ - name: Install Jekyll and Bundlr
+ become: true
+ become_method: su
+ become_user: ben
+ ansible.builtin.shell: gem install jekyll bundler
diff --git a/lamp-stack-playbook.yml b/lamp-stack-playbook.yml
new file mode 100644
index 0000000..15b93af
--- /dev/null
+++ b/lamp-stack-playbook.yml
@@ -0,0 +1,20 @@
+---
+- name: Set up LAMP Stack on all servers
+ hosts: all
+ remote_user: root
+ tasks:
+ - name: Install Apache, MariaDB, PHP8.4
+ ansible.builtin.apt:
+ update_cache: yes
+ pkg:
+ - apache2
+ - mariadb-server
+ - php8.4
+ - name: Move Apache Config File
+ ansible.builtin.copy:
+ src: files/website_apache.conf
+ dest: /etc/apache2/sites-available/website_apache.conf
+ owner: root
+ group: root
+ mode: '0644'
+# apache2 mariadb-server php8.4