Difference between revisions of "Cedeus Technical Architecture"

From stgo
Jump to: navigation, search
(setting up re-routing to VMs)
 
(32 intermediate revisions by one user not shown)
Line 1: Line 1:
 
>> return to [[Cedeus_IDE]]
 
>> return to [[Cedeus_IDE]]
 
 
----
 
----
 +
 +
== Main Info ==
  
 
# [[IDE architecture design]]
 
# [[IDE architecture design]]
Line 14: Line 15:
 
#* [[Setting up Tilestream VM on CEDEUSDB]]
 
#* [[Setting up Tilestream VM on CEDEUSDB]]
 
#* [[Setting up GeoNode 2 on 12.04 VM on CedeusGeoNode]]
 
#* [[Setting up GeoNode 2 on 12.04 VM on CedeusGeoNode]]
 +
#* [[Setting up Elgg VM on CedeusGeoNode]] => note, on CedeusGeoNode I am running now Elgg 1.11 natively without a VM
 +
# [[Cedeus DB backups]]
 +
 +
== Accessing all VM via one entry server/domain ==
 +
I installed a reverse proxy to access Geonode, TileStream, Wiki
 +
* to read up a bit:
 +
** see http://stackoverflow.com/questions/224664/difference-between-proxy-server-and-reverse-proxy-server
 +
** see http://httpd.apache.org/docs/current/vhosts/examples.html
 +
 +
=== setting up re-routing to VMs ===
 +
* on cedeusgeonode machine
 +
* go to file ''/etc/apache2/sites-available/''
 +
* <code>sudo nano 000-default.conf</code>
 +
* add the follwing content, and do afterwards the apprpriate setting in geosteiniger.cl domain using the DNS zone editor:
 +
 +
<code>
 +
<VirtualHost *:80>
 +
# The ServerName directive sets the request scheme, hostname and port that
 +
# the server uses to identify itself. This is used when creating
 +
# redirection URLs. In the context of virtual hosts, the ServerName
 +
# specifies what hostname must appear in the request's Host: header to
 +
# match this virtual host. For the default virtual host (this file) this
 +
# value is not decisive as it is used as a last resort host regardless.
 +
# However, you must set it for any further virtual host explicitly.
 +
        # ServerName www.example.com
 +
 +
ServerAdmin webmaster@observatorio.cedeus.cl
 +
        ServerName observatorio.cedeus.cl
 +
        ServerAlias cedeusgeonode.ing.puc.cl
 +
        ServerAlias observatorio.geosteiniger.cl
 +
DocumentRoot /var/www/html
 +
 +
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 +
# error, crit, alert, emerg.
 +
# It is also possible to configure the loglevel for particular
 +
# modules, e.g.
 +
#LogLevel info ssl:warn
 +
 +
ErrorLog ${APACHE_LOG_DIR}/error.log
 +
CustomLog ${APACHE_LOG_DIR}/access.log combined
 +
 +
# For most configuration files from conf-available/, which are
 +
# enabled or disabled at a global level, it is possible to
 +
# include a line for only one particular virtual host. For example the
 +
# following line enables the CGI configuration for this host only
 +
# after it has been globally disabled with "a2disconf".
 +
#Include conf-available/serve-cgi-bin.conf
 +
 +
    # Servers to proxy the connection, or;
 +
    # List of application servers:
 +
    # Usage:
 +
    # ProxyPass / http://[IP Addr.]:[port]/
 +
    # ProxyPassReverse / http://[IP Addr.]:[port]/
 +
 +
    ProxyPass /wiki http://146.155.17.19:22080/wiki/
 +
    ProxyPassReverse /wiki http://146.155.17.19:22080/wiki/
 +
 
 +
</VirtualHost>
 +
 +
#Datos
 +
<VirtualHost *:80>
 +
    ServerName observatorio.cedeus.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass /data/ http://146.155.17.19:13080/
 +
    ProxyPassReverse /data/ http://146.155.17.19:13080/
 +
</VirtualHost>
 +
 +
#Guias
 +
<VirtualHost *:80>
 +
    ServerName guias.observatorio.cedeus.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass / http://146.155.17.19:22080/
 +
    ProxyPassReverse / http://146.155.17.19:22080/
 +
</VirtualHost>
 +
 +
#Wiki geosteiniger
 +
<VirtualHost *:80>
 +
    ServerName wiki.geosteiniger.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass / http://146.155.17.19:21080/
 +
    ProxyPassReverse / http://146.155.17.19:21080/
 +
</VirtualHost>
 +
 +
#CedeusData geosteiniger
 +
<VirtualHost *:80>
 +
    ServerName cedeusdata.geosteiniger.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass / http://146.155.17.19:13080/
 +
    ProxyPassReverse / http://146.155.17.19:13080/
 +
</VirtualHost>
 +
 +
#CedeusWiki geosteiniger
 +
<VirtualHost *:80>
 +
    ServerName cedeuswiki.geosteiniger.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass / http://146.155.17.19:22080/
 +
    ProxyPassReverse / http://146.155.17.19:22080/
 +
</VirtualHost>
 +
 +
#Tilestream geosteiniger
 +
<VirtualHost *:80>
 +
    ServerName tilestream.geosteiniger.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass / http://146.155.17.18:16088/
 +
    ProxyPassReverse / http://146.155.17.18:16088/
 +
</VirtualHost>
 +
 +
#OpenTripPlanner geosteiniger
 +
<VirtualHost *:80>
 +
    ServerName otp.geosteiniger.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass / http://146.155.17.54:8080/
 +
    ProxyPassReverse / http://146.155.17.54:8080/
 +
</VirtualHost>
 +
 +
<VirtualHost *:80>
 +
    ServerName cedeuspubs.geosteiniger.cl
 +
    ProxyRequests Off
 +
    ProxyPreserveHost On
 +
    ProxyPass / http://146.155.17.18:20080/
 +
    ProxyPassReverse / http://146.155.17.18:20080/
 +
</VirtualHost>
 +
 +
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
 +
</code>
 +
 +
=== enabling other webpages aside GeoNode on a machine ===
 +
* on the machine that has geonode installed...
 +
* on Ubuntu 12.04 open <code>sudo nano /etc/apache2/sites-evailable/geonode</code>
 +
*: (usually this would be file ''default'', or so, but in this case geonode is already installed)
 +
* below the entry <code>Alias /robots.txt /var/www/geonode/robots.txt</code>add the entry: <code>Alias /other/ /var/www/html/</code>
 +
*: Note, the ''/var/www/html/'' folder does not exist on Ubuntu 12.04 in contrast to Ubunutu 14.04 where it exist already
 +
* restart apache <code>sudo service apache2 restart</code>
 +
* for testing one may copy the default index.html file into the new ''/var/www/html/'' folder
 +
* test with opening http://localhost/other/
 +
 +
== ToDo ==
 +
* startup VMs automatically : see http://askubuntu.com/questions/404665/how-to-start-virtual-box-machines-automatically-when-booting
 +
*: => I tried to set this up, see [http://wiki.geosteiniger.cl/mediawiki-1.22.7/index.php/CEDEUS_Server_Setup#Automated_Start-Up_of_VM_on_Server_Start CEDEUS Server Setup] , but got some mayor crash. In this case the grub loader of CedeusDB was damaged... however, maybe it was just co-incidence?
 +
* install Elgg for use by researchers (as forum, blog, etc)
 +
** requires installing an email client too, so I can send out messages
 +
* install CartoDB
 +
* check how to synchronize user and passwords (LDAP?)
 +
* test GeoNode 2.x on 14.04
 +
* documentation
 +
* contracts
 +
* add data
 +
* add maps

Latest revision as of 22:11, 28 December 2015

>> return to Cedeus_IDE


Main Info

  1. IDE architecture design
  2. Cedeus Hardware - get computer + server - mid Nov. + end Dec
    • ToDo: evaluacion propio servidor(es) vs. nube (pro + contra)
  3. Cedeus software
    • Cedeus Evaluacion de GeoNode
    • test instalación de GeoNode en mi servidor personal (cedeusgis1) : 6. Ene - 28. Feb:
      • incluyendo: (i) instalación GeoNode, (ii) instalación y test con BD externa, (iii) test backup GeoNode + (iv) test backup BD, (v) test anadir tiles/datos in GeoExplorer de TileStream, (vi) ToDo: create mi proprio servidor TileStream (similar como OpenQuake.org), (vi) ToDo: instalación en servidores reales
  4. running CEDEUS Servers
  5. Cedeus DB backups

Accessing all VM via one entry server/domain

I installed a reverse proxy to access Geonode, TileStream, Wiki

setting up re-routing to VMs

  • on cedeusgeonode machine
  • go to file /etc/apache2/sites-available/
  • sudo nano 000-default.conf
  • add the follwing content, and do afterwards the apprpriate setting in geosteiniger.cl domain using the DNS zone editor:

<VirtualHost *:80>
	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
       # ServerName www.example.com

	ServerAdmin webmaster@observatorio.cedeus.cl
       ServerName observatorio.cedeus.cl
       ServerAlias cedeusgeonode.ing.puc.cl
       ServerAlias observatorio.geosteiniger.cl
	DocumentRoot /var/www/html

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf

   # Servers to proxy the connection, or;
   # List of application servers:
   # Usage:
   # ProxyPass / http://[IP Addr.]:[port]/
   # ProxyPassReverse / http://[IP Addr.]:[port]/

   ProxyPass /wiki http://146.155.17.19:22080/wiki/
   ProxyPassReverse /wiki http://146.155.17.19:22080/wiki/
 
</VirtualHost>

#Datos
<VirtualHost *:80>
   ServerName observatorio.cedeus.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass /data/ http://146.155.17.19:13080/
   ProxyPassReverse /data/ http://146.155.17.19:13080/
</VirtualHost>

#Guias
<VirtualHost *:80>
   ServerName guias.observatorio.cedeus.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://146.155.17.19:22080/
   ProxyPassReverse / http://146.155.17.19:22080/
</VirtualHost>

#Wiki geosteiniger
<VirtualHost *:80>
   ServerName wiki.geosteiniger.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://146.155.17.19:21080/
   ProxyPassReverse / http://146.155.17.19:21080/
</VirtualHost>

#CedeusData geosteiniger
<VirtualHost *:80>
   ServerName cedeusdata.geosteiniger.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://146.155.17.19:13080/
   ProxyPassReverse / http://146.155.17.19:13080/
</VirtualHost>

#CedeusWiki geosteiniger
<VirtualHost *:80>
   ServerName cedeuswiki.geosteiniger.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://146.155.17.19:22080/
   ProxyPassReverse / http://146.155.17.19:22080/
</VirtualHost>

#Tilestream geosteiniger
<VirtualHost *:80>
   ServerName tilestream.geosteiniger.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://146.155.17.18:16088/
   ProxyPassReverse / http://146.155.17.18:16088/
</VirtualHost>

#OpenTripPlanner geosteiniger
<VirtualHost *:80>
   ServerName otp.geosteiniger.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://146.155.17.54:8080/
   ProxyPassReverse / http://146.155.17.54:8080/
</VirtualHost>
<VirtualHost *:80>
   ServerName cedeuspubs.geosteiniger.cl
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://146.155.17.18:20080/
   ProxyPassReverse / http://146.155.17.18:20080/
</VirtualHost> 
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

enabling other webpages aside GeoNode on a machine

  • on the machine that has geonode installed...
  • on Ubuntu 12.04 open sudo nano /etc/apache2/sites-evailable/geonode
    (usually this would be file default, or so, but in this case geonode is already installed)
  • below the entry Alias /robots.txt /var/www/geonode/robots.txtadd the entry: Alias /other/ /var/www/html/
    Note, the /var/www/html/ folder does not exist on Ubuntu 12.04 in contrast to Ubunutu 14.04 where it exist already
  • restart apache sudo service apache2 restart
  • for testing one may copy the default index.html file into the new /var/www/html/ folder
  • test with opening http://localhost/other/

ToDo