mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
commit
b7d58e148f
9 changed files with 62 additions and 58 deletions
|
@ -14,25 +14,30 @@
|
||||||
group=root
|
group=root
|
||||||
mode={{ item.mode }}
|
mode={{ item.mode }}
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'ejabberd-xs.cfg.j2', dest: '/etc/ejabberd/ejabberd-xs.cfg' , mode: '0644' }
|
- { src: 'ejabberd-iiab.cfg.j2', dest: '/etc/ejabberd/ejabberd-iiab.cfg' , mode: '0644' }
|
||||||
- { src: 'ejabberdctl.cfg.j2', dest: '/etc/ejabberd/ejabberdctl.cfg', mode: '0644' }
|
- { src: 'ejabberdctl.cfg.j2', dest: '/etc/ejabberd/ejabberdctl-iiab.cfg', mode: '0644' }
|
||||||
- { src: 'ejabberd-xs', dest: '/etc/sysconfig/ejabberd-xs', mode: '0755' }
|
- { src: 'ejabberd-iiab', dest: '/etc/sysconfig/ejabberd-iiab', mode: '0755' }
|
||||||
# - { src: 'ejabberd-domain-config', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd', mode: '0755'}
|
# - { src: 'ejabberd-domain-config', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd', mode: '0755'}
|
||||||
# - { src: 'ejabberd', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd' , mode: '0755' }
|
# - { src: 'ejabberd', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd' , mode: '0755' }
|
||||||
- { src: 'ejabberd-xs.service.j2', dest: '/etc/systemd/system/ejabberd-xs.service', mode: '0755' }
|
- { src: 'ejabberd-iiab.service.j2', dest: '/etc/systemd/system/ejabberd-iiab.service', mode: '0755' }
|
||||||
- { src: 'xs-ejabberd-srg', dest: '/usr/bin/xs-ejabberd-srg' , mode: '0755' }
|
- { src: 'iiab-ejabberd-srg', dest: '/usr/bin/iiab-ejabberd-srg' , mode: '0755' }
|
||||||
- { src: '10-ejabberdmoodle', dest: '/etc/sudoers.d/10-ejabberdmoodle', mode: '0440' }
|
# - { src: '10-ejabberdmoodle', dest: '/etc/sudoers.d/10-ejabberdmoodle', mode: '0440' }
|
||||||
- { src: 'ejabberd.tmpfiles', dest: '/etc/tmpfiles.d/ejabberd.conf', mode: '0640' }
|
- { src: 'ejabberd.tmpfiles', dest: '/etc/tmpfiles.d/ejabberd.conf', mode: '0640' }
|
||||||
register: ejabberd_config
|
register: ejabberd_config
|
||||||
|
|
||||||
|
- name: Stop and disable OS provided systemd ejabberd service
|
||||||
|
service: name=ejabberd
|
||||||
|
state=stopped
|
||||||
|
enabled=no
|
||||||
|
|
||||||
- name: Put the startup script in place - debian
|
- name: Put the startup script in place - debian
|
||||||
template: src='ejabberd-xs.init'
|
template: src='ejabberd-iiab.init'
|
||||||
dest='/etc/init.d/ejabberd-xs'
|
dest='/etc/init.d/ejabberd-iiab'
|
||||||
when: is_debuntu
|
when: is_debuntu
|
||||||
|
|
||||||
- name: Put the startup script in place - non debian
|
- name: Put the startup script in place - non debian
|
||||||
template: src='ejabberd-xs.init'
|
template: src='ejabberd-iiab.init'
|
||||||
dest='/usr/libexec/ejabberd-xs'
|
dest='/usr/libexec/ejabberd-iiab'
|
||||||
when: not is_debuntu
|
when: not is_debuntu
|
||||||
|
|
||||||
- name: Remove ejabberd_domain if domain changes
|
- name: Remove ejabberd_domain if domain changes
|
||||||
|
@ -41,14 +46,14 @@
|
||||||
when: ejabberd_config.changed
|
when: ejabberd_config.changed
|
||||||
|
|
||||||
- name: Enable ejabberd service
|
- name: Enable ejabberd service
|
||||||
file: src=/etc/systemd/system/ejabberd-xs.service
|
file: src=/etc/systemd/system/ejabberd-iiab.service
|
||||||
dest=/etc/systemd/system/multi-user.target.wants/ejabberd-xs.service
|
dest=/etc/systemd/system/multi-user.target.wants/ejabberd-iiab.service
|
||||||
owner=root
|
owner=root
|
||||||
group=root
|
group=root
|
||||||
state=link
|
state=link
|
||||||
|
|
||||||
- name: Start ejabberd service
|
- name: Start ejabberd service
|
||||||
service: name=ejabberd-xs
|
service: name=ejabberd-iiab
|
||||||
state=restarted
|
state=restarted
|
||||||
enabled=yes
|
enabled=yes
|
||||||
when: ejabberd_config.changed and ejabberd_enabled
|
when: ejabberd_config.changed and ejabberd_enabled
|
||||||
|
@ -60,10 +65,14 @@
|
||||||
timeout=300
|
timeout=300
|
||||||
when: ejabberd_config.changed and ejabberd_enabled
|
when: ejabberd_config.changed and ejabberd_enabled
|
||||||
|
|
||||||
- name: Create online group
|
# ejabberd-iiab.init has the logic for the below, needs to be done once
|
||||||
shell: ejabberdctl srg_create Online "schoolserver" Online "Online_Users" Online
|
# and only if the group does not exist based on presence of
|
||||||
when: ejabberd_config.changed and not is_debuntu
|
# /var/lib/ejabberd online_src_created
|
||||||
|
|
||||||
- name: Add all users to online group
|
#- name: Create online group
|
||||||
shell: ejabberdctl srg_user_add '@online@' "schoolserver" Online "schoolserver"
|
# shell: ejabberdctl srg_create Online "{{ iiab_hostname }}" Online "Online_Users" Online
|
||||||
when: ejabberd_config.changed and not is_debuntu
|
# when: ejabberd_config.changed
|
||||||
|
|
||||||
|
#- name: Add all users to online group
|
||||||
|
# shell: ejabberdctl srg_user_add '@online@' "{{ iiab_hostname }}" Online "schoolserver"
|
||||||
|
# when: ejabberd_config.changed
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
#
|
#
|
||||||
# ejabberd now handles domain changes in the initrd script
|
# ejabberd now handles domain changes in the initrd script
|
||||||
#
|
#
|
||||||
SERVICE_NAME=ejabberd-xs
|
SERVICE_NAME=ejabberd-iiab
|
||||||
|
|
||||||
CONFIG_LIST="/etc/ejabberd/ejabberd-xs.cfg"
|
CONFIG_LIST="/etc/ejabberd/ejabberd-iiab.cfg"
|
||||||
|
|
||||||
# taken from ejabberd spec %post
|
# taken from ejabberd spec %post
|
||||||
# taken from ejabberd spec %post
|
# taken from ejabberd spec %post
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## Where should ejabberd find its configuration file?
|
## Where should ejabberd find its configuration file?
|
||||||
#
|
#
|
||||||
CONFIG_FILE=/etc/ejabberd/ejabberd-xs.cfg
|
CONFIG_FILE=/etc/ejabberd/ejabberd-iiab.cfg
|
||||||
|
|
||||||
## ULIMIT_MAX_FILES alters the number of files that ejabberd is
|
## ULIMIT_MAX_FILES alters the number of files that ejabberd is
|
||||||
## allowed to have open at once. If it is unset the system default
|
## allowed to have open at once. If it is unset the system default
|
|
@ -17,14 +17,17 @@
|
||||||
# Description: A distributed, fault-tolerant Jabber/XMPP server
|
# Description: A distributed, fault-tolerant Jabber/XMPP server
|
||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
|
SYS_DOMAIN_FILE=/etc/sysconfig/iiab_domain_name
|
||||||
|
OUR_DOMAIN_FILE=/etc/sysconfig/ejabberd_domain_name
|
||||||
|
|
||||||
. /etc/rc.d/init.d/functions
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
if [ -r /etc/sysconfig/ejabberd-xs ]; then
|
if [ -r /etc/sysconfig/ejabberd-iiab ]; then
|
||||||
. /etc/sysconfig/ejabberd-xs
|
. /etc/sysconfig/ejabberd-iiab
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! "$CONFIG_FILE" ]; then
|
if [ ! "$CONFIG_FILE" ]; then
|
||||||
CONFIG_FILE=/etc/ejabberd/ejabberd.cfg
|
CONFIG_FILE=/etc/ejabberd/ejabberd-iiab.cfg
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# /var/run is tmpfs in fc18, so need to create every time
|
# /var/run is tmpfs in fc18, so need to create every time
|
||||||
|
@ -34,25 +37,22 @@ chown ejabberd:ejabberd /var/run/ejabberd
|
||||||
# avoid using consolehelper, call ejabberdctl directly
|
# avoid using consolehelper, call ejabberdctl directly
|
||||||
progctl=/usr/sbin/ejabberdctl
|
progctl=/usr/sbin/ejabberdctl
|
||||||
|
|
||||||
SYS_DOMAIN_FILE=/etc/sysconfig/xs_domain_name
|
|
||||||
OUR_DOMAIN_FILE=/etc/sysconfig/ejabberd_domain_name
|
|
||||||
|
|
||||||
check_domain_configured() {
|
check_domain_configured() {
|
||||||
if [ ! -e /etc/sysconfig/xs_domain_name ]; then
|
if [ ! -e $SYS_DOMAIN_FILE ]; then
|
||||||
echo "Domain not configured yet" > /dev/stderr
|
echo "Domain not configured yet 1" > /dev/stderr
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
domain=`cat "$SYS_DOMAIN_FILE" `
|
domain=`cat "$SYS_DOMAIN_FILE" `
|
||||||
if [ "$domain" == "random.xs.laptop.org" ]; then
|
if [ "$domain" == "random.xs.laptop.org" ]; then
|
||||||
echo "Domain not configured yet" > /dev/stderr
|
echo "Domain not configured yet 2" > /dev/stderr
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#hostname=`hostname -f`
|
#hostname=`hostname -f`
|
||||||
hostname=`hostname `
|
hostname=`hostname `
|
||||||
if [ "$hostname" == "localhost.localdomain" ]; then
|
if [ "$hostname" == "localhost.localdomain" ]; then
|
||||||
echo "Domain not configured yet" > /dev/stderr
|
echo "Domain not configured yet 3" > /dev/stderr
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# if [ "$hostname" != "schoolserver.$domain" ]; then
|
# if [ "$hostname" != "schoolserver.$domain" ]; then
|
||||||
|
@ -149,7 +149,7 @@ start() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
daemon --user=ejabberd $progctl start --config $CONFIG_FILE \
|
daemon --user=ejabberd $progctl start --config $CONFIG_FILE \
|
||||||
--ctl-config /etc/ejabberd/ejabberdctl.cfg \
|
--ctl-config /etc/ejabberd/ejabberdctl-iiab.cfg \
|
||||||
--logs "/var/log/ejabberd" \
|
--logs "/var/log/ejabberd" \
|
||||||
--spool "/var/lib/ejabberd/spool" \
|
--spool "/var/lib/ejabberd/spool" \
|
||||||
2>/dev/null
|
2>/dev/null
|
||||||
|
@ -218,5 +218,3 @@ case "$1" in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
exit $RETVAL
|
exit $RETVAL
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,9 @@ User=root
|
||||||
Group=root
|
Group=root
|
||||||
LimitNOFILE=50000
|
LimitNOFILE=50000
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
EnvironmentFile=/etc/sysconfig/ejabberd-xs
|
EnvironmentFile=/etc/sysconfig/ejabberd-iiab
|
||||||
ExecStart=/usr/libexec/ejabberd-xs start
|
ExecStart=/usr/libexec/ejabberd-iiab start
|
||||||
ExecStop=/usr/libexec/ejabberd-xs stop
|
ExecStop=/usr/libexec/ejabberd-iiab stop
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
|
|
||||||
[Install]
|
[Install]
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
progctl=/usr/sbin/ejabberdctl
|
progctl=/usr/sbin/ejabberdctl
|
||||||
|
|
||||||
SYS_DOMAIN_FILE=/etc/sysconfig/xs_domain_name
|
SYS_DOMAIN_FILE=/etc/sysconfig/iiab_domain_name
|
||||||
OUR_DOMAIN_FILE=/etc/sysconfig/ejabberd_domain_name
|
OUR_DOMAIN_FILE=/etc/sysconfig/ejabberd_domain_name
|
||||||
|
|
||||||
setup_online_srg() {
|
setup_online_srg() {
|
|
@ -34,7 +34,7 @@
|
||||||
mode={{ item.mode }}
|
mode={{ item.mode }}
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'ejabberd-xs.cfg.j2', dest: '/etc/ejabberd/ejabberd-xs.cfg' , mode: '0644' }
|
- { src: 'ejabberd-xs.cfg.j2', dest: '/etc/ejabberd/ejabberd-xs.cfg' , mode: '0644' }
|
||||||
- { src: 'ejabberdctl.cfg.j2', dest: '/etc/ejabberd/ejabberdctl.cfg', mode: '0644' }
|
- { src: 'ejabberdctl.cfg.j2', dest: '/etc/ejabberd/ejabberdctl-xs.cfg', mode: '0644' }
|
||||||
- { src: 'ejabberd-xs', dest: '/etc/sysconfig/ejabberd-xs', mode: '0755' }
|
- { src: 'ejabberd-xs', dest: '/etc/sysconfig/ejabberd-xs', mode: '0755' }
|
||||||
# - { src: 'ejabberd-domain-config', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd', mode: '0755'}
|
# - { src: 'ejabberd-domain-config', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd', mode: '0755'}
|
||||||
# - { src: 'ejabberd', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd' , mode: '0755' }
|
# - { src: 'ejabberd', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd' , mode: '0755' }
|
||||||
|
@ -76,13 +76,10 @@
|
||||||
timeout=300
|
timeout=300
|
||||||
when: ejabberd_config.changed and ejabberd_xs_enabled
|
when: ejabberd_config.changed and ejabberd_xs_enabled
|
||||||
|
|
||||||
- name: Create online group
|
#- name: Create online group
|
||||||
shell: ejabberdctl srg_create Online "schoolserver" Online "Online_Users" Online
|
# shell: ejabberdctl srg_create Online "schoolserver" Online "Online_Users" Online
|
||||||
when: ejabberd_config.changed and not is_debuntu and ejabberd_xs_enabled
|
# when: ejabberd_config.changed and not is_debuntu and ejabberd_xs_enabled
|
||||||
|
|
||||||
- name: Add all users to online group
|
|
||||||
shell: ejabberdctl srg_user_add '@online@' "schoolserver" Online "schoolserver"
|
|
||||||
when: ejabberd_config.changed and not is_debuntu and ejabberd_xs_enabled
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#- name: Add all users to online group
|
||||||
|
# shell: ejabberdctl srg_user_add '@online@' "schoolserver" Online "schoolserver"
|
||||||
|
# when: ejabberd_config.changed and not is_debuntu and ejabberd_xs_enabled
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
# Description: A distributed, fault-tolerant Jabber/XMPP server
|
# Description: A distributed, fault-tolerant Jabber/XMPP server
|
||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
|
SYS_DOMAIN_FILE=/etc/sysconfig/iiab_domain_name
|
||||||
|
OUR_DOMAIN_FILE=/etc/sysconfig/ejabberd_domain_name
|
||||||
|
|
||||||
. /etc/rc.d/init.d/functions
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
if [ -r /etc/sysconfig/ejabberd-xs ]; then
|
if [ -r /etc/sysconfig/ejabberd-xs ]; then
|
||||||
|
@ -24,7 +27,7 @@ if [ -r /etc/sysconfig/ejabberd-xs ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! "$CONFIG_FILE" ]; then
|
if [ ! "$CONFIG_FILE" ]; then
|
||||||
CONFIG_FILE=/etc/ejabberd/ejabberd.cfg
|
CONFIG_FILE=/etc/ejabberd/ejabberd-xs.cfg
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# /var/run is tmpfs in fc18, so need to create every time
|
# /var/run is tmpfs in fc18, so need to create every time
|
||||||
|
@ -34,25 +37,22 @@ chown ejabberd:ejabberd /var/run/ejabberd
|
||||||
# avoid using consolehelper, call ejabberdctl directly
|
# avoid using consolehelper, call ejabberdctl directly
|
||||||
progctl=/usr/sbin/ejabberdctl
|
progctl=/usr/sbin/ejabberdctl
|
||||||
|
|
||||||
SYS_DOMAIN_FILE=/etc/sysconfig/xs_domain_name
|
|
||||||
OUR_DOMAIN_FILE=/etc/sysconfig/ejabberd_domain_name
|
|
||||||
|
|
||||||
check_domain_configured() {
|
check_domain_configured() {
|
||||||
if [ ! -e /etc/sysconfig/xs_domain_name ]; then
|
if [ ! -e $SYS_DOMAIN_FILE ]; then
|
||||||
echo "Domain not configured yet" > /dev/stderr
|
echo "Domain not configured yet 1" > /dev/stderr
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
domain=`cat "$SYS_DOMAIN_FILE" `
|
domain=`cat "$SYS_DOMAIN_FILE" `
|
||||||
if [ "$domain" == "random.xs.laptop.org" ]; then
|
if [ "$domain" == "random.xs.laptop.org" ]; then
|
||||||
echo "Domain not configured yet" > /dev/stderr
|
echo "Domain not configured yet 2" > /dev/stderr
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#hostname=`hostname -f`
|
#hostname=`hostname -f`
|
||||||
hostname=`hostname `
|
hostname=`hostname `
|
||||||
if [ "$hostname" == "localhost.localdomain" ]; then
|
if [ "$hostname" == "localhost.localdomain" ]; then
|
||||||
echo "Domain not configured yet" > /dev/stderr
|
echo "Domain not configured yet 3" > /dev/stderr
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# if [ "$hostname" != "schoolserver.$domain" ]; then
|
# if [ "$hostname" != "schoolserver.$domain" ]; then
|
||||||
|
@ -149,7 +149,7 @@ start() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
daemon --user=ejabberd $progctl start --config $CONFIG_FILE \
|
daemon --user=ejabberd $progctl start --config $CONFIG_FILE \
|
||||||
--ctl-config /etc/ejabberd/ejabberdctl.cfg \
|
--ctl-config /etc/ejabberd/ejabberdctl-xs.cfg \
|
||||||
--logs "/var/log/ejabberd" \
|
--logs "/var/log/ejabberd" \
|
||||||
--spool "/var/lib/ejabberd/spool" \
|
--spool "/var/lib/ejabberd/spool" \
|
||||||
2>/dev/null
|
2>/dev/null
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue