1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

Merge pull request #76 from iiab/master

sync from iiab/iiab
This commit is contained in:
A Holt 2018-04-30 11:52:19 -04:00 committed by GitHub
commit 8c90159737
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 91 additions and 76 deletions

View file

@ -144,7 +144,7 @@
mysql_service: mysqld mysql_service: mysqld
no_NM_reload: True no_NM_reload: True
is_F18: True is_F18: True
when: ansible_distribution_release == "based on Fedora 18" or ansible_distribution_version == "18" when: (ansible_distribution_release == "based on Fedora 18" or ansible_distribution_version == "18") and ansible_distribution == "Fedora"
- name: Set mysql_service to mysql (debuntu) - name: Set mysql_service to mysql (debuntu)
set_fact: set_fact:

View file

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/bash
{{ systemctl_program }} stop kiwix-serve {{ systemctl_program }} stop kiwix-serve
/usr/bin/iiab-make-kiwix-lib.py /usr/bin/iiab-make-kiwix-lib.py

View file

@ -106,6 +106,7 @@
postgresql_user: postgresql_user:
name: Admin name: Admin
password: changeme password: changeme
encrypted: yes # Required by PostgresSQL 10.3+ e.g. on Ubuntu 18.04, see https://github.com/iiab/iiab/issues/759
role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB
state: present state: present
become: yes become: yes

View file

@ -56,9 +56,14 @@
- "php{{ php_version }}-mysql" - "php{{ php_version }}-mysql"
- "php{{ php_version }}-curl" - "php{{ php_version }}-curl"
- "php{{ php_version }}-intl" - "php{{ php_version }}-intl"
- "php{{ php_version }}-mcrypt"
when: is_debuntu when: is_debuntu
- name: In php7.2, php dropped mcrypt
package:
name: "php{{ php_version }}-mcrypt"
state: present
when: is_debuntu and not is_ubuntu_18
# we need to install the rpm in order to get the dependencies # we need to install the rpm in order to get the dependencies
# but we only need to do this the first time # but we only need to do this the first time

View file

@ -4,8 +4,8 @@
# do nothing if it is not installed # do nothing if it is not installed
which openvpn which openvpn
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo Cannot find the openvpn program. echo Cannot find the OpenVPN program (openvpn).
exit 1 exit 1
fi fi
systemctl disable openvpn@xscenet.service systemctl disable openvpn@xscenet.service
systemctl stop openvpn@xscenet.service systemctl stop openvpn@xscenet.service
@ -13,7 +13,7 @@ systemctl stop openvpn@xscenet.service
sleep 5 sleep 5
ps -e|grep vpn ps -e|grep vpn
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo Openvpn failed to stop. echo OpenVPN failed to stop.
else else
echo Successfully stopped and disabled Openvpn echo Successfully stopped and disabled OpenVPN.
fi fi

View file

@ -4,8 +4,8 @@
# do nothing if it is not installed # do nothing if it is not installed
which openvpn which openvpn
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo Cannot find the openvpn program. echo Cannot find the OpenVPN program (openvpn).
exit 1 exit 1
fi fi
systemctl enable openvpn@xscenet.service systemctl enable openvpn@xscenet.service
systemctl start openvpn@xscenet.service systemctl start openvpn@xscenet.service
@ -13,7 +13,7 @@ systemctl start openvpn@xscenet.service
sleep 5 sleep 5
ping -c 2 10.8.0.1 ping -c 2 10.8.0.1
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo Openvpn successfully started. echo OpenVPN successfully started.
else else
echo Openvpn failed to contact remote server. echo OpenVPN failed to contact remote server.
fi fi

View file

@ -1,11 +1,12 @@
#!/bin/sh #!/bin/bash
# script to manage openvpn # script to manage openvpn
if [ ! -f "/etc/openvpn/iiab-vpn.conf" ]; then if [ ! -f "/etc/openvpn/iiab-vpn.conf" ]; then
VPNCONFIG='party-line.conf' VPNCONFIG='party-line.conf'
VPNIP={{ openvpn_server_virtual_ip }} VPNIP={{ openvpn_server_virtual_ip }}
else else
# expect the sourced file to set the above variables # expect the sourced file to set the above variables
source /etc/openvpn/iiab-vpn.conf source /etc/openvpn/iiab-vpn.conf
fi fi
# we'd like the user of this script to have root privilege # we'd like the user of this script to have root privilege
@ -15,79 +16,77 @@ if [ "$(id -u)" != "0" ]; then
fi fi
case $1 in case $1 in
"stop" | "no" | "off") "stop" | "no" | "off")
killall openvpn killall openvpn
exit 0 exit 0
;; ;;
"status") "status")
pid=`ps -e|grep openvpn` pid=`ps -e|grep openvpn`
if [ -z "$pid" ]; then if [ -z "$pid" ]; then
echo "The openvpn process is not running" echo "The OpenVPN process is not running"
else else
echo "Openvpn is running with id $pid" echo "OpenVPN is running with id $pid"
ip=`ifconfig tun | gawk '(/netmask /) {print( $2);}'` ip=`ifconfig tun | gawk '(/netmask /) {print( $2);}'`
echo "Local vpn tunnel address is $ip" echo "Local vpn tunnel address is $ip"
fi fi
exit 0 exit 0
;; ;;
esac esac
# we'd like for passwords authentication to be turned off # we'd like for password authentication to be turned off
grep -e^PasswordAuthentication.*[Yy]es /etc/ssh/sshd_config grep -e^PasswordAuthentication.*[Yy]es /etc/ssh/sshd_config
PASSWORDS_ENABLED=$? PASSWORDS_ENABLED=$?
if [ $PASSWORDS_ENABLED -eq 0 ];then if [ $PASSWORDS_ENABLED -eq 0 ];then
case $1 in case $1 in
"test" | "unsafe") ;; "test" | "unsafe") ;;
*) *)
echo "OpenVPN is only safe when public/private keys are used"
echo "Openvpn is only safe when public/private keys are used" echo " And when passwords are turned off in /etc/ssh/sshd_conf"
echo " And when passwords are turned off in /etc/ssh/sshd_conf" exit 1
exit 1 esac
esac
fi fi
# openvpn config file directory # openvpn config file directory
dir=/etc/openvpn dir=/etc/openvpn
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
cmd="test" cmd="test"
else else
cmd=$1 cmd=$1
fi fi
case $cmd in case $cmd in
"test" | "unsafe" ) "test" | "unsafe" )
# load TUN/TAP kernel module # load TUN/TAP kernel module
modprobe tun modprobe tun
# make sure the wan is functioning # make sure the wan is functioning
# 8.8.8.8 is one of google's dns servers # 8.8.8.8 is one of google's dns servers
ping -c 3 -i 3 8.8.8.8 ping -c 3 -i 3 8.8.8.8
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "internet is not available, tunnel not possible" echo "internet is not available, tunnel not possible"
exit 1 exit 1
fi fi
# check the vpn tunnel # check the vpn tunnel
ping -c 5 -i 5 "$VPNIP" ping -c 5 -i 5 "$VPNIP"
# a zero return means the tunnel is up # a zero return means the tunnel is up
if [ $? -ne "0" ]; then if [ $? -ne "0" ]; then
echo "Stopping any openvpn instance" echo "Stopping any openvpn instance"
killall openvpn killall openvpn
sleep 10 sleep 10
echo "Starting openvpn and waiting 10 seconds for daemon to become ready" echo "Starting OpenVPN and waiting 10 seconds for daemon to become ready"
openvpn --cd $dir --daemon --config $VPNCONFIG openvpn --cd $dir --daemon --config $VPNCONFIG
fi fi
sleep 10 sleep 10
echo "Testing VPN connection" echo "Testing VPN connection"
ping -c 4 -i 4 "$VPNIP" ping -c 4 -i 4 "$VPNIP"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "vpn tunnel established" echo "vpn tunnel established"
else else
echo "vpn connection failed" echo "vpn connection failed"
fi fi
;; ;;
esac esac

View file

@ -21,7 +21,7 @@
- name: Set up Node.js 6.x apt sources (debuntu) - name: Set up Node.js 6.x apt sources (debuntu)
shell: curl -sL https://deb.nodesource.com/setup_6.x | bash - shell: curl -sL https://deb.nodesource.com/setup_6.x | bash -
when: internet_available and is_debuntu when: internet_available and is_debuntu and not ubuntu-18
- name: Install latest Node.js which includes /usr/bin/npm (debuntu) - name: Install latest Node.js which includes /usr/bin/npm (debuntu)
package: package:
@ -29,7 +29,7 @@
state: latest state: latest
# package: name=nodejs=6.* # package: name=nodejs=6.*
# state=present # state=present
when: internet_available and is_debuntu when: internet_available and is_debuntu and not ubuntu-18
- name: Install npm (OS's other than debuntu) - name: Install npm (OS's other than debuntu)
package: package:
@ -40,6 +40,15 @@
- nodejs - nodejs
- npm - npm
- name: Install npm (ubuntu-18)
package:
name: "{{ item }}"
state: latest
when: internet_available and is_ubuntu_18
with_items:
- npm
- nodejs
# attempting to reinstall npm is broken on Raspbian 9 # attempting to reinstall npm is broken on Raspbian 9
- name: Check for Sugarizer already installed - name: Check for Sugarizer already installed
stat: stat:

View file

@ -18,5 +18,6 @@ mysql_service: mysql
apache_log: /var/log/apache2/access.log apache_log: /var/log/apache2/access.log
sshd_service: ssh sshd_service: ssh
php_version: 7.2 php_version: 7.2
postgresql_version: 10.3 # "postgresql_version: 10.3" fails (too detailed for /etc/systemd/system/postgresql-iiab.service on Ubuntu 18.04)
postgresql_version: 10
systemd_location: /lib/systemd/system systemd_location: /lib/systemd/system