diff --git a/playbooks/playbook.yaml b/playbooks/playbook.yaml
index 8ebf8a7..e1b9944 100644
--- a/playbooks/playbook.yaml
+++ b/playbooks/playbook.yaml
@@ -13,7 +13,7 @@
         cache_valid_time: 3600
 
   handlers:
-    - name: restart apache
+    - name: Restart apache
       ansible.builtin.service:
         name: apache2
         state: restarted
@@ -76,7 +76,7 @@
       community.general.apache2_module:
         name: rewrite
         state: present
-      notify: restart apache
+      notify: Restart apache
 
     - name: Add Apache virtualhost for Drupal.
       ansible.builtin.template:
@@ -85,19 +85,19 @@
         owner: root
         group: root
         mode: "0664"
-      notify: restart apache
+      notify: Restart apache
 
     - name: Enable Drupal site.
-      ansible.builtin.command: >
-        a2ensite {{ domain }}.test
-        creates=/etc/apache2/sites-enabled/{{ domain }}.test.conf
-      notify: restart apache
+      ansible.builtin.command:
+        cmd: a2ensite {{ domain }}.test
+        creates: /etc/apache2/sites-enabled/{{ domain }}.test.conf
+      notify: Restart apache
 
     - name: Disable the default site.
-      ansible.builtin.command: >
-        a2dissite 000-default
-        removes=/etc/apache2/sites-enabled/000-default.conf
-      notify: restart apache
+      ansible.builtin.command:
+        cmd: a2dissite 000-default
+        removes: /etc/apache2/sites-enabled/000-default.conf
+      notify: Restart apache
 
     - name: Adjust OpCache memory setting.
       ansible.builtin.lineinfile:
@@ -105,7 +105,7 @@
         regexp: "^opcache/memory_consumption"
         line: "opcache.memory_consumption = 96"
         state: present
-      notify: restart apache
+      notify: Restart apache
 
     - name: Create a MySQL database for Drupal.
       community.mysql.mysql_db:
@@ -126,6 +126,7 @@
         state: directory
         owner: www-data
         group: www-data
+        mode: "755"
     - name: Check if Drupal project already exists.
       ansible.builtin.stat:
         path: "{{ drupal_core_path }}/composer.json"
@@ -138,6 +139,7 @@
         working_dir: "{{ drupal_core_path }}"
         no_dev: true
       become_user: www-data
+      become: true
       when: not drupal_composer_json.stat.exists
 
     - name: Ensure cache dir is writable by www-data.
@@ -154,16 +156,19 @@
         arguments: "drush/drush"
         working_dir: "{{ drupal_core_path }}"
       become_user: www-data
+      become: true
       when: not drupal_composer_json.stat.exists
 
     - name: Install Drupal
-      ansible.builtin.command: >
-        vendor/bin/drush si -y --site-name="{{ drupal_site_name }}"
-        --account-name=admin
-        --account-pass=admin
-        --db-url=mysql://{{ domain }}:1234@localhost/{{ domain }}
-        --root={{ drupal_core_path }}/web
-        chdir={{ drupal_core_path }}
-        creates={{ drupal_core_path }}/web/sites/default/settings.php
-      notify: restart apache
+      ansible.builtin.command:
+        argv:
+          - vendor/bin/drush si -y --site-name="{{ drupal_site_name }}"
+          - --account-name=admin
+          - --account-pass=admin
+          - --db-url=mysql://{{ domain }}:1234@localhost/{{ domain }}
+          - --root={{ drupal_core_path }}/web
+        chdir: "{{ drupal_core_path }}"
+        creates: "{{ drupal_core_path }}/web/sites/default/settings.php"
+      notify: Restart apache
       become_user: www-data
+      become: true
diff --git a/playbooks/solr.yaml b/playbooks/solr.yaml
index 7405fd6..3528e38 100644
--- a/playbooks/solr.yaml
+++ b/playbooks/solr.yaml
@@ -23,6 +23,7 @@
         url: "https://archive.apache.org/dist/lucene/solr/{{ solr_version }}/solr-{{ solr_version }}.tgz"
         dest: "{{ download_dir }}/solr-{{ solr_version }}.tgz"
         checksum: "{{ solr_checksum }}"
+        mode: "644"
 
     - name: Expand Solr archive.
       ansible.builtin.unarchive:
@@ -32,15 +33,16 @@
         creates: "{{ download_dir }}/solr-{{ solr_version }}/README.txt"
 
     - name: Run Solr installation script.
-      ansible.builtin.command: >
-        {{ download_dir }}/solr-{{ solr_version }}/bin/install_solr_service.sh
-        {{ download_dir }}/solr-{{ solr_version }}.tgz
-        -i /opt
-        -d /var/solr
-        -u solr
-        -s solr
-        -p 8983
-        creates={{ solr_dir }}/bin/solr
+      ansible.builtin.command:
+        argv:
+          - "{{ download_dir }}/solr-{{ solr_version }}/bin/install_solr_service.sh"
+          - "{{ download_dir }}/solr-{{ solr_version }}.tgz"
+          - -i /opt
+          - -d /var/solr
+          - -u solr
+          - -s solr
+          - -p 8983
+        creates: "{{ solr_dir }}/bin/solr"
 
     - name: Ensure Solr is started and enabled on boot.
       ansible.builtin.service: