aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-installer-fcgi-mod
diff options
context:
space:
mode:
authorM.Gergo2018-07-06 11:13:06 +0200
committerM.Gergo2018-07-06 11:13:06 +0200
commit50310b0e4513ee3fcce67351ae61e8fff851130e (patch)
treefd2e4a73f94a61cd5040f863579149ed97c701a3 /mayor-installer-fcgi-mod
parent630f5353ed7a264b0fa17badd62f71a02265a4f7 (diff)
downloadmayor-50310b0e4513ee3fcce67351ae61e8fff851130e.tar.gz
mayor-50310b0e4513ee3fcce67351ae61e8fff851130e.zip
Mappák átnevezve: mayor --> mayor-mod; mayor-installer --> mayor-installer-mod; mayor-installer-fcgi --> mayor-installer-fcgi-mod
Diffstat (limited to 'mayor-installer-fcgi-mod')
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/01createhome.sh73
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/05checkdeb.sh106
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/10getsource.sh79
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/15createconfig.sh46
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/20mysql.sh34
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/25apache.sh254
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/30php.sh35
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/35createdatabases.sh129
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/40binary.sh52
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/45intezmeny.sh70
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/50linker.sh59
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/55tex.sh20
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/60portal.sh119
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/90chown.sh30
-rwxr-xr-xmayor-installer-fcgi-mod/fcgi_install.d/99end.sh7
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/05checkdeb.sh106
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/10getsource.sh79
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/15createconfig.sh43
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/20mysql.sh28
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/25apache.sh67
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/30php.sh29
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/35createdatabases.sh132
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/40binary.sh49
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/45intezmeny.sh70
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/50linker.sh58
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/55tex.sh20
-rwxr-xr-xmayor-installer-fcgi-mod/install.d/60portal.sh119
-rw-r--r--mayor-installer-fcgi-mod/log/mayor-installer.rev1
-rwxr-xr-xmayor-installer-fcgi-mod/setup48
29 files changed, 1962 insertions, 0 deletions
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/01createhome.sh b/mayor-installer-fcgi-mod/fcgi_install.d/01createhome.sh
new file mode 100755
index 00000000..bdb7398a
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/01createhome.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+#
+
+cat <<EOF
+ MAYOR telepítése Apache2 alá
+ mod_suexec/mod_fastcgi beállításásval
+
+Ez a telepítési eljárás akkor hasznos, ha a webszerverünkön
+gazdaságossági okokból több weboldalt szeretnénk egyszerre futtatni, köztük a mayort.
+
+Az alapvető cél, hogy a különböző (php-t futtató) weboldalak jogosultságaikban,
+biztonsági okokból, el legyenek szeparálva. Ehhez az kell, hogy a különböző
+php értelmezők, külön felhasználónév alatt, és külön 'docroot' könyvtárból legyenek futtatva.
+
+Az apache2, a mod_suexec modulja segítségével végzi a felhasználónév-váltást, és
+a mod_fcgid segítségével a php értelmezők (php-modulok) elérését.
+
+Ez a felhsználó tulajdonképpen olyan, mint a www-data rendszerfelhasználó,
+de a jogosultstságait külön tudjuk szabályozni, hiszen az a cél,
+hogy ne mindent a www-data "futtasson". (Ha minden a www-data alól futna,
+akkor például a különböző weboldalak látnák, és elérnék egymás fájljait.)
+
+Ez a gyakorlatban valahogy így néz(ne) ki:
+Van 3 weboldalunk: mayor(napló), webmail, iskolai honlap
+A "mayor-web" nevében fut a napló,
+a "mail-web" nevében a webmail,
+a "honlap-web" nevében pedig az iskolai honlap.
+
+Első lépésként, létre kell hoszni egy felhasználót, akinek a neve alatt,
+és akinek a könyvtárából fut a php értelmező.
+Ez általában "rendszer" felhasználót jelent, vagyis bejelentkezni vele nem lehetséges.
+Az utolsó lépésben pedig módosítani kell az apache beállításokat a fentieknek megfelelően.
+
+Az elrendezés valahogy így néz ki:
+
+böngésző <---hálózat---> (apache2=fcgid): <==IPC==> :php-értelmező_apache_gyermekprocesszként_külön_userként
+
+
+FONTOS!!
+A napló is ebből a könyvtárból fog futni, a /var/mayor/ egy symlink lesz
+erre a könyvtárra. de ugyanúgy használható továbbra is, mint eddig.
+
+Például:
+ A felhasználó neve: mayor-web
+ A home könyvtára : /home/mayor-web/
+ A mayor könyvtára : /home/mayor-web/mayor/
+ A mayor mantés(pl): /home/mayor-web/mayor_backup/
+ (Megj: a /var/mayor/ továbbra is használható.)
+ (/var/mayor/ --> /home/mayor-web/mayor/)
+
+A telepítés végén pedig mindez a >> ps auxf parancs kiadásával személetesebben is látszódik.
+EOF
+
+
+echo -e "A php értelmező felhasználója: $MAYORUSER"
+read -n 1 -p "Létrehozhatom? (i/N) " -s DO
+if [ "$DO" != "i" ]; then echo -e "\nA $MAYORUSER létrehozását kihagytam.\n"; exit 1; fi
+
+useradd -p "*" -m --home "/home/$MAYORUSER" --shell "/bin/false" --system "$MAYORUSER"
+chage --mindays 0 --maxdays 99999 --warndays 7 "$MAYORUSER"
+chfn --full-name "$MAYORUSER" "$MAYORUSER"
+echo -e "A $MAYORUSER (rendszer)felhasználó hozzáadva.\n"
+
+echo -e "/home/$MAYORUSER/mayor és mayor_backup mappák létrehozása.\n"
+mkdir -p "/home/$MAYORUSER/mayor_backup"
+mkdir -p "/home/$MAYORUSER/mayor"
+
+echo -e "linkelés a /var/mayor könyvtárra.\n"
+ln -s "/home/$MAYORUSER/mayor" "/var/mayor"
+
+echo -e "kész.\n\n"
+
+
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/05checkdeb.sh b/mayor-installer-fcgi-mod/fcgi_install.d/05checkdeb.sh
new file mode 100755
index 00000000..5b5e1828
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/05checkdeb.sh
@@ -0,0 +1,106 @@
+#!/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
+
+Debian 9 esetén például:
+ deb http://ftp.hu.debian.org/debian/ stretch main contrib non-free
+ deb http://security.debian.org/debian-security stretch/updates main contrib non-free
+ deb http://ftp.hu.debian.org/debian/ stretch-updates main contrib non-free
+ \n"
+
+ read -n 1 -p "Hozzáadhatom? (egyelőre csak Debian9 esetén működik) (i/N)" -s DO
+ if [ "$DO" != "i" ]; then echo -e "\nA hozzáadást kihagytam.\n"; exit 255; fi
+
+ if [[ "x${RELEASE}" =~ ^x9.* ]]; then
+ echo -e "#mayor miatt is:
+deb http://ftp.hu.debian.org/debian/ stretch contrib non-free
+deb http://security.debian.org/debian-security stretch/updates contrib non-free
+deb http://ftp.hu.debian.org/debian/ stretch-updates contrib non-free" >> /etc/apt/sources.list
+
+ fi
+ echo -e "\n ---- csomaglista frissítése ---- \n"
+ apt update ## frisítés
+ echo -e "\n ------------- kész ------------- \n"
+
+ fi
+# exit 255;
+fi
+
+if [[ "x${RELEASE}" =~ ^x9.* ]]
+then
+ PKGS="apache2 apache2-suexec-custom libapache2-mod-fcgid php-cgi php php-json php-mysql php-ldap php-mbstring php-mcrypt php-curl mariadb-server recode texlive texlive-fonts-extra texlive-latex-extra texlive-binaries texlive-xetex ntp wget ssl-cert ssh pwgen texlive-lang-european"
+else
+ PKGS="apache2 apache2-suexec-custom libapache2-mod-fcgid php5-cgi 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 update
+ apt -m -f install $MISSING
+fi
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/10getsource.sh b/mayor-installer-fcgi-mod/fcgi_install.d/10getsource.sh
new file mode 100755
index 00000000..4aeab546
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/10getsource.sh
@@ -0,0 +1,79 @@
+#!/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
+if [ ! -e "/var/mayor" ]; then
+ ln -s $MAYORDIR /var/mayor
+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-mod/fcgi_install.d/15createconfig.sh b/mayor-installer-fcgi-mod/fcgi_install.d/15createconfig.sh
new file mode 100755
index 00000000..74156932
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/15createconfig.sh
@@ -0,0 +1,46 @@
+#!/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 32)
+ 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 32)
+PWREAD=$(pwgen -s1 32)
+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
+
+
+sed -e "s/\/var\/mayor/\/home\/$MAYORUSER\/mayor/g" -i "$MAYORDIR/config/main-config.php"
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/20mysql.sh b/mayor-installer-fcgi-mod/fcgi_install.d/20mysql.sh
new file mode 100755
index 00000000..7ae70bfb
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/20mysql.sh
@@ -0,0 +1,34 @@
+#!/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 ... "
+
+echo "[mysqld]
+ character-set-server = utf8
+ collation-server = utf8_hungarian_ci
+ " > /etc/mysql/conf.d/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-mod/fcgi_install.d/25apache.sh b/mayor-installer-fcgi-mod/fcgi_install.d/25apache.sh
new file mode 100755
index 00000000..d2aa12c7
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/25apache.sh
@@ -0,0 +1,254 @@
+#!/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.
+
+Valamint itt történik a mod_suexec és a mod_fcgid konfigurálása 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_mayor.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 -n " - mod_suexec engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/suexec.load ]; then
+ a2enmod suexec > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+
+echo -n " - mod_fcgid engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/fcgid.load ]; then
+ a2enmod fcgid > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+
+echo -n " - mod_actions engedélyezése ... "
+if [ ! -e /etc/apache2/mods-enabled/actions.load ]; then
+ a2enmod actions > /dev/null
+ echo ok
+else
+ echo "már engedélyezett"
+fi
+
+
+echo -n " - mod_php kikapcsolása (a www-data php értelmezője)"
+if [ -e /etc/apache2/mods-enabled/php7.0.load ]; then
+ a2dismod php7.0 > /dev/null
+ echo ok
+else
+ echo "nincs bekapcsolava"
+fi
+
+echo -n " - mod_headers engedélyezése"
+if [ ! -e /etc/apache2/mods-enabled/headers.load ]; then
+ a2enmod headers > /dev/null
+ echo ok
+else
+ echo "nincs bekapcsolava"
+fi
+
+
+echo -n " - Apache2 mod_worker és mod_event, amíg a php nem lesz thread-safe. "
+if [ -e /etc/apache2/mods-enabled/mpm_event.load ] || [ -e /etc/apache2/mods-enabled/mpm_worker.load ]; then
+ a2dismod mpm_event > /dev/null
+ a2dismod mpm_worker > /dev/null
+ a2enmod mpm_prefork > /dev/null
+ echo ok
+else
+ echo "nincs bekapcsolava"
+fi
+
+echo "ok."
+
+
+echo -e " Apache2 konfiguráció létrehozása\n"
+cat > /etc/apache2/sites-available/mayor_naplo.conf <<EOT
+<VirtualHost *:443>
+ ServerName your.mayor.server.hu
+# ServerAlias your.mayor.server.hu your.mayor.server.iskola.sulinet.hu
+
+
+ ServerAdmin webmaster@localhost
+
+ SuexecUserGroup mayor-user mayor-user
+ DocumentRoot mayor-docroot
+ ScriptAlias /wbin/ mayor-web-bin
+
+ AddHandler php-fcgi .php
+ Action php-fcgi /wbin/php7.fcgi
+ AddType application/x-httpd-php .php
+
+ <IfModule mod_fcgid.c>
+ FcgidProcessLifeTime 3600
+ FcgidIOTimeout 320
+ FcgidMaxRequestInMem 16777216
+ FcgidMaxRequestLen 33554432
+ FcgidBusyTimeout 600
+## FcgidOutputBufferSize 0
+ FcgidIdleTimeout 400
+ </IfModule>
+
+# Részletesebben:
+# FcgidProcessLifeTime 3600 ##(seconds) A php max futási ideje (a (hagyományos) mod_php-nál is ennyi)
+# FcgidIOTimeout 320 ##(seconds) A php generál valamit, elkldi a böngészőnek, vagy a böngésző küld adatot a php-nak, ennyi ideig tarthat. (pl: 120sec)
+# FcgidMaxRequestInMem 16777216 ##(bytes) Amikor a böngésző küld adatokat a php-nak, ennyi megy a pufferbe. (16MB elég)
+# FcgidMaxRequestLen 33554432 ##(bytes) Amikor a böngésző küld adatot a php-nak, az adat max hossza bájtokabn. (32MB elég)
+# FcgidBusyTimeout 600 ##(seconds) A php max ennyi ideig gondolkozhat egy futáson/kérésen, ha túllépi, ki lesz lőve.
+# FcgidOutputBufferSize 0 ##(bytes) Pufer, amikor a php generál valami adatot, és azt elküldené a böngészőnek. {ezt még át kéne nézni}
+# FcgidIdleTimeout 400 ##(seconds) A php-értelmező ennyi pihenés után le lesz állítva.(**)
+# ##(**) Figyelem! Itt a "php-értelmező" külön gyermekprocesszként fut, ami az oldal meglátogatásakor indul automatikusan,
+# ## és FcgidIdleTimeout-nyi pihenés után magától leáll.
+ <IfModule autoindex>
+ IndexIgnore *
+ </IfModule>
+
+ ## A php-csomagoló, és php.ini fájlok közvetlen elérésének tiltása
+ <Directory mayor-web-bin >
+ Require all granted
+ <Files "php7.fcgi">
+ Require env REDIRECT_STATUS
+ </Files>
+ <Files "php.ini">
+ Require all denied
+ </Files>
+ <Files "php.ini.mayor">
+ Require all denied
+ </Files>
+ </Directory>
+
+ DirectoryIndex index.php index.html index.htm
+
+ <Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ </Directory>
+
+ <Directory /var/mayor/www/>
+ Options -Indexes +FollowSymLinks +MultiViews
+ AllowOverride None
+ # Apache 2.2 # Order allow,deny
+ # Apache 2.2 # allow from all
+ # Apache 2.4 # Require all granted
+ <IfVersion >= 2.3>
+ Require all granted
+ </IfVersion>
+ <IfVersion < 2.3>
+ order allow,deny
+ allow from all
+ </IfVersion>
+ RewriteEngine on
+ RewriteBase /
+ RewriteCond %{SERVER_PORT} ^80$
+ RewriteCond %{THE_REQUEST} .*(policy=private|page=auth|page=password).*
+ RewriteRule (.*)$ https://%{HTTP_HOST}/$1 [L]
+ </Directory>
+
+
+ SSLEngine On
+# ## A gyenge titkosítások tiltása
+ SSLProtocol all -SSLv2 -SSLv3 -TLSv1
+ SSLCertificateFile /etc/apache2/ssl/apache_mayor.pem
+# # SSLCertificateFile /etc/apache2/ssl/crt/name-cert.pem
+# # SSLCertificateKeyFile /etc/apache2/ssl/key/name-key.pem
+
+
+ <IfModule mod_headers.c>
+ Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
+ </IfModule>
+
+
+ ErrorLog \${APACHE_LOG_DIR}/mayor_error.log
+
+ # Possible values include: debug, info, notice, warn, error, crit,
+ # alert, emerg.
+ LogLevel info ssl:warn fcgid:debug
+
+ CustomLog \${APACHE_LOG_DIR}/mayor_access.log combined
+ ServerSignature On
+
+</VirtualHost>
+EOT
+
+
+
+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/\..$//')
+
+echo -e " Apache2 finomhangolása\n"
+
+sed -e "s/ServerName your.mayor.server.hu/ServerName $SERVERNAME/g" -i /etc/apache2/sites-available/mayor_naplo.conf
+sed -e "s/SuexecUserGroup mayor-user mayor-user/SuexecUserGroup $MAYORUSER $MAYORUSER/g" -i /etc/apache2/sites-available/mayor_naplo.conf
+sed -e "s/DocumentRoot mayor-docroot/DocumentRoot \/home\/$MAYORUSER\/mayor\/www\/ /g" -i /etc/apache2/sites-available/mayor_naplo.conf
+sed -e "s/ScriptAlias \/wbin\/ mayor-web-bin/ScriptAlias \/wbin\/ \/home\/$MAYORUSER\/mayor\/www-bin\/ /g" -i /etc/apache2/sites-available/mayor_naplo.conf
+sed -e "s/<Directory mayor-web-bin >/<Directory \/home\/$MAYORUSER\/mayor\/www-bin\/ > /g" -i /etc/apache2/sites-available/mayor_naplo.conf
+sed -e "s/<Directory \/var\/mayor\/www\/>/<Directory \/home\/$MAYORUSER\/mayor\/www\/> /g" -i /etc/apache2/sites-available/mayor_naplo.conf
+
+echo -e " a suexec beállítása\n"
+sed -e 's/\/var\/www/\/home\n\/var\/www/g' -i /etc/apache2/suexec/www-data
+
+echo " A php-csomagoló elkészítése"
+mkdir -p "/home/$MAYORUSER/mayor/www-bin/"
+
+csomagolo="#!/bin/sh \n exec /usr/bin/php-cgi7.0 "
+echo -e $csomagolo > "/home/$MAYORUSER/mayor/www-bin/php7.fcgi"
+chmod +x "/home/$MAYORUSER/mayor/www-bin/php7.fcgi"
+
+echo " A php.ini beszerzése"
+cp "/etc/php/7.0/cgi/php.ini" "/home/$MAYORUSER/mayor/www-bin/php.ini"
+chown -R "$MAYORUSER:$MAYORUSER" "/home/$MAYORUSER/mayor/www-bin"
+
+
+if [ ! -e /etc/apache2/sites-enabled/mayor_naplo.conf ]; then
+ echo " A mayor site engedélyezése"
+ a2ensite mayor_naplo.conf > /dev/null
+fi
+
+echo " A web-szerver újraindítása"
+/etc/init.d/apache2 restart
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/30php.sh b/mayor-installer-fcgi-mod/fcgi_install.d/30php.sh
new file mode 100755
index 00000000..3e4545a2
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/30php.sh
@@ -0,0 +1,35 @@
+#!/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.
+
+Figyelem!!
+A mod_fcgid miatt a mayor php.ini -je nem a /etc/php5/apache2 mappában,
+hanem a php-csomagoló mellett a /home/$MAYORUSER/mayor/www-bin/ mappában kell legyen!!
+
+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
+
+echo -n " A PHP memória limit beállítása: "
+if [ ! -e "/home/$MAYORUSER/mayor/www-bin/php.ini.mayor" ]; then
+ cp "/home/$MAYORUSER/mayor/www-bin/php.ini" "/home/$MAYORUSER/mayor/www-bin/php.ini.mayor"
+fi
+
+sed -e "s/memory_limit.*/memory_limit = 256M/g" -i "/home/$MAYORUSER/mayor/www-bin/php.ini"
+echo "256M"
+sed -e "s/;cgi.force_redirect.*/cgi.force_redirect = 1/g" -i "/home/$MAYORUSER/mayor/www-bin/php.ini"
+sed -e "s/;cgi.fix_pathinfo.*/cgi.fix_pathinfo = 1/g" -i "/home/$MAYORUSER/mayor/www-bin/php.ini"
+sed -e "s/;date.timezone.*/date.timezone = Europe/Budapest/g" -i "/home/$MAYORUSER/mayor/www-bin/php.ini"
+
+echo " Az web szerver újraindítása"
+/etc/init.d/apache2 restart
+
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/35createdatabases.sh b/mayor-installer-fcgi-mod/fcgi_install.d/35createdatabases.sh
new file mode 100755
index 00000000..5f4d8d9c
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/fcgi_install.d/40binary.sh b/mayor-installer-fcgi-mod/fcgi_install.d/40binary.sh
new file mode 100755
index 00000000..33acc60d
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/40binary.sh
@@ -0,0 +1,52 @@
+#!/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
+ WEB_SERVER_USER=$MAYORUSER ### hiszen pont ezért csináltuk :)
+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 webserver_user lecserélése, ha nem www-data lenne
+ sed -e "s/WEB_SERVER_USER=\"www-data\"/WEB_SERVER_USER=\"$WEB_SERVER_USER\"/g" -i $MAYORDIR/config/main.conf
+ # 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
+
+# BASEDIR és és BACKUPDIR javítása a main.conf-ban
+sed -e "s/BASEDIR=\"\/var\/mayor\"/BASEDIR=\"\/home\/$MAYORUSER\/mayor\"/g" -i $MAYORDIR/config/main.conf
+sed -e "s/BACKUPDIR=\/home\/backup/BACKUPDIR=\/home\/$MAYORUSER\/mayor_backup/g" -i $MAYORDIR/config/main.conf
+
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/45intezmeny.sh b/mayor-installer-fcgi-mod/fcgi_install.d/45intezmeny.sh
new file mode 100755
index 00000000..c41dda18
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/fcgi_install.d/50linker.sh b/mayor-installer-fcgi-mod/fcgi_install.d/50linker.sh
new file mode 100755
index 00000000..bd4910a9
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/50linker.sh
@@ -0,0 +1,59 @@
+#!/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
+ WEB_SERVER_USER=$MAYORUSER
+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-mod/fcgi_install.d/55tex.sh b/mayor-installer-fcgi-mod/fcgi_install.d/55tex.sh
new file mode 100755
index 00000000..87bcbc5f
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/fcgi_install.d/60portal.sh b/mayor-installer-fcgi-mod/fcgi_install.d/60portal.sh
new file mode 100755
index 00000000..62d5353e
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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 32)
+ 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-mod/fcgi_install.d/90chown.sh b/mayor-installer-fcgi-mod/fcgi_install.d/90chown.sh
new file mode 100755
index 00000000..1e090128
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/90chown.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+echo -e "A könyvtárak jogosultságainak beállítása\n\n"
+read -n 1 -p "beállíthatom? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo -e "\nNem.\n"; exit 1; fi
+
+
+if [ $MAYORUSER == "" ] || [ $MAYORDIR == "" ]; then echo -e "A MAYOR(DIR/USER) változó üres! .....kilépek\n" ; exit 1 ; fi
+
+chown -R "$MAYORUSER:$MAYORUSER" /home/$MAYORUSER/ ## Ez esetben a MAYORDIR a /home/xxx/mayor-ra mutat
+
+find /home/$MAYORUSER/ -type f -print0 | xargs -0 chmod 0644
+find /home/$MAYORUSER/ -type d -print0 | xargs -0 chmod 0751
+find /home/$MAYORUSER/ -name '*.php' -print0 | xargs -0 chmod 0640
+find /home/$MAYORUSER/mayor/ -name '*.sh' -print0 | xargs -0 chmod 0600
+find /home/$MAYORUSER/mayor/bin/ -name '*.sh' -print0 | xargs -0 chown root:root
+find /home/$MAYORUSER/mayor/ -name '*.conf' -print0 | xargs -0 chmod 0600
+
+# a csomagoló jogainak visszaállítása
+chmod -R 600 "/home/$MAYORUSER/mayor/www-bin/"
+chmod +x "/home/$MAYORUSER/mayor/www-bin/php7.fcgi"
+
+## de azért idemásolom az eredetit is, biztos-ami-biztos
+chmod 700 $MAYORDIR/config/
+# A main.conf védelme
+chown root:root $MAYORDIR/config/main.conf
+chmod 600 $MAYORDIR/config/main.conf
+
+
+echo -e "...kész.\n" \ No newline at end of file
diff --git a/mayor-installer-fcgi-mod/fcgi_install.d/99end.sh b/mayor-installer-fcgi-mod/fcgi_install.d/99end.sh
new file mode 100755
index 00000000..fab52dc8
--- /dev/null
+++ b/mayor-installer-fcgi-mod/fcgi_install.d/99end.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+echo -e "-------------------------------------------------\n"
+echo -e "Telepítés vége. \n\n"
+
+
+
diff --git a/mayor-installer-fcgi-mod/install.d/05checkdeb.sh b/mayor-installer-fcgi-mod/install.d/05checkdeb.sh
new file mode 100755
index 00000000..2488d60a
--- /dev/null
+++ b/mayor-installer-fcgi-mod/install.d/05checkdeb.sh
@@ -0,0 +1,106 @@
+#!/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
+
+Debian 9 esetén például:
+ deb http://ftp.hu.debian.org/debian/ stretch main contrib non-free
+ deb http://security.debian.org/debian-security stretch/updates main contrib non-free
+ deb http://ftp.hu.debian.org/debian/ stretch-updates main contrib non-free
+ \n"
+
+ read -n 1 -p "Hozzáadhatom? (egyelőre csak Debian9 esetén működik) (i/N)" -s DO
+ if [ "$DO" != "i" ]; then echo -e "\nA hozzáadást kihagytam.\n"; exit 255; fi
+
+ if [[ "x${RELEASE}" =~ ^x9.* ]]; then
+ echo -e "#mayor miatt is:
+deb http://ftp.hu.debian.org/debian/ stretch contrib non-free
+deb http://security.debian.org/debian-security stretch/updates contrib non-free
+deb http://ftp.hu.debian.org/debian/ stretch-updates contrib non-free" >> /etc/apt/sources.list
+
+ fi
+ echo -e "\n ---- csomaglista frissítése ---- \n"
+ apt update ## frisítés
+ echo -e "\n ------------- kész ------------- \n"
+
+ fi
+# exit 255;
+fi
+
+if [[ "x${RELEASE}" =~ ^x9.* ]]
+then
+ PKGS="apache2 php libapache2-mod-php php-json php-mysql php-ldap php-mbstring php-mcrypt php-curl mariadb-server 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 libapache2-mod-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 update
+ apt -m -f install $MISSING
+fi
diff --git a/mayor-installer-fcgi-mod/install.d/10getsource.sh b/mayor-installer-fcgi-mod/install.d/10getsource.sh
new file mode 100755
index 00000000..4aeab546
--- /dev/null
+++ b/mayor-installer-fcgi-mod/install.d/10getsource.sh
@@ -0,0 +1,79 @@
+#!/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
+if [ ! -e "/var/mayor" ]; then
+ ln -s $MAYORDIR /var/mayor
+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-mod/install.d/15createconfig.sh b/mayor-installer-fcgi-mod/install.d/15createconfig.sh
new file mode 100755
index 00000000..8d035fe1
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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 32)
+ 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 32)
+PWREAD=$(pwgen -s1 32)
+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-mod/install.d/20mysql.sh b/mayor-installer-fcgi-mod/install.d/20mysql.sh
new file mode 100755
index 00000000..2979f728
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/install.d/25apache.sh b/mayor-installer-fcgi-mod/install.d/25apache.sh
new file mode 100755
index 00000000..7019d608
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/install.d/30php.sh b/mayor-installer-fcgi-mod/install.d/30php.sh
new file mode 100755
index 00000000..49000c68
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/install.d/35createdatabases.sh b/mayor-installer-fcgi-mod/install.d/35createdatabases.sh
new file mode 100755
index 00000000..718ca3c2
--- /dev/null
+++ b/mayor-installer-fcgi-mod/install.d/35createdatabases.sh
@@ -0,0 +1,132 @@
+#!/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
+# BDIR=$(echo $MAYORDIR | sed -e 's:\/:\\\/:g')
+# sed -e "s/BASEDIR=\"\/var\/mayor\"/BASEDIR=\"$BDIR\"/g" -i $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-mod/install.d/40binary.sh b/mayor-installer-fcgi-mod/install.d/40binary.sh
new file mode 100755
index 00000000..e0f0598b
--- /dev/null
+++ b/mayor-installer-fcgi-mod/install.d/40binary.sh
@@ -0,0 +1,49 @@
+#!/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 BASEDIR változó pontosítása
+ BDIR=$(echo $MAYORDIR | sed -e 's:\/:\\\/:g')
+ sed -e "s/BASEDIR=\"\/var\/mayor\"/BASEDIR=\"$BDIR\"/g" -i $MAYORDIR/config/main.conf
+ # A webserver_user lecserélése, ha nem www-data lenne
+ sed -e "s/WEB_SERVER_USER=\"www-data\"/WEB_SERVER_USER=\"$WEB_SERVER_USER\"/g" -i $MAYORDIR/config/main.conf
+ # 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-mod/install.d/45intezmeny.sh b/mayor-installer-fcgi-mod/install.d/45intezmeny.sh
new file mode 100755
index 00000000..c41dda18
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/install.d/50linker.sh b/mayor-installer-fcgi-mod/install.d/50linker.sh
new file mode 100755
index 00000000..73887902
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/install.d/55tex.sh b/mayor-installer-fcgi-mod/install.d/55tex.sh
new file mode 100755
index 00000000..87bcbc5f
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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-mod/install.d/60portal.sh b/mayor-installer-fcgi-mod/install.d/60portal.sh
new file mode 100755
index 00000000..62d5353e
--- /dev/null
+++ b/mayor-installer-fcgi-mod/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 32)
+ 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-mod/log/mayor-installer.rev b/mayor-installer-fcgi-mod/log/mayor-installer.rev
new file mode 100644
index 00000000..87ca4f07
--- /dev/null
+++ b/mayor-installer-fcgi-mod/log/mayor-installer.rev
@@ -0,0 +1 @@
+4284
diff --git a/mayor-installer-fcgi-mod/setup b/mayor-installer-fcgi-mod/setup
new file mode 100755
index 00000000..0c523a89
--- /dev/null
+++ b/mayor-installer-fcgi-mod/setup
@@ -0,0 +1,48 @@
+#!/bin/bash
+clear
+echo "-------------------------------------------"
+echo " MaYoR Setup "
+echo "-------------------------------------------"
+
+MAYORDIR="/var/mayor"
+TMPDIR="/tmp"
+MYSQLROOTPW=""
+VERSION="current"
+export MAYORDIR
+export TMPDIR
+export MYSQLROOTPW
+export VERSION
+export MAYORUSER="mayor-web"
+
+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.
+
+Lehetőség van a Mayor, az apache2 úgynevezett mod_uexec/mod_fcgi alá történő telepítésére is.\n"
+
+read -n 1 -p "Folytatja? (i/N)" -s DO
+if [ "$DO" != "i" ]; then echo " ok, kiléptem..."; exit 1; fi
+echo -e "\n"
+
+read -n 1 -p "Telepítés: (H)agyományos vagy (F)cgi/suexec-módban? (s/H)" -s DO
+if [ "$DO" != "h" ]; then echo " ok, mod_Suexec/mod_fcgid használata."
+ installer="fcgi_install.d"
+ export MAYORDIR="/home/$MAYORUSER/mayor"
+else
+ installer="install.d"
+ echo " ok, Hagyományos módon."; fi
+ echo -e "\n"
+
+
+
+for f in $installer/*
+do
+ echo -e "\n----------------------------------------------\n$f\nMAYORDIR:$MAYORDIR\nMAYORUSER:$MAYORUSER\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"