Changeset 8098


Ignore:
Timestamp:
Sep 19, 2018, 1:48:27 PM (11 months ago)
Author:
daduve
Message:

Moodle changes to export

Location:
export-web-sites/trunk/fuentes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • export-web-sites/trunk/fuentes/export-web-sites-gui.install/usr/share/export-web-sites/ExportWebSites.py

    r7988 r8098  
    3939        web_sites=[moodle,jclic,pmb]
    4040        initial_state=[]
     41        apache_error=False
    4142       
    4243        DEBUG=False
     
    308309                               
    309310                        self.spinner.stop()
    310                         self.txt_apply.set_markup("<span foreground='blue'>"+_("Finished. Log is found in /var/log/export-web-sites.log ")+"</span>")
     311                        if self.apache_error:
     312                                self.txt_apply.set_markup("<span foreground='red'>"+_("Apache service fails. Log is found in /var/log/export-web-sites.log ")+"</span>")
     313                        else:
     314                                self.txt_apply.set_markup("<span foreground='blue'>"+_("Finished. Log is found in /var/log/export-web-sites.log ")+"</span>")
    311315                       
    312316                        #Gtk.main_quit()
     
    377381                                        self.dprint("Apache Service has been restarted")
    378382                                else:
     383                                        self.apache_error=True
    379384                                        self.dprint("Apache Service has a problem please contact with adminsitrator")
    380385                                        self.dprint("Apache Service Status: %s"%apache2_restart[1])
  • export-web-sites/trunk/fuentes/export-web-sites-server.install/usr/share/n4d/python-plugins/ExportWebSites.py

    r8053 r8098  
    1616        dir_export="/etc/apache2/lliurex-location"
    1717        mod_extensions=[".conf",".load"]
    18         mod_files=["proxy_html","proxy_http"]
     18        mod_files=["proxy_html","proxy_http","rewrite","xml2enc"]
    1919        mod_available="/etc/apache2/mods-available/"
    2020        mod_enabled="/etc/apache2/mods-enabled/"
     
    6464                try:
    6565                        self.dprint("Moodle is exporting....")
     66                       
     67                        # Exporting lliurex-location/moodle.conf file to external netcard
     68                       
    6669                        if self.directory_exist(self.dir_export):
    6770                                suffix='.conf'
     
    7174                                        os.system('chmod 644 %s'%site_path)
    7275                                        with open(site_path,'w') as file:
     76                                               
     77                                                file.write('RewriteEngine on\n')
     78                                                file.write('RewriteCond "%{REQUEST_URI}" "^/moodle$"\n')
     79                                                file.write('RewriteRule ".*" http://172.20.10.35/moodle/ [R=permament]\n')
     80
    7381                                                file.write('<Location /moodle>\n')
    74                                                 file.write('    SetOutputFilter INFLATE;proxy-html;DEFLATE\n')
    75                                                 file.write('    ProxyHTMLExtended On\n')
    76                                                 file.write('    ProxyHTMLURLMap http://moodle/ http://server/moodle/moodle/\n')
    77                                                 file.write('    ProxyPass http://moodle/\n')
    78                                                 file.write('    ProxyPassReverse http://moodle/\n')
     82
     83                                                file.write('RewriteCond "%{REQUEST_URI}" "^/moodle/moodle/(.+)"\n')
     84                                                file.write('RewriteRule ".*" "http://moodle/%1" [P,QSA,L]\n')
     85                                                file.write('RewriteCond "%{REQUEST_URI}" "^/moodle/moodle/$"\n')
     86                                                file.write('RewriteRule ".*" "http://moodle/" [P]\n')
     87                                                file.write('RewriteRule ".*" "http:/%{REQUEST_URI}" [P]\n')
     88
     89                                                file.write('SetOutputFilter INFLATE;proxy-html;DEFLATE\n')
     90                                                file.write('ProxyHTMLExtended On\n')
     91                                                file.write('ProxyHTMLURLMap "http://moodle" "http://172.20.10.35"\n')
     92                                                file.write('ProxyHTMLURLMap "http://moodle/" "http://172.20.10.35/"\n')
     93                                                file.write('ProxyHTMLURLMap "http:\\/\\/moodle" "http:\\/\\/172.20.10.35" x\n')
     94                                                file.write('ProxyHTMLURLMap "http:\\/\\/moodle\\/" "http:\\/\\/172.20.10.35\\/" x\n')
     95                                                file.write('ProxyPassReverse http://moodle\n')
     96
    7997                                                file.write('</Location>\n')
     98
     99                                                file.write('RewriteCond %{REQUEST_URI} ^/theme/.*$\n')
     100                                                file.write('RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f\n')
     101                                                file.write('RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-d\n')
     102                                                file.write('RewriteRule "^(.*)$" "http://172.20.10.35/moodle/moodle/%{REQUEST_URI}" [P,QSA]\n')
    80103                                               
    81                                 self.dprint("Moodle file is created to exported....")
     104                                self.dprint("/etc/apache2/lliurex-location/moodle.conf file is created to exported....")
     105                       
     106                       
     107                        # Modify sites-avaiable/moodle.conf in internal netcard
     108                       
     109                        modify=True
     110                        suffix='.conf'
     111                        moodle_site_available=os.path.join(self.site_available, "moodle" + suffix)
     112                        if os.path.isfile(moodle_site_available):
     113                                with open(moodle_site_available, "r") as in_file:
     114                                                        buf = in_file.readlines()
     115                                with open(moodle_site_available, "w") as out_file:
     116                                        for line in buf:
     117                                                if  "RewriteEngine" in line:
     118                                                        modify=False
     119                                                else:
     120                                                        if ( "Alias /moodle" in line ) & (modify):
     121                                                                line = 'RewriteEngine on\nRewriteCond "%{REQUEST_URI}" "^/moodle/(.*)$"\nRewriteRule ".*" "http://moodle/%1" [P]\n' + line
     122                                                out_file.write(line)
     123                                       
     124                                self.dprint("/etc/apache2/sites-available/moodle.conf file modified to integer moodle in export netcard....")
     125                       
     126                        modify=True
     127                        moodle_config="/usr/share/moodle/config.php"
     128                        if os.path.isfile(moodle_config):
     129                                with open(moodle_config, "r") as in_file:
     130                                                        buf = in_file.readlines()
     131                                with open(moodle_config, "w") as out_file:
     132                                        for line in buf:
     133                                                if  "reverseproxy" in line:
     134                                                        modify=False
     135                                                else:
     136                                                        if ( "$CFG->admin" in line ) & (modify):
     137                                                                line = line + ' $CFG->reverseproxy = 1;\n'
     138                                                out_file.write(line)
     139                                       
     140                                self.dprint("/usr/share/moodle/config.conf file modified to integer moodle in export netcard....")
     141                               
    82142                        return [True]
    83143               
     
    153213                                        os.remove(site_path)
    154214                                self.dprint("Moodle removed !!!")
    155                         return [True]
    156                
    157                 except Exception as e:
    158                         print ("[ExportWebSitesServer] %s"%e)
    159                         self.dprint(e)
    160                         return [False,str(e)]
    161                
    162         #def export_moodle
     215                       
     216                        # Modify sites-avaiable/moodle.conf in internal netcard
     217                       
     218                        modify=True
     219                        suffix='.conf'
     220                        moodle_site_available=os.path.join(self.site_available, "moodle" + suffix)
     221                        if os.path.isfile(moodle_site_available):
     222                                with open(moodle_site_available, "r") as in_file:
     223                                                        buf = in_file.readlines()
     224                                with open(moodle_site_available, "w") as out_file:
     225                                        for line in buf:
     226                                                if  not "Rewrite" in line:
     227                                                        out_file.write(line)
     228                                       
     229                                self.dprint("/etc/apache2/sites-available/moodle.conf file modified to cancel moodle in export netcard....")
     230                       
     231                       
     232                        return [True]
     233               
     234                except Exception as e:
     235                        print ("[ExportWebSitesServer] %s"%e)
     236                        self.dprint(e)
     237                        return [False,str(e)]
     238               
     239        #def un_export_moodle
    163240       
    164241        def un_export_jclic(self):
     
    179256                        return [False,str(e)]
    180257               
    181         #def export_jclic
     258        #def un_export_jclic
    182259       
    183260        def un_export_pmb(self):
     
    201278                        return [False,str(e)]
    202279               
    203         #def export_pmb
     280        #def un_export_pmb
    204281       
    205282        def read_export_sites(self,web_sites):
     
    245322                        for filename in self.mod_files:
    246323                                for extension in self.mod_extensions:
    247                                         if ( filename  == "proxy_http" ):
     324                                        if ( filename  in ("proxy_http","rewrite","xml2enc") ):
    248325                                                extension=".load"
    249326                                        self.dprint("Creating path file, Path: %s    Filename: %s    Extension: %s"%(self.mod_enabled,filename, extension))
Note: See TracChangeset for help on using the changeset viewer.