aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmayor-installer.fcgi/install.d/05checkdeb.sh86
-rwxr-xr-xmayor-installer.fcgi/install.d/10getsource.sh76
-rwxr-xr-xmayor-installer.fcgi/install.d/15createconfig.sh43
-rwxr-xr-xmayor-installer.fcgi/install.d/20mysql.sh28
-rwxr-xr-xmayor-installer.fcgi/install.d/25apache.sh67
-rwxr-xr-xmayor-installer.fcgi/install.d/30php.sh29
-rwxr-xr-xmayor-installer.fcgi/install.d/35createdatabases.sh129
-rwxr-xr-xmayor-installer.fcgi/install.d/40binary.sh44
-rwxr-xr-xmayor-installer.fcgi/install.d/45intezmeny.sh70
-rwxr-xr-xmayor-installer.fcgi/install.d/50linker.sh58
-rwxr-xr-xmayor-installer.fcgi/install.d/55tex.sh20
-rwxr-xr-xmayor-installer.fcgi/install.d/60portal.sh119
-rw-r--r--mayor-installer.fcgi/log/mayor-installer.rev1
-rwxr-xr-xmayor-installer.fcgi/setup34
-rwxr-xr-xmayor-installer/install.d/05checkdeb.sh86
-rwxr-xr-xmayor-installer/install.d/10getsource.sh76
-rwxr-xr-xmayor-installer/install.d/15createconfig.sh43
-rwxr-xr-xmayor-installer/install.d/20mysql.sh28
-rwxr-xr-xmayor-installer/install.d/25apache.sh67
-rwxr-xr-xmayor-installer/install.d/30php.sh29
-rwxr-xr-xmayor-installer/install.d/35createdatabases.sh129
-rwxr-xr-xmayor-installer/install.d/40binary.sh44
-rwxr-xr-xmayor-installer/install.d/45intezmeny.sh70
-rwxr-xr-xmayor-installer/install.d/50linker.sh58
-rwxr-xr-xmayor-installer/install.d/55tex.sh20
-rwxr-xr-xmayor-installer/install.d/60portal.sh119
-rw-r--r--mayor-installer/log/mayor-installer.rev1
-rwxr-xr-xmayor-installer/setup34
28 files changed, 1608 insertions, 0 deletions
diff --git a/mayor-installer.fcgi/install.d/05checkdeb.sh b/mayor-installer.fcgi/install.d/05checkdeb.sh
new file mode 100755
index 00000000..56c0e55d
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/05checkdeb.sh
@@ -0,0 +1,86 @@
+#!/bin/bash
+#
+DEBIAN=false;
+UBUNTU=false;
+if [ `which lsb_release || echo "notinstalled"` == "notinstalled" ]
+then
+ ISSUE=`cat /etc/issue | cut -d " " -f 1`
+ if [ "x${ISSUE}" == "xDebian" ]; then
+ DEBIAN=true;
+ RELEASE=`cat /etc/issue | cut -d " " -f 3`
+ elif [ "x${ISSUE}" == "xUbuntu" ]; then
+ UBUNTU=true;
+ RELEASE=`cat /etc/issue | cut -d " " -f 2`
+ fi
+else
+ DISTRIBUTOR=$(lsb_release -i -s)
+ RELEASE=$(lsb_release -r -s)
+ if [ "x${DISTRIBUTOR}" == "xDebian" ]; then
+ DEBIAN=true;
+ elif [ "x${DISTRIBUTOR}" == "xUbuntu" ]; then
+ UBUNTU=true;
+ fi
+fi
+echo "Debian:" ${DEBIAN}
+echo "Ubuntu:" ${UBUNTU}
+echo "Version:" ${RELEASE}
+
+TEST=`grep contrib /etc/apt/sources.list`
+if [ "$TEST" == "" ]
+then
+ echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+ echo "Az apt sources.list módosítása szükséges!"
+ if [ DEBIAN ]; then
+ echo "Debian Jessie (8) esetén például:
+ deb http://ftp.hu.debian.org/debian/ jessie main contrib non-free
+ deb http://security.debian.org/ jessie/updates main contrib non-free
+ deb http://ftp.hu.debian.org/debian/ jessie-updates main contrib non-free
+ "
+ fi
+ exit 255;
+fi
+
+if [[ "x${RELEASE}" =~ ^x9.* ]]
+then
+ PKGS="apache2 php php-json php-mysql php-ldap php-mbstring php-mcrypt php-curl mariadb-server-10.1 recode texlive texlive-fonts-extra texlive-latex-extra texlive-binaries texlive-xetex ntp wget ssl-cert ssh pwgen texlive-lang-european"
+else
+ PKGS="apache2 php5 php5-json php5-mysqlnd php5-ldap php5-mcrypt php5-curl mysql-server recode texlive texlive-fonts-extra texlive-latex-extra texlive-binaries texlive-xetex ttf-mscorefonts-installer ntp wget ssl-cert ssh pwgen texlive-lang-european texlive-lang-hungarian"
+fi
+
+if [ "$1" == "--no-deb" ]; then
+ exit 1
+fi
+
+cat <<EOF
+A rendszer futásához szükséges csomagok ellenőrzése
+
+Ebben a lépésben ellenőrizheti és telepítheti a rendszer működéséhez
+szükséges Debian/Ubuntu csomagokat:
+
+$PKGS
+
+EOF
+
+read -n 1 -p "Ellenőrizzem a deb csomagokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA függőségek ellenőrzését kihagytam.\n"; exit 1; fi
+
+echo -e "\nFüggőségek ellenőrzése (dpkg): "
+MISSING=""
+for pkg in $PKGS
+do
+ echo -n " $pkg ... "
+ STAT=`dpkg -l $pkg | grep $pkg | cut -f 1 -d ' '`
+ if [ "$STAT" == "ii" ]; then
+ echo ok
+ else
+ echo "még nincs telepítve"
+ MISSING="$MISSING $pkg"
+ fi
+done
+if [ "$MISSING" != "" ]; then
+ echo Még nem telepített csomagok: $MISSING
+ read -n 1 -p "Telepítsem? (i/N)" -s DO
+ if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+ apt-get update
+ apt-get -m -f install $MISSING
+fi
diff --git a/mayor-installer.fcgi/install.d/10getsource.sh b/mayor-installer.fcgi/install.d/10getsource.sh
new file mode 100755
index 00000000..0ae2f669
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/10getsource.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A forrás csomagok letöltése és kicsomagolása
+
+Most letöltheti és kicsomagolhatja a forrás állományokat.
+A telepítendő rendszer gyökérkönyvtára:
+ $MAYORDIR
+lesz.
+
+A telepítő mindig az aktuális legfrissebb változatot tölti le.
+
+Amennyiben egy korábbi változatot szeretne telepíteni (pl. korábbi
+mentés helyreállításához), úgy töltse le a szükséges állományokat
+(mayor-base-rev????.tgz, mayor-naplo-rev????.tgz) és helyezze el
+őket a $TMPDIR könyvtárban. Ezek után folytassa a telepítést a
+csomagok letöltésének kihagyásával.
+
+EOF
+
+#read -n 1 -p "Letöltsem a forrás csomagokat? (i/N)" -s DO
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+if [ "$TMPDIR" = "" ]; then echo "A TMPDIR változó üres. Kilépek."; exit 1; fi
+
+
+MENU=$( /bin/ls -1 $TMPDIR/mayor-base-*.tgz 2>/dev/null | sed 's/.*-\([^-]*\)\.tgz$/\1/' )
+
+DO=n
+if [ "$MENU" == '' ]; then
+ DO=i
+else
+ echo " 0 Letöltés mindenképpen"
+ echo "${MENU}" | sed 's/.*-\([^-]*\)\.tgz$/\1/' | nl
+ read -n1 -p 'Melyiket telepítsem? ' SEL; echo
+
+ if [ "$SEL" == 0 ]; then
+ DO=i
+ else
+ SELECT=$( echo "${MENU}" | sed -n ${SEL}p )
+
+ MAYORBASE="$TMPDIR/mayor-base-$SELECT.tgz"
+ MAYORNAPLO="$TMPDIR/mayor-naplo-$SELECT.tgz"
+ fi
+fi
+
+if [ "$DO" == "i" ]; then
+ MAYORBASE="$TMPDIR/mayor-base-current.tgz"
+ MAYORNAPLO="$TMPDIR/mayor-naplo-current.tgz"
+
+ echo -e "\nForrások letöltése:"
+ cd $TMPDIR
+ rm -f mayor-base-current.tgz
+ rm -f mayor-naplo-current.tgz
+ wget "http://www.mayor.hu/download/$VERSION/mayor-base-current.tgz"
+ wget "http://www.mayor.hu/download/$VERSION/mayor-naplo-current.tgz"
+else
+ echo -e "\nA forráscsomagok letöltését kihagytam.\n"
+fi
+
+read -n 1 -p "Telepítsem a forrás csomagokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA forráscsomagok telepítését kihagytam.\n"; exit 1; fi
+
+echo -n -e "\nRendszer könyvtár: "
+if [ ! -e $MAYORDIR ]; then
+ mkdir -p $MAYORDIR
+fi
+echo $MAYORDIR
+
+echo -e -n "Források kicsomagolása... "
+cd $MAYORDIR
+tar xfz "$MAYORBASE"
+tar xfz "$MAYORNAPLO"
+echo "ok."
+
diff --git a/mayor-installer.fcgi/install.d/15createconfig.sh b/mayor-installer.fcgi/install.d/15createconfig.sh
new file mode 100755
index 00000000..51c512c4
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/15createconfig.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A konfigurációs állományok létrehozása
+
+A MaYoR konfigurációs állományait a minták alapján készítheti el.
+A konfigurációs állományok nélkül a telepítés nem fut le helyesen, ezért ezt
+a lépést akkor hagyja csak ki, ha ezeket már sajátkezűleg elkészítette!
+
+EOF
+
+read -n 1 -p "Létrehozzam a minták alapján a konfigurációs állományokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA konfigurációs állományokat nem hoztam létre.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+PWGEN=`which pwgen`
+if [ "${PWGEN}" = "" ]; then echo "A pwgen szoftver nincs telepítve."; exit 1; fi
+
+echo -e "\nKonfigurációs állományok létrehozása:"
+for file in main-config.php parent-conf.php private-conf.php public-conf.php
+do
+ if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.example --> "
+ PW=`pwgen -s1`
+ cat "$MAYORDIR/config/$file.example" | sed s/%SQLPW%/$PW/ > "$MAYORDIR/config/$file"
+ echo $file
+ fi
+done
+
+echo -n " module-naplo/config.php.example --> "
+PW=`pwgen -s1`
+PWREAD=`pwgen -s1`
+if [ -e "$MAYORDIR/config/module-naplo/config.php" ]; then echo " module-naplo/config.php létezik."; else
+ cat "$MAYORDIR/config/module-naplo/config.php.example" | sed -e s/%SQLPW%/$PW/ -e s/%SQLPWREAD%/$PWREAD/ > "$MAYORDIR/config/module-naplo/config.php"
+ echo "module-naplo/config.php"
+fi
+
+if [ -e "$MAYORDIR/config/skin-classic/naplo-config.php" ]; then echo " skin-classic/naplo-config.php létezik."; else
+ echo -n " skin-classic/naplo-config.php.example --> "
+ cp $MAYORDIR/config/skin-classic/naplo-config.php.example $MAYORDIR/config/skin-classic/naplo-config.php
+ echo "config/skin-classic/naplo-config.php"
+fi
diff --git a/mayor-installer.fcgi/install.d/20mysql.sh b/mayor-installer.fcgi/install.d/20mysql.sh
new file mode 100755
index 00000000..2979f728
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/20mysql.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+
+cat <<EOF
+MySQL szerver beállításai
+
+A rendszer adatbázisai UTF-8 kódolásúak, ennek megfelelően kell
+beállítani a MySQL-t is. A beállításokat a /etc/mysql/conf.d
+alá helyezi el a telepítő utf8.cnf néven, majd újraindítja az
+adatbázis szervert.
+
+EOF
+
+read -n 1 -p "A MySQL szerver beállításait módosíthatom? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA MySQL beállításait nem módosítottam.\n"; exit 1; fi
+
+echo -e "\nMySQL beállítások"
+echo -n " utf8.cnf ... "
+cp -f $MAYORDIR/install/base/mysql/utf8.cnf /etc/mysql/conf.d
+echo ok
+/etc/init.d/mysql restart
+
+if [ "x${RELEASE}" == "x9" ]
+then
+ echo -e "\nMariaDB/MySQL beállítások"
+ echo -n " futtatom a mysql_Secure_installation scriptet: "
+ mysql_secure_installation
+fi
diff --git a/mayor-installer.fcgi/install.d/25apache.sh b/mayor-installer.fcgi/install.d/25apache.sh
new file mode 100755
index 00000000..7019d608
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/25apache.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Az Apache (2) webszerver beállítása
+
+Az elektronikus napló használata feltétlenül HTTPS protokollt igényel.
+Ehhez engedélyeznie kell az ssl modul használatát, és tanusítványra is
+szükség van. A telepítő "self-signed" tanusítványt generál (ehhez meg kell
+adnia a szerver teljes domain nevét), valamint engedélyezi a rewrite modul
+használatát is, végül létrehoz és engedélyez mayor néven egy site
+konfigurációt is.
+
+EOF
+
+read -n 1 -p "Az Apache web-szerver módosítható? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nAz Apache web szerver beállításait nem módosítottam.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+
+echo -e "\nApache beállítások"
+
+
+echo " Tanusítvány generálás"
+if [ ! -e /etc/apache2/ssl ]; then
+ mkdir /etc/apache2/ssl
+fi
+make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
+
+echo " Szükséges modulok ellenőrzése:"
+echo -n " - ModSSL engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/ssl.load ]; then
+ a2enmod ssl > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+ echo -n " - ModReWrite engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then
+ a2enmod rewrite > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+echo "ok."
+
+SERVERNAME=""
+while [ "$SERVERNAME" = "" ]
+do
+ read -p " A web szerver teljes domain neve (pl: mayor.tesztsuli.hu): " SERVERNAME
+done
+
+#cat $MAYORDIR/install/base/apache2/mayor.conf | sed "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/" > /etc/apache2/sites-available/mayor.conf
+
+# A 2.4-es apache esetén módosítani kell a konfig állományt!
+APACHE_VERSION=$(dpkg -l apache2 | grep apache2 | tr -s ' ' | cut -d ' ' -f 3 | cut -d '-' -f 1 | sed 's/\..$//')
+cat $MAYORDIR/install/base/apache2/mayor.conf | sed \
+ -e "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/" > /etc/apache2/sites-available/mayor.conf
+
+
+if [ ! -e /etc/apache2/sites-enabled/mayor.conf ]; then
+ echo " A mayor site engedélyezése"
+ a2ensite mayor.conf > /dev/null
+fi
+
+echo " A web-szerver újraindítása"
+/etc/init.d/apache2 restart
diff --git a/mayor-installer.fcgi/install.d/30php.sh b/mayor-installer.fcgi/install.d/30php.sh
new file mode 100755
index 00000000..49000c68
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/30php.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A PHP memória limit beállítása
+
+Az alapértelmezett 16MB-os memória a rendszer futtatásához a
+legtöbb esetben elég, de egyes esetekben (például a nyomtatványok
+generálásakor) kevésnek bizonyul. Ezért a telepítő ezt a küszöböt
+256MB-ra emeli. Az eredeti php.ini állományról másolat készül
+php.ini.mayor néven.
+
+EOF
+
+read -n 1 -p "A php.ini-t módosíthatom? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem módosítom a php.ini-t.\n"; exit 1; fi
+
+exit 1
+
+echo -n " A PHP memória limit beállítása: "
+if [ ! -e /etc/php5/apache2/php.ini.mayor ]; then
+ mv /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.mayor
+fi
+cat /etc/php5/apache2/php.ini.mayor | sed "s/memory_limit/memory_limit = 256M ; old value: /" > /etc/php5/apache2/php.ini
+echo 256M
+
+echo " Az web szerver újraindítása"
+/etc/init.d/apache2 restart
+
diff --git a/mayor-installer.fcgi/install.d/35createdatabases.sh b/mayor-installer.fcgi/install.d/35createdatabases.sh
new file mode 100755
index 00000000..d44d28e4
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/35createdatabases.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Adatbázisok létrehozása
+
+A felhasználói azonosítók és csoportok adatainak tárolásához, a
+munkamenetek adminisztrálásához és a napló modul adatainak tárolásához
+szükséges adatbázisok létrehozása következik.
+
+Ez a lépés csak a szükséges konfigurációs állományok megléte
+esetén fut le helyesen!
+
+A telepítő először elkészíti a betöltendő SQL utasításokat tartalmazó
+állományokat a $TMPDIR/mysql alá, majd - amennyiben engedélyezzük -
+be is tölti az állományokat.
+
+EOF
+
+read -n 1 -p "A konfigurációs állományok alapján létrehozhatom az adatbázisokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nAz adatbázisok létrehozását kihagyjuk.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -n -e "\n Config fileok ellenőrzése..."
+
+if [ ! -e "$MAYORDIR/log" ]; then mkdir $MAYORDIR/log; fi
+if [ ! -e /var/log/mayor ]; then ln -s $MAYORDIR/log /var/log/mayor; fi
+if [ ! -e /etc/mayor ]; then ln -s $MAYORDIR/config /etc/mayor; fi
+chmod +x $MAYORDIR/bin/mayor
+
+FILES="$MAYORDIR/config/parent-conf.php $MAYORDIR/config/private-conf.php $MAYORDIR/config/main-config.php $MAYORDIR/config/module-naplo/config.php $MAYORDIR/install/base/mysql/mayor-login.sql $MAYORDIR/install/base/mysql/mayor-auth.sql $MAYORDIR/install/base/mysql/private-users.sql $MAYORDIR/install/module-naplo/mysql/naplo-users.sql"
+for f in $FILES
+do
+ if [ ! -e $f ]; then echo -e "\n\r Nincs meg a szükséges ${f} config file!"; exit 1; else echo -n '.'; fi
+done;
+echo " kész.";
+
+if [ ! -e $MAYORDIR/log/mayor-base.rev ]; then
+ echo " Hiányzó mayor-base.rev file";
+ if [ -e $MAYORDIR/log/revision ];
+ then
+ IREV=`cat $MAYORDIR/log/revision`
+ else
+ IREV="";
+ fi
+else
+ cp $MAYORDIR/log/mayor-base.rev $MAYORDIR/log/revision
+ IREV=`cat $MAYORDIR/log/revision`
+fi
+
+echo " Az aktuális revision: ${IREV}"
+
+if [ "$IREV" = "" ]
+then
+ echo " Nincs revision file és helyreállítani sem tudom. Kilépek!"
+ exit 1;
+fi
+
+echo " SQL fileok létrehozása... "
+mkdir -p $TMPDIR/mysql
+cd $TMPDIR/mysql
+DB=`grep db $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`grep user $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`grep pw $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/base/mysql/mayor-login.sql | sed -e "s/%MYSQL_LOGIN_DB%/$DB/g" -e "s/%MYSQL_LOGIN_USER%/$USER/g" \
+ -e "s/%MYSQL_LOGIN_PW%/$PW/g" > mayor-login.sql
+DB=`grep db $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+USER=`grep user $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+PW=`grep pw $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-parent.sql
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+USER=`grep 'mysql user' $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+PW=`grep pw $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-private.sql
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`egrep 'pwWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PWREAD=`egrep 'pwRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/module-naplo/mysql/base.sql | sed -e "s/%MYSQL_NAPLO_DB%/$DB/g" -e "s/%MYSQL_NAPLO_USER%/$USER/g" \
+ -e "s/%MYSQL_NAPLO_PW%/$PW/g" -e "s/%MYSQL_NAPLO_USER_READ%/$USERREAD/g" \
+ -e "s/%MYSQL_NAPLO_PW_READ%/$PWREAD/g" > base.sql
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+
+cat $MAYORDIR/install/base/mysql/private-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > private-users.sql
+cat $MAYORDIR/install/module-naplo/mysql/naplo-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > naplo-users.sql
+
+echo " A létrejött sql fileok:"
+FILES=`ls *.sql`
+for f in $FILES
+do
+ echo " * ${f}";
+done;
+read -n 1 -p "Telepíthetem? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+read -p " A mysql root jelszó (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ cat $MAYORDIR/config/main.conf.example | sed s/%SQLPW%/$MYSQLROOTPW/ > $MAYORDIR/config/main.conf
+ chmod 600 $MAYORDIR/config/main.conf
+fi
+
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+cat /tmp/mysql/mayor-login.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/mayor-parent.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/mayor-private.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/base.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/private-users.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/naplo-users.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+
+echo -e "\n"
+echo "A telepítés végeztével beléphetsz a webes felületen!
+=========================================================
+ user: mayoradmin
+=========================================================
+ jelszó: jelszo
+=========================================================
+"
diff --git a/mayor-installer.fcgi/install.d/40binary.sh b/mayor-installer.fcgi/install.d/40binary.sh
new file mode 100755
index 00000000..bc2716af
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/40binary.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Karbantartást segítő szkriptek
+
+A telepítő szimbolikus linket készít a /usr/local/sbin-be, hogy
+a "mayor update" illettve "mayor backup" parancsokat bárhonnan
+kiadhassuk, majd az /etc/cron.daily könyvtár alá is link készül,
+hogy a mentések és frissítések rendszeresen lefuthassanak.
+
+EOF
+
+read -n 1 -p "Karbantartást segítő scriptek telepítése mehet? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem telepítjük a szkripteket.\n"; exit; fi
+
+if [ "$MAYORDIR" = "" ]; then echo -e "\nMAYORDIR változó üres. Kilépek!"; exit 1; fi
+echo -e "\n * Webszerver userének ellenőrzése, beállítása"
+if [ "$WEB_SERVER_USER" == "" ]; then
+ source /etc/apache2/envvars
+ WEB_SERVER_USER=$APACHE_RUN_GROUP
+fi
+if [ "$WEB_SERVER_USER" == "" ]; then
+ echo -e "!!! Fatális hiba !!! A WEB_SERVER_USER változó üres. Kilépek!"; exit 1;
+else
+ echo -e " * WEB_SERVER_USER=" $WEB_SERVER_USER
+fi
+
+ # A karbantartást segítő scriptek:
+ if [ ! -e /usr/local/sbin/mayor ]; then
+ ln -s $MAYORDIR/bin/mayor /usr/local/sbin/mayor;
+ echo -e "\n Az /usr/local/sbin/ alá létrejött a mayor szimbolikus link.";
+ fi
+ if [ ! -e $MAYORDIR/config/main.conf ]; then cp $MAYORDIR/config/main.conf.example $MAYORDIR/config/main.conf; fi
+ # A konfig könyvtár védelme
+ chown -R $WEB_SERVER_USER $MAYORDIR/config/
+ chmod 700 $MAYORDIR/config/
+ # A main.conf védelme
+ chown root $MAYORDIR/config/main.conf
+ chmod 600 $MAYORDIR/config/main.conf
+ if [ ! -e /etc/cron.daily/mayor ]; then
+ ln -s $MAYORDIR/bin/etc/cron.daily/mayor /etc/cron.daily;
+ echo -e "\n Az /etc/cron.daily/ alá létrejött a mayor szimbolikus link.";
+ fi
diff --git a/mayor-installer.fcgi/install.d/45intezmeny.sh b/mayor-installer.fcgi/install.d/45intezmeny.sh
new file mode 100755
index 00000000..fc8eafeb
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/45intezmeny.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Intézmény létrehozása
+
+A telepítő segítségével létrehozhatjuk az intézmény adatbázisát.
+(Ezt a lépést a webes felületen is végezhetnénk.)
+
+A telepítő létrehozza az
+ * intézmény konfigurációs állományát,
+ * az intézmény adatbázisát és
+ * bejegyzését a mayor_naplo.intezmeny táblába.
+
+Ehhez meg kell adnia az intézmény OM kódját, nevét és rövid nevét
+(mint vmg, njszki, fasori, stb).
+
+EOF
+
+read -n 1 -p "Létrehozzam az intézményt? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem hoztam létre az intézményt.\n"; exit; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -e "\n"
+OMKOD=""
+while [ "$OMKOD" = "" ]; do
+ read -p "Kérem az intézmény OM kódját: " OMKOD
+ OMKOD=`echo ${OMKOD} | sed "s/[^[0-9]]*//g"`
+done
+read -p "Kérem az intézmény nevét: " INTEZMENYNEV
+ROVID=""
+while [ "$ROVID" = "" ]; do
+ read -p "Kérem az intézmény rövid nevét (néhány karakteres rövidítés, mint \"vmg\", \"illyes\"...: " ROVID
+ ROVID=`echo ${ROVID} | sed "s/[^[:alnum:]]*//g" | sed "y, űáéúőóüöíŰÁÉÚŐÓÜÖÍ,_uaeuoouoiUAEUOOUOI," | sed 's/\(.*\)/\L\1/'`
+done
+echo -e "\nOM: ${OMKOD}; Rövidnév: ${ROVID}\n"
+
+echo -n " Az intézmény konfigurációs állománya: "
+cp "$MAYORDIR/config/module-naplo/config-pl.php.example" "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+echo "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+
+echo -e "\nAz adatbázis létrehozása\n"
+cat <<EOF > $TMPDIR/mysql/intezmeny.sql
+
+insert into $DB.intezmeny (OMKod, rovidNev, nev, alapertelmezett) VALUES ('$OMKOD','$ROVID','$INTEZMENYNEV',1);
+create database intezmeny_$ROVID character set utf8 collate utf8_hungarian_ci;
+grant select,execute on intezmeny_$ROVID.* to '$USERREAD'@'localhost';
+grant all on intezmeny_$ROVID.* to '$USER'@'localhost';
+use intezmeny_$ROVID;
+
+EOF
+
+if [ "$MYSQLROOTPW" == "" ]; then
+ read -p " A mysql root jelszó -ha van!- (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+fi
+#Ezt miért is akarom kiírni?
+#echo $MYSQLROOTPW - a jelszó
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+cat $TMPDIR/mysql/intezmeny.sql $MAYORDIR/install/module-naplo/mysql/intezmeny.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8 $INTEZMENYDB
diff --git a/mayor-installer.fcgi/install.d/50linker.sh b/mayor-installer.fcgi/install.d/50linker.sh
new file mode 100755
index 00000000..3801354c
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/50linker.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+cat <<EOF
+Linkek létrehozása a parent és public policyben
+
+EOF
+
+read -n 1 -p "Létrehozzam a linkeket? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem hoztam létre.\n"; exit; fi
+source $MAYORDIR/config/main.conf
+source $MAYORDIR/update/linkme.sh
+
+echo -e " * Webszerver userének ellenőrzése, beállítása"
+if [ "$WEB_SERVER_USER" == "" ]; then
+ source /etc/apache2/envvars
+ WEB_SERVER_USER=$APACHE_RUN_GROUP
+fi
+if [ "$WEB_SERVER_USER" == "" ]; then
+ echo -e "!!! Fatális hiba !!! A WEB_SERVER_USER változó üres. Kilépek!"; exit 1;
+else
+ echo -e " * WEB_SERVER_USER=" $WEB_SERVER_USER
+fi
+if [ "$MAYORDIR" == "" ]; then
+ echo "!!! MAYORDIR változó üres. Kilépek!"; exit 1;
+else
+ echo -e "\n * A szükséges jogosultságok beállítása ($MAYORDIR/):"
+ if [ -e "$MAYORDIR/download" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/download; fi
+ if [ -e "$MAYORDIR/www/wiki/conf" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/conf; fi
+ if [ -e "$MAYORDIR/www/wiki/data" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/data; fi
+fi
+
+echo -e " * Szimbolikus linkek ellenőrzése/létrehozása"
+POLICIES="parent public"
+for POLICY in $POLICIES; do
+ eval "LIST=\$${POLICY}Link"
+ for f in $LIST; do
+ DIR=`echo $f | cut -d / -f 1-2`
+ if [ ! -d $MAYORDIR/www/policy/$POLICY/$DIR ]; then
+ echo " Könyvtár: $MAYORDIR/www/policy/$POLICY/$DIR"
+ mkdir -p $MAYORDIR/www/policy/$POLICY/$DIR
+ else
+ echo " [OK] A könyvtár már létezik: $MAYORDIR/www/policy/$POLICY/$DIR"
+ fi
+ FILES="$f-pre.php $f.php"
+ for file in $FILES; do
+ if [ ! -e $MAYORDIR/www/policy/$POLICY/$file ]; then
+ if [ -f $MAYORDIR/www/policy/private/$file ]; then
+ echo " $MAYORDIR/www/policy/private/$file --> $MAYORDIR/www/policy/$POLICY/$file"
+ ln -s $MAYORDIR/www/policy/private/$file $MAYORDIR/www/policy/$POLICY/$file
+ else
+ echo " Hiányzó file: $MAYORDIR/www/policy/private/$file"
+ fi
+ else
+ echo " [OK] A file már létezik: " $file
+ fi
+ done
+ done
+done
diff --git a/mayor-installer.fcgi/install.d/55tex.sh b/mayor-installer.fcgi/install.d/55tex.sh
new file mode 100755
index 00000000..87bcbc5f
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/55tex.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+cat <<EOF
+A mayor.fmt előllítása...
+
+EOF
+
+cd $MAYORDIR/print/module-naplo/tex/
+fmtutil-sys --cnffile $MAYORDIR/print/module-naplo/tex/mayor.cnf --fmtdir $MAYORDIR/print/module-naplo/ --byfmt mayor
+
+# Ha az fmtutil nem a tex alkönyvtárba hozná létre a mayor.fmt-t, akkor áthelyezzük:
+if [ -e "$MAYORDIR/print/module-naplo/mayor.fmt" ]; then
+ mv $MAYORDIR/print/module-naplo/mayor.fmt $MAYORDIR/print/module-naplo/tex/mayor.fmt
+fi
+
+# Ha telepítve van a XeTeX csomag, akkor ahhoz is generálunk *.fmt-t
+if [ -e /usr/bin/xetex ]; then
+ cd $MAYORDIR/print/module-naplo/xetex/
+ fmtutil-sys --cnffile $MAYORDIR/print/module-naplo/xetex/mayor-xetex.cnf --fmtdir $MAYORDIR/print/module-naplo/ --byfmt mayor-xetex
+fi
diff --git a/mayor-installer.fcgi/install.d/60portal.sh b/mayor-installer.fcgi/install.d/60portal.sh
new file mode 100755
index 00000000..e8ccfe90
--- /dev/null
+++ b/mayor-installer.fcgi/install.d/60portal.sh
@@ -0,0 +1,119 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A MaYoR Portal modul telepítése
+
+A keretrendszer és az elektronikus napló modul mellett
+telepíthető a portál modul, ami egy egyszerű, testreszabható
+nyitóoldalt ad az egyes hozzáférési szintekhez. A személyes
+kezdőlapon megjeleníthető a napi órarend, a legutóbbi üzenetek,
+az aktuális kérelmek listája, név- és születésnap információk,
+illetve kiírhatunk híreket is.
+
+EOF
+
+read -n 1 -p "Telepítsem a portál modult? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA portál modult nem telepítem.\n"; exit 1; fi
+
+echo -e "\nA main.conf módosítása ..."
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ echo -e "\nHiányzó konfigurációs állomány: $MAYORDIR/config/main.conf"
+ exit 1;
+fi
+
+sed -r -i.60portal \
+ -e "s#mayor-naplo#mayor-naplo mayor-portal#" $MAYORDIR/config/main.conf
+
+echo -e "\nA telepítőcsomag letöltése ..."
+
+cd $TMPDIR
+rm -f mayor-portal-current.tgz
+wget "http://www.mayor.hu/download/$VERSION/mayor-portal-current.tgz"
+
+echo -e -n "Források kicsomagolása... "
+cd $MAYORDIR
+tar xfz "$TMPDIR/mayor-portal-current.tgz"
+echo "ok."
+
+echo -e "\nA porál modul konfigurációs állományának létrehozása"
+file="module-portal/config.php"
+if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.example --> "
+ PW=`pwgen -s1`
+ if [ "$ROVID" = "" ]; then
+ ROVID="demo"
+ fi
+ cat "$MAYORDIR/config/$file.example" | sed -e "s/%SQLPW%/$PW/" -e "s/demo/${ROVID}/" > "$MAYORDIR/config/$file"
+ echo $file
+fi
+
+echo -e "\n SQL file létrehozása... "
+if [ ! -d $TMPDIR/mysql ]; then
+ mkdir -p $TMPDIR/mysql
+fi
+cd $TMPDIR/mysql
+PDB=`grep db $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+USER=`grep user $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+PW=`grep pw $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+
+cat $MAYORDIR/install/mayor-portal/mysql/mayor-portal.sql | sed \
+ -e "s/%MYSQL_PORTAL_DB%/$PDB/g" \
+ -e "s/%MYSQL_PORTAL_USER%/$USER/g" \
+ -e "s/%MYSQL_PORTAL_PW%/$PW/g" > mayor-portal.sql
+
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/mayor-portal/mysql/portal-init.sql | sed \
+ -e "s/%MYSQL_PRIVATE_DB%/$DB/g" \
+ -e "s/%MYSQL_PORTAL_DB%/$PDB/g" > portal-init.sql
+
+read -n 1 -p "Telepíthetem? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+if [ "$MYSQLROOTPW" == "" ]; then
+ read -p " A mysql root jelszó -ha van- (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+fi
+
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+
+cat /tmp/mysql/mayor-portal.sql /tmp/mysql/portal-init.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+
+read -n 1 -p "Tegyük a portál oldalt a rendszer kezdőlapjává minden hozzáférési szinten? (i/N)" -s DO
+if [ "$DO" != "i" ]; then
+ echo -e "\nA portál oldalt nem teszem kezdőlappá.\n";
+ cat <<EOF
+
+Az egyes hozzáférési szintek konfigurációs állományaiban
+(private-conf.php, parent-conf.php, public-conf.php) állítható
+be, hogy mi legyen a kezdőlap a \$DEFAULT_PSF tömb módosításával.
+
+EOF
+
+else
+ echo ""
+ for file in private-conf.php parent-conf.php public-conf.php; do
+ echo -n " $file ... "
+ sed -i.60portal -e "s/^[ \t]*\$DEFAULT_PSF\[\(.*\)\]\(.*\)/\/\/\t\$DEFAULT_PSF\[\1\]\2\n\t\$DEFAULT_PSF\[\1\] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');/" $MAYORDIR/config/$file
+ echo ok
+ done
+fi
+
+if [ "$ROVID" != "demo" ]; then
+ echo -e "\nEgyedi kezdőoldalak létrehozása:"
+ for policy in private public parent; do
+ echo -n " $policy "
+ for skin in classic pda; do
+ cp $MAYORDIR/www/policy/$policy/portal/portal/portal_demo.$skin.php $MAYORDIR/www/policy/$policy/portal/portal/portal_$ROVID.$skin.php
+ echo -n "... "
+ done
+ echo "ok"
+ done
+fi
+
diff --git a/mayor-installer.fcgi/log/mayor-installer.rev b/mayor-installer.fcgi/log/mayor-installer.rev
new file mode 100644
index 00000000..87ca4f07
--- /dev/null
+++ b/mayor-installer.fcgi/log/mayor-installer.rev
@@ -0,0 +1 @@
+4284
diff --git a/mayor-installer.fcgi/setup b/mayor-installer.fcgi/setup
new file mode 100755
index 00000000..3c13a155
--- /dev/null
+++ b/mayor-installer.fcgi/setup
@@ -0,0 +1,34 @@
+#!/bin/bash
+clear
+echo "-------------------------------------------"
+echo " MaYoR Setup "
+echo "-------------------------------------------"
+
+MAYORDIR="/var/mayor"
+TMPDIR="/tmp"
+MYSQLROOTPW=""
+VERSION="current"
+export MAYORDIR
+export TMPDIR
+export MYSQLROOTPW
+export VERSION
+
+echo -e "A MaYoR keretrendszer és elektronikus napló telepítője a továbbiakban
+több lépésben, az egyes lépésekre jóváhagyást kérve fogja végrehajtani a
+telepítés és konfigurálás lépéseit.
+
+A telepítő egy tipikus telepítés esetén alkalmazható, speciális igények esetén
+célszerűbb az egyes lépéseket a telepítési útmutató alapján manuálisan végezni.\n"
+
+read -n 1 -p "Folytatja? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+for f in install.d/*
+do
+ echo -e "\n----------------------------------------------\n$f\n----------------------------------------------\n"
+ ./$f $@
+ if [ "$?" == 255 ]; then echo "Fatális hiba! A telepítő kilép."; exit 255; fi;
+done
+
+echo -e "MaYoR (c) setup\n"
diff --git a/mayor-installer/install.d/05checkdeb.sh b/mayor-installer/install.d/05checkdeb.sh
new file mode 100755
index 00000000..56c0e55d
--- /dev/null
+++ b/mayor-installer/install.d/05checkdeb.sh
@@ -0,0 +1,86 @@
+#!/bin/bash
+#
+DEBIAN=false;
+UBUNTU=false;
+if [ `which lsb_release || echo "notinstalled"` == "notinstalled" ]
+then
+ ISSUE=`cat /etc/issue | cut -d " " -f 1`
+ if [ "x${ISSUE}" == "xDebian" ]; then
+ DEBIAN=true;
+ RELEASE=`cat /etc/issue | cut -d " " -f 3`
+ elif [ "x${ISSUE}" == "xUbuntu" ]; then
+ UBUNTU=true;
+ RELEASE=`cat /etc/issue | cut -d " " -f 2`
+ fi
+else
+ DISTRIBUTOR=$(lsb_release -i -s)
+ RELEASE=$(lsb_release -r -s)
+ if [ "x${DISTRIBUTOR}" == "xDebian" ]; then
+ DEBIAN=true;
+ elif [ "x${DISTRIBUTOR}" == "xUbuntu" ]; then
+ UBUNTU=true;
+ fi
+fi
+echo "Debian:" ${DEBIAN}
+echo "Ubuntu:" ${UBUNTU}
+echo "Version:" ${RELEASE}
+
+TEST=`grep contrib /etc/apt/sources.list`
+if [ "$TEST" == "" ]
+then
+ echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+ echo "Az apt sources.list módosítása szükséges!"
+ if [ DEBIAN ]; then
+ echo "Debian Jessie (8) esetén például:
+ deb http://ftp.hu.debian.org/debian/ jessie main contrib non-free
+ deb http://security.debian.org/ jessie/updates main contrib non-free
+ deb http://ftp.hu.debian.org/debian/ jessie-updates main contrib non-free
+ "
+ fi
+ exit 255;
+fi
+
+if [[ "x${RELEASE}" =~ ^x9.* ]]
+then
+ PKGS="apache2 php php-json php-mysql php-ldap php-mbstring php-mcrypt php-curl mariadb-server-10.1 recode texlive texlive-fonts-extra texlive-latex-extra texlive-binaries texlive-xetex ntp wget ssl-cert ssh pwgen texlive-lang-european"
+else
+ PKGS="apache2 php5 php5-json php5-mysqlnd php5-ldap php5-mcrypt php5-curl mysql-server recode texlive texlive-fonts-extra texlive-latex-extra texlive-binaries texlive-xetex ttf-mscorefonts-installer ntp wget ssl-cert ssh pwgen texlive-lang-european texlive-lang-hungarian"
+fi
+
+if [ "$1" == "--no-deb" ]; then
+ exit 1
+fi
+
+cat <<EOF
+A rendszer futásához szükséges csomagok ellenőrzése
+
+Ebben a lépésben ellenőrizheti és telepítheti a rendszer működéséhez
+szükséges Debian/Ubuntu csomagokat:
+
+$PKGS
+
+EOF
+
+read -n 1 -p "Ellenőrizzem a deb csomagokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA függőségek ellenőrzését kihagytam.\n"; exit 1; fi
+
+echo -e "\nFüggőségek ellenőrzése (dpkg): "
+MISSING=""
+for pkg in $PKGS
+do
+ echo -n " $pkg ... "
+ STAT=`dpkg -l $pkg | grep $pkg | cut -f 1 -d ' '`
+ if [ "$STAT" == "ii" ]; then
+ echo ok
+ else
+ echo "még nincs telepítve"
+ MISSING="$MISSING $pkg"
+ fi
+done
+if [ "$MISSING" != "" ]; then
+ echo Még nem telepített csomagok: $MISSING
+ read -n 1 -p "Telepítsem? (i/N)" -s DO
+ if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+ apt-get update
+ apt-get -m -f install $MISSING
+fi
diff --git a/mayor-installer/install.d/10getsource.sh b/mayor-installer/install.d/10getsource.sh
new file mode 100755
index 00000000..0ae2f669
--- /dev/null
+++ b/mayor-installer/install.d/10getsource.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A forrás csomagok letöltése és kicsomagolása
+
+Most letöltheti és kicsomagolhatja a forrás állományokat.
+A telepítendő rendszer gyökérkönyvtára:
+ $MAYORDIR
+lesz.
+
+A telepítő mindig az aktuális legfrissebb változatot tölti le.
+
+Amennyiben egy korábbi változatot szeretne telepíteni (pl. korábbi
+mentés helyreállításához), úgy töltse le a szükséges állományokat
+(mayor-base-rev????.tgz, mayor-naplo-rev????.tgz) és helyezze el
+őket a $TMPDIR könyvtárban. Ezek után folytassa a telepítést a
+csomagok letöltésének kihagyásával.
+
+EOF
+
+#read -n 1 -p "Letöltsem a forrás csomagokat? (i/N)" -s DO
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+if [ "$TMPDIR" = "" ]; then echo "A TMPDIR változó üres. Kilépek."; exit 1; fi
+
+
+MENU=$( /bin/ls -1 $TMPDIR/mayor-base-*.tgz 2>/dev/null | sed 's/.*-\([^-]*\)\.tgz$/\1/' )
+
+DO=n
+if [ "$MENU" == '' ]; then
+ DO=i
+else
+ echo " 0 Letöltés mindenképpen"
+ echo "${MENU}" | sed 's/.*-\([^-]*\)\.tgz$/\1/' | nl
+ read -n1 -p 'Melyiket telepítsem? ' SEL; echo
+
+ if [ "$SEL" == 0 ]; then
+ DO=i
+ else
+ SELECT=$( echo "${MENU}" | sed -n ${SEL}p )
+
+ MAYORBASE="$TMPDIR/mayor-base-$SELECT.tgz"
+ MAYORNAPLO="$TMPDIR/mayor-naplo-$SELECT.tgz"
+ fi
+fi
+
+if [ "$DO" == "i" ]; then
+ MAYORBASE="$TMPDIR/mayor-base-current.tgz"
+ MAYORNAPLO="$TMPDIR/mayor-naplo-current.tgz"
+
+ echo -e "\nForrások letöltése:"
+ cd $TMPDIR
+ rm -f mayor-base-current.tgz
+ rm -f mayor-naplo-current.tgz
+ wget "http://www.mayor.hu/download/$VERSION/mayor-base-current.tgz"
+ wget "http://www.mayor.hu/download/$VERSION/mayor-naplo-current.tgz"
+else
+ echo -e "\nA forráscsomagok letöltését kihagytam.\n"
+fi
+
+read -n 1 -p "Telepítsem a forrás csomagokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA forráscsomagok telepítését kihagytam.\n"; exit 1; fi
+
+echo -n -e "\nRendszer könyvtár: "
+if [ ! -e $MAYORDIR ]; then
+ mkdir -p $MAYORDIR
+fi
+echo $MAYORDIR
+
+echo -e -n "Források kicsomagolása... "
+cd $MAYORDIR
+tar xfz "$MAYORBASE"
+tar xfz "$MAYORNAPLO"
+echo "ok."
+
diff --git a/mayor-installer/install.d/15createconfig.sh b/mayor-installer/install.d/15createconfig.sh
new file mode 100755
index 00000000..51c512c4
--- /dev/null
+++ b/mayor-installer/install.d/15createconfig.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A konfigurációs állományok létrehozása
+
+A MaYoR konfigurációs állományait a minták alapján készítheti el.
+A konfigurációs állományok nélkül a telepítés nem fut le helyesen, ezért ezt
+a lépést akkor hagyja csak ki, ha ezeket már sajátkezűleg elkészítette!
+
+EOF
+
+read -n 1 -p "Létrehozzam a minták alapján a konfigurációs állományokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA konfigurációs állományokat nem hoztam létre.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+PWGEN=`which pwgen`
+if [ "${PWGEN}" = "" ]; then echo "A pwgen szoftver nincs telepítve."; exit 1; fi
+
+echo -e "\nKonfigurációs állományok létrehozása:"
+for file in main-config.php parent-conf.php private-conf.php public-conf.php
+do
+ if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.example --> "
+ PW=`pwgen -s1`
+ cat "$MAYORDIR/config/$file.example" | sed s/%SQLPW%/$PW/ > "$MAYORDIR/config/$file"
+ echo $file
+ fi
+done
+
+echo -n " module-naplo/config.php.example --> "
+PW=`pwgen -s1`
+PWREAD=`pwgen -s1`
+if [ -e "$MAYORDIR/config/module-naplo/config.php" ]; then echo " module-naplo/config.php létezik."; else
+ cat "$MAYORDIR/config/module-naplo/config.php.example" | sed -e s/%SQLPW%/$PW/ -e s/%SQLPWREAD%/$PWREAD/ > "$MAYORDIR/config/module-naplo/config.php"
+ echo "module-naplo/config.php"
+fi
+
+if [ -e "$MAYORDIR/config/skin-classic/naplo-config.php" ]; then echo " skin-classic/naplo-config.php létezik."; else
+ echo -n " skin-classic/naplo-config.php.example --> "
+ cp $MAYORDIR/config/skin-classic/naplo-config.php.example $MAYORDIR/config/skin-classic/naplo-config.php
+ echo "config/skin-classic/naplo-config.php"
+fi
diff --git a/mayor-installer/install.d/20mysql.sh b/mayor-installer/install.d/20mysql.sh
new file mode 100755
index 00000000..2979f728
--- /dev/null
+++ b/mayor-installer/install.d/20mysql.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+
+cat <<EOF
+MySQL szerver beállításai
+
+A rendszer adatbázisai UTF-8 kódolásúak, ennek megfelelően kell
+beállítani a MySQL-t is. A beállításokat a /etc/mysql/conf.d
+alá helyezi el a telepítő utf8.cnf néven, majd újraindítja az
+adatbázis szervert.
+
+EOF
+
+read -n 1 -p "A MySQL szerver beállításait módosíthatom? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA MySQL beállításait nem módosítottam.\n"; exit 1; fi
+
+echo -e "\nMySQL beállítások"
+echo -n " utf8.cnf ... "
+cp -f $MAYORDIR/install/base/mysql/utf8.cnf /etc/mysql/conf.d
+echo ok
+/etc/init.d/mysql restart
+
+if [ "x${RELEASE}" == "x9" ]
+then
+ echo -e "\nMariaDB/MySQL beállítások"
+ echo -n " futtatom a mysql_Secure_installation scriptet: "
+ mysql_secure_installation
+fi
diff --git a/mayor-installer/install.d/25apache.sh b/mayor-installer/install.d/25apache.sh
new file mode 100755
index 00000000..7019d608
--- /dev/null
+++ b/mayor-installer/install.d/25apache.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Az Apache (2) webszerver beállítása
+
+Az elektronikus napló használata feltétlenül HTTPS protokollt igényel.
+Ehhez engedélyeznie kell az ssl modul használatát, és tanusítványra is
+szükség van. A telepítő "self-signed" tanusítványt generál (ehhez meg kell
+adnia a szerver teljes domain nevét), valamint engedélyezi a rewrite modul
+használatát is, végül létrehoz és engedélyez mayor néven egy site
+konfigurációt is.
+
+EOF
+
+read -n 1 -p "Az Apache web-szerver módosítható? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nAz Apache web szerver beállításait nem módosítottam.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "A MAYORDIR változó üres. Kilépek."; exit 1; fi
+
+echo -e "\nApache beállítások"
+
+
+echo " Tanusítvány generálás"
+if [ ! -e /etc/apache2/ssl ]; then
+ mkdir /etc/apache2/ssl
+fi
+make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
+
+echo " Szükséges modulok ellenőrzése:"
+echo -n " - ModSSL engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/ssl.load ]; then
+ a2enmod ssl > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+ echo -n " - ModReWrite engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then
+ a2enmod rewrite > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+echo "ok."
+
+SERVERNAME=""
+while [ "$SERVERNAME" = "" ]
+do
+ read -p " A web szerver teljes domain neve (pl: mayor.tesztsuli.hu): " SERVERNAME
+done
+
+#cat $MAYORDIR/install/base/apache2/mayor.conf | sed "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/" > /etc/apache2/sites-available/mayor.conf
+
+# A 2.4-es apache esetén módosítani kell a konfig állományt!
+APACHE_VERSION=$(dpkg -l apache2 | grep apache2 | tr -s ' ' | cut -d ' ' -f 3 | cut -d '-' -f 1 | sed 's/\..$//')
+cat $MAYORDIR/install/base/apache2/mayor.conf | sed \
+ -e "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/" > /etc/apache2/sites-available/mayor.conf
+
+
+if [ ! -e /etc/apache2/sites-enabled/mayor.conf ]; then
+ echo " A mayor site engedélyezése"
+ a2ensite mayor.conf > /dev/null
+fi
+
+echo " A web-szerver újraindítása"
+/etc/init.d/apache2 restart
diff --git a/mayor-installer/install.d/30php.sh b/mayor-installer/install.d/30php.sh
new file mode 100755
index 00000000..49000c68
--- /dev/null
+++ b/mayor-installer/install.d/30php.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A PHP memória limit beállítása
+
+Az alapértelmezett 16MB-os memória a rendszer futtatásához a
+legtöbb esetben elég, de egyes esetekben (például a nyomtatványok
+generálásakor) kevésnek bizonyul. Ezért a telepítő ezt a küszöböt
+256MB-ra emeli. Az eredeti php.ini állományról másolat készül
+php.ini.mayor néven.
+
+EOF
+
+read -n 1 -p "A php.ini-t módosíthatom? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem módosítom a php.ini-t.\n"; exit 1; fi
+
+exit 1
+
+echo -n " A PHP memória limit beállítása: "
+if [ ! -e /etc/php5/apache2/php.ini.mayor ]; then
+ mv /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.mayor
+fi
+cat /etc/php5/apache2/php.ini.mayor | sed "s/memory_limit/memory_limit = 256M ; old value: /" > /etc/php5/apache2/php.ini
+echo 256M
+
+echo " Az web szerver újraindítása"
+/etc/init.d/apache2 restart
+
diff --git a/mayor-installer/install.d/35createdatabases.sh b/mayor-installer/install.d/35createdatabases.sh
new file mode 100755
index 00000000..d44d28e4
--- /dev/null
+++ b/mayor-installer/install.d/35createdatabases.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Adatbázisok létrehozása
+
+A felhasználói azonosítók és csoportok adatainak tárolásához, a
+munkamenetek adminisztrálásához és a napló modul adatainak tárolásához
+szükséges adatbázisok létrehozása következik.
+
+Ez a lépés csak a szükséges konfigurációs állományok megléte
+esetén fut le helyesen!
+
+A telepítő először elkészíti a betöltendő SQL utasításokat tartalmazó
+állományokat a $TMPDIR/mysql alá, majd - amennyiben engedélyezzük -
+be is tölti az állományokat.
+
+EOF
+
+read -n 1 -p "A konfigurációs állományok alapján létrehozhatom az adatbázisokat? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nAz adatbázisok létrehozását kihagyjuk.\n"; exit 1; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -n -e "\n Config fileok ellenőrzése..."
+
+if [ ! -e "$MAYORDIR/log" ]; then mkdir $MAYORDIR/log; fi
+if [ ! -e /var/log/mayor ]; then ln -s $MAYORDIR/log /var/log/mayor; fi
+if [ ! -e /etc/mayor ]; then ln -s $MAYORDIR/config /etc/mayor; fi
+chmod +x $MAYORDIR/bin/mayor
+
+FILES="$MAYORDIR/config/parent-conf.php $MAYORDIR/config/private-conf.php $MAYORDIR/config/main-config.php $MAYORDIR/config/module-naplo/config.php $MAYORDIR/install/base/mysql/mayor-login.sql $MAYORDIR/install/base/mysql/mayor-auth.sql $MAYORDIR/install/base/mysql/private-users.sql $MAYORDIR/install/module-naplo/mysql/naplo-users.sql"
+for f in $FILES
+do
+ if [ ! -e $f ]; then echo -e "\n\r Nincs meg a szükséges ${f} config file!"; exit 1; else echo -n '.'; fi
+done;
+echo " kész.";
+
+if [ ! -e $MAYORDIR/log/mayor-base.rev ]; then
+ echo " Hiányzó mayor-base.rev file";
+ if [ -e $MAYORDIR/log/revision ];
+ then
+ IREV=`cat $MAYORDIR/log/revision`
+ else
+ IREV="";
+ fi
+else
+ cp $MAYORDIR/log/mayor-base.rev $MAYORDIR/log/revision
+ IREV=`cat $MAYORDIR/log/revision`
+fi
+
+echo " Az aktuális revision: ${IREV}"
+
+if [ "$IREV" = "" ]
+then
+ echo " Nincs revision file és helyreállítani sem tudom. Kilépek!"
+ exit 1;
+fi
+
+echo " SQL fileok létrehozása... "
+mkdir -p $TMPDIR/mysql
+cd $TMPDIR/mysql
+DB=`grep db $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`grep user $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`grep pw $MAYORDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/base/mysql/mayor-login.sql | sed -e "s/%MYSQL_LOGIN_DB%/$DB/g" -e "s/%MYSQL_LOGIN_USER%/$USER/g" \
+ -e "s/%MYSQL_LOGIN_PW%/$PW/g" > mayor-login.sql
+DB=`grep db $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+USER=`grep user $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+PW=`grep pw $MAYORDIR/config/parent-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-parent.sql
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+USER=`grep 'mysql user' $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+PW=`grep pw $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/base/mysql/mayor-auth.sql | sed -e "s/%MYSQL_AUTH_DB%/$DB/g" -e "s/%MYSQL_AUTH_USER%/$USER/g" \
+ -e "s/%MYSQL_AUTH_PW%/$PW/g" > mayor-private.sql
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PW=`egrep 'pwWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+PWREAD=`egrep 'pwRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+cat $MAYORDIR/install/module-naplo/mysql/base.sql | sed -e "s/%MYSQL_NAPLO_DB%/$DB/g" -e "s/%MYSQL_NAPLO_USER%/$USER/g" \
+ -e "s/%MYSQL_NAPLO_PW%/$PW/g" -e "s/%MYSQL_NAPLO_USER_READ%/$USERREAD/g" \
+ -e "s/%MYSQL_NAPLO_PW_READ%/$PWREAD/g" > base.sql
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+
+cat $MAYORDIR/install/base/mysql/private-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > private-users.sql
+cat $MAYORDIR/install/module-naplo/mysql/naplo-users.sql | sed -e "s/%MYSQL_PRIVATE_DB%/$DB/g" > naplo-users.sql
+
+echo " A létrejött sql fileok:"
+FILES=`ls *.sql`
+for f in $FILES
+do
+ echo " * ${f}";
+done;
+read -n 1 -p "Telepíthetem? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+read -p " A mysql root jelszó (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ cat $MAYORDIR/config/main.conf.example | sed s/%SQLPW%/$MYSQLROOTPW/ > $MAYORDIR/config/main.conf
+ chmod 600 $MAYORDIR/config/main.conf
+fi
+
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+cat /tmp/mysql/mayor-login.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/mayor-parent.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/mayor-private.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/base.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/private-users.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+cat /tmp/mysql/naplo-users.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+
+echo -e "\n"
+echo "A telepítés végeztével beléphetsz a webes felületen!
+=========================================================
+ user: mayoradmin
+=========================================================
+ jelszó: jelszo
+=========================================================
+"
diff --git a/mayor-installer/install.d/40binary.sh b/mayor-installer/install.d/40binary.sh
new file mode 100755
index 00000000..bc2716af
--- /dev/null
+++ b/mayor-installer/install.d/40binary.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Karbantartást segítő szkriptek
+
+A telepítő szimbolikus linket készít a /usr/local/sbin-be, hogy
+a "mayor update" illettve "mayor backup" parancsokat bárhonnan
+kiadhassuk, majd az /etc/cron.daily könyvtár alá is link készül,
+hogy a mentések és frissítések rendszeresen lefuthassanak.
+
+EOF
+
+read -n 1 -p "Karbantartást segítő scriptek telepítése mehet? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem telepítjük a szkripteket.\n"; exit; fi
+
+if [ "$MAYORDIR" = "" ]; then echo -e "\nMAYORDIR változó üres. Kilépek!"; exit 1; fi
+echo -e "\n * Webszerver userének ellenőrzése, beállítása"
+if [ "$WEB_SERVER_USER" == "" ]; then
+ source /etc/apache2/envvars
+ WEB_SERVER_USER=$APACHE_RUN_GROUP
+fi
+if [ "$WEB_SERVER_USER" == "" ]; then
+ echo -e "!!! Fatális hiba !!! A WEB_SERVER_USER változó üres. Kilépek!"; exit 1;
+else
+ echo -e " * WEB_SERVER_USER=" $WEB_SERVER_USER
+fi
+
+ # A karbantartást segítő scriptek:
+ if [ ! -e /usr/local/sbin/mayor ]; then
+ ln -s $MAYORDIR/bin/mayor /usr/local/sbin/mayor;
+ echo -e "\n Az /usr/local/sbin/ alá létrejött a mayor szimbolikus link.";
+ fi
+ if [ ! -e $MAYORDIR/config/main.conf ]; then cp $MAYORDIR/config/main.conf.example $MAYORDIR/config/main.conf; fi
+ # A konfig könyvtár védelme
+ chown -R $WEB_SERVER_USER $MAYORDIR/config/
+ chmod 700 $MAYORDIR/config/
+ # A main.conf védelme
+ chown root $MAYORDIR/config/main.conf
+ chmod 600 $MAYORDIR/config/main.conf
+ if [ ! -e /etc/cron.daily/mayor ]; then
+ ln -s $MAYORDIR/bin/etc/cron.daily/mayor /etc/cron.daily;
+ echo -e "\n Az /etc/cron.daily/ alá létrejött a mayor szimbolikus link.";
+ fi
diff --git a/mayor-installer/install.d/45intezmeny.sh b/mayor-installer/install.d/45intezmeny.sh
new file mode 100755
index 00000000..fc8eafeb
--- /dev/null
+++ b/mayor-installer/install.d/45intezmeny.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+#
+
+cat <<EOF
+Intézmény létrehozása
+
+A telepítő segítségével létrehozhatjuk az intézmény adatbázisát.
+(Ezt a lépést a webes felületen is végezhetnénk.)
+
+A telepítő létrehozza az
+ * intézmény konfigurációs állományát,
+ * az intézmény adatbázisát és
+ * bejegyzését a mayor_naplo.intezmeny táblába.
+
+Ehhez meg kell adnia az intézmény OM kódját, nevét és rövid nevét
+(mint vmg, njszki, fasori, stb).
+
+EOF
+
+read -n 1 -p "Létrehozzam az intézményt? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem hoztam létre az intézményt.\n"; exit; fi
+
+if [ "$MAYORDIR" = "" ]; then echo "MAYORDIR változó üres. Kilépek!"; exit 1; fi
+
+echo -e "\n"
+OMKOD=""
+while [ "$OMKOD" = "" ]; do
+ read -p "Kérem az intézmény OM kódját: " OMKOD
+ OMKOD=`echo ${OMKOD} | sed "s/[^[0-9]]*//g"`
+done
+read -p "Kérem az intézmény nevét: " INTEZMENYNEV
+ROVID=""
+while [ "$ROVID" = "" ]; do
+ read -p "Kérem az intézmény rövid nevét (néhány karakteres rövidítés, mint \"vmg\", \"illyes\"...: " ROVID
+ ROVID=`echo ${ROVID} | sed "s/[^[:alnum:]]*//g" | sed "y, űáéúőóüöíŰÁÉÚŐÓÜÖÍ,_uaeuoouoiUAEUOOUOI," | sed 's/\(.*\)/\L\1/'`
+done
+echo -e "\nOM: ${OMKOD}; Rövidnév: ${ROVID}\n"
+
+echo -n " Az intézmény konfigurációs állománya: "
+cp "$MAYORDIR/config/module-naplo/config-pl.php.example" "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+echo "$MAYORDIR/config/module-naplo/config-$ROVID.php"
+
+DB=`grep db $MAYORDIR/config/module-naplo/config.php | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USER=`egrep 'userWrite.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+USERREAD=`egrep 'userRead.*=' $MAYORDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g"`
+
+echo -e "\nAz adatbázis létrehozása\n"
+cat <<EOF > $TMPDIR/mysql/intezmeny.sql
+
+insert into $DB.intezmeny (OMKod, rovidNev, nev, alapertelmezett) VALUES ('$OMKOD','$ROVID','$INTEZMENYNEV',1);
+create database intezmeny_$ROVID character set utf8 collate utf8_hungarian_ci;
+grant select,execute on intezmeny_$ROVID.* to '$USERREAD'@'localhost';
+grant all on intezmeny_$ROVID.* to '$USER'@'localhost';
+use intezmeny_$ROVID;
+
+EOF
+
+if [ "$MYSQLROOTPW" == "" ]; then
+ read -p " A mysql root jelszó -ha van!- (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+fi
+#Ezt miért is akarom kiírni?
+#echo $MYSQLROOTPW - a jelszó
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+cat $TMPDIR/mysql/intezmeny.sql $MAYORDIR/install/module-naplo/mysql/intezmeny.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8 $INTEZMENYDB
diff --git a/mayor-installer/install.d/50linker.sh b/mayor-installer/install.d/50linker.sh
new file mode 100755
index 00000000..3801354c
--- /dev/null
+++ b/mayor-installer/install.d/50linker.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+cat <<EOF
+Linkek létrehozása a parent és public policyben
+
+EOF
+
+read -n 1 -p "Létrehozzam a linkeket? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem hoztam létre.\n"; exit; fi
+source $MAYORDIR/config/main.conf
+source $MAYORDIR/update/linkme.sh
+
+echo -e " * Webszerver userének ellenőrzése, beállítása"
+if [ "$WEB_SERVER_USER" == "" ]; then
+ source /etc/apache2/envvars
+ WEB_SERVER_USER=$APACHE_RUN_GROUP
+fi
+if [ "$WEB_SERVER_USER" == "" ]; then
+ echo -e "!!! Fatális hiba !!! A WEB_SERVER_USER változó üres. Kilépek!"; exit 1;
+else
+ echo -e " * WEB_SERVER_USER=" $WEB_SERVER_USER
+fi
+if [ "$MAYORDIR" == "" ]; then
+ echo "!!! MAYORDIR változó üres. Kilépek!"; exit 1;
+else
+ echo -e "\n * A szükséges jogosultságok beállítása ($MAYORDIR/):"
+ if [ -e "$MAYORDIR/download" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/download; fi
+ if [ -e "$MAYORDIR/www/wiki/conf" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/conf; fi
+ if [ -e "$MAYORDIR/www/wiki/data" ]; then chown -R $WEB_SERVER_USER $MAYORDIR/www/wiki/data; fi
+fi
+
+echo -e " * Szimbolikus linkek ellenőrzése/létrehozása"
+POLICIES="parent public"
+for POLICY in $POLICIES; do
+ eval "LIST=\$${POLICY}Link"
+ for f in $LIST; do
+ DIR=`echo $f | cut -d / -f 1-2`
+ if [ ! -d $MAYORDIR/www/policy/$POLICY/$DIR ]; then
+ echo " Könyvtár: $MAYORDIR/www/policy/$POLICY/$DIR"
+ mkdir -p $MAYORDIR/www/policy/$POLICY/$DIR
+ else
+ echo " [OK] A könyvtár már létezik: $MAYORDIR/www/policy/$POLICY/$DIR"
+ fi
+ FILES="$f-pre.php $f.php"
+ for file in $FILES; do
+ if [ ! -e $MAYORDIR/www/policy/$POLICY/$file ]; then
+ if [ -f $MAYORDIR/www/policy/private/$file ]; then
+ echo " $MAYORDIR/www/policy/private/$file --> $MAYORDIR/www/policy/$POLICY/$file"
+ ln -s $MAYORDIR/www/policy/private/$file $MAYORDIR/www/policy/$POLICY/$file
+ else
+ echo " Hiányzó file: $MAYORDIR/www/policy/private/$file"
+ fi
+ else
+ echo " [OK] A file már létezik: " $file
+ fi
+ done
+ done
+done
diff --git a/mayor-installer/install.d/55tex.sh b/mayor-installer/install.d/55tex.sh
new file mode 100755
index 00000000..87bcbc5f
--- /dev/null
+++ b/mayor-installer/install.d/55tex.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+cat <<EOF
+A mayor.fmt előllítása...
+
+EOF
+
+cd $MAYORDIR/print/module-naplo/tex/
+fmtutil-sys --cnffile $MAYORDIR/print/module-naplo/tex/mayor.cnf --fmtdir $MAYORDIR/print/module-naplo/ --byfmt mayor
+
+# Ha az fmtutil nem a tex alkönyvtárba hozná létre a mayor.fmt-t, akkor áthelyezzük:
+if [ -e "$MAYORDIR/print/module-naplo/mayor.fmt" ]; then
+ mv $MAYORDIR/print/module-naplo/mayor.fmt $MAYORDIR/print/module-naplo/tex/mayor.fmt
+fi
+
+# Ha telepítve van a XeTeX csomag, akkor ahhoz is generálunk *.fmt-t
+if [ -e /usr/bin/xetex ]; then
+ cd $MAYORDIR/print/module-naplo/xetex/
+ fmtutil-sys --cnffile $MAYORDIR/print/module-naplo/xetex/mayor-xetex.cnf --fmtdir $MAYORDIR/print/module-naplo/ --byfmt mayor-xetex
+fi
diff --git a/mayor-installer/install.d/60portal.sh b/mayor-installer/install.d/60portal.sh
new file mode 100755
index 00000000..e8ccfe90
--- /dev/null
+++ b/mayor-installer/install.d/60portal.sh
@@ -0,0 +1,119 @@
+#!/bin/bash
+#
+
+cat <<EOF
+A MaYoR Portal modul telepítése
+
+A keretrendszer és az elektronikus napló modul mellett
+telepíthető a portál modul, ami egy egyszerű, testreszabható
+nyitóoldalt ad az egyes hozzáférési szintekhez. A személyes
+kezdőlapon megjeleníthető a napi órarend, a legutóbbi üzenetek,
+az aktuális kérelmek listája, név- és születésnap információk,
+illetve kiírhatunk híreket is.
+
+EOF
+
+read -n 1 -p "Telepítsem a portál modult? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA portál modult nem telepítem.\n"; exit 1; fi
+
+echo -e "\nA main.conf módosítása ..."
+if [ ! -e $MAYORDIR/config/main.conf ]; then
+ echo -e "\nHiányzó konfigurációs állomány: $MAYORDIR/config/main.conf"
+ exit 1;
+fi
+
+sed -r -i.60portal \
+ -e "s#mayor-naplo#mayor-naplo mayor-portal#" $MAYORDIR/config/main.conf
+
+echo -e "\nA telepítőcsomag letöltése ..."
+
+cd $TMPDIR
+rm -f mayor-portal-current.tgz
+wget "http://www.mayor.hu/download/$VERSION/mayor-portal-current.tgz"
+
+echo -e -n "Források kicsomagolása... "
+cd $MAYORDIR
+tar xfz "$TMPDIR/mayor-portal-current.tgz"
+echo "ok."
+
+echo -e "\nA porál modul konfigurációs állományának létrehozása"
+file="module-portal/config.php"
+if [ -e "${MAYORDIR}/config/${file}" ]; then echo " $file létezik."; else
+ echo -n " $file.example --> "
+ PW=`pwgen -s1`
+ if [ "$ROVID" = "" ]; then
+ ROVID="demo"
+ fi
+ cat "$MAYORDIR/config/$file.example" | sed -e "s/%SQLPW%/$PW/" -e "s/demo/${ROVID}/" > "$MAYORDIR/config/$file"
+ echo $file
+fi
+
+echo -e "\n SQL file létrehozása... "
+if [ ! -d $TMPDIR/mysql ]; then
+ mkdir -p $TMPDIR/mysql
+fi
+cd $TMPDIR/mysql
+PDB=`grep db $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+USER=`grep user $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+PW=`grep pw $MAYORDIR/config/$file | sed -e "s/.*=\ *['\"]//g" -e "s/['\"];//g"`
+
+cat $MAYORDIR/install/mayor-portal/mysql/mayor-portal.sql | sed \
+ -e "s/%MYSQL_PORTAL_DB%/$PDB/g" \
+ -e "s/%MYSQL_PORTAL_USER%/$USER/g" \
+ -e "s/%MYSQL_PORTAL_PW%/$PW/g" > mayor-portal.sql
+
+DB=`grep db $MAYORDIR/config/private-conf.php | sed -e "s/^.*>\ *['|\"]//g" -e "s/['|\"],//g"`
+cat $MAYORDIR/install/mayor-portal/mysql/portal-init.sql | sed \
+ -e "s/%MYSQL_PRIVATE_DB%/$DB/g" \
+ -e "s/%MYSQL_PORTAL_DB%/$PDB/g" > portal-init.sql
+
+read -n 1 -p "Telepíthetem? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+if [ "$MYSQLROOTPW" == "" ]; then
+ read -p " A mysql root jelszó -ha van- (a begépelt szöveg nem látszik!): " -s MYSQLROOTPW
+fi
+
+if [ "$MYSQLROOTPW" = "" ];
+then
+ MYSQLROOTPWSTR="";
+else
+ MYSQLROOTPWSTR="-p$MYSQLROOTPW --user=root"
+fi
+
+
+cat /tmp/mysql/mayor-portal.sql /tmp/mysql/portal-init.sql | mysql $MYSQLROOTPWSTR --default-character-set=utf8
+
+read -n 1 -p "Tegyük a portál oldalt a rendszer kezdőlapjává minden hozzáférési szinten? (i/N)" -s DO
+if [ "$DO" != "i" ]; then
+ echo -e "\nA portál oldalt nem teszem kezdőlappá.\n";
+ cat <<EOF
+
+Az egyes hozzáférési szintek konfigurációs állományaiban
+(private-conf.php, parent-conf.php, public-conf.php) állítható
+be, hogy mi legyen a kezdőlap a \$DEFAULT_PSF tömb módosításával.
+
+EOF
+
+else
+ echo ""
+ for file in private-conf.php parent-conf.php public-conf.php; do
+ echo -n " $file ... "
+ sed -i.60portal -e "s/^[ \t]*\$DEFAULT_PSF\[\(.*\)\]\(.*\)/\/\/\t\$DEFAULT_PSF\[\1\]\2\n\t\$DEFAULT_PSF\[\1\] = array('page'=>'portal', 'sub' => 'portal', 'f' => 'portal');/" $MAYORDIR/config/$file
+ echo ok
+ done
+fi
+
+if [ "$ROVID" != "demo" ]; then
+ echo -e "\nEgyedi kezdőoldalak létrehozása:"
+ for policy in private public parent; do
+ echo -n " $policy "
+ for skin in classic pda; do
+ cp $MAYORDIR/www/policy/$policy/portal/portal/portal_demo.$skin.php $MAYORDIR/www/policy/$policy/portal/portal/portal_$ROVID.$skin.php
+ echo -n "... "
+ done
+ echo "ok"
+ done
+fi
+
diff --git a/mayor-installer/log/mayor-installer.rev b/mayor-installer/log/mayor-installer.rev
new file mode 100644
index 00000000..87ca4f07
--- /dev/null
+++ b/mayor-installer/log/mayor-installer.rev
@@ -0,0 +1 @@
+4284
diff --git a/mayor-installer/setup b/mayor-installer/setup
new file mode 100755
index 00000000..3c13a155
--- /dev/null
+++ b/mayor-installer/setup
@@ -0,0 +1,34 @@
+#!/bin/bash
+clear
+echo "-------------------------------------------"
+echo " MaYoR Setup "
+echo "-------------------------------------------"
+
+MAYORDIR="/var/mayor"
+TMPDIR="/tmp"
+MYSQLROOTPW=""
+VERSION="current"
+export MAYORDIR
+export TMPDIR
+export MYSQLROOTPW
+export VERSION
+
+echo -e "A MaYoR keretrendszer és elektronikus napló telepítője a továbbiakban
+több lépésben, az egyes lépésekre jóváhagyást kérve fogja végrehajtani a
+telepítés és konfigurálás lépéseit.
+
+A telepítő egy tipikus telepítés esetén alkalmazható, speciális igények esetén
+célszerűbb az egyes lépéseket a telepítési útmutató alapján manuálisan végezni.\n"
+
+read -n 1 -p "Folytatja? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+for f in install.d/*
+do
+ echo -e "\n----------------------------------------------\n$f\n----------------------------------------------\n"
+ ./$f $@
+ if [ "$?" == 255 ]; then echo "Fatális hiba! A telepítő kilép."; exit 255; fi;
+done
+
+echo -e "MaYoR (c) setup\n"