source: n4d/trunk/fuentes/install.sh @ 103

Last change on this file since 103 was 103, checked in by hectorgh, 5 years ago

adding files

  • Property svn:executable set to *
File size: 1.8 KB
Line 
1#!/bin/bash
2
3SOURCE="./install-files/*"
4DEST="/"
5OPTION=$1
6shift
7if [ "$OPTION" = "--dest" ];then
8
9        if [  "$1" != "" ];then
10                DEST="$1"
11        fi
12fi
13
14SERVER_FILE="$DEST""/usr/share/n4d/xmlrpc-server/server.py"
15SERVER_BIN="$DEST""/usr/sbin/n4d-server"
16CERTGEN_BIN="$DEST""/usr/share/n4d/certgen/n4d-certgen"
17FILESECRET="$DEST""/etc/n4d/key"
18
19
20check_netifaces()
21{
22        VAR=0
23        echo -n "* Checking python-netifaces ... "
24       
25        python -c "import netifaces" 2>/dev/null || VAR=1
26        if [ $VAR -eq 0 ];then
27                echo  "OK"
28        else
29                echo "FAILED"
30                echo -e "\tLibrary is not installed."
31                exit 1
32        fi
33}
34
35check_ppam()
36{
37        VAR=0
38        echo -n "* Checking python-pam ... "
39       
40        python -c "import PAM" 2>/dev/null || VAR=1
41        if [ $VAR -eq 0 ];then
42                echo  "OK"
43        else
44                echo "FAILED"
45                echo -e "\tLibrary is not installed."
46                exit 1
47        fi
48}
49
50check_openssl()
51{
52        VAR=0
53        echo -n "* Checking openssl ... "
54       
55        openssl -h 2>/dev/null || VAR=1
56       
57        if [ $VAR -eq 0 ];then
58                echo  "OK"
59        else
60                echo "FAILED"
61                echo -e "\t/usr/bin/openssl is not installed."
62                exit 1
63        fi
64       
65}
66
67copy_files()
68{
69
70
71
72        echo -n "* Copying files ... "
73        mkdir -p $DEST
74        cp -rf $SOURCE $DEST
75        mkdir -p "$DEST"/usr/sbin
76        if [ ! -e "$SERVER_BIN" ]; then
77                ln -s "$SERVER_FILE" "$SERVER_BIN" 
78        fi
79               
80        echo "OK"
81}
82
83generate_n4d_key()
84{
85
86        echo -n "* Generating n4d key ... "
87       
88        if [ ! -e "$FILESECRET" ]; then
89                cat /dev/urandom 2>/dev/null | tr -dc '0-9a-zA-Z' 2>/dev/null |{ head -c 50;echo ""; } > $FILESECRET
90                chmod 400 $FILESECRET
91                chown root:root $FILESECRET             
92        fi
93
94        echo "OK"
95
96
97
98}
99
100generate_cert()
101{
102        echo -n "* Generating n4d certificate ... "
103        $CERTGEN_BIN    "$DEST/etc/n4d/cert/"
104        echo "OK"
105}
106
107
108echo -e "\n* N4D INSTALLATION *\n"
109
110check_ppam
111check_netifaces
112check_openssl
113copy_files
114generate_n4d_key
115generate_cert
116
117echo ""
118echo "* Installation finished"
119echo -e "\t[Info] To run the n4d service, execute n4d-server with root privileges.\n"
120
121
122
Note: See TracBrowser for help on using the repository browser.