Changeset 8252


Ignore:
Timestamp:
Nov 26, 2018, 12:44:56 PM (2 years ago)
Author:
daduve
Message:

Fix Bug to export web sites

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

Legend:

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

    r8173 r8252  
    9898                self.switch_moodle = builder.get_object("checkbutton1")
    9999                self.switch_jclic = builder.get_object("checkbutton2")
    100                 self.switch_jclic.set_sensitive(False)
     100                #self.switch_jclic.set_sensitive(False)
    101101                self.switch_pmb = builder.get_object("checkbutton3")
    102102               
  • export-web-sites/trunk/fuentes/export-web-sites-gui.install/usr/share/export-web-sites/rsrc/export-web-sites.ui

    r8174 r8252  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <!-- Generated with glade 3.18.3 -->
     2<!-- Generated with glade 3.22.1 -->
    33<interface>
    44  <requires lib="gtk+" version="3.12"/>
     
    268268              <object class="GtkLabel" id="label2">
    269269                <property name="visible">True</property>
    270                 <property name="sensitive">False</property>
    271270                <property name="can_focus">False</property>
    272271                <property name="xpad">10</property>
     
    401400    <property name="window_position">center</property>
    402401    <child>
     402      <placeholder/>
     403    </child>
     404    <child>
    403405      <object class="GtkBox" id="main_box">
    404406        <property name="visible">True</property>
  • export-web-sites/trunk/fuentes/export-web-sites-server.install/usr/share/n4d/python-plugins/ExportWebSites.py

    r8176 r8252  
    99        logging.basicConfig(format = '%(asctime)s %(message)s',datefmt = '%m/%d/%Y %I:%M:%S %p',filename = '/var/log/export-web-sites.log',level=logging.DEBUG)
    1010       
    11         DEBUG=False
     11        DEBUG=True
    1212       
    1313        moodle="moodle"
     
    1515        jclic="jclic"
    1616        dir_export="/etc/apache2/lliurex-location"
    17         mod_extensions=[".conf",".load"]
    18         mod_files=["proxy","proxy_html","proxy_http","rewrite","xml2enc"]
     17        mod_files=["proxy","proxy_http","rewrite","ext_filter"]
    1918        mod_available="/etc/apache2/mods-available/"
    2019        mod_enabled="/etc/apache2/mods-enabled/"
     
    7776                                                file.write('RewriteEngine on\n')
    7877                                                file.write('RewriteCond "%{REQUEST_URI}" "^/moodle$"\n')
    79                                                 file.write('RewriteRule ".*" http://server/moodle/ [R=permament]\n')
     78                                                file.write('RewriteRule ".*" http://%{HTTP_HOST}/moodle/ [R=permament]\n')
     79
     80                                                file.write('ExtFilterDefine rewrite_ews mode=output cmd=/usr/bin/rewrite_ews\n')
    8081
    8182                                                file.write('<Location /moodle>\n')
    8283
    83                                                 file.write('RewriteCond "%{REQUEST_URI}" "^/moodle/moodle/(.+)"\n')
     84                                                file.write('SetOutputFilter inflate;rewrite_ews;deflate\n')
     85
     86                                                file.write('RewriteCond "%{REQUEST_URI}" "^/moodle/(.+)"\n')
    8487                                                file.write('RewriteRule ".*" "http://moodle/%1" [P,QSA,L]\n')
    85                                                 file.write('RewriteCond "%{REQUEST_URI}" "^/moodle/moodle/$"\n')
     88
     89                                                file.write('RewriteCond "%{REQUEST_URI}" "^/moodle/$"\n')
    8690                                                file.write('RewriteRule ".*" "http://moodle/" [P]\n')
     91
    8792                                                file.write('RewriteRule ".*" "http:/%{REQUEST_URI}" [P]\n')
    8893
    89                                                 file.write('SetOutputFilter INFLATE;proxy-html;DEFLATE\n')
    90                                                 file.write('ProxyHTMLExtended On\n')
    91                                                 file.write('ProxyHTMLURLMap "http://moodle" "http://server"\n')
    92                                                 file.write('ProxyHTMLURLMap "http://moodle/" "http://server/"\n')
    93                                                 file.write('ProxyHTMLURLMap "http:\\/\\/moodle" "http:\\/\\/server" x\n')
    94                                                 file.write('ProxyHTMLURLMap "http:\\/\\/moodle\\/" "http:\\/\\/server\\/" x\n')
    9594                                                file.write('ProxyPassReverse http://moodle\n')
    96 
    9795                                                file.write('</Location>\n')
    9896
     
    10098                                                file.write('RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f\n')
    10199                                                file.write('RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-d\n')
    102                                                 file.write('RewriteRule "^(.*)$" "http://server/moodle/moodle/%{REQUEST_URI}" [P,QSA]\n')
     100                                                file.write('RewriteRule "^(.*)$" "http://%{HTTP_HOST}/moodle/%{REQUEST_URI}" [P,QSA]\n')
     101                               
     102                                site_path2="/usr/bin/rewrite_ews"
     103                                if not os.path.isfile(site_path2):
     104                                        print ("[ExportWebSitesServer] Writing /usr/bin/rewrite_ews....")
     105                                        os.mknod(site_path2)
     106                                os.system('chmod 755 %s'%site_path2)
     107                                with open(site_path2,'w') as file:
     108                                        file.write('#!/usr/bin/python\n')
     109                                        file.write('import sys,time\n')
     110                                        file.write('from subprocess import check_output\n')
     111                                        file.write('textchars = bytearray({7,8,9,10,12,13,27}|set(range(0x20,0x100))-{0x7f})\n')
     112                                        file.write('is_bin = lambda bytes: bool(bytes.translate(None,textchars))\n')
     113
     114                                        file.write('def get_ip():\n')
     115                                        file.write('    ipstr=check_output(["/sbin/ip","-o","route","get","8.8.8.8"])\n')
     116                                        file.write('    iplist=ipstr.split()\n')
     117                                        file.write('    ip=None\n')
     118                                        file.write('    for i in range(len(iplist)):\n')
     119                                        file.write("            if iplist[i] == 'src':\n")
     120                                        file.write('                    ip = iplist[i+1]\n')
     121                                        file.write('                    break\n')
     122                                        file.write('    return ip\n')
     123
     124                                        file.write('ip=get_ip()\n')
     125
     126                                        file.write("pattern = { 'http://moodle' : 'http://'+ip+'/moodle', 'http:\/\/moodle' : 'http:\/\/'+ip+'\/moodle', 'http%3F%2F%2Fmoodle': 'http%3F%2F%2F'+ip+'%2Fmoodle'}\n")
     127                                        file.write('replace=True\n')
     128                                        file.write('for line in sys.stdin:\n')
     129                                        file.write('    if is_bin(line):\n')
     130                                        file.write('            replace=False\n')
     131                                        file.write('    if replace:\n')
     132                                        file.write('            for p in pattern.keys():\n')
     133                                        file.write('                    line=line.replace(p,pattern[p])\n')
     134                                        file.write('    sys.stdout.write(line)\n')
     135                                               
     136                                        print ("[ExportWebSitesServer] File writed.")
    103137                                               
    104138                                self.dprint("/etc/apache2/lliurex-location/moodle.conf file is created to exported....")
     
    107141                        # Modify sites-avaiable/moodle.conf in internal netcard
    108142                       
    109                         modify=True
     143                        '''modify=True
    110144                        suffix='.conf'
    111145                        moodle_site_available=os.path.join(self.site_available, "moodle" + suffix)
     
    122156                                                out_file.write(line)
    123157                                       
    124                                 self.dprint("/etc/apache2/sites-available/moodle.conf file modified to integer moodle in export netcard....")
    125                        
    126                         modify=True
     158                                self.dprint("/etc/apache2/sites-available/moodle.conf file modified to integer moodle in export netcard....")'''
     159                       
     160                        '''modify=True
    127161                        moodle_config="/usr/share/moodle/config.php"
    128162                        if os.path.isfile(moodle_config):
     
    138172                                                out_file.write(line)
    139173                                       
    140                                 self.dprint("/usr/share/moodle/config.conf file modified to integer moodle in export netcard....")
     174                                self.dprint("/usr/share/moodle/config.conf file modified to integer moodle in export netcard....")'''
    141175                               
    142176                        return [True]
     
    157191                                site_path=os.path.join(self.dir_export, "jclic" + suffix)
    158192                                if not os.path.isfile(site_path):
    159                                         #os.mknod(site_path)
    160                                         pass
     193                                        os.mknod(site_path)
     194                                        os.system('chmod 644 %s'%site_path)
     195                                        with open(site_path,'w') as file:
     196                                               
     197                                                file.write('RewriteEngine on\n')
     198                                                file.write('RewriteCond "%{REQUEST_URI}" "^/jclic-aula$"\n')
     199                                                file.write('RewriteRule ".*" http://%{SERVER_NAME}/jclic-aula/index.php [R=permament]\n')
     200                                                file.write('RewriteRule ^ - [E=server_jclic:%{SERVER_NAME}]\n')
     201
     202                                                file.write('<Location /jclic-aula>\n')
     203
     204                                                file.write('RewriteCond "%{REQUEST_URI}" "^/jclic-aula/(.+)"\n')
     205                                                file.write('RewriteRule ".*" "http://jclic-aula/%1" [P,QSA,L]\n')
     206                                                file.write('RewriteCond "%{REQUEST_URI}" "^/jclic-aula/$"\n')
     207                                                file.write('RewriteRule ".*" "http://jclic-aula/" [P]\n')
     208                                                file.write('RewriteRule ".*" "http:/%{REQUEST_URI}" [P]\n')
     209
     210                                                file.write('SetOutputFilter INFLATE;proxy-html;DEFLATE\n')
     211                                                file.write('ProxyHTMLExtended On\n')
     212                                                file.write('ProxyHTMLInterp On\n')
     213                                               
     214                                                file.write('ProxyHTMLURLMap "http://server/jclic-aula" "http://${server_jclic}/jclic-aula" V\n')
     215                                                file.write('ProxyHTMLURLMap "http://jclic-aula" "http://${server_jclic}/jclic-aula" V\n')
     216                                                file.write('ProxyHTMLURLMap "http://jclic-aula/" "http://${server_jclic}/jclic-aula/" V\n')
     217                                                file.write('ProxyHTMLURLMap "http:\/\/jclic-aula" "http:\/\/${server_jclic}/jclic-aula" x,V\n')
     218                                                file.write('ProxyHTMLURLMap "http:\/\/jclic-aula\/" "http:\/\/${server_jclic}\/jclic-aula" x,V\n')
     219                                                file.write('ProxyPassReverse http://jclic-aula\n')
     220
     221                                                file.write('</Location>\n')
     222
     223
    161224                                self.dprint("Jclic file is created to exported....")
    162225                        return [True]
     
    321384                        self.dprint("Activating Exportation.....")
    322385                        for filename in self.mod_files:
    323                                 for extension in self.mod_extensions:
    324                                         if ( filename  in ("proxy_http","rewrite","xml2enc") ):
    325                                                 extension=".load"
    326                                         self.dprint("Creating path file, Path: %s    Filename: %s    Extension: %s"%(self.mod_enabled,filename, extension))
    327                                         path_mod_enabled=os.path.join(self.mod_enabled, filename + extension)
    328                                         path_mod_available=os.path.join(self.mod_available, filename + extension)
    329                                         if not os.path.exists(path_mod_enabled):
    330                                                 self.dprint("Creating link...")
    331                                                 os.symlink(path_mod_available,path_mod_enabled)
    332                                         else:
    333                                                 self.dprint("Link exists, do nothing...")
     386                                os.system('a2enmod %s'%filename)
    334387                        return [True]
    335388               
Note: See TracChangeset for help on using the changeset viewer.