Table of contents [expand all
] [collapse all
The HTTP server in this system is Apache
just like in virtually every other sane webserver in the world.
The FastCGI extension has been installed to make it run faster.
The site is running on PHP
code, with a few
helper programs written in C++ or C (such as the GNU Diff program).
The XCache extension has been installed to make it run faster.
The author experimented a bit with
, but deemed it
too complex and the learning time for its use too long
and ended up writing his own Wiki engine.
It is surprisingly small and compact.
In design aspects, he imitated
other Wiki systems he has experience of,
such as the Sensei's Library
, the site utilizes XCache
Questions and answers
PHP was chosen because the author is experienced
in PHP programming and wanted/needed to get the
site running in a short time.
InnoDB was chosen because it is the only backend in MySQL
that supports "foreign key" constraints. This feature was
chosen to be vital for this site.
I see .cgi and .html, even .exe. Does this site really run PHP, and Linux?
: I am adopting several guidelines in my website design.
Instead of writing a lengthy article here, I will provide
some links. They point to articles that should give you
an idea what's going on.
Most important things I can think of now are:
- If an URL needs to be changed, I keep backward compatibility. The old address will redirect to the new.
- If the implementation technique is not relevant for users, keep it out from URLs. That's why I chose .exe and .html instead of .php. Of course, there are no .exe or .html files on my disk. They are virtual addresses that are mapped to .php files that reside in other places.
- If an URL has never existed, attempting to reach it is an error and should give an error message. That's why I have agent Slash which is familiar to some MSIE users.
Why a Wiki?
: Because I wanted to create a Wiki :)
Seriously, I wanted to shift the responsibility
and to delegate work to other people than me.
A Wiki seemed to be perfectly suited for that purpose.
As a side effect of the design, we have changelogs of all page edits
and we can conjure up any past version of pages since they were
introduced into the Wiki. It's a really cool feature.
This is not a Wiki in the sense that any random visitor can edit
everything on the site. But it's close, just with some access
control mechanisms added.
Are there interfaces for acquiring data from the site?
If you want to acquire data from the site for machine
processing, there are two options:
The server consists of
- Intel Xeon X3400 series (quad-core 64-bit CPU)
- Up to 8 GB of RAM
- 90 GB storage reserved for TASVideos
- Utilizes LXC for virtualization without impacting performance
The server's Internet access is through an independent ISP in Canada. Bandwidth is burstable to meet the site's needs.
SiteTechnology last edited by DeHackEd
on 2013-11-02 16:44:35Page info and history | Latest diff | List referrers | View Source