Setup File Playbook etc
mkdir -p challenge-1/
cd challenge-1/[defaults]
inventory=inventory
remote_user=student
ask_become_pass = false[managed]
pod-robiansya-managed1- name: challenge laravel
hosts: managed
remote_user: student
vars:
required_package:
- php8.0
- npm
- git
- apache2
- php-mbstring
- mysql-server
- php-bcmath
db_socket: /var/run/mysqld/mysqld.sock
#semua pacakge harus versi 8.0 disesuaikan dengan file composer.lock
tasks:
- name: Install required packages
apt:
name: "{{ required_package }}"
state: latest
become: true
- name: Restart MariaDB
service:
name: mariadb
state: restarted
become: true
- name: create directory
file:
path: /var/www/laravel
state: directory
owner: student
group: student
mode: '755'
become: true
- name: Git clone repository
git:
repo: https://github.com/kunal254/laravel-8-ecommerce.git
dest: /var/www/laravel
force: true
- name: Install Laravel Dependencies
composer:
command: install
working_dir: /var/www/laravel
- name: Setup database
mysql_db:
name: beyond
state: present
login_unix_socket: "{{ db_socket }}"
login_user: robi1
login_password: "robi123"
- name: Set DB_DATABASE in .env
lineinfile:
path: /var/www/laravel/.env
regexp: '^DB_DATABASE='
line: 'DB_DATABASE=beyond'
- name: Set DB_USERNAME in .env
lineinfile:
path: /var/www/laravel/.env
regexp: '^DB_USERNAME='
line: 'DB_USERNAME=robi1'
- name: Set DB_USERNAME in .env
lineinfile:
path: /var/www/laravel/.env
regexp: '^DB_PASSWORD='
line: 'DB_PASSWORD=robi123'
- name: Generate application key
shell: "php artisan key:generate"
args:
chdir: /var/www/laravel
- name: storage link
shell: "php artisan storage:link"
args:
chdir: /var/www/laravel
- name: Run artisan migrate
shell: "php artisan migrate --seed"
args:
chdir: /var/www/laravel
notify: restart webserver
- name: enable rewrite
command: a2enmod rewrite
become: true
notify: restart webserver
handlers:
- name: restart webserver
service:
Last updated