forked from LibreSchool/server-config
Compare commits
66 Commits
git-repo-f
...
master
Author | SHA1 | Date | |
---|---|---|---|
2b85700990 | |||
a2e013674b | |||
3f421afbbe | |||
ed018db4c2 | |||
44a5ca6bae | |||
e72883abb5 | |||
bcb583cd84 | |||
14d50a0e07 | |||
8ec091bcbf | |||
81873ef6cb | |||
604460a6bd | |||
c769d5c4a4 | |||
965f7c90c4 | |||
65b2923b71 | |||
2881d042d9 | |||
0dbe53a796 | |||
3a0035c61e | |||
df1dcc532b | |||
baa5cd96c3 | |||
125c72e136 | |||
4fc6036eae | |||
02dd0eed95 | |||
782a0c4204 | |||
25695acc50 | |||
c32f5de1ea | |||
cf477c4476 | |||
|
1f502ec7d0 | ||
f62afbe30c | |||
9f144a497b | |||
dfadfe7ee7 | |||
638b753ee1 | |||
a18ce577f5 | |||
f2556c7fdf | |||
925a8fd63b | |||
ddeeacdc61 | |||
ba9ebf6d29 | |||
86ba9cfc72 | |||
f0f2413214 | |||
198c00dc54 | |||
5a6c50a870 | |||
df515691a3 | |||
49d16a83ee | |||
664c93e509 | |||
16804ba296 | |||
034e483b96 | |||
efa80ce5a9 | |||
a001256663 | |||
98e1f7fad8 | |||
c612859fdf | |||
b998068d63 | |||
55d222132b | |||
dc1b532c5b | |||
1e7b5dcd47 | |||
91946e3181 | |||
5548a1ff5a | |||
9ced7b7052 | |||
d5ab68fb01 | |||
09f7df6000 | |||
3908fffd4d | |||
75613cc0c6 | |||
153741495e | |||
b721cad45b | |||
47ac841a07 | |||
f8a092d081 | |||
26b66684a0 | |||
1ec657956a |
21
Vagrantfile
vendored
21
Vagrantfile
vendored
@ -10,11 +10,16 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||||||
# please see the online documentation at vagrantup.com.
|
# please see the online documentation at vagrantup.com.
|
||||||
|
|
||||||
# Every Vagrant virtual environment requires a box to build off of.
|
# Every Vagrant virtual environment requires a box to build off of.
|
||||||
config.vm.box = "syntaxerrormmm/nethserver"
|
|
||||||
config.vm.define "NethServer" do |nethserver|
|
# Defining a base vm name:
|
||||||
|
myname = "NethServer"
|
||||||
|
|
||||||
|
config.vm.box = "syntaxerrormmm/nethserver-6.9"
|
||||||
|
config.vm.box_url = "https://vagrant.libreschool.org/nethserver-6.9"
|
||||||
|
config.vm.define myname do |nethserver|
|
||||||
end
|
end
|
||||||
config.vm.provider :virtualbox do |vb|
|
config.vm.provider :virtualbox do |vb|
|
||||||
vb.name = "NethServer"
|
vb.name = myname
|
||||||
end
|
end
|
||||||
|
|
||||||
# Disable automatic box update checking. If you disable this, then
|
# Disable automatic box update checking. If you disable this, then
|
||||||
@ -30,7 +35,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||||||
# Create a private network, which allows host-only access to the machine
|
# Create a private network, which allows host-only access to the machine
|
||||||
# using a specific IP.
|
# using a specific IP.
|
||||||
# config.vm.network "private_network", ip: "192.168.33.10"
|
# config.vm.network "private_network", ip: "192.168.33.10"
|
||||||
config.vm.network "private_network", ip: "192.168.1.1", auto_config: false
|
config.vm.network "private_network", ip: "172.16.254.1", auto_config: false
|
||||||
|
|
||||||
# Create a public network, which generally matched to bridged network.
|
# Create a public network, which generally matched to bridged network.
|
||||||
# Bridged networks make the machine appear as another physical device on
|
# Bridged networks make the machine appear as another physical device on
|
||||||
@ -126,7 +131,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||||||
#
|
#
|
||||||
# chef.validation_client_name = "ORGNAME-validator"
|
# chef.validation_client_name = "ORGNAME-validator"
|
||||||
config.vm.provision "ansible" do |ansible|
|
config.vm.provision "ansible" do |ansible|
|
||||||
ansible.inventory_path = "vagrant/hosts"
|
# Using default dynamic inventory
|
||||||
ansible.playbook = "vagrant/vagrant.yml"
|
ansible.playbook = "provision.yml"
|
||||||
|
ansible.groups = {
|
||||||
|
"vagrant" => [ myname ]
|
||||||
|
}
|
||||||
|
ansible.compatibility_mode = "2.0"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
39
domain.yml
39
domain.yml
@ -1,26 +1,31 @@
|
|||||||
---
|
---
|
||||||
# Configurazione dominio
|
# Configurazione dominio
|
||||||
ntpserver: pdc.mastri.edu
|
ntpserver: pdc.topolin.ia
|
||||||
server: pdc
|
server: pdc
|
||||||
serverip: 192.168.1.1
|
serverip: 172.16.254.1
|
||||||
servernetmask: 255.255.255.0
|
servernetmask: 255.255.255.0
|
||||||
servernet: 192.168.1.0
|
servernet: 172.16.254.0
|
||||||
servergw: 192.168.1.1
|
servergw: 172.16.254.1
|
||||||
serverfqdn: pdc.mastri.edu
|
serverfqdn: pdc.topolin.ia
|
||||||
domainshort: MASTRI
|
domainshort: TOPOLIN
|
||||||
domainfull: mastri.edu
|
domainfull: topolin.ia
|
||||||
dhcprange_start: 192.168.1.10
|
dhcprange_start: 172.16.254.10
|
||||||
dhcprange_end: 192.168.1.50
|
dhcprange_end: 172.16.254.50
|
||||||
extdnsserver1: 208.67.222.222
|
extdnsserver1: 208.67.222.222
|
||||||
extdnsserver2: 208.67.220.220
|
extdnsserver2: 208.67.220.220
|
||||||
org_email: info@bglug.it
|
org_email: info@bglug.it
|
||||||
org_company: Istituto Comprensivo 'Mastri Caravaggini'
|
org_company: Accademia di SuperPippo
|
||||||
org_countrycode: IT
|
org_countrycode: IA
|
||||||
org_department: "Laboratorio 1"
|
org_department: "Laboratorio 1"
|
||||||
org_city: Caravaggio
|
org_city: Topolinia
|
||||||
org_phone: "+39 0363 50598"
|
org_phone: "313 113 176-167"
|
||||||
org_street: "Via Zenale e Butinone, 20"
|
org_street: "Piazza la bomba e scappa"
|
||||||
mirror_mode: nfs
|
edu_package: secondary
|
||||||
mirror_nfs_share: 192.168.255.1:/var/spool/apt-mirror/mirror
|
mirror_mode: remote
|
||||||
#remote_mirror: ubuntu.fastbull.org
|
#mirror_nfs_share: 192.168.255.1:/var/spool/apt-mirror/mirror
|
||||||
|
mirror_host: it.archive.ubuntu.com
|
||||||
|
#mirror_path: /ubuntu
|
||||||
|
#mirror_security_host: security.ubuntu.com
|
||||||
|
#mirror_security_path: /ubuntu
|
||||||
client_gitbranch: master
|
client_gitbranch: master
|
||||||
|
#client_gitrepo: "https://github.com/bglug-it/client-pull-installation.git"
|
||||||
|
2
hosts
2
hosts
@ -2,4 +2,4 @@
|
|||||||
host_key_checking=false
|
host_key_checking=false
|
||||||
|
|
||||||
[server]
|
[server]
|
||||||
192.168.1.1 ansible_ssh_user=amgmt
|
172.16.254.1 ansible_ssh_user=amgmt
|
||||||
|
58
how_to_change_passwords.md
Normal file
58
how_to_change_passwords.md
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Default password for project #
|
||||||
|
|
||||||
|
* NS Box root user: `vagrant`
|
||||||
|
* NS Box vagrant user: `vagrant`
|
||||||
|
* Vault Password: `v4ul+Password!`
|
||||||
|
* amgmt user (server): `DoN0t4g3t!`
|
||||||
|
* bglug user (client): `s4lamanDr@`
|
||||||
|
* admin user (domain): `R0busTdom41nPa55wd!`
|
||||||
|
|
||||||
|
# How to change passwords for production deployments #
|
||||||
|
|
||||||
|
## *root* and *vagrant* users ##
|
||||||
|
|
||||||
|
These will not be required, since you will not have a virtual machine to
|
||||||
|
manage via *Vagrant*.
|
||||||
|
|
||||||
|
## Vault password ##
|
||||||
|
|
||||||
|
Clone [`client-pull-installation`][2] then, in the working copy, launch following commands:
|
||||||
|
|
||||||
|
$ ansible-vault rekey domainpwd.vault
|
||||||
|
|
||||||
|
`ansible-vault` will ask one time the old password and two times the new one.
|
||||||
|
|
||||||
|
## *amgmt* user (server-side) ##
|
||||||
|
|
||||||
|
Clone [`server-config`][1] then, in the working copy, generate a new password hash with the follwing command:
|
||||||
|
|
||||||
|
$ mkpasswd -m sha-512
|
||||||
|
|
||||||
|
The command would ask for the password to be hashed. Please copy the result string.
|
||||||
|
|
||||||
|
Open up the file `roles/init/tasks/mgmtuser.yml`, find out `password:` and then replace previous hash with the one you have just created.
|
||||||
|
|
||||||
|
## *bglug* user (client side but preseeded) ##
|
||||||
|
|
||||||
|
The definition of password for *bglug* is inside `*.seed` files, inside [`server-config`][1]. Create a new password hash with:
|
||||||
|
|
||||||
|
$ mkpasswd -m sha-512
|
||||||
|
|
||||||
|
Copy the hash in your clipboard; clone the repository, then in the working directory:
|
||||||
|
|
||||||
|
$ find . -iname \*.seed -exec $EDITOR {} \;
|
||||||
|
|
||||||
|
Within each `*.seed` file, search for the string `user-password-crypted` string and change following hash.
|
||||||
|
|
||||||
|
## *admin* user (domain valid) ##
|
||||||
|
|
||||||
|
Password must be specified within NethServer interface for the *admin* user and must be absolutely equal to the one contained inside vault file.
|
||||||
|
|
||||||
|
Clone [`client-pull-installation`][2], create new branch and modify the password inside `domainpwd.vault`:
|
||||||
|
|
||||||
|
$ ansible-vault edit domainpwd.vault
|
||||||
|
|
||||||
|
The system would ask for the vault password. Change the plain text password with your editor.
|
||||||
|
|
||||||
|
[1]: https://github.com/bglug-it/server-config
|
||||||
|
[2]: https://github.com/bglug-it/client-pull-installation
|
@ -2,4 +2,4 @@
|
|||||||
# Vagrant provisioning playbook
|
# Vagrant provisioning playbook
|
||||||
- hosts: vagrant
|
- hosts: vagrant
|
||||||
roles:
|
roles:
|
||||||
- rename-nic
|
- rename-nic
|
@ -1,14 +1,26 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Fixing base variables.
|
||||||
|
basedir=/var/lib/{{ ansible_local.domain.domainfull }}
|
||||||
|
url=git://{{ ansible_local.domain.serverfqdn }}/client-pull-installation.git
|
||||||
|
branch={{ ansible_local.domain.client_gitbranch }}
|
||||||
|
|
||||||
# Creo directory dipendenti
|
# Creo directory dipendenti
|
||||||
echo "$(date --rfc-3339=seconds) Installing bin directory."
|
echo "$(date --rfc-3339=seconds) Installing bin directory."
|
||||||
/usr/bin/install -d -o root -g users /var/lib/{{ ansible_local.domain.domainfull }}/bin
|
/usr/bin/install -d -o root -g users ${basedir}/bin
|
||||||
/bin/chown -R root:users /var/lib/{{ ansible_local.domain.domainfull }}
|
|
||||||
|
# Workaround issue #23 - ansible-pull won't pull out of remote the first time.
|
||||||
|
if [[ ! -f ${basedir}/config/local.yml ]]; then
|
||||||
|
/usr/bin/git clone -b ${branch} ${url} ${basedir}/config
|
||||||
|
fi
|
||||||
|
|
||||||
# Installo ansible-pull.sh
|
# Installo ansible-pull.sh
|
||||||
echo "$(date --rfc-3339=seconds) Creating ansible-pull.sh."
|
echo "$(date --rfc-3339=seconds) Creating ansible-pull.sh."
|
||||||
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/ansible-pull.sh -O /var/lib/{{ ansible_local.domain.domainfull }}/bin/ansible-pull.sh
|
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/ansible-pull.sh -O ${basedir}/bin/ansible-pull.sh
|
||||||
chmod a+x /var/lib/{{ ansible_local.domain.domainfull }}/bin/ansible-pull.sh
|
chmod a+x ${basedir}/bin/ansible-pull.sh
|
||||||
|
|
||||||
|
# Fixing permissions on the main directory
|
||||||
|
/bin/chown -R root:users ${basedir}
|
||||||
|
|
||||||
# Installo il cronjob per ansible-pull
|
# Installo il cronjob per ansible-pull
|
||||||
echo "$(date --rfc-3339=seconds) Creating crontab"
|
echo "$(date --rfc-3339=seconds) Creating crontab"
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- { role: pxe, tags: [ 'client-install' ] }
|
- { role: ubuntu-mirror, tags: [ 'client-install' ] }
|
||||||
- { role: preseed, tags: [ 'client-install' ] }
|
- { role: preseed, tags: [ 'client-install' ] }
|
||||||
- { role: ansible-pull, tags: [ 'client-install' ] }
|
- { role: ansible-pull, tags: [ 'client-install' ] }
|
||||||
- { role: ubuntu-mirror, tags: [ 'client-install' ] }
|
|
||||||
- { role: doraemon, tags: [ 'client-install' ] }
|
- { role: doraemon, tags: [ 'client-install' ] }
|
||||||
- { role: npm, tags: [ 'client-install' ] }
|
- { role: npm, tags: [ 'client-install' ] }
|
||||||
- { role: git-daemon, tags: [ 'client-install' ] }
|
- { role: git-daemon, tags: [ 'client-install' ] }
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
---
|
---
|
||||||
|
doraemon_pkg: doraemon
|
||||||
doraemon_version: 1.2.0-1
|
doraemon_version: 1.2.0-1
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
- name: Installazione doraemon
|
- name: Installazione doraemon
|
||||||
yum:
|
yum:
|
||||||
pkg: doraemon
|
pkg: "{{ doraemon_pkg }}"
|
||||||
state: latest
|
state: latest
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
|
3
roles/git-daemon/defaults/main.yml
Normal file
3
roles/git-daemon/defaults/main.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
client_gitrepo: "https://github.com/bglug-it/client-pull-installation.git"
|
||||||
|
client_gitbranch: master
|
@ -41,17 +41,17 @@
|
|||||||
shell: pushd /var/lib/git-daemon/repositories/client-pull-installation.git; git fetch -p origin; popd
|
shell: pushd /var/lib/git-daemon/repositories/client-pull-installation.git; git fetch -p origin; popd
|
||||||
become: yes
|
become: yes
|
||||||
become_user: git-daemon
|
become_user: git-daemon
|
||||||
when: chk_clientpullinstall_repo|success
|
when: chk_clientpullinstall_repo is succeeded
|
||||||
tags:
|
tags:
|
||||||
- git-daemon-update
|
- git-daemon-update
|
||||||
|
|
||||||
# E' in forma di shell perché non c'è modo di passare ad ansible
|
# E' in forma di shell perché non c'è modo di passare ad ansible
|
||||||
# il parametro --mirror
|
# il parametro --mirror
|
||||||
- name: Clono il repository client-pull-installation
|
- name: Clono il repository client-pull-installation
|
||||||
shell: git clone --mirror https://github.com/bglug-it/client-pull-installation.git /var/lib/git-daemon/repositories/client-pull-installation.git
|
shell: git clone --mirror {{ client_gitrepo }} /var/lib/git-daemon/repositories/client-pull-installation.git
|
||||||
become: yes
|
become: yes
|
||||||
become_user: git-daemon
|
become_user: git-daemon
|
||||||
when: chk_clientpullinstall_repo|changed
|
when: chk_clientpullinstall_repo is changed
|
||||||
|
|
||||||
- name: Rendo il repository esportabile
|
- name: Rendo il repository esportabile
|
||||||
file:
|
file:
|
||||||
@ -94,7 +94,7 @@
|
|||||||
- name: Aggiungo servizio a gestione NethServer
|
- name: Aggiungo servizio a gestione NethServer
|
||||||
shell: /sbin/e-smith/db configuration set git-daemon service status enabled TCPPort 9418 access private
|
shell: /sbin/e-smith/db configuration set git-daemon service status enabled TCPPort 9418 access private
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_gitdaemon_srv|changed
|
when: chk_gitdaemon_srv is changed
|
||||||
|
|
||||||
- name: Creazione directory defaults per NethServer
|
- name: Creazione directory defaults per NethServer
|
||||||
file:
|
file:
|
||||||
@ -102,7 +102,7 @@
|
|||||||
recurse: yes
|
recurse: yes
|
||||||
state: directory
|
state: directory
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_gitdaemon_srv|changed
|
when: chk_gitdaemon_srv is changed
|
||||||
|
|
||||||
- name: Creazione tipo default per NethServer
|
- name: Creazione tipo default per NethServer
|
||||||
lineinfile:
|
lineinfile:
|
||||||
@ -112,7 +112,7 @@
|
|||||||
create: yes
|
create: yes
|
||||||
state: present
|
state: present
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_gitdaemon_srv|changed
|
when: chk_gitdaemon_srv is changed
|
||||||
|
|
||||||
- name: Creazione stato default per NethServer
|
- name: Creazione stato default per NethServer
|
||||||
lineinfile:
|
lineinfile:
|
||||||
@ -122,19 +122,19 @@
|
|||||||
create: yes
|
create: yes
|
||||||
state: present
|
state: present
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_gitdaemon_srv|changed
|
when: chk_gitdaemon_srv is changed
|
||||||
|
|
||||||
- name: Aggiunta servizio
|
- name: Aggiunta servizio
|
||||||
shell: /sbin/e-smith/signal-event runlevel-adjust
|
shell: /sbin/e-smith/signal-event runlevel-adjust
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_gitdaemon_srv|changed
|
when: chk_gitdaemon_srv is changed
|
||||||
|
|
||||||
- name: Aggiunta servizio di rete e cambio firewall
|
- name: Aggiunta servizio di rete e cambio firewall
|
||||||
shell: /sbin/e-smith/signal-event firewall-adjust
|
shell: /sbin/e-smith/signal-event firewall-adjust
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_gitdaemon_srv|changed
|
when: chk_gitdaemon_srv is changed
|
||||||
|
|
||||||
- name: Avvio servizio
|
- name: Avvio servizio
|
||||||
shell: service git-daemon start
|
shell: service git-daemon start
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_gitdaemon_srv|changed
|
when: chk_gitdaemon_srv is changed
|
||||||
|
9
roles/git-daemon/tasks/initvars.yml
Normal file
9
roles/git-daemon/tasks/initvars.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Overriding default gitrepo if defined in domain.yml
|
||||||
|
set_fact: client_gitrepo="{{ ansible_local.domain.client_gitrepo }}"
|
||||||
|
when: "ansible_local.domain.client_gitrepo is defined"
|
||||||
|
|
||||||
|
- name: Overriding default gitbranch if defined in domain.yml
|
||||||
|
set_fact: client_gitbranch="{{ ansible_local.domain.client_gitbranch }}"
|
||||||
|
when: "ansible_local.domain.client_gitbranch is defined"
|
@ -1,3 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
|
- include: initvars.yml
|
||||||
|
tags: git-daemon
|
||||||
|
|
||||||
- include: git-daemon.yml
|
- include: git-daemon.yml
|
||||||
tags: git-daemon
|
tags: git-daemon
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
ansible_ssh_user: root
|
ansible_ssh_user: root
|
||||||
admin_sshkey: /Users/syntaxerrormmm/.ssh/id_rsa.pub
|
admin_sshkey: "{{ lookup('env', 'HOME') + '/.ssh/id_rsa.pub' }}"
|
||||||
|
@ -5,13 +5,15 @@
|
|||||||
comment: "Ansible Management User"
|
comment: "Ansible Management User"
|
||||||
group: wheel
|
group: wheel
|
||||||
state: present
|
state: present
|
||||||
password: $6$rounds=100000$XvHuMoXtpCksx379$nhlfUn38.oBB7JrDrtwfUisw8T0Bg5InzFq1fw31mcEmGZ2AYFkFK2zC2g04lSfw.kpdSgqH3Dl5q9r1fY6.k.
|
password: $6$mVKMBMbAxeql$eqSe8tu2qKjtwmpiFy07b6nv2g4F80N.U9EzOmQTrNZwKZ61n6NLrSEQHQo1FOlQghOiB8as6Z35oTUUKN8y2.
|
||||||
|
|
||||||
- name: Concessione diritti all'utente di gestione Ansible
|
- name: Concessione diritti all'utente di gestione Ansible
|
||||||
template:
|
template:
|
||||||
src: sudoers.d
|
src: sudoers.d
|
||||||
dest: /etc/sudoers.d/amgmt
|
dest: /etc/sudoers.d/amgmt
|
||||||
mode: "u=r,g=r"
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0440
|
||||||
validate: "/usr/sbin/visudo -cf %s"
|
validate: "/usr/sbin/visudo -cf %s"
|
||||||
|
|
||||||
- name: Installazione chiave privata PC locale
|
- name: Installazione chiave privata PC locale
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
---
|
---
|
||||||
extnic: wan0
|
|
||||||
intnic: lan0
|
intnic: lan0
|
||||||
force_regen_ca: false
|
force_regen_ca: false
|
||||||
force_ibay_shared: false
|
force_ibay_shared: false
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
---
|
---
|
||||||
# Base configurations to be implemented anyways.
|
# Base configurations to be implemented anyways.
|
||||||
|
|
||||||
|
# installing italian interface translation
|
||||||
|
|
||||||
|
- name: Making available also Italian NethGUI
|
||||||
|
yum:
|
||||||
|
pkg: nethserver-lang-it
|
||||||
|
state: present
|
||||||
|
tags: nethgui
|
||||||
|
|
||||||
# Trusted networks: LAN
|
# Trusted networks: LAN
|
||||||
|
|
||||||
- name: Check for LAN to be added as Trusted Network
|
- name: Check for LAN to be added as Trusted Network
|
||||||
@ -12,12 +20,12 @@
|
|||||||
|
|
||||||
- name: Configuring trusted networks
|
- name: Configuring trusted networks
|
||||||
shell: /sbin/e-smith/db networks set {{ ansible_local.domain.servernet }} network Description "Local LAN" Mask {{ ansible_local.domain.servernetmask }}
|
shell: /sbin/e-smith/db networks set {{ ansible_local.domain.servernet }} network Description "Local LAN" Mask {{ ansible_local.domain.servernetmask }}
|
||||||
when: check_trusted|changed
|
when: check_trusted is changed
|
||||||
tags: trustednet
|
tags: trustednet
|
||||||
|
|
||||||
- name: Activating trusted network
|
- name: Activating trusted network
|
||||||
shell: /sbin/e-smith/signal-event trusted-networks-modify
|
shell: /sbin/e-smith/signal-event trusted-networks-modify
|
||||||
when: check_trusted|changed
|
when: check_trusted is changed
|
||||||
tags: trustednet
|
tags: trustednet
|
||||||
|
|
||||||
# Preconfiguring DNS anyways
|
# Preconfiguring DNS anyways
|
||||||
@ -25,17 +33,17 @@
|
|||||||
- name: Checking DNS configuration
|
- name: Checking DNS configuration
|
||||||
shell: /sbin/e-smith/db configuration printprop dns NameServers
|
shell: /sbin/e-smith/db configuration printprop dns NameServers
|
||||||
register: chk_dns
|
register: chk_dns
|
||||||
changed_when: "'NameServers={{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}' not in chk_dns.stdout"
|
changed_when: "'NameServers={{ ansible_local.domain.extdnsserver1 }}' not in chk_dns.stdout"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Configuring DNS resolution
|
- name: Configuring DNS resolution
|
||||||
shell: /sbin/e-smith/db configuration setprop dns NameServers {{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}
|
shell: /sbin/e-smith/db configuration setprop dns NameServers {{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}
|
||||||
when: chk_dns|changed
|
when: chk_dns is changed
|
||||||
tags: dns-preset
|
tags: dns-preset
|
||||||
|
|
||||||
- name: Activating correct DNS resolution
|
- name: Activating correct DNS resolution
|
||||||
shell: "/sbin/e-smith/signal-event nethserver-base-update"
|
shell: "/sbin/e-smith/signal-event nethserver-base-update"
|
||||||
when: chk_dns|changed
|
when: chk_dns is changed
|
||||||
|
|
||||||
# Hostname and domainname
|
# Hostname and domainname
|
||||||
|
|
||||||
@ -53,30 +61,11 @@
|
|||||||
|
|
||||||
- name: Activating hostname/domainname changes
|
- name: Activating hostname/domainname changes
|
||||||
shell: /sbin/e-smith/signal-event hostname-modify
|
shell: /sbin/e-smith/signal-event hostname-modify
|
||||||
when: chg_hostname|changed or chg_domainname|changed
|
when: chg_hostname is changed or chg_domainname is changed
|
||||||
tags:
|
tags:
|
||||||
- hostname
|
- hostname
|
||||||
- domainname
|
- domainname
|
||||||
|
|
||||||
# Password policy
|
|
||||||
|
|
||||||
- name: Check for password policy
|
|
||||||
shell: /sbin/e-smith/db configuration printprop passwordstrength Users
|
|
||||||
register: chk_passstr
|
|
||||||
changed_when: "'Users=none' not in chk_passstr.stdout"
|
|
||||||
ignore_errors: true
|
|
||||||
tags: password-policy
|
|
||||||
|
|
||||||
- name: Configuring password policy
|
|
||||||
shell: /sbin/e-smith/db configuration setprop passwordstrength PassExpires no Users none Admin strong MaxPassAge 180 MinPassAge 0 PassExpires no PassWarning 7
|
|
||||||
when: chk_passstr|changed
|
|
||||||
tags: password-policy
|
|
||||||
|
|
||||||
- name: Activating password policy
|
|
||||||
shell: /sbin/e-smith/signal-event password-policy-update
|
|
||||||
when: chk_passstr|changed
|
|
||||||
tags: password-policy
|
|
||||||
|
|
||||||
# Base certificate
|
# Base certificate
|
||||||
|
|
||||||
- name: Checking CA configuration
|
- name: Checking CA configuration
|
||||||
@ -89,9 +78,9 @@
|
|||||||
- name: Configuring CA
|
- name: Configuring CA
|
||||||
shell: /sbin/e-smith/db configuration setprop pki CertificateDuration 3650 CommonName {{ ansible_local.domain.serverfqdn }} CountryCode {{ ansible_local.domain.org_countrycode }} EmailAddress {{ ansible_local.domain.org_email }} Locality "{{ ansible_local.domain.org_city }}" Organization "{{ ansible_local.domain.org_company }}"
|
shell: /sbin/e-smith/db configuration setprop pki CertificateDuration 3650 CommonName {{ ansible_local.domain.serverfqdn }} CountryCode {{ ansible_local.domain.org_countrycode }} EmailAddress {{ ansible_local.domain.org_email }} Locality "{{ ansible_local.domain.org_city }}" Organization "{{ ansible_local.domain.org_company }}"
|
||||||
tags: regen-ca
|
tags: regen-ca
|
||||||
when: chk_crt|changed or force_regen_ca|bool
|
when: chk_crt is changed or force_regen_ca|bool
|
||||||
|
|
||||||
- name: Activating CA and regenerate
|
- name: Activating CA and regenerate
|
||||||
shell: /sbin/e-smith/signal-event certificate-update
|
shell: /sbin/e-smith/signal-event certificate-update
|
||||||
when: chk_crt|changed or force_regen_ca|bool
|
when: chk_crt is changed or force_regen_ca|bool
|
||||||
tags: regen-ca
|
tags: regen-ca
|
||||||
|
@ -15,11 +15,11 @@
|
|||||||
|
|
||||||
- name: Configuring DHCP
|
- name: Configuring DHCP
|
||||||
shell: /sbin/e-smith/db dhcp set {{ intnic }} range DhcpRangeStart {{ ansible_local.domain.dhcprange_start }} DhcpRangeEnd {{ ansible_local.domain.dhcprange_end }} status enabled
|
shell: /sbin/e-smith/db dhcp set {{ intnic }} range DhcpRangeStart {{ ansible_local.domain.dhcprange_start }} DhcpRangeEnd {{ ansible_local.domain.dhcprange_end }} status enabled
|
||||||
when: chk_dhcp|failed
|
when: chk_dhcp is failed
|
||||||
|
|
||||||
- name: Activating DHCP
|
- name: Activating DHCP
|
||||||
shell: /sbin/e-smith/signal-event nethserver-dnsmasq-save
|
shell: /sbin/e-smith/signal-event nethserver-dnsmasq-save
|
||||||
when: chk_dhcp|failed
|
when: chk_dhcp is failed
|
||||||
|
|
||||||
# DNS
|
# DNS
|
||||||
# Already preconfigured before (roles/nethcfg/tasks/base.yml)
|
# Already preconfigured before (roles/nethcfg/tasks/base.yml)
|
||||||
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
- name: Configuring DNS resolution
|
- name: Configuring DNS resolution
|
||||||
shell: /sbin/e-smith/db configuration setprop dns NameServers {{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}
|
shell: /sbin/e-smith/db configuration setprop dns NameServers {{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}
|
||||||
when: chk_dns|changed
|
when: chk_dns is changed
|
||||||
tags: force-resolvers
|
tags: force-resolvers
|
||||||
|
|
||||||
- name: Activating correct DNS resolution
|
- name: Activating correct DNS resolution
|
||||||
@ -41,7 +41,7 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- base
|
- base
|
||||||
- dnsmasq
|
- dnsmasq
|
||||||
when: chk_dns|changed
|
when: chk_dns is changed
|
||||||
tags: force-resolvers
|
tags: force-resolvers
|
||||||
|
|
||||||
# Avahi
|
# Avahi
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
# Organization configuration
|
# Organization
|
||||||
|
|
||||||
- name: Installing required packages
|
- name: Installing required packages
|
||||||
yum:
|
yum:
|
||||||
@ -12,10 +12,31 @@
|
|||||||
changed_when: "'City={{ ansible_local.domain.org_city }}' not in check_org.stdout"
|
changed_when: "'City={{ ansible_local.domain.org_city }}' not in check_org.stdout"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
|
# Password policy
|
||||||
|
|
||||||
|
- name: Check for password policy
|
||||||
|
shell: /sbin/e-smith/db configuration printprop passwordstrength Users
|
||||||
|
register: chk_passstr
|
||||||
|
changed_when: "'Users=none' not in chk_passstr.stdout"
|
||||||
|
ignore_errors: true
|
||||||
|
tags: password-policy
|
||||||
|
|
||||||
|
- name: Configuring password policy
|
||||||
|
shell: /sbin/e-smith/db configuration setprop passwordstrength PassExpires no Users none Admin strong MaxPassAge 180 MinPassAge 0 PassExpires no PassWarning 7
|
||||||
|
when: chk_passstr is changed
|
||||||
|
tags: password-policy
|
||||||
|
|
||||||
|
- name: Activating password policy
|
||||||
|
shell: /sbin/e-smith/signal-event password-policy-update
|
||||||
|
when: chk_passstr is changed
|
||||||
|
tags: password-policy
|
||||||
|
|
||||||
|
# Organization configuration
|
||||||
|
|
||||||
- name: Configuring organization
|
- name: Configuring organization
|
||||||
shell: /sbin/e-smith/db configuration setprop OrganizationContact City "{{ ansible_local.domain.org_city }}" Company "{{ ansible_local.domain.org_company }}" CountryCode {{ ansible_local.domain.org_countrycode }} Department "{{ ansible_local.domain.org_department }}" PhoneNumber "{{ ansible_local.domain.org_phone }}" Street "{{ ansible_local.domain.org_street }}"
|
shell: /sbin/e-smith/db configuration setprop OrganizationContact City "{{ ansible_local.domain.org_city }}" Company "{{ ansible_local.domain.org_company }}" CountryCode {{ ansible_local.domain.org_countrycode }} Department "{{ ansible_local.domain.org_department }}" PhoneNumber "{{ ansible_local.domain.org_phone }}" Street "{{ ansible_local.domain.org_street }}"
|
||||||
when: check_org|changed
|
when: check_org is changed
|
||||||
|
|
||||||
- name: Activating organization configuration
|
- name: Activating organization configuration
|
||||||
shell: /sbin/e-smith/signal-event organization-save
|
shell: /sbin/e-smith/signal-event organization-save
|
||||||
when: check_org|changed
|
when: check_org is changed
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
- name: domusers - Creating new group
|
- name: domusers - Creating new group
|
||||||
shell: /sbin/e-smith/db accounts set domusers group Description "Domain Users" Members admin Removable no
|
shell: /sbin/e-smith/db accounts set domusers group Description "Domain Users" Members admin Removable no
|
||||||
when: check_domusers|failed
|
when: check_domusers is failed
|
||||||
|
|
||||||
- name: domusers - Activating group
|
- name: domusers - Activating group
|
||||||
shell: /sbin/e-smith/signal-event group-create domusers
|
shell: /sbin/e-smith/signal-event group-create domusers
|
||||||
when: check_domusers|failed
|
when: check_domusers is failed
|
||||||
|
|
||||||
# Domain Operators
|
# Domain Operators
|
||||||
|
|
||||||
@ -25,11 +25,11 @@
|
|||||||
|
|
||||||
- name: domopers - Creating new group
|
- name: domopers - Creating new group
|
||||||
shell: /sbin/e-smith/db accounts set domopers group Description "Domain Operators" Removable no
|
shell: /sbin/e-smith/db accounts set domopers group Description "Domain Operators" Removable no
|
||||||
when: check_domopers|failed
|
when: check_domopers is failed
|
||||||
|
|
||||||
- name: domopers - Activating group
|
- name: domopers - Activating group
|
||||||
shell: /sbin/e-smith/signal-event group-create domopers
|
shell: /sbin/e-smith/signal-event group-create domopers
|
||||||
when: check_domopers|failed
|
when: check_domopers is failed
|
||||||
|
|
||||||
# Docenti
|
# Docenti
|
||||||
|
|
||||||
@ -40,8 +40,8 @@
|
|||||||
|
|
||||||
- name: docenti - Creating new group
|
- name: docenti - Creating new group
|
||||||
shell: /sbin/e-smith/db accounts set docenti group Description "Docenti" Removable no
|
shell: /sbin/e-smith/db accounts set docenti group Description "Docenti" Removable no
|
||||||
when: check_docenti|failed
|
when: check_docenti is failed
|
||||||
|
|
||||||
- name: docenti - Activating group
|
- name: docenti - Activating group
|
||||||
shell: /sbin/e-smith/signal-event group-create docenti
|
shell: /sbin/e-smith/signal-event group-create docenti
|
||||||
when: check_docenti|failed
|
when: check_docenti is failed
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
# Network interfaces
|
# Network interfaces
|
||||||
- include: network.yml
|
- include: network.yml
|
||||||
when: development|bool
|
|
||||||
become: yes
|
become: yes
|
||||||
tags:
|
tags:
|
||||||
- network
|
- network
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
---
|
---
|
||||||
# Reconfiguring network interfaces
|
# Reconfiguring network interfaces
|
||||||
|
|
||||||
- name: Configuring external NIC
|
|
||||||
shell: /sbin/e-smith/db networks setprop {{ extnic }} role red bootproto dhcp
|
|
||||||
|
|
||||||
- name: Configuring internal NIC
|
- name: Configuring internal NIC
|
||||||
shell: /sbin/e-smith/db networks setprop {{ intnic }} role green ipaddr {{ ansible_local.domain.serverip }} netmask {{ ansible_local.domain.servernetmask }}
|
shell: /sbin/e-smith/db networks setprop {{ intnic }} role green ipaddr {{ ansible_local.domain.serverip }} netmask {{ ansible_local.domain.servernetmask }}
|
||||||
|
|
||||||
|
@ -16,9 +16,9 @@
|
|||||||
- name: Configuring NTP
|
- name: Configuring NTP
|
||||||
shell: /sbin/e-smith/db configuration setprop ntpd NTPServer ntp1.inrim.it status enabled
|
shell: /sbin/e-smith/db configuration setprop ntpd NTPServer ntp1.inrim.it status enabled
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_ntp|changed
|
when: chk_ntp is changed
|
||||||
|
|
||||||
- name: Activating NTP
|
- name: Activating NTP
|
||||||
shell: /sbin/e-smith/signal-event nethserver-ntp-update
|
shell: /sbin/e-smith/signal-event nethserver-ntp-update
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_ntp|changed
|
when: chk_ntp is changed
|
||||||
|
@ -10,5 +10,6 @@
|
|||||||
- nethserver-collectd
|
- nethserver-collectd
|
||||||
- nethserver-collectd-web
|
- nethserver-collectd-web
|
||||||
- nethserver-firewall-base
|
- nethserver-firewall-base
|
||||||
|
- nethserver-firewall-base-ui
|
||||||
- nethserver-backup-config
|
- nethserver-backup-config
|
||||||
- nethserver-backup-data
|
- nethserver-backup-data
|
||||||
|
@ -20,11 +20,11 @@
|
|||||||
|
|
||||||
- name: Configuring Squid
|
- name: Configuring Squid
|
||||||
shell: /sbin/e-smith/db configuration setprop squid BlueMode transparent GreenMode transparent PortBlock disabled status enabled DiskCache enabled DiskCacheSize 2000
|
shell: /sbin/e-smith/db configuration setprop squid BlueMode transparent GreenMode transparent PortBlock disabled status enabled DiskCache enabled DiskCacheSize 2000
|
||||||
when: chk_squid|changed
|
when: chk_squid is changed
|
||||||
|
|
||||||
- name: Activating Squid configuration
|
- name: Activating Squid configuration
|
||||||
shell: /sbin/e-smith/signal-event nethserver-squid-update
|
shell: /sbin/e-smith/signal-event nethserver-squid-update
|
||||||
when: chk_squid|changed
|
when: chk_squid is changed
|
||||||
|
|
||||||
# Squid-clamav
|
# Squid-clamav
|
||||||
|
|
||||||
@ -36,11 +36,11 @@
|
|||||||
|
|
||||||
- name: Configuring squidclamav
|
- name: Configuring squidclamav
|
||||||
shell: /sbin/e-smith/db configuration setprop squidclamav status enabled
|
shell: /sbin/e-smith/db configuration setprop squidclamav status enabled
|
||||||
when: chk_squidclamav|changed
|
when: chk_squidclamav is changed
|
||||||
|
|
||||||
- name: Activating squidclamav
|
- name: Activating squidclamav
|
||||||
shell: /sbin/e-smith/signal-event nethserver-squidclamav-update
|
shell: /sbin/e-smith/signal-event nethserver-squidclamav-update
|
||||||
when: chk_squidclamav|changed
|
when: chk_squidclamav is changed
|
||||||
|
|
||||||
# SquidGuard
|
# SquidGuard
|
||||||
|
|
||||||
@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
- name: Configuring squidguard
|
- name: Configuring squidguard
|
||||||
shell: /sbin/e-smith/db configuration setprop squidguard Expressions enabled Lists shalla status enabled
|
shell: /sbin/e-smith/db configuration setprop squidguard Expressions enabled Lists shalla status enabled
|
||||||
when: check_squidguard|changed
|
when: check_squidguard is changed
|
||||||
|
|
||||||
- name: Activating squidguard configuration
|
- name: Activating squidguard configuration
|
||||||
shell: "/sbin/e-smith/signal-event nethserver-squidguard-{{ item }}"
|
shell: "/sbin/e-smith/signal-event nethserver-squidguard-{{ item }}"
|
||||||
@ -60,7 +60,7 @@
|
|||||||
- save
|
- save
|
||||||
- update
|
- update
|
||||||
- downloadlists
|
- downloadlists
|
||||||
when: check_squidguard|changed
|
when: check_squidguard is changed
|
||||||
|
|
||||||
# Content filtering settings
|
# Content filtering settings
|
||||||
|
|
||||||
@ -72,8 +72,8 @@
|
|||||||
- name: Configuring content filtering
|
- name: Configuring content filtering
|
||||||
shell: /sbin/e-smith/db contentfilter setprop default Categories aggressive,alcohol,weapons,games-online,gamble,dating,webradio,webtv,sex,porn,spyware,violence,anonvpn,warez
|
shell: /sbin/e-smith/db contentfilter setprop default Categories aggressive,alcohol,weapons,games-online,gamble,dating,webradio,webtv,sex,porn,spyware,violence,anonvpn,warez
|
||||||
register: cf_cat
|
register: cf_cat
|
||||||
when: check_cf|changed
|
when: check_cf is changed
|
||||||
|
|
||||||
- name: Activating content filtering as a whole
|
- name: Activating content filtering as a whole
|
||||||
shell: /sbin/e-smith/signal-event nethserver-squidguard-update
|
shell: /sbin/e-smith/signal-event nethserver-squidguard-update
|
||||||
when: check_cf|changed
|
when: check_cf is changed
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
# SAMBA and ibays
|
# SAMBA and ibays
|
||||||
|
|
||||||
- name: Installing SAMBA and ibays packages
|
- name: Installing SAMBA and ibays packages
|
||||||
@ -12,25 +13,59 @@
|
|||||||
|
|
||||||
# SAMBA
|
# SAMBA
|
||||||
|
|
||||||
|
- name: "Verifying modifications on templates-custom."
|
||||||
|
shell: grep -q 'server signing = mandatory' /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
|
||||||
|
register: check_tempcust
|
||||||
|
changed_when: check_tempcust.rc != 0
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: "Create directory structure for templates-custom"
|
||||||
|
file:
|
||||||
|
path: "/etc/e-smith/templates-custom/etc/samba/smb.conf"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0755
|
||||||
|
state: directory
|
||||||
|
when: check_tempcust is changed
|
||||||
|
|
||||||
|
- name: "Copying settings from default."
|
||||||
|
copy:
|
||||||
|
src: /etc/e-smith/templates/etc/samba/smb.conf/10global
|
||||||
|
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
|
||||||
|
remote_src: true
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
|
when: check_tempcust is changed
|
||||||
|
|
||||||
|
- name: "Enabling unix extensions on SAMBA"
|
||||||
|
replace:
|
||||||
|
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
|
||||||
|
regexp: '^unix extensions = no$'
|
||||||
|
replace: 'unix extensions = yes'
|
||||||
|
when: check_tempcust is changed
|
||||||
|
|
||||||
|
- name: Adding server signing as mandatory
|
||||||
|
lineinfile:
|
||||||
|
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
|
||||||
|
line: "server signing = mandatory"
|
||||||
|
insertafter: "^workgroup = "
|
||||||
|
state: present
|
||||||
|
when: check_tempcust is changed
|
||||||
|
|
||||||
- name: Checking SMB configuration
|
- name: Checking SMB configuration
|
||||||
shell: /sbin/e-smith/db configuration printprop smb RoamingProfiles
|
shell: /sbin/e-smith/db configuration printprop smb RoamingProfiles
|
||||||
register: chk_smb
|
register: chk_smb
|
||||||
changed_when: "'RoamingProfiles=yes' not in chk_smb.stdout"
|
changed_when: "'RoamingProfiles=yes' not in chk_smb.stdout"
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
|
||||||
- name: "Enabling unix extensions on SAMBA"
|
|
||||||
replace:
|
|
||||||
dest: /etc/e-smith/templates/etc/samba/smb.conf/10global
|
|
||||||
regexp: '^unix extensions = no$'
|
|
||||||
replace: 'unix extensions = yes'
|
|
||||||
|
|
||||||
- name: Configuring SMB
|
- name: Configuring SMB
|
||||||
shell: /sbin/e-smith/db configuration setprop smb RoamingProfiles yes ServerRole PDC Workgroup "{{ ansible_local.domain.domainshort }}" status enabled
|
shell: /sbin/e-smith/db configuration setprop smb RoamingProfiles yes ServerRole PDC Workgroup "{{ ansible_local.domain.domainshort }}" status enabled
|
||||||
when: chk_smb|changed
|
when: chk_smb is changed
|
||||||
|
|
||||||
- name: Activating SMB
|
- name: Activating SMB
|
||||||
shell: /sbin/e-smith/signal-event nethserver-samba-save
|
shell: /sbin/e-smith/signal-event nethserver-samba-save
|
||||||
when: chk_smb|changed
|
when: chk_smb is changed
|
||||||
|
|
||||||
# ibays
|
# ibays
|
||||||
|
|
||||||
@ -52,7 +87,7 @@
|
|||||||
|
|
||||||
- name: Copying default templates for shared template type
|
- name: Copying default templates for shared template type
|
||||||
shell: cp -r /etc/e-smith/templates/etc/samba/smb.conf/ibay-default /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared
|
shell: cp -r /etc/e-smith/templates/etc/samba/smb.conf/ibay-default /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared
|
||||||
when: force_ibay_shared|bool or chk_shared|failed
|
when: force_ibay_shared|bool or chk_shared is failed
|
||||||
|
|
||||||
- name: Configuring ibay-shared template structure (directory mask)
|
- name: Configuring ibay-shared template structure (directory mask)
|
||||||
lineinfile:
|
lineinfile:
|
||||||
@ -60,7 +95,7 @@
|
|||||||
line: 'directory mask = 0775'
|
line: 'directory mask = 0775'
|
||||||
insertafter: '^create mask'
|
insertafter: '^create mask'
|
||||||
state: present
|
state: present
|
||||||
when: force_ibay_shared|bool or chk_shared|failed
|
when: force_ibay_shared|bool or chk_shared is failed
|
||||||
|
|
||||||
- name: Configuring force create mode
|
- name: Configuring force create mode
|
||||||
lineinfile:
|
lineinfile:
|
||||||
@ -68,7 +103,7 @@
|
|||||||
line: 'force create mode = 0664'
|
line: 'force create mode = 0664'
|
||||||
insertafter: '^directory mask'
|
insertafter: '^directory mask'
|
||||||
state: present
|
state: present
|
||||||
when: force_ibay_shared|bool or chk_shared|failed
|
when: force_ibay_shared|bool or chk_shared is failed
|
||||||
|
|
||||||
- name: Configuring force directory mode
|
- name: Configuring force directory mode
|
||||||
lineinfile:
|
lineinfile:
|
||||||
@ -76,23 +111,41 @@
|
|||||||
line: 'force directory mode = 0775'
|
line: 'force directory mode = 0775'
|
||||||
insertafter: '^force create mode'
|
insertafter: '^force create mode'
|
||||||
state: present
|
state: present
|
||||||
when: force_ibay_shared|bool or chk_shared|failed
|
when: force_ibay_shared|bool or chk_shared is failed
|
||||||
|
|
||||||
- name: Configuring shared ibay
|
- name: Configuring shared ibay
|
||||||
shell: /sbin/e-smith/db accounts set shared ibay AclRead domusers,domadmins AclWrite domusers,domadmins Description "Cartella condivisa" GroupAccess rw HttpStatus disabled OtherAccess r OwningGroup locals SmbAuditStatus enabled SmbGuestAccessType none SmbRecycleBinStatus enabled SmbRecycleBinVersionsStatus enabled SmbStatus enabled
|
shell: /sbin/e-smith/db accounts set shared ibay AclRead domusers,domadmins AclWrite domusers,domadmins Description "Cartella condivisa" GroupAccess rw HttpStatus disabled OtherAccess r OwningGroup locals SmbAuditStatus enabled SmbGuestAccessType none SmbRecycleBinStatus enabled SmbRecycleBinVersionsStatus enabled SmbStatus enabled
|
||||||
when: chk_shared|failed
|
when: chk_shared is failed
|
||||||
|
|
||||||
- name: Activating shared ibay
|
- name: Activating shared ibay
|
||||||
shell: /sbin/e-smith/signal-event ibay-create shared
|
shell: /sbin/e-smith/signal-event ibay-create shared
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_shared|failed
|
when: chk_shared is failed
|
||||||
|
|
||||||
- name: Changing ibay profile for shared
|
- name: Changing ibay profile for shared
|
||||||
shell: /sbin/e-smith/db accounts setprop shared SmbProfileType shared
|
shell: /sbin/e-smith/db accounts setprop shared SmbProfileType shared
|
||||||
become: yes
|
become: yes
|
||||||
when: force_ibay_shared|bool or chk_shared|failed
|
when: force_ibay_shared|bool or chk_shared is failed
|
||||||
|
|
||||||
|
- name: Saving new version of smb.conf
|
||||||
|
shell: /sbin/e-smith/signal-event nethserver-samba-save
|
||||||
|
become: yes
|
||||||
|
when: check_tempcust is changed
|
||||||
|
|
||||||
- name: Forcing regeneration of smb.conf
|
- name: Forcing regeneration of smb.conf
|
||||||
shell: /sbin/e-smith/signal-event nethserver-samba-update
|
shell: /sbin/e-smith/signal-event nethserver-samba-update
|
||||||
become: yes
|
become: yes
|
||||||
when: force_ibay_shared|bool or chk_shared|failed
|
when: force_ibay_shared|bool or chk_shared is failed or check_tempcust is changed
|
||||||
|
|
||||||
|
# Fixing issue #3 - Configure sudo access for admin on server for operator
|
||||||
|
# access
|
||||||
|
# https://github.com/bglug-it/server-config/issues/3
|
||||||
|
- name: Configuring sudo access for admin account
|
||||||
|
lineinfile:
|
||||||
|
dest: /etc/sudoers.d/admin
|
||||||
|
line: 'admin ALL=(ALL:ALL) NOPASSWD: ALL'
|
||||||
|
create: yes
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0440
|
||||||
|
validate: 'visudo -cf %s'
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
# Defaults for installation
|
# Defaults for installation
|
||||||
|
edu_package: secondary
|
||||||
mirror_mode: local
|
mirror_mode: local
|
||||||
mirror_host: archive.ubuntu.com
|
mirror_host: archive.ubuntu.com
|
||||||
mirror_path: /ubuntu
|
mirror_path: /ubuntu
|
||||||
@ -7,5 +8,6 @@ mirror_security_host: security.ubuntu.com
|
|||||||
mirror_security_path: /ubuntu
|
mirror_security_path: /ubuntu
|
||||||
mirror_localpath: /ks/mirror
|
mirror_localpath: /ks/mirror
|
||||||
execpath: ""
|
execpath: ""
|
||||||
|
execsecurepath: ""
|
||||||
execmirrorpath: ""
|
execmirrorpath: ""
|
||||||
development: false
|
development: false
|
||||||
|
@ -3,11 +3,22 @@
|
|||||||
- include: mirror-cfg.yml
|
- include: mirror-cfg.yml
|
||||||
tags:
|
tags:
|
||||||
- preseed
|
- preseed
|
||||||
|
- repoconfig
|
||||||
|
|
||||||
- include: preseed.yml
|
- include: preseed.yml
|
||||||
tags:
|
tags:
|
||||||
- preseed
|
- preseed
|
||||||
|
|
||||||
|
- include: repoconfig.yml
|
||||||
|
tags:
|
||||||
|
- preseed
|
||||||
|
- repoconfig
|
||||||
|
|
||||||
- include: firefoxcert.yml
|
- include: firefoxcert.yml
|
||||||
tags:
|
tags:
|
||||||
- firefox
|
- firefox
|
||||||
|
|
||||||
|
- include: paperms.yml
|
||||||
|
tags:
|
||||||
|
- preseed
|
||||||
|
- paperms
|
||||||
|
@ -6,19 +6,27 @@
|
|||||||
when: "ansible_local.domain.mirror_mode is defined"
|
when: "ansible_local.domain.mirror_mode is defined"
|
||||||
|
|
||||||
- name: Determining mirror_host
|
- name: Determining mirror_host
|
||||||
set_fact: mirror_host="{{ ansible_local.domain.mirror_host }}"
|
set_fact:
|
||||||
|
mirror_host: "{{ ansible_local.domain.mirror_host }}"
|
||||||
|
orig_mirror_host: "{{ ansible_local.domain.mirror_host }}"
|
||||||
when: ansible_local.domain.mirror_host is defined
|
when: ansible_local.domain.mirror_host is defined
|
||||||
|
|
||||||
- name: Determining mirror_path
|
- name: Determining mirror_path
|
||||||
set_fact: mirror_path="{{ ansible_local.domain.mirror_path }}"
|
set_fact:
|
||||||
|
mirror_path: "{{ ansible_local.domain.mirror_path }}"
|
||||||
|
orig_mirror_path: "{{ ansible_local.domain.mirror_path }}"
|
||||||
when: ansible_local.domain.mirror_path is defined
|
when: ansible_local.domain.mirror_path is defined
|
||||||
|
|
||||||
- name: Determining mirror_security_host
|
- name: Determining mirror_security_host
|
||||||
set_fact: mirror_security_host="{{ ansible_local.domain.mirror_security_host }}"
|
set_fact:
|
||||||
|
mirror_security_host: "{{ ansible_local.domain.mirror_security_host }}"
|
||||||
|
orig_mirror_security_host: "{{ ansible_local.domain.mirror_security_host }}"
|
||||||
when: ansible_local.domain.mirror_security_host is defined
|
when: ansible_local.domain.mirror_security_host is defined
|
||||||
|
|
||||||
- name: Determining mirror_security_path
|
- name: Determining mirror_security_path
|
||||||
set_fact: mirror_security_path="{{ ansible_local.domain.mirror_security_path }}"
|
set_fact:
|
||||||
|
mirror_security_path: "{{ ansible_local.domain.mirror_security_path }}"
|
||||||
|
orig_mirror_security_path: "{{ ansible_local.domain.mirror_security_path }}"
|
||||||
when: ansible_local.domain.mirror_security_path is defined
|
when: ansible_local.domain.mirror_security_path is defined
|
||||||
|
|
||||||
- name: Determining mirror_localpath
|
- name: Determining mirror_localpath
|
||||||
@ -28,16 +36,13 @@
|
|||||||
# The remote option is already configured as it is.
|
# The remote option is already configured as it is.
|
||||||
|
|
||||||
# Configuring correctly local mirror
|
# Configuring correctly local mirror
|
||||||
- name: Determining variables for local and nfs mode
|
- name: Altering paths
|
||||||
set_fact:
|
set_fact:
|
||||||
orig_mirror_path: ”{{ mirror_path }}"
|
execmirrorpath: "{{ mirror_host }}{{ mirror_path }}"
|
||||||
orig_mirror_host: "{{ mirror_host }}"
|
execsecurepath: "{{ mirror_security_host }}{{ mirror_security_path }}"
|
||||||
orig_mirror_security_path: "{{ mirror_security_path }}"
|
|
||||||
orig_mirror_security_host: "{{ mirror_security_host }}"
|
|
||||||
execmirrorpath: ”{{ mirror_host }}{{ mirror_path }}"
|
|
||||||
execpath: "{{ ansible_local.domain.serverfqdn }}{{ mirror_localpath }}/"
|
execpath: "{{ ansible_local.domain.serverfqdn }}{{ mirror_localpath }}/"
|
||||||
mirror_path: "{{ mirror_localpath }}/{{ mirror_host }}{{ mirror_path }}"
|
mirror_path: "{{ mirror_localpath }}/{{ mirror_host }}{{ mirror_path }}"
|
||||||
mirror_host: "{{ ansible_local.domain.serverfqdn }}"
|
mirror_host: "{{ ansible_local.domain.serverfqdn }}"
|
||||||
mirror_security_path: "{{ mirror_localpath }}/{{ mirror_security_host }}{{mirror_security_path }}"
|
mirror_security_path: "{{ mirror_localpath }}/{{ mirror_security_host }}{{ mirror_security_path }}"
|
||||||
mirror_security_host: "{{ ansible_local.domain.serverfqdn }}"
|
mirror_security_host: "{{ ansible_local.domain.serverfqdn }}"
|
||||||
when: mirror_mode != 'remote'
|
when: mirror_mode != 'remote'
|
||||||
|
25
roles/preseed/tasks/paperms.yml
Normal file
25
roles/preseed/tasks/paperms.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
# Installing fixes final fixes for PulseAudio permissions.
|
||||||
|
|
||||||
|
- name: Creating paperms subdir inside ks/preseed share
|
||||||
|
file:
|
||||||
|
path: /var/lib/nethserver/ibay/ks/paperms
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: locals
|
||||||
|
mode: 0755
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Deploy template files for paperms
|
||||||
|
template:
|
||||||
|
src: "paperms/{{ item }}"
|
||||||
|
dest: "/var/lib/nethserver/ibay/ks/paperms/{{ item }}"
|
||||||
|
owner: root
|
||||||
|
group: locals
|
||||||
|
mode: 0644
|
||||||
|
with_items:
|
||||||
|
- updategrp.py
|
||||||
|
- paperms.sh
|
||||||
|
- cronjob
|
||||||
|
- logrotate
|
||||||
|
become: yes
|
@ -1,5 +1,10 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
|
- name: Configure the edu-package following settings in domain.yml
|
||||||
|
set_fact:
|
||||||
|
edu_package: "{{ ansible_local.domain.edu_package }}"
|
||||||
|
when: ansible_local.domain.edu_package is defined
|
||||||
|
|
||||||
- name: Verifica configurazione ibay preseed
|
- name: Verifica configurazione ibay preseed
|
||||||
shell: /sbin/e-smith/db accounts show ks
|
shell: /sbin/e-smith/db accounts show ks
|
||||||
register: chk_ks_created
|
register: chk_ks_created
|
||||||
@ -9,12 +14,12 @@
|
|||||||
|
|
||||||
- name: Configurazione web preseed
|
- name: Configurazione web preseed
|
||||||
shell: /sbin/e-smith/db accounts set ks ibay Description "Preseed share" GroupAccess rw HttpAccess private HttpAliasType default HttpAllowOverrideStatus disabled HttpForceSslStatus disabled HttpPasswordStatus disabled HttpStatus enabled HttpVirtualHost __ANY__ OtherAccess r OwningGroup locals SmbAuditStatus disabled SmbStatus disabled
|
shell: /sbin/e-smith/db accounts set ks ibay Description "Preseed share" GroupAccess rw HttpAccess private HttpAliasType default HttpAllowOverrideStatus disabled HttpForceSslStatus disabled HttpPasswordStatus disabled HttpStatus enabled HttpVirtualHost __ANY__ OtherAccess r OwningGroup locals SmbAuditStatus disabled SmbStatus disabled
|
||||||
when: chk_ks_created|failed
|
when: chk_ks_created is failed
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Attivazione web preseed
|
- name: Attivazione web preseed
|
||||||
shell: /sbin/e-smith/signal-event ibay-create ks
|
shell: /sbin/e-smith/signal-event ibay-create ks
|
||||||
when: chk_ks_created|failed
|
when: chk_ks_created is failed
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Verifica presenza directory mirror
|
- name: Verifica presenza directory mirror
|
||||||
@ -26,7 +31,7 @@
|
|||||||
- name: Collegamento directory mirror
|
- name: Collegamento directory mirror
|
||||||
file: path=/var/lib/nethserver/ibay/ks/mirror src=/var/spool/apt-mirror/mirror state=link
|
file: path=/var/lib/nethserver/ibay/ks/mirror src=/var/spool/apt-mirror/mirror state=link
|
||||||
become: yes
|
become: yes
|
||||||
when: chk_mirror_dir|success
|
when: chk_mirror_dir is succeeded
|
||||||
|
|
||||||
- name: Creazione directory preseed
|
- name: Creazione directory preseed
|
||||||
file:
|
file:
|
||||||
@ -42,6 +47,7 @@
|
|||||||
- edubuntu.seed
|
- edubuntu.seed
|
||||||
- client-trusty.seed
|
- client-trusty.seed
|
||||||
- docenti-trusty.seed
|
- docenti-trusty.seed
|
||||||
|
- aula-trusty.seed
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
@ -67,6 +73,6 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- postseed-client.sh
|
- postseed-client.sh
|
||||||
- postseed-docenti.sh
|
- postseed-docenti.sh
|
||||||
- pulseaudio-perms.sh
|
- postseed-aula.sh
|
||||||
- checksum.fact
|
- checksum.fact
|
||||||
become: yes
|
become: yes
|
||||||
|
44
roles/preseed/tasks/repoconfig.yml
Normal file
44
roles/preseed/tasks/repoconfig.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
---
|
||||||
|
# Configuring the base repositories files.
|
||||||
|
# Composing here files to be used by clients will reduce time to load/construct
|
||||||
|
# them within client-pull-installation playbook.
|
||||||
|
|
||||||
|
- name: Creating base directory for storing repositories files
|
||||||
|
file:
|
||||||
|
path: /var/lib/nethserver/ibay/ks/repoconfig
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0755
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Preconfiguring base repositories file for clients
|
||||||
|
template:
|
||||||
|
src: repoconfig/sources.list
|
||||||
|
dest: /var/lib/nethserver/ibay/ks/repoconfig/sources.list
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Preconfiguring other repositories for clients
|
||||||
|
template:
|
||||||
|
src: "repoconfig/{{ item }}"
|
||||||
|
dest: "/var/lib/nethserver/ibay/ks/repoconfig/{{ item }}"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
|
with_items:
|
||||||
|
- bglug-trusty.list
|
||||||
|
- ansible-ansible-trusty.list
|
||||||
|
- libreoffice-ppa-trusty.list
|
||||||
|
- epoptes-ppa-trusty.list
|
||||||
|
- geogebra-stable.list
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Pre-downloading geogebra GPG signature because of HTTPS
|
||||||
|
get_url:
|
||||||
|
url: "https://www.geogebra.net/linux/office@geogebra.org.gpg.key"
|
||||||
|
dest: "/var/lib/nethserver/ibay/ks/repoconfig/office_geogebra.gpg.key"
|
||||||
|
validate_certs: no
|
||||||
|
become: yes
|
@ -1,2 +0,0 @@
|
|||||||
deb http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
|
||||||
deb-src http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
|
1
roles/preseed/templates/paperms/cronjob
Normal file
1
roles/preseed/templates/paperms/cronjob
Normal file
@ -0,0 +1 @@
|
|||||||
|
@reboot root /var/lib/{{ ansible_local.domain.domainfull }}/bin/paperms.sh >> /var/log/paperms.log 2>&1
|
7
roles/preseed/templates/paperms/logrotate
Normal file
7
roles/preseed/templates/paperms/logrotate
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/var/log/paperms.log {
|
||||||
|
rotate 7
|
||||||
|
daily
|
||||||
|
compress
|
||||||
|
missingok
|
||||||
|
notifempty
|
||||||
|
}
|
34
roles/preseed/templates/paperms/paperms.sh
Normal file
34
roles/preseed/templates/paperms/paperms.sh
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Fixing base variables
|
||||||
|
basedir=/var/lib/{{ ansible_local.domain.domainfull }}
|
||||||
|
|
||||||
|
# Making sure destination folder exists.
|
||||||
|
/usr/bin/install -d -o root -g users ${basedir}/bin
|
||||||
|
|
||||||
|
# Update this script itself
|
||||||
|
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/paperms.sh -O ${basedir}/bin/paperms.sh
|
||||||
|
/bin/chown root:users ${basedir}/bin/paperms.sh
|
||||||
|
/bin/chmod a+x ${basedir}/bin/paperms.sh
|
||||||
|
|
||||||
|
# Updating cronjob
|
||||||
|
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/cronjob -O /etc/cron.d/paperms
|
||||||
|
/bin/chown root:root /etc/cron.d/paperms
|
||||||
|
/bin/chmod 0644 /etc/cron.d/paperms
|
||||||
|
|
||||||
|
# Removing old versions of the cronjob
|
||||||
|
rm -f /etc/cron.d/pulseaudio-perms
|
||||||
|
|
||||||
|
# Updating logrotate
|
||||||
|
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/logrotate -O /etc/logrotate.d/paperms
|
||||||
|
/bin/chown root:root /etc/logrotate.d/paperms
|
||||||
|
/bin/chmod 0644 /etc/logrotate.d/paperms
|
||||||
|
|
||||||
|
# Updating updategrp.py
|
||||||
|
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/updategrp.py -O ${basedir}/bin/updategrp.py
|
||||||
|
/bin/chown root:users ${basedir}/bin/updategrp.py
|
||||||
|
/bin/chmod a+x ${basedir}/bin/updategrp.py
|
||||||
|
|
||||||
|
# Main part: run updategrp.py
|
||||||
|
/usr/bin/wbinfo -t && /usr/bin/python2 ${basedir}/bin/updategrp.py "domain users" "pulse" || echo "Not in domain."
|
||||||
|
/usr/bin/wbinfo -t && /usr/bin/python2 ${basedir}/bin/updategrp.py "domain users" "pulse-access" || echo "Not in domain."
|
74
roles/preseed/templates/paperms/updategrp.py
Normal file
74
roles/preseed/templates/paperms/updategrp.py
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env python2
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
import grp
|
||||||
|
import re
|
||||||
|
from subprocess import check_output
|
||||||
|
from sys import argv
|
||||||
|
|
||||||
|
class UpdateGrp:
|
||||||
|
|
||||||
|
def __init__(self, leftname = "domain users", rightname = "pulse"):
|
||||||
|
"""Confronts members of the LHS group with the members of the RHS group. LHS group defaults to "domain users"."""
|
||||||
|
self.leftname = leftname
|
||||||
|
self.rightname = rightname
|
||||||
|
self.leftmembers = grp.getgrnam(self.leftname)[3]
|
||||||
|
self.rightmembers = grp.getgrnam(self.rightname)[3]
|
||||||
|
|
||||||
|
# Since there is also a local user already created on the machine but
|
||||||
|
# it is not a domain user, we will add it to leftmembers
|
||||||
|
self.leftmembers.append("bglug")
|
||||||
|
|
||||||
|
self.to_add = list(set(self.leftmembers) - set(self.rightmembers))
|
||||||
|
self.to_remove = list(set(self.rightmembers) - set(self.leftmembers))
|
||||||
|
|
||||||
|
def update_rhs(self):
|
||||||
|
"""Updates the RHS group members to be equal to the LHS group members."""
|
||||||
|
# If RHS is a local group
|
||||||
|
with open('/etc/group', 'r') as group:
|
||||||
|
for grp in group.readlines():
|
||||||
|
if re.match("%s:" % self.rightname, grp):
|
||||||
|
# If to_add is not empty, add each element to group
|
||||||
|
if len(self.to_add) > 0:
|
||||||
|
for user in self.to_add:
|
||||||
|
print(check_output(["gpasswd", "-a", user, self.rightname]), end='')
|
||||||
|
|
||||||
|
# If to_remove is not empty, remove each element to group
|
||||||
|
if len(self.to_remove) > 0:
|
||||||
|
for user in self.to_remove:
|
||||||
|
print(check_output(["gpasswd", "-d", user, self.rightname]), end='')
|
||||||
|
|
||||||
|
def update_lhs(self):
|
||||||
|
"""Updates the LHS group members to be equal to the RHS group members."""
|
||||||
|
# If LHS is a local group
|
||||||
|
with open('/etc/group', 'r') as group:
|
||||||
|
for grp in group.readline():
|
||||||
|
if re.match("%s:" % self.leftname, grp):
|
||||||
|
# If to_remove is not empty, add each element to group
|
||||||
|
if len(self.to_remove) > 0:
|
||||||
|
for user in self.to_remove:
|
||||||
|
print(check_output(["gpasswd", "-a", user, self.leftname]), end='')
|
||||||
|
|
||||||
|
# If to_add is not empty, remove each element to group
|
||||||
|
if len(self.to_add) > 0:
|
||||||
|
for user in self.to_add:
|
||||||
|
print(check_output(["gpasswd", "-d", user, self.leftname]), end='')
|
||||||
|
|
||||||
|
|
||||||
|
def modprint(self):
|
||||||
|
"""Debug function to print only modifications."""
|
||||||
|
print("To add: ", end='')
|
||||||
|
print(self.to_add)
|
||||||
|
print("To remove: ", end='')
|
||||||
|
print(self.to_remove)
|
||||||
|
|
||||||
|
# When run interactively
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# If the first argument is '--help' or '-h', or number of arguments less than 1 and more than 2, print help.
|
||||||
|
if len(argv) < 2 or len(argv) > 3 or argv[1] == '--help' or argv[1] == '-h':
|
||||||
|
print("Usage: %s <LHSgroup> <RHSgroup>" % argv[0])
|
||||||
|
print("Aligns RHS group members as LHS.")
|
||||||
|
|
||||||
|
else:
|
||||||
|
updgrp = UpdateGrp(argv[1], argv[2])
|
||||||
|
updgrp.update_rhs()
|
134
roles/preseed/templates/preseed/aula-trusty.seed
Normal file
134
roles/preseed/templates/preseed/aula-trusty.seed
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
# No questions if possible
|
||||||
|
debconf debconf/priority string critical
|
||||||
|
|
||||||
|
# Localization - Italiano
|
||||||
|
d-i debian-installer/locale string it_IT.UTF-8
|
||||||
|
d-i debian-installer/supported-locales multiselect it_IT it_IT@euro en_US en_US.UTF-8
|
||||||
|
|
||||||
|
# Keyboard settings
|
||||||
|
d-i console-setup/ask_detect boolean false
|
||||||
|
d-i keyboard-configuration/layoutcode string it
|
||||||
|
|
||||||
|
# Network
|
||||||
|
d-i netcfg/choose_interface select auto
|
||||||
|
|
||||||
|
# Adjust the default hostname.
|
||||||
|
d-i netcfg/hostname string kickseed
|
||||||
|
|
||||||
|
# Enabling non-free firmware
|
||||||
|
d-i hw-detect/load_firmware boolean true
|
||||||
|
|
||||||
|
# Setting up repositories from local mirror
|
||||||
|
d-i mirror/country string manual
|
||||||
|
d-i mirror/protocol string http
|
||||||
|
d-i mirror/http/hostname string {{ mirror_host }}
|
||||||
|
d-i mirror/http/directory string {{ mirror_path }}
|
||||||
|
d-i mirror/http/proxy string
|
||||||
|
d-i mirror/suite string trusty
|
||||||
|
|
||||||
|
# Apt-setup additional repos
|
||||||
|
d-i apt-setup/services-select multiselect security, updates
|
||||||
|
d-i apt-setup/security_host string {{ mirror_security_host }}
|
||||||
|
d-i apt-setup/security_path string {{ mirror_security_path }}
|
||||||
|
|
||||||
|
# Additional repos
|
||||||
|
d-i apt-setup/multiverse boolean true
|
||||||
|
d-i apt-setup/universe boolean true
|
||||||
|
d-i apt-setup/restricted boolean true
|
||||||
|
d-i apt-setup/partner boolean true
|
||||||
|
|
||||||
|
# Setup and enable libreoffice PPA
|
||||||
|
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
|
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
||||||
|
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
||||||
|
|
||||||
|
# Setup and enable ansible PPA
|
||||||
|
d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/ansible/ansible/ubuntu trusty main
|
||||||
|
d-i apt-setup/local1/comment string Ansible Official PPA
|
||||||
|
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
||||||
|
|
||||||
|
# Setup and enable epoptes PPA
|
||||||
|
d-i apt-setup/local2/repository string http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
||||||
|
d-i apt-setup/local2/comment string Epoptes stable repository
|
||||||
|
d-i apt-setup/local2/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x2D9B9274D3DF9D7CD7281A3E49F26CB30350B375&op=get
|
||||||
|
|
||||||
|
# Setup and enable geogebra repository
|
||||||
|
d-i apt-setup/local3/repository string http://{{ execpath }}/www.geogebra.net/linux stable main
|
||||||
|
d-i apt-setup/local3/comment string Geogebra Official repository
|
||||||
|
d-i apt-setup/local3/key string http://{{ ansible_local.domain.serverfqdn }}/ks/repoconfig/office_geogebra.gpg.key
|
||||||
|
|
||||||
|
# Time and date
|
||||||
|
d-i clock-setup/utc boolean true
|
||||||
|
d-i time/zone string Europe/Rome
|
||||||
|
d-i clock-setup/ntp boolean true
|
||||||
|
d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }}
|
||||||
|
|
||||||
|
# User creation
|
||||||
|
d-i passwd/user-fullname string BgLUG User
|
||||||
|
d-i passwd/username string bglug
|
||||||
|
d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./
|
||||||
|
|
||||||
|
# Partitioning
|
||||||
|
d-i partman-auto/init_automatically_partition select biggest_free
|
||||||
|
d-i partman-auto/disk string /dev/sda
|
||||||
|
d-i partman-auto/method string regular
|
||||||
|
d-i partman-lvm/device_remove_lvm boolean true
|
||||||
|
d-i partman-md/device_remove_md boolean true
|
||||||
|
d-i partman-auto/choose_recipe select atomic
|
||||||
|
d-i partman-partitioning/confirm_write_new_label boolean true
|
||||||
|
d-i partman/choose_partition select finish
|
||||||
|
d-i partman/confirm boolean true
|
||||||
|
d-i partman/confirm_nooverwrite boolean true
|
||||||
|
d-i partman/mount_style select uuid
|
||||||
|
d-i user-setup/encrypt-home boolean false
|
||||||
|
|
||||||
|
# Kernel installation
|
||||||
|
d-i base-installer/kernel/image string linux-generic
|
||||||
|
d-i base-installer/kernel/altmeta string lts-xenial
|
||||||
|
|
||||||
|
# Install the Edubuntu desktop.
|
||||||
|
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
||||||
|
|
||||||
|
# No asking for installation in language
|
||||||
|
d-i pkgsel/install-language-support boolean true
|
||||||
|
d-i pkgsel/ignore-incomplete-language-support boolean true
|
||||||
|
d-i localechooser/translation/warn-severe boolean true
|
||||||
|
d-i localechooser/translation/warn-light boolean true
|
||||||
|
|
||||||
|
# Policy to upgrade: none
|
||||||
|
d-i pkgsel/update-policy select none
|
||||||
|
|
||||||
|
# Upgrade after installation: no
|
||||||
|
d-i pkgsel/upgrade select none
|
||||||
|
|
||||||
|
# Language pack selection
|
||||||
|
d-i pkgsel/language-packs multiselect it, en
|
||||||
|
|
||||||
|
# Disable popularity contest
|
||||||
|
popularity-contest popularity-contest/participate boolean false
|
||||||
|
|
||||||
|
# Install both GNOME and KDE translation packages.
|
||||||
|
d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack-kde-$LL kde-i18n-$LL libreoffice-help-$LL libreoffice-l10n-$LL firefox-locale-$LL gimp-help-$LL thunderbird-locale-$LL
|
||||||
|
|
||||||
|
# Adding libreoffice and ansible
|
||||||
|
{% if ansible_bios_version == 'VirtualBox' %}
|
||||||
|
d-i pkgsel/include string dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen virtualbox-guest-dkms
|
||||||
|
{% else %}
|
||||||
|
d-i pkgsel/include string dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Post installation tasks
|
||||||
|
# Update system
|
||||||
|
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
||||||
|
in-target apt-get -y dist-upgrade; \
|
||||||
|
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub webbrowser-app epoptes epoptes-client; \
|
||||||
|
in-target apt-get -y autoremove; \
|
||||||
|
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
||||||
|
in-target bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-aula.sh | /bin/bash >/root/postseed.log 2>&1";
|
||||||
|
|
||||||
|
# Grub installation on MBR
|
||||||
|
d-i grub-installer/only_debian boolean true
|
||||||
|
d-i grub-installer/bootdev string /dev/sda
|
||||||
|
|
||||||
|
# No reboot message
|
||||||
|
d-i finish-install/reboot_in_progress note
|
@ -27,18 +27,18 @@ d-i mirror/http/proxy string
|
|||||||
d-i mirror/suite string trusty
|
d-i mirror/suite string trusty
|
||||||
|
|
||||||
# Apt-setup additional repos
|
# Apt-setup additional repos
|
||||||
d-i apt-setup/extras boolean false
|
|
||||||
d-i apt-setup/restricted boolean true
|
|
||||||
d-i apt-setup/universe boolean true
|
|
||||||
d-i apt-setup/backports boolean true
|
|
||||||
d-i apt-setup/non-free boolean true
|
|
||||||
d-i apt-setup/contrib boolean true
|
|
||||||
d-i apt-setup/services-select multiselect security, updates
|
d-i apt-setup/services-select multiselect security, updates
|
||||||
d-i apt-setup/security_host string {{ mirror_security_host }}
|
d-i apt-setup/security_host string {{ mirror_security_host }}
|
||||||
d-i apt-setup/security_path string {{ mirror_security_path }}
|
d-i apt-setup/security_path string {{ mirror_security_path }}
|
||||||
|
|
||||||
|
# Additional repos
|
||||||
|
d-i apt-setup/multiverse boolean true
|
||||||
|
d-i apt-setup/universe boolean true
|
||||||
|
d-i apt-setup/restricted boolean true
|
||||||
|
d-i apt-setup/partner boolean true
|
||||||
|
|
||||||
# Setup and enable libreoffice PPA
|
# Setup and enable libreoffice PPA
|
||||||
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
||||||
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
||||||
|
|
||||||
@ -47,6 +47,16 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a
|
|||||||
d-i apt-setup/local1/comment string Ansible Official PPA
|
d-i apt-setup/local1/comment string Ansible Official PPA
|
||||||
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
||||||
|
|
||||||
|
# Setup and enable epoptes PPA
|
||||||
|
d-i apt-setup/local2/repository string http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
||||||
|
d-i apt-setup/local2/comment string Epoptes stable repository
|
||||||
|
d-i apt-setup/local2/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x2D9B9274D3DF9D7CD7281A3E49F26CB30350B375&op=get
|
||||||
|
|
||||||
|
# Setup and enable geogebra repository
|
||||||
|
d-i apt-setup/local3/repository string http://{{ execpath }}/www.geogebra.net/linux stable main
|
||||||
|
d-i apt-setup/local3/comment string Geogebra Official repository
|
||||||
|
d-i apt-setup/local3/key string http://{{ ansible_local.domain.serverfqdn }}/ks/repoconfig/office_geogebra.gpg.key
|
||||||
|
|
||||||
# Time and date
|
# Time and date
|
||||||
d-i clock-setup/utc boolean true
|
d-i clock-setup/utc boolean true
|
||||||
d-i time/zone string Europe/Rome
|
d-i time/zone string Europe/Rome
|
||||||
@ -56,7 +66,7 @@ d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }}
|
|||||||
# User creation
|
# User creation
|
||||||
d-i passwd/user-fullname string BgLUG User
|
d-i passwd/user-fullname string BgLUG User
|
||||||
d-i passwd/username string bglug
|
d-i passwd/username string bglug
|
||||||
d-i passwd/user-password-crypted string $1$33bB/LIt$MEHmvzVIgYRJs/5L4z34L/
|
d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./
|
||||||
|
|
||||||
# Partitioning
|
# Partitioning
|
||||||
d-i partman-auto/init_automatically_partition select biggest_free
|
d-i partman-auto/init_automatically_partition select biggest_free
|
||||||
@ -74,6 +84,7 @@ d-i user-setup/encrypt-home boolean false
|
|||||||
|
|
||||||
# Kernel installation
|
# Kernel installation
|
||||||
d-i base-installer/kernel/image string linux-generic
|
d-i base-installer/kernel/image string linux-generic
|
||||||
|
d-i base-installer/kernel/altmeta string lts-xenial
|
||||||
|
|
||||||
# Install the Edubuntu desktop.
|
# Install the Edubuntu desktop.
|
||||||
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
||||||
@ -87,7 +98,7 @@ d-i localechooser/translation/warn-light boolean true
|
|||||||
# Policy to upgrade: none
|
# Policy to upgrade: none
|
||||||
d-i pkgsel/update-policy select none
|
d-i pkgsel/update-policy select none
|
||||||
|
|
||||||
# UPgrade after installation: no
|
# Upgrade after installation: no
|
||||||
d-i pkgsel/upgrade select none
|
d-i pkgsel/upgrade select none
|
||||||
|
|
||||||
# Language pack selection
|
# Language pack selection
|
||||||
@ -101,16 +112,16 @@ d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack-
|
|||||||
|
|
||||||
# Adding libreoffice and ansible
|
# Adding libreoffice and ansible
|
||||||
{% if ansible_bios_version == 'VirtualBox' %}
|
{% if ansible_bios_version == 'VirtualBox' %}
|
||||||
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms
|
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen virtualbox-guest-dkms
|
||||||
{% else %}
|
{% else %}
|
||||||
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude
|
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Post installation tasks
|
# Post installation tasks
|
||||||
# Update system
|
# Update system
|
||||||
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
||||||
in-target apt-get -y dist-upgrade; \
|
in-target apt-get -y dist-upgrade; \
|
||||||
in-target apt-get -y purge libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes; \
|
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub webbrowser-app epoptes; \
|
||||||
in-target apt-get -y autoremove; \
|
in-target apt-get -y autoremove; \
|
||||||
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
||||||
in-target /bin/bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-client.sh | /bin/bash >/root/postseed.log 2>&1";
|
in-target /bin/bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-client.sh | /bin/bash >/root/postseed.log 2>&1";
|
||||||
|
@ -25,20 +25,21 @@ d-i mirror/http/hostname string {{ mirror_host }}
|
|||||||
d-i mirror/http/directory string {{ mirror_path }}
|
d-i mirror/http/directory string {{ mirror_path }}
|
||||||
d-i mirror/http/proxy string
|
d-i mirror/http/proxy string
|
||||||
d-i mirror/suite string trusty
|
d-i mirror/suite string trusty
|
||||||
|
d-i mirror/udeb/components multiselect main, restricted, universe, multiverse
|
||||||
|
|
||||||
# Apt-setup additional repos
|
# Apt-setup additional repos
|
||||||
d-i apt-setup/extras boolean false
|
|
||||||
d-i apt-setup/restricted boolean true
|
|
||||||
d-i apt-setup/universe boolean true
|
|
||||||
d-i apt-setup/backports boolean true
|
|
||||||
d-i apt-setup/non-free boolean true
|
|
||||||
d-i apt-setup/contrib boolean true
|
|
||||||
d-i apt-setup/services-select multiselect security, updates
|
d-i apt-setup/services-select multiselect security, updates
|
||||||
d-i apt-setup/security_host string {{ mirror_security_host }}
|
d-i apt-setup/security_host string {{ mirror_security_host }}
|
||||||
d-i apt-setup/security_path string {{ mirror_security_path }}
|
d-i apt-setup/security_path string {{ mirror_security_path }}
|
||||||
|
|
||||||
|
# Additional repos
|
||||||
|
d-i apt-setup/multiverse boolean true
|
||||||
|
d-i apt-setup/universe boolean true
|
||||||
|
d-i apt-setup/restricted boolean true
|
||||||
|
d-i apt-setup/partner boolean true
|
||||||
|
|
||||||
# Setup and enable libreoffice PPA
|
# Setup and enable libreoffice PPA
|
||||||
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
||||||
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
||||||
|
|
||||||
@ -47,6 +48,11 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a
|
|||||||
d-i apt-setup/local1/comment string Ansible Official PPA
|
d-i apt-setup/local1/comment string Ansible Official PPA
|
||||||
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
||||||
|
|
||||||
|
# Setup and enable geogebra repository
|
||||||
|
d-i apt-setup/local2/repository string http://{{ execpath }}/www.geogebra.net/linux stable main
|
||||||
|
d-i apt-setup/local2/comment string Geogebra Official repository
|
||||||
|
d-i apt-setup/local2/key string http://www.geogebra.net/linux/office@geogebra.org.gpg.key.new
|
||||||
|
|
||||||
# Time and date
|
# Time and date
|
||||||
d-i clock-setup/utc boolean true
|
d-i clock-setup/utc boolean true
|
||||||
d-i time/zone string Europe/Rome
|
d-i time/zone string Europe/Rome
|
||||||
@ -56,7 +62,7 @@ d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }}
|
|||||||
# User creation
|
# User creation
|
||||||
d-i passwd/user-fullname string BgLUG User
|
d-i passwd/user-fullname string BgLUG User
|
||||||
d-i passwd/username string bglug
|
d-i passwd/username string bglug
|
||||||
d-i passwd/user-password-crypted string $1$33bB/LIt$MEHmvzVIgYRJs/5L4z34L/
|
d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./
|
||||||
|
|
||||||
# Partitioning
|
# Partitioning
|
||||||
d-i partman-auto/init_automatically_partition select biggest_free
|
d-i partman-auto/init_automatically_partition select biggest_free
|
||||||
@ -74,6 +80,7 @@ d-i user-setup/encrypt-home boolean false
|
|||||||
|
|
||||||
# Kernel installation
|
# Kernel installation
|
||||||
d-i base-installer/kernel/image string linux-generic
|
d-i base-installer/kernel/image string linux-generic
|
||||||
|
d-i base-installer/kernel/altmeta string lts-xenial
|
||||||
|
|
||||||
# Install the Edubuntu desktop.
|
# Install the Edubuntu desktop.
|
||||||
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
||||||
@ -87,7 +94,7 @@ d-i localechooser/translation/warn-light boolean true
|
|||||||
# Policy to upgrade: none
|
# Policy to upgrade: none
|
||||||
d-i pkgsel/update-policy select none
|
d-i pkgsel/update-policy select none
|
||||||
|
|
||||||
# UPgrade after installation: no
|
# Upgrade after installation: no
|
||||||
d-i pkgsel/upgrade select none
|
d-i pkgsel/upgrade select none
|
||||||
|
|
||||||
# Language pack selection
|
# Language pack selection
|
||||||
@ -101,16 +108,16 @@ d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack-
|
|||||||
|
|
||||||
# Adding libreoffice and ansible
|
# Adding libreoffice and ansible
|
||||||
{% if ansible_bios_version == 'VirtualBox' %}
|
{% if ansible_bios_version == 'VirtualBox' %}
|
||||||
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms
|
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms
|
||||||
{% else %}
|
{% else %}
|
||||||
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude
|
d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Post installation tasks
|
# Post installation tasks
|
||||||
# Update system
|
# Update system
|
||||||
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
||||||
in-target apt-get -y dist-upgrade; \
|
in-target apt-get -y dist-upgrade; \
|
||||||
in-target apt-get -y purge libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes; \
|
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes; \
|
||||||
in-target apt-get -y autoremove; \
|
in-target apt-get -y autoremove; \
|
||||||
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
||||||
in-target /bin/bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-client.sh | /bin/bash >/root/postseed.log 2>&1";
|
in-target /bin/bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-client.sh | /bin/bash >/root/postseed.log 2>&1";
|
||||||
|
@ -25,20 +25,21 @@ d-i mirror/http/hostname string {{ mirror_host }}
|
|||||||
d-i mirror/http/directory string {{ mirror_path }}
|
d-i mirror/http/directory string {{ mirror_path }}
|
||||||
d-i mirror/http/proxy string
|
d-i mirror/http/proxy string
|
||||||
d-i mirror/suite string trusty
|
d-i mirror/suite string trusty
|
||||||
|
d-i mirror/udeb/components multiselect main, restricted, universe, multiverse
|
||||||
|
|
||||||
# Apt-setup additional repos
|
# Apt-setup additional repos
|
||||||
d-i apt-setup/extras boolean false
|
|
||||||
d-i apt-setup/restricted boolean true
|
|
||||||
d-i apt-setup/universe boolean true
|
|
||||||
d-i apt-setup/backports boolean true
|
|
||||||
d-i apt-setup/non-free boolean true
|
|
||||||
d-i apt-setup/contrib boolean true
|
|
||||||
d-i apt-setup/services-select multiselect security, updates
|
d-i apt-setup/services-select multiselect security, updates
|
||||||
d-i apt-setup/security_host string {{ mirror_security_host }}
|
d-i apt-setup/security_host string {{ mirror_security_host }}
|
||||||
d-i apt-setup/security_path string {{ mirror_security_path }}
|
d-i apt-setup/security_path string {{ mirror_security_path }}
|
||||||
|
|
||||||
|
# Additional repos
|
||||||
|
d-i apt-setup/multiverse boolean true
|
||||||
|
d-i apt-setup/universe boolean true
|
||||||
|
d-i apt-setup/restricted boolean true
|
||||||
|
d-i apt-setup/partner boolean true
|
||||||
|
|
||||||
# Setup and enable libreoffice PPA
|
# Setup and enable libreoffice PPA
|
||||||
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
||||||
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
||||||
|
|
||||||
@ -47,6 +48,11 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a
|
|||||||
d-i apt-setup/local1/comment string Ansible Official PPA
|
d-i apt-setup/local1/comment string Ansible Official PPA
|
||||||
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
||||||
|
|
||||||
|
# Setup and enable geogebra repository
|
||||||
|
d-i apt-setup/local2/repository string http://{{ execpath }}/www.geogebra.net/linux stable main
|
||||||
|
d-i apt-setup/local2/comment string Geogebra Official repository
|
||||||
|
d-i apt-setup/local2/key string http://www.geogebra.net/linux/office@geogebra.org.gpg.key.new
|
||||||
|
|
||||||
# Time and date
|
# Time and date
|
||||||
d-i clock-setup/utc boolean true
|
d-i clock-setup/utc boolean true
|
||||||
d-i time/zone string Europe/Rome
|
d-i time/zone string Europe/Rome
|
||||||
@ -56,7 +62,7 @@ d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }}
|
|||||||
# User creation
|
# User creation
|
||||||
d-i passwd/user-fullname string BgLUG User
|
d-i passwd/user-fullname string BgLUG User
|
||||||
d-i passwd/username string bglug
|
d-i passwd/username string bglug
|
||||||
d-i passwd/user-password-crypted string $1$33bB/LIt$MEHmvzVIgYRJs/5L4z34L/
|
d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./
|
||||||
|
|
||||||
# Partitioning
|
# Partitioning
|
||||||
d-i partman-auto/init_automatically_partition select biggest_free
|
d-i partman-auto/init_automatically_partition select biggest_free
|
||||||
@ -74,6 +80,7 @@ d-i user-setup/encrypt-home boolean false
|
|||||||
|
|
||||||
# Kernel installation
|
# Kernel installation
|
||||||
d-i base-installer/kernel/image string linux-generic
|
d-i base-installer/kernel/image string linux-generic
|
||||||
|
d-i base-installer/kernel/altmeta lts-xenial
|
||||||
|
|
||||||
# Install the Edubuntu desktop.
|
# Install the Edubuntu desktop.
|
||||||
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
||||||
@ -87,7 +94,7 @@ d-i localechooser/translation/warn-light boolean true
|
|||||||
# Policy to upgrade: none
|
# Policy to upgrade: none
|
||||||
d-i pkgsel/update-policy select none
|
d-i pkgsel/update-policy select none
|
||||||
|
|
||||||
# UPgrade after installation: no
|
# Upgrade after installation: no
|
||||||
d-i pkgsel/upgrade select none
|
d-i pkgsel/upgrade select none
|
||||||
|
|
||||||
# Language pack selection
|
# Language pack selection
|
||||||
@ -101,16 +108,16 @@ d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack-
|
|||||||
|
|
||||||
# Adding libreoffice and ansible
|
# Adding libreoffice and ansible
|
||||||
{% if ansible_bios_version == 'VirtualBox' %}
|
{% if ansible_bios_version == 'VirtualBox' %}
|
||||||
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms
|
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms
|
||||||
{% else %}
|
{% else %}
|
||||||
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude
|
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Post installation tasks
|
# Post installation tasks
|
||||||
# Update system
|
# Update system
|
||||||
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
||||||
in-target apt-get -y dist-upgrade; \
|
in-target apt-get -y dist-upgrade; \
|
||||||
in-target apt-get -y purge libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes-client; \
|
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes-client; \
|
||||||
in-target apt-get -y autoremove; \
|
in-target apt-get -y autoremove; \
|
||||||
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
||||||
in-target bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-docenti.sh | /bin/bash >/root/postseed.log 2>&1";
|
in-target bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-docenti.sh | /bin/bash >/root/postseed.log 2>&1";
|
||||||
|
@ -27,18 +27,18 @@ d-i mirror/http/proxy string
|
|||||||
d-i mirror/suite string trusty
|
d-i mirror/suite string trusty
|
||||||
|
|
||||||
# Apt-setup additional repos
|
# Apt-setup additional repos
|
||||||
d-i apt-setup/extras boolean false
|
|
||||||
d-i apt-setup/restricted boolean true
|
|
||||||
d-i apt-setup/universe boolean true
|
|
||||||
d-i apt-setup/backports boolean true
|
|
||||||
d-i apt-setup/non-free boolean true
|
|
||||||
d-i apt-setup/contrib boolean true
|
|
||||||
d-i apt-setup/services-select multiselect security, updates
|
d-i apt-setup/services-select multiselect security, updates
|
||||||
d-i apt-setup/security_host string {{ mirror_security_host }}
|
d-i apt-setup/security_host string {{ mirror_security_host }}
|
||||||
d-i apt-setup/security_path string {{ mirror_security_path }}
|
d-i apt-setup/security_path string {{ mirror_security_path }}
|
||||||
|
|
||||||
|
# Additional repos
|
||||||
|
d-i apt-setup/multiverse boolean true
|
||||||
|
d-i apt-setup/universe boolean true
|
||||||
|
d-i apt-setup/restricted boolean true
|
||||||
|
d-i apt-setup/partner boolean true
|
||||||
|
|
||||||
# Setup and enable libreoffice PPA
|
# Setup and enable libreoffice PPA
|
||||||
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
||||||
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
||||||
|
|
||||||
@ -47,6 +47,16 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a
|
|||||||
d-i apt-setup/local1/comment string Ansible Official PPA
|
d-i apt-setup/local1/comment string Ansible Official PPA
|
||||||
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get
|
||||||
|
|
||||||
|
# Setup and enable epoptes PPA
|
||||||
|
d-i apt-setup/local2/repository string http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
||||||
|
d-i apt-setup/local2/comment string Epoptes stable repository
|
||||||
|
d-i apt-setup/local2/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x2D9B9274D3DF9D7CD7281A3E49F26CB30350B375&op=get
|
||||||
|
|
||||||
|
# Setup and enable geogebra repository
|
||||||
|
d-i apt-setup/local3/repository string http://{{ execpath }}/www.geogebra.net/linux stable main
|
||||||
|
d-i apt-setup/local3/comment string Geogebra Official repository
|
||||||
|
d-i apt-setup/local3/key string http://{{ ansible_local.domain.serverfqdn }}/ks/repoconfig/office_geogebra.gpg.key
|
||||||
|
|
||||||
# Time and date
|
# Time and date
|
||||||
d-i clock-setup/utc boolean true
|
d-i clock-setup/utc boolean true
|
||||||
d-i time/zone string Europe/Rome
|
d-i time/zone string Europe/Rome
|
||||||
@ -56,7 +66,7 @@ d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }}
|
|||||||
# User creation
|
# User creation
|
||||||
d-i passwd/user-fullname string BgLUG User
|
d-i passwd/user-fullname string BgLUG User
|
||||||
d-i passwd/username string bglug
|
d-i passwd/username string bglug
|
||||||
d-i passwd/user-password-crypted string $1$33bB/LIt$MEHmvzVIgYRJs/5L4z34L/
|
d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./
|
||||||
|
|
||||||
# Partitioning
|
# Partitioning
|
||||||
d-i partman-auto/init_automatically_partition select biggest_free
|
d-i partman-auto/init_automatically_partition select biggest_free
|
||||||
@ -74,6 +84,7 @@ d-i user-setup/encrypt-home boolean false
|
|||||||
|
|
||||||
# Kernel installation
|
# Kernel installation
|
||||||
d-i base-installer/kernel/image string linux-generic
|
d-i base-installer/kernel/image string linux-generic
|
||||||
|
d-i base-installer/kernel/altmeta string lts-xenial
|
||||||
|
|
||||||
# Install the Edubuntu desktop.
|
# Install the Edubuntu desktop.
|
||||||
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
||||||
@ -87,7 +98,7 @@ d-i localechooser/translation/warn-light boolean true
|
|||||||
# Policy to upgrade: none
|
# Policy to upgrade: none
|
||||||
d-i pkgsel/update-policy select none
|
d-i pkgsel/update-policy select none
|
||||||
|
|
||||||
# UPgrade after installation: no
|
# Upgrade after installation: no
|
||||||
d-i pkgsel/upgrade select none
|
d-i pkgsel/upgrade select none
|
||||||
|
|
||||||
# Language pack selection
|
# Language pack selection
|
||||||
@ -101,16 +112,16 @@ d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack-
|
|||||||
|
|
||||||
# Adding libreoffice and ansible
|
# Adding libreoffice and ansible
|
||||||
{% if ansible_bios_version == 'VirtualBox' %}
|
{% if ansible_bios_version == 'VirtualBox' %}
|
||||||
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms
|
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen virtualbox-guest-dkms
|
||||||
{% else %}
|
{% else %}
|
||||||
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-secondary python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude
|
d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Post installation tasks
|
# Post installation tasks
|
||||||
# Update system
|
# Update system
|
||||||
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
||||||
in-target apt-get -y dist-upgrade; \
|
in-target apt-get -y dist-upgrade; \
|
||||||
in-target apt-get -y purge libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes-client; \
|
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub webbrowser-app epoptes-client; \
|
||||||
in-target apt-get -y autoremove; \
|
in-target apt-get -y autoremove; \
|
||||||
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \
|
||||||
in-target bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-docenti.sh | /bin/bash >/root/postseed.log 2>&1";
|
in-target bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-docenti.sh | /bin/bash >/root/postseed.log 2>&1";
|
||||||
|
@ -28,18 +28,17 @@ d-i mirror/http/proxy string
|
|||||||
d-i mirror/suite string trusty
|
d-i mirror/suite string trusty
|
||||||
|
|
||||||
# Apt-setup additional repos
|
# Apt-setup additional repos
|
||||||
d-i apt-setup/extras boolean true
|
|
||||||
d-i apt-setup/restricted boolean true
|
|
||||||
d-i apt-setup/universe boolean true
|
|
||||||
d-i apt-setup/backports boolean true
|
|
||||||
d-i apt-setup/non-free boolean true
|
|
||||||
d-i apt-setup/contrib boolean true
|
|
||||||
d-i apt-setup/services-select multiselect security, updates
|
d-i apt-setup/services-select multiselect security, updates
|
||||||
d-i apt-setup/security_host string {{ mirror_security_host }}
|
d-i apt-setup/security_host string {{ mirror_security_host }}
|
||||||
d-i apt-setup/security_path string {{ mirror_security_path }}
|
d-i apt-setup/security_path string {{ mirror_security_path }}
|
||||||
|
|
||||||
|
# Additional repos
|
||||||
|
d-i apt-setup/restricted boolean true
|
||||||
|
d-i apt-setup/universe boolean true
|
||||||
|
d-i apt-setup/multiverse boolean true
|
||||||
|
|
||||||
# Setup and enable libreoffice PPA
|
# Setup and enable libreoffice PPA
|
||||||
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
d-i apt-setup/local0/comment string LibreOffice Official PPA
|
||||||
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get
|
||||||
|
|
||||||
@ -70,6 +69,7 @@ d-i user-setup/encrypt-home boolean false
|
|||||||
|
|
||||||
# Kernel installation
|
# Kernel installation
|
||||||
d-i base-installer/kernel/image string linux-generic
|
d-i base-installer/kernel/image string linux-generic
|
||||||
|
d-i base-installer/kernel/altmeta string lts-xenial
|
||||||
|
|
||||||
# Install the Edubuntu desktop.
|
# Install the Edubuntu desktop.
|
||||||
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
tasksel tasksel/first multiselect edubuntu-desktop-gnome
|
||||||
@ -83,7 +83,7 @@ d-i localechooser/translation/warn-light boolean true
|
|||||||
# Policy to upgrade: none
|
# Policy to upgrade: none
|
||||||
d-i pkgsel/update-policy select none
|
d-i pkgsel/update-policy select none
|
||||||
|
|
||||||
# UPgrade after installation: no
|
# Upgrade after installation: no
|
||||||
d-i pkgsel/upgrade select none
|
d-i pkgsel/upgrade select none
|
||||||
|
|
||||||
# Language pack selection
|
# Language pack selection
|
||||||
@ -97,16 +97,16 @@ d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack-
|
|||||||
|
|
||||||
# Adding libreoffice and ansible
|
# Adding libreoffice and ansible
|
||||||
{% if ansible_bios_version == 'VirtualBox' %}
|
{% if ansible_bios_version == 'VirtualBox' %}
|
||||||
d-i pkgsel/include string openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-secondary libnss-myhostname geogebra geogebra-gnome sysv-rc-conf virtualbox-guest-dkms
|
d-i pkgsel/include string openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-{{ edu_package }} libnss-myhostname geogebra geogebra-gnome sysv-rc-conf virtualbox-guest-dkms
|
||||||
{% else %}
|
{% else %}
|
||||||
d-i pkgsel/include string openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-secondary libnss-myhostname geogebra geogebra-gnome sysv-rc-conf
|
d-i pkgsel/include string openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-{{ edu_package }} libnss-myhostname geogebra geogebra-gnome sysv-rc-conf
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Post installation tasks
|
# Post installation tasks
|
||||||
# Update system
|
# Update system
|
||||||
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
d-i preseed/late_command string in-target apt-get -y upgrade; \
|
||||||
in-target apt-get -y dist-upgrade; \
|
in-target apt-get -y dist-upgrade; \
|
||||||
in-target apt-get -y purge libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub; \
|
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub; \
|
||||||
in-target apt-get -y autoremove; \
|
in-target apt-get -y autoremove; \
|
||||||
in-target sed -i'' -e 's/ubuntu/gnome-fallback/g' /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
|
in-target sed -i'' -e 's/ubuntu/gnome-fallback/g' /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
|
||||||
|
|
||||||
|
9
roles/preseed/templates/preseed/postseed-aula.sh
Normal file
9
roles/preseed/templates/preseed/postseed-aula.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Cambio username con quello fornito da servizio
|
||||||
|
TARGETHOSTNAME=$(/usr/bin/wget -qO- http://{{ ansible_local.domain.serverfqdn }}:3000/whatsmyhostname?role=aula)
|
||||||
|
echo $TARGETHOSTNAME > /etc/hostname
|
||||||
|
/bin/sed -i'' -e "s/kickseed/$TARGETHOSTNAME/g" /etc/hosts
|
||||||
|
|
||||||
|
# Installo i file necessari per ansible.
|
||||||
|
/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/init-ansible.sh | /bin/bash
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
domaingroup="domain users"
|
|
||||||
localgroups="pulse pulse-access"
|
|
||||||
|
|
||||||
baseusers="bglug"
|
|
||||||
domainusers="$(getent group "${domaingroup}" | awk 'BEGIN { FS = ":" } ; { print $4 }' | sed -e 's/,/ /g')"
|
|
||||||
|
|
||||||
users="${baseusers} ${domainusers}"
|
|
||||||
|
|
||||||
for group in ${localgroups}; do
|
|
||||||
actualusers=$(getent group '${group}' | awk 'BEGIN { FS = ":" }; { print $4 }' | sed -e 's/,/ /g')
|
|
||||||
|
|
||||||
# Removing users not in the group
|
|
||||||
for user in ${actualusers}; do
|
|
||||||
whuser=${user//[[:space:]]/}
|
|
||||||
echo "removing ${user}"
|
|
||||||
[[ "${users}" =~ "${whuser}" ]] || gpasswd -d "${whuser}" "${group}"
|
|
||||||
unset whuser
|
|
||||||
done
|
|
||||||
|
|
||||||
# Adding users to group
|
|
||||||
for user in ${users}; do
|
|
||||||
whuser=${user//[[:space:]]/}
|
|
||||||
[[ "${actualusers}" =~ "${whuser}" ]] || gpasswd -a "${whuser}" "${group}"
|
|
||||||
done
|
|
||||||
done
|
|
3
roles/preseed/templates/repoconfig/bglug-trusty.list
Normal file
3
roles/preseed/templates/repoconfig/bglug-trusty.list
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Repo BgLUG
|
||||||
|
deb http://{{ execpath }}repo.bglug.it/ubuntu trusty main
|
||||||
|
#deb-src http://{{ execpath }}repo.bglug.it/ubuntu trusty main
|
@ -0,0 +1,2 @@
|
|||||||
|
deb http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
||||||
|
#deb-src http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
1
roles/preseed/templates/repoconfig/geogebra-stable.list
Normal file
1
roles/preseed/templates/repoconfig/geogebra-stable.list
Normal file
@ -0,0 +1 @@
|
|||||||
|
deb http://{{ execpath }}www.geogebra.net/linux stable main
|
@ -0,0 +1,2 @@
|
|||||||
|
deb http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
|
#deb-src http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
19
roles/preseed/templates/repoconfig/sources.list
Normal file
19
roles/preseed/templates/repoconfig/sources.list
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Base repositories for Ubuntu 14.04 - Trusty Tahr
|
||||||
|
deb http://{{ mirror_host }}{{ mirror_path }} trusty main restricted universe multiverse
|
||||||
|
deb http://{{ mirror_host }}{{ mirror_path }} trusty-security main restricted universe multiverse
|
||||||
|
deb http://{{ mirror_host }}{{ mirror_path }} trusty-updates main restricted universe multiverse
|
||||||
|
deb http://{{ mirror_host }}{{ mirror_path }} trusty-backports main restricted universe multiverse
|
||||||
|
|
||||||
|
# Sources
|
||||||
|
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty main restricted universe multiverse
|
||||||
|
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty-security main restricted universe multiverse
|
||||||
|
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty-updates main restricted universe multiverse
|
||||||
|
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty-backports main restricted universe multiverse
|
||||||
|
|
||||||
|
# Security
|
||||||
|
deb http://{{ mirror_security_host }}{{ mirror_security_path }} trusty-security main restricted universe multiverse
|
||||||
|
#deb-src http://{{ mirror_security_host }}{{ mirror_security_path }} trusty-security main restricted universe multiverse
|
||||||
|
|
||||||
|
# Extras
|
||||||
|
deb http://{{ execpath }}extras.ubuntu.com/ubuntu trusty main
|
||||||
|
deb http://{{ execpath }}archive.canonical.com/ trusty partner
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
- name: pxelinux.0
|
- name: pxelinux.0
|
||||||
get_url:
|
get_url:
|
||||||
url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/pxelinux.0"
|
url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/utopic-netboot/pxelinux.0"
|
||||||
dest: /var/lib/tftpboot/pxelinux.0
|
dest: /var/lib/tftpboot/pxelinux.0
|
||||||
|
|
||||||
- name: pxelinux.cfg/default
|
- name: pxelinux.cfg/default
|
||||||
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
- name: vesamenu.c32
|
- name: vesamenu.c32
|
||||||
get_url:
|
get_url:
|
||||||
url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/boot-screens/vesamenu.c32"
|
url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-i386/current/images/netboot/ubuntu-installer/i386/boot-screens/vesamenu.c32"
|
||||||
dest: /var/lib/tftpboot/utils/vesamenu.c32
|
dest: /var/lib/tftpboot/utils/vesamenu.c32
|
||||||
|
|
||||||
- name: chain.c32
|
- name: chain.c32
|
||||||
@ -45,22 +45,22 @@
|
|||||||
|
|
||||||
- name: linux i386
|
- name: linux i386
|
||||||
get_url:
|
get_url:
|
||||||
url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux"
|
url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux"
|
||||||
dest: /var/lib/tftpboot/ubuntu/14.04/i386/linux
|
dest: /var/lib/tftpboot/ubuntu/14.04/i386/linux
|
||||||
|
|
||||||
- name: initrd.gz i386
|
- name: initrd.gz i386
|
||||||
get_url:
|
get_url:
|
||||||
url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz"
|
url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz"
|
||||||
dest: /var/lib/tftpboot/ubuntu/14.04/i386/initrd.gz
|
dest: /var/lib/tftpboot/ubuntu/14.04/i386/initrd.gz
|
||||||
|
|
||||||
- name: linux amd64
|
- name: linux amd64
|
||||||
get_url:
|
get_url:
|
||||||
url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux"
|
url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux"
|
||||||
dest: /var/lib/tftpboot/ubuntu/14.04/amd64/linux
|
dest: /var/lib/tftpboot/ubuntu/14.04/amd64/linux
|
||||||
|
|
||||||
- name: initrd.gz amd64
|
- name: initrd.gz amd64
|
||||||
get_url:
|
get_url:
|
||||||
url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz"
|
url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz"
|
||||||
dest: /var/lib/tftpboot/ubuntu/14.04/amd64/initrd.gz
|
dest: /var/lib/tftpboot/ubuntu/14.04/amd64/initrd.gz
|
||||||
|
|
||||||
- name: memdisk
|
- name: memdisk
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
- name: Configuring TFTP
|
- name: Configuring TFTP
|
||||||
shell: /sbin/e-smith/db configuration setprop dnsmasq tftp-status enabled dhcp-boot pxelinux.0
|
shell: /sbin/e-smith/db configuration setprop dnsmasq tftp-status enabled dhcp-boot pxelinux.0
|
||||||
when: chk_tftp_enabled|changed
|
when: chk_tftp_enabled is changed
|
||||||
|
|
||||||
- name: Activating tftp
|
- name: Activating tftp
|
||||||
shell: /sbin/e-smith/signal-event nethserver-dnsmasq-save
|
shell: /sbin/e-smith/signal-event nethserver-dnsmasq-save
|
||||||
when: chk_tftp_enabled|changed
|
when: chk_tftp_enabled is changed
|
||||||
|
@ -56,6 +56,28 @@ LABEL return-docenti
|
|||||||
MENU EXIT
|
MENU EXIT
|
||||||
MENU END
|
MENU END
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU TITLE Installa nuova macchina AULA
|
||||||
|
|
||||||
|
LABEL aula-32bit
|
||||||
|
MENU LABEL ^32 bit
|
||||||
|
LINUX /ubuntu/14.04/i386/linux
|
||||||
|
INITRD /ubuntu/14.04/i386/initrd.gz
|
||||||
|
APPEND vga=normal auto=true hostname=kickseed url=http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/aula-trusty.seed -- quiet
|
||||||
|
|
||||||
|
LABEL aula-64bit
|
||||||
|
MENU LABEL ^64 bit
|
||||||
|
LINUX /ubuntu/14.04/amd64/linux
|
||||||
|
INITRD /ubuntu/14.04/amd64/initrd.gz
|
||||||
|
APPEND vga=normal auto=true hostname=kickseed url=http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/aula-trusty.seed -- quiet
|
||||||
|
|
||||||
|
MENU SEPARATOR
|
||||||
|
|
||||||
|
LABEL return-aula
|
||||||
|
MENU LABEL ^Torna al menu principale
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
MENU SEPARATOR
|
MENU SEPARATOR
|
||||||
|
|
||||||
MENU BEGIN
|
MENU BEGIN
|
||||||
|
35
roles/rename-nic/tasks/rename-nic.yml
Normal file
35
roles/rename-nic/tasks/rename-nic.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
# Cambio nome interfacce
|
||||||
|
|
||||||
|
- name: Removing old interface names
|
||||||
|
file:
|
||||||
|
path: /etc/udev/rules.d/70-persistent-net.rules
|
||||||
|
state: absent
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Forcing recreation of {{ extnic }}
|
||||||
|
shell: "INTERFACE=eth0 MATCHADDR={{ ansible_eth0.macaddress }} INTERFACE_NAME={{ extnic }} /lib/udev/write_net_rules"
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Forcing recreation of {{ intnic }}
|
||||||
|
shell: "INTERFACE=eth1 MATCHADDR={{ ansible_eth1.macaddress }} INTERFACE_NAME={{ intnic }} /lib/udev/write_net_rules"
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Pulizia vecchie interfacce
|
||||||
|
shell: "/sbin/e-smith/db networks delete {{ item }}"
|
||||||
|
become: yes
|
||||||
|
with_items:
|
||||||
|
- eth0
|
||||||
|
- eth1
|
||||||
|
|
||||||
|
- name: Creo interfaccia esterna in NethServer
|
||||||
|
shell: /sbin/e-smith/db networks set {{ extnic }} ethernet bootproto dhcp device {{ extnic }} hwaddr {{ ansible_eth0.macaddress }} onboot yes peerdns yes role red
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Creo interfaccia interna in NethServer
|
||||||
|
shell: /sbin/e-smith/db networks set {{ intnic }} ethernet bootproto none device {{ intnic }} hwaddr {{ ansible_eth1.macaddress }} ipaddr 172.16.254.1 netmask 255.255.255.0 onboot yes role green
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Trigger interfaces configuration
|
||||||
|
shell: "ifdown eth0; ifdown eth1; udevadm control --reload-rules && udevadm trigger; /sbin/e-smith/signal-event interface-update"
|
||||||
|
become: yes
|
@ -20,10 +20,10 @@
|
|||||||
|
|
||||||
- name: Installazione python-argparse
|
- name: Installazione python-argparse
|
||||||
yum:
|
yum:
|
||||||
name: "ftp://fr2.rpmfind.net/linux/centos/6.7/extras/i386/Packages/python-argparse-1.2.1-2.el6.centos.noarch.rpm"
|
name: python-argparse
|
||||||
state: present
|
state: present
|
||||||
become: yes
|
become: yes
|
||||||
when: check_argparse|changed
|
when: check_argparse is changed
|
||||||
tags: ansible
|
tags: ansible
|
||||||
|
|
||||||
#- name: Download della gestione client con ansible
|
#- name: Download della gestione client con ansible
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
- name: Installo epel-release
|
- name: Installo epel-release
|
||||||
yum: name=epel-release state=present
|
yum: name=epel-release state=present
|
||||||
become: yes
|
become: yes
|
||||||
when: check_epel|failed
|
when: check_epel is failed
|
||||||
register: epel_installed
|
register: epel_installed
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
@ -18,20 +18,20 @@
|
|||||||
name: "http://dl.fedoraproject.org/pub/epel/6/{{ ansible_architecture }}/epel-release-6-8.noarch.rpm"
|
name: "http://dl.fedoraproject.org/pub/epel/6/{{ ansible_architecture }}/epel-release-6-8.noarch.rpm"
|
||||||
state: present
|
state: present
|
||||||
become: yes
|
become: yes
|
||||||
when: epel_installed|failed
|
when: epel_installed is failed
|
||||||
register: rpm_epel_installed
|
register: rpm_epel_installed
|
||||||
|
|
||||||
- name: Abilito il repo EPEL
|
- name: Abilito il repo EPEL
|
||||||
shell: yum-config-manager --enable epel
|
shell: yum-config-manager --enable epel
|
||||||
become: yes
|
become: yes
|
||||||
when: epel_installed|changed or epel_installed|success or rpm_epel_installed|changed
|
when: epel_installed is changed or epel_installed is succeeded or rpm_epel_installed is changed
|
||||||
changed_when: "'[epel]' in epel_enabled.stdout and epel_enabled.rc == 0"
|
changed_when: "'[epel]' in epel_enabled.stdout and epel_enabled.rc == 0"
|
||||||
register: epel_enabled
|
register: epel_enabled
|
||||||
|
|
||||||
- name: Pulizia e ricaricam. repo
|
- name: Pulizia e ricaricam. repo
|
||||||
shell: yum clean all && yum repolist
|
shell: yum clean all && yum repolist
|
||||||
become: yes
|
become: yes
|
||||||
when: epel_enabled|changed
|
when: epel_enabled is changed
|
||||||
tags: repo
|
tags: repo
|
||||||
|
|
||||||
- name: Aggiorno il sistema
|
- name: Aggiorno il sistema
|
||||||
|
@ -8,16 +8,11 @@
|
|||||||
name: yum-plugin-versionlock
|
name: yum-plugin-versionlock
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Updating nethserver-release to last known version for 6.6
|
|
||||||
yum:
|
|
||||||
name: nethserver-release-6.6
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Checking if already locked
|
- name: Checking if already locked
|
||||||
shell: yum versionlock list | grep -q nethserver-release && echo 'Locked' || true
|
shell: yum versionlock list | grep -q nethserver-release && echo 'Locked' || true
|
||||||
register: chk_locked_nethrelease
|
register: chk_locked_nethrelease
|
||||||
changed_when: "'Locked' not in chk_locked_nethrelease.stdout"
|
changed_when: "'Locked' not in chk_locked_nethrelease.stdout"
|
||||||
|
|
||||||
- name: Locking nethserver-release version to 6.6
|
- name: Locking nethserver-release version
|
||||||
shell: yum versionlock add nethserver-release
|
shell: yum versionlock add nethserver-release
|
||||||
when: chk_locked_nethrelease|changed
|
when: chk_locked_nethrelease is changed
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
- name: Creazione directory .ssh
|
- name: Creazione directory .ssh
|
||||||
shell: mkdir -p $HOME/.ssh
|
shell: mkdir -p $HOME/.ssh
|
||||||
when: check_sshdir|failed
|
when: check_sshdir is failed
|
||||||
|
|
||||||
- name: Verifica chiave ssh
|
- name: Verifica chiave ssh
|
||||||
shell: test -f $HOME/.ssh/id_rsa
|
shell: test -f $HOME/.ssh/id_rsa
|
||||||
@ -17,4 +17,4 @@
|
|||||||
|
|
||||||
- name: Gestione creazione chiave ssh
|
- name: Gestione creazione chiave ssh
|
||||||
shell: ssh-keygen -t rsa -b 1024 -f $HOME/.ssh/id_rsa -N ''
|
shell: ssh-keygen -t rsa -b 1024 -f $HOME/.ssh/id_rsa -N ''
|
||||||
when: check_key|failed
|
when: check_key is failed
|
||||||
|
@ -16,4 +16,3 @@
|
|||||||
- name: Determining mirror_security_path
|
- name: Determining mirror_security_path
|
||||||
set_fact: spath="{{ ansible_local.domain.mirror_security_path }}"
|
set_fact: spath="{{ ansible_local.domain.mirror_security_path }}"
|
||||||
when: ansible_local.domain.mirror_security_path is defined
|
when: ansible_local.domain.mirror_security_path is defined
|
||||||
|
|
||||||
|
@ -23,14 +23,14 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: 0755
|
mode: 0755
|
||||||
when: chk_mount_nfs|changed
|
when: chk_mount_nfs is changed
|
||||||
|
|
||||||
- name: Adding mountpoint to fstab
|
- name: Adding mountpoint to fstab
|
||||||
lineinfile:
|
lineinfile:
|
||||||
dest: /etc/fstab
|
dest: /etc/fstab
|
||||||
line: "{{ ansible_local.domain.mirror_nfs_share }} /var/spool/apt-mirror/mirror nfs4 defaults 0 0"
|
line: "{{ ansible_local.domain.mirror_nfs_share }} /var/spool/apt-mirror/mirror nfs4 defaults 0 0"
|
||||||
when: chk_mount_nfs|changed
|
when: chk_mount_nfs is changed
|
||||||
|
|
||||||
- name: Mounting share
|
- name: Mounting share
|
||||||
shell: mount /var/spool/apt-mirror/mirror
|
shell: mount /var/spool/apt-mirror/mirror
|
||||||
when: chk_mount_nfs|changed
|
when: chk_mount_nfs is changed
|
||||||
|
@ -1,3 +1,2 @@
|
|||||||
---
|
---
|
||||||
# Managing a remote mirror - Doing nothing ;)
|
# Managing a remote mirror - Doing nothing ;)
|
||||||
|
|
||||||
|
@ -22,31 +22,26 @@ set _tilde 0
|
|||||||
deb-i386 http://{{ host }}{{ path }} trusty main restricted universe multiverse
|
deb-i386 http://{{ host }}{{ path }} trusty main restricted universe multiverse
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
|
deb-i386 http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
|
deb-i386 http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-proposed main restricted universe multiverse
|
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
|
deb-i386 http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
|
||||||
|
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty main restricted universe multiverse
|
deb-amd64 http://{{ host }}{{ path }} trusty main restricted universe multiverse
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
|
deb-amd64 http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
|
deb-amd64 http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-proposed main restricted universe multiverse
|
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
|
deb-amd64 http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
|
||||||
|
|
||||||
deb-src http://{{ host }}{{ path }} trusty main restricted universe multiverse
|
deb-src http://{{ host }}{{ path }} trusty main restricted universe multiverse
|
||||||
deb-src http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
|
deb-src http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
|
||||||
deb-src http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
|
deb-src http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
|
||||||
deb-src http://{{ host }}{{ path }} trusty-proposed main restricted universe multiverse
|
|
||||||
deb-src http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
|
deb-src http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
|
||||||
|
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-i386 http://{{ host }}{{ path }} trusty main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-i386 http://{{ host }}{{ path }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-updates main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-i386 http://{{ host }}{{ path }} trusty-updates main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-proposed main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
|
||||||
deb-i386 http://{{ host }}{{ path }} trusty-backports main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-i386 http://{{ host }}{{ path }} trusty-backports main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
|
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-amd64 http://{{ host }}{{ path }} trusty main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-amd64 http://{{ host }}{{ path }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-updates main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-amd64 http://{{ host }}{{ path }} trusty-updates main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-proposed main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
|
||||||
deb-amd64 http://{{ host }}{{ path }} trusty-backports main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-amd64 http://{{ host }}{{ path }} trusty-backports main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
|
|
||||||
deb-i386 http://extras.ubuntu.com/ubuntu trusty main
|
deb-i386 http://extras.ubuntu.com/ubuntu trusty main
|
||||||
@ -54,10 +49,8 @@ deb-amd64 http://extras.ubuntu.com/ubuntu trusty main
|
|||||||
deb-src http://extras.ubuntu.com/ubuntu trusty main
|
deb-src http://extras.ubuntu.com/ubuntu trusty main
|
||||||
|
|
||||||
deb-i386 http://archive.canonical.com/ trusty partner
|
deb-i386 http://archive.canonical.com/ trusty partner
|
||||||
deb-i386 http://archive.canonical.com/ trusty-proposed partner
|
|
||||||
|
|
||||||
deb-amd64 http://archive.canonical.com/ trusty partner
|
deb-amd64 http://archive.canonical.com/ trusty partner
|
||||||
deb-amd64 http://archive.canonical.com/ trusty-proposed partner
|
|
||||||
|
|
||||||
deb-i386 http://{{ shost }}{{ spath }} trusty-security main restricted universe multiverse
|
deb-i386 http://{{ shost }}{{ spath }} trusty-security main restricted universe multiverse
|
||||||
deb-i386 http://{{ shost }}{{ spath }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
deb-i386 http://{{ shost }}{{ spath }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
|
||||||
@ -70,9 +63,19 @@ deb-i386 http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
|
|||||||
deb-amd64 http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
|
deb-amd64 http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
|
||||||
|
|
||||||
# LibreOffice PPA
|
# LibreOffice PPA
|
||||||
deb-i386 http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
deb-i386 http://ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
deb-amd64 http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
deb-amd64 http://ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
deb-src http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
|
deb-src http://ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
|
||||||
|
|
||||||
|
# Epoptes stable
|
||||||
|
deb-i386 http://ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
||||||
|
deb-amd64 http://ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
||||||
|
deb-src http://ppa.launchpad.net/epoptes/ppa/ubuntu trusty main
|
||||||
|
|
||||||
|
# Geogebra Official repository
|
||||||
|
deb-i386 http://www.geogebra.net/linux stable main
|
||||||
|
deb-amd64 http://www.geogebra.net/linux stable main
|
||||||
|
deb-src http://www.geogebra.net/linux stable main
|
||||||
|
|
||||||
# BgLUG
|
# BgLUG
|
||||||
deb-i386 http://repo.bglug.it/ubuntu trusty main
|
deb-i386 http://repo.bglug.it/ubuntu trusty main
|
||||||
@ -84,5 +87,7 @@ clean http://extras.ubuntu.com/ubuntu
|
|||||||
clean http://archive.canonical.com
|
clean http://archive.canonical.com
|
||||||
clean http://{{ shost }}{{ spath }}
|
clean http://{{ shost }}{{ spath }}
|
||||||
clean http://ppa.launchpad.net/ansible/ansible/ubuntu
|
clean http://ppa.launchpad.net/ansible/ansible/ubuntu
|
||||||
clean http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu
|
clean http://ppa.launchpad.net/libreoffice/ppa/ubuntu
|
||||||
|
clean http://ppa.launchpad.net/epoptes/ppa/ubuntu
|
||||||
|
clean http://www.geogebra.net/linux
|
||||||
clean http://repo.bglug.it/ubuntu
|
clean http://repo.bglug.it/ubuntu
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
# Generated by Vagrant
|
|
||||||
[vagrant]
|
|
||||||
NethServer ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user=vagrant
|
|
@ -1,40 +0,0 @@
|
|||||||
---
|
|
||||||
# Cambio nome interfacce
|
|
||||||
- name: Rinomino interfaccia esterna
|
|
||||||
replace:
|
|
||||||
dest: /etc/udev/rules.d/70-persistent-net.rules
|
|
||||||
regexp: 'eth0'
|
|
||||||
replace: '{{ extnic }}'
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Creo interfaccia esterna in NethServer
|
|
||||||
shell: /sbin/e-smith/db networks set {{ extnic }} ethernet bootproto dhcp device {{ extnic }} hwaddr {{ ansible_eth0.macaddress }} onboot yes peerdns yes role red
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Pulizia vecchia interfaccia esterna
|
|
||||||
shell: /sbin/e-smith/db networks delete eth0
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Rinomino interfaccia interna
|
|
||||||
replace:
|
|
||||||
dest: /etc/udev/rules.d/70-persistent-net.rules
|
|
||||||
regexp: 'eth1'
|
|
||||||
replace: '{{ intnic }}'
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Creo interfaccia interna in NethServer
|
|
||||||
shell: /sbin/e-smith/db networks set {{ intnic }} ethernet bootproto none device {{ intnic }} hwaddr {{ ansible_eth1.macaddress }} ipaddr 192.168.1.1 netmask 255.255.255.0 onboot yes role green
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Pulizia vecchia interfaccia interna
|
|
||||||
shell: /sbin/e-smith/db networks delete eth1
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
# Forzo il processo a tornare zero, altrimenti non va.
|
|
||||||
- name: Ricreo le interfacce
|
|
||||||
shell: udevadm control --reload-rules && udevadm trigger --attr-match=subsystem=net
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Segnalo il cambiamento a livello di interfacce
|
|
||||||
shell: /sbin/e-smith/signal-event interface-update
|
|
||||||
become: yes
|
|
Loading…
x
Reference in New Issue
Block a user