You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.2 KiB
110 lines
2.2 KiB
--- |
|
|
|
- name: "Add packages" |
|
ansible.builtin.apt: |
|
name: |
|
- mariadb-server |
|
- php |
|
- php-bcmath |
|
- php-cli |
|
- php-common |
|
- php-curl |
|
- php-fpm |
|
- php-gd |
|
- php-gmp |
|
- php-imagick |
|
- php-intl |
|
- php-mbstring |
|
- php-mysql |
|
- php-redis |
|
- php-xml |
|
- php-zip |
|
- python3-pymysql |
|
- rsync |
|
- sudo |
|
- tmux |
|
- unzip |
|
- vim |
|
state: present |
|
become: true |
|
|
|
- name: "Create a new database" |
|
community.mysql.mysql_db: |
|
name: nextcloud |
|
state: present |
|
login_unix_socket: /run/mysqld/mysqld.sock |
|
become: true |
|
|
|
- name: "Add mariadb account" |
|
community.mysql.mysql_user: |
|
name: username |
|
host: localhost |
|
password: password |
|
priv: 'nextcloud.*:ALL' |
|
state: present |
|
login_unix_socket: /run/mysqld/mysqld.sock |
|
become: true |
|
|
|
- name: "Copy apache site" |
|
ansible.builtin.template: |
|
src: templates/vps.conf.j2 |
|
dest: /etc/apache2/sites-available/vps.conf |
|
owner: root |
|
group: root |
|
mode: '0644' |
|
become: true |
|
|
|
- name: "Test my site" |
|
ansible.builtin.stat: |
|
path: /etc/apache2/sites-enabled/vps.conf |
|
register: mysite |
|
|
|
- name: "Activate site" |
|
ansible.builtin.command: a2ensite vps |
|
changed_when: false |
|
when: not mysite.stat.exists |
|
become: true |
|
|
|
- name: "Enable ssl module" |
|
community.general.apache2_module: |
|
name: "{{ item }}" |
|
state: present |
|
loop: |
|
- ssl |
|
- rewrite |
|
- headers |
|
- env |
|
- dir |
|
- mime |
|
become: true |
|
|
|
- name: "Restart apache" |
|
ansible.builtin.systemd: |
|
name: apache2 |
|
state: restarted |
|
become: true |
|
|
|
- name: "Test my site" |
|
ansible.builtin.stat: |
|
path: /var/www/nextcloud |
|
register: wwwdata |
|
|
|
- name: Unarchive a file that needs to be downloaded (added in 2.0) |
|
ansible.builtin.unarchive: |
|
src: https://download.nextcloud.com/server/releases/latest.zip |
|
dest: /var/www |
|
owner: www-data |
|
group: www-data |
|
mode: "0755" |
|
remote_src: true |
|
become: true |
|
when: not wwwdata.stat.isdir |
|
|
|
- name: "Copy apache site" |
|
ansible.builtin.template: |
|
src: templates/autoconfig.php.j2 |
|
dest: /var/www/nextcloud/config/autoconfig.php |
|
owner: www-data |
|
group: www-data |
|
mode: '0640' |
|
become: true
|
|
|