Mirror Server

24 Jun 2008 12:55

Today I've (almost) managed to create a mirror server for wikidot.com service.

Features:

  • CentOS distribution
  • almost live Wikidot read only mirror
  • database is replicated from the original service in real time to this server
  • user uploaded files are replicated in real time to this server using FS mirror
  • avatars are to be mirrored with rsync every now and then
  • uses Portable IP address: 67.228.37.27
  • lighttpd serves ALL content with FastCGI PHP
  • database is read-only (as being replication slave)
  • CVS configured to use SSH keys (no password asking)
  • Wikidot PHP source mainly from the current production server
  • Improvements (from CVS): uploaded files served like in OpenSource version

Problems:

  • FS mirror is not 100% exact, it may not synchronize some (little fraction of) files every now and then, so we must rsync them additionally, to make sure nothing's lost
  • if you were logged in to Wikidot before, it'll complain about not being able to write to ozone_session (because it's read only)
  • Flickr Gallery not working and causing the whole page to display just nothing
  • magic file recognition not working (it may be a problem in PHP configuration or an extension):
PHP Warning:  finfo_open(): Failed to load magic database at '/usr/share/misc/magic'. in /var/www/www.wikidot.com/wikidot/php/utils/- on line 3
PHP Warning:  finfo_file(): supplied argument is not a valid file_info resource in /var/www/www.wikidot.com/wikidot/php/utils/- on line 4
PHP Warning:  finfo_close(): supplied argument is not a valid file_info resource in /var/www/www.wikidot.com/wikidot/php/utils/- on line 5

UPDATE: Flickr problem solution:

  1. yum install php-pear-HTTP-Request
  2. chgrp lighttpd /var/lib/php/session

Remember:

  • when switching to mirror, we must restart memcached (or force to invalidate every item in it)

Comments: 2

PingBacks To Come To Wikidot

06 Jun 2008 15:52

I'm currently working on PingBack implementation (both server and client) for current Wikidot software.

The documentation for PingBack is located here: http://hixie.ch/specs/pingback/pingback

The changes will be available on the wiki farm www.wikidot.com and will be incorporated in the open-sourced version www.wikidot.org

We've noticed there are many posts on Wordpress about Wikidot, bunch of them:

and we want to make a smart move to let people from both services (and many more) know what happens on the other.

PingBack is also known to work for many many other services than just WordPress.

Comments: 1

Ubuntu Server 7.10 Wikidot Clean Install

12 Mar 2008 21:10

After creating-a-space-for-virtual-machines-host it's time to prepare a very first productional Wikidot installation on a virtual disk image.

The problems I've encountered:

1. Compiling the PCRE not gave me the expected results (using heap for recursion matches).

More to come…

Comments: 1

Creating a space for Virtual Machines host

11 Mar 2008 22:43

Look at this:

http://dev.wikidot.com/farm-hosting

We want to make some Virtual hosting

I prepare the environment for it.

At first, it'll be the same server like the wikidot.com. In order to install VirtualBox i needed to:

yum install SDL.x86_64
yum install qt.x86_64
ldconfig
rpm -ihv VirtualBox-1.5.6_28266_rhel5-1.x86_64.rpm
(got from here: http://www.virtualbox.org/download/1.5.6/)
then:
/etc/init.d/vboxdrv setup

I added user vbuser with

  • the group vboxusers (added by the RPM installation) — group of users that can run VirtualBox
  • home: /vol/disk1/home-vbuser
  • /home/vbuser links to /vol/disk1/home-vbuser

I started the VNC session with some gnome-panel and metacity for the user.

To do this again (in order one killed that) do:

vncserver

To stop:

killall Xvnc (this will probably kill all running virtual machines).

To connect to it just forward 5903 (this is :3 session of VNC) to localhost, in ssh:
ssh -L 5903:localhost:5903

and connect with a VNC client to the localhost:3

this way you don't transfer the plain password via the network. (the plain password goes through the SSH tunnel).

I created some test machine with a UbuntuServer on it (version 7.10 Gutsy Gibbon i386!!) and needed pkgs for wikidot.com (and the source from svn).

  • RAM: 750MB
  • disk: 20 GB auto-resize, LVM, guided partition scheme
  • network: NAT — change to tun interface

NOTE

This does not work out of the box, we must exchange the kernel like described here: http://tombuntu.com/index.php/2007/09/05/making-ubuntu-server-work-in-virtualbox/

Rescue the system, go to sheel and then:
mount /boot
apt-get remove linux-server
apt-get install linux-generic

then boot from the disk and press ESC when GRUB boots, select generic.

TODO

install OSE version.

Comments: 1

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License