Study Visit “Open Data Initiative in Bulgaria”

Today we held a very productive meeting at the Council of Ministers together with the Bulgarian e-Government Agency and a delegation from the Republic of Kosovo. During the meeting we discussed different aspects of open data and the New Open Data Portal of Bulgaria.

Our team held a presentation on the different requirements we had to cover, as well as the technical difficulties we faced throughout the project. Please feel free to check it out:

Bringing multiple Virtual Hosts within the same URL space with Apache

Our team has been working on a rather large and complex web application project for the past couple of years. Now, nearing its completion, we are challenged with the necessity to host, deploy and support the ready product. On one hand side, we want to retain control over the code base for each customer separately, i.e. be able to introduce individual installations which coexist but have different source code versions. On the other side, we want to offer the platform to everyone under a common URL namespace and be sure, that every user is routed to their own virtual host.

Main Challenges

  • Host a large number of virtual hosts (e.g. more than 1000), each with its own code base, source code revision, database and settings;
  • Introduce individual customer identification and authorization;
  • Secure the virtual hosts serving the actual application and isolate them from the outside World through a firewall;
  • Use the above information to route each customer to the correct virtual host, representing their individual installation;
  • Bring everything transparently under the same URL namespace, advertising a single URL to everyone for product access.

The Approach

The basic idea was to authenticate each web user for the purposes of giving them access to the application. Then use this information to route the user’s requests to the correct virtual host, that contains their individual code base and settings. To achieve this, we decided to introduce a gateway server to handle the authentication and routing.

Continue reading “Bringing multiple Virtual Hosts within the same URL space with Apache”

SVN + SSH Access Log to GrayLog

Log SVN Access to a Central Location

Today I was searching the web for ways to log access to our Subversion repositories. It turns out, that there is no built-in straightforward way to do that. Most of the posts on the Web suggest using the Apache’s access log. This could work only if you have set-up WebDAV on your Apache server. We prefer to use SSH tunnels to access our repositories for many reasons, overhead being one of them.

So I took another run and ended up reading Kintoandar’s blog. He explains a rather simple way of making SVN log every access to the repository. It is based on svnserve, which is called every time a connection to the repository is made. The command itself supports logging, but the optional parameter for using log files is rarely used. Continue reading “SVN + SSH Access Log to GrayLog”