Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Textcube: Brand Yourself - Personalized web publishing platform


Textcube is an opensource tool to archive and share the experiences, ideas, opinions and thoughts.

Supports import/export individual data via XML compatible with other solutions in 'Tattertools Project'

  • Strong support of non-latin compatibility including Korean/Japanese/Chinese
  • Supports various installation environments (webservers,databases and languages)
  • Provides and extensible plugin and skin architecture
  • Expandable from individual blog to blog service platform.
  • Supports easy backup and restore via TTXML format, which is supported by various platforms of 'Project Tattertools.'

License Unstable Testing Stable


Textcube is based on online publishing platform 'Tattertools,' started by JH in 2004, developed by TNC in 2005 and GPLized in 2006. Tatter Network Foundation (TNF) developed Tattertools with TNC from Apr. 2006. Needlworks/TNF was dedicated to Tattertools' development from Nov. 2006, and started developing 'Project S2' as its successor. 'Textcube' was named by YJ Park, and made its debut in Aug. 2007.


Textcube supports various environments. However, you need at least one webserver supporting PHP environments, one database engine

  • Web servers (Need at least one environment)
  • Apache > 2.1
  • fancyURL support with mod_rewrite module (recommended)
  • Nginx > 1.1
  • Lighttpd > 1.4
  • PHP built-in Web Server > 5.5.7
  • IIS > 5.0
  • with ISAPI Rewrite Filter
  • Language
  • PHP > 5.5
  • with iconv (for TTXML character converting from old servers) / gd module (for image resampling)
  • Database Management System (Need at least one environment)
  • MySQL > 5.0 / MariaDB > 5.1 with UTF-8 character set and collation setting
  • With PHP MySQLi extension (MySQLnd support is in development stage.)
  • Cubrid > R2008
  • PostgreSQL > 8.3
  • Sqlite > 3.0

For massive service / Heavy load environments

  • APC (Alternative PHP Cache) pecl package with PHP PEAR
  • XCache
  • memcached module

are strongly recommended.


  • Web servers (Need at least one environment)
  • Apache > 1.3
  • fancyURL support with mod_rewrite module
  • Language
  • (Till Textcube 1.7) PHP 4.35.1, (Till Textcube 1.10) PHP 5.05.3
  • with iconv / gd module
  • Database Management System (Need at least one environment)
  • (Till Textcube 1.7) MySQL > 4.1 / MariaDB > 5 (lower version with UTF-8 emulation routine in Textcube)


Before you start, you need to

  • know the port / username / password of your database
  • have the permission to modify webserver configuration.


You can download latest stable version via bower by

bower install textcube

Manual download

Uncompress the downloaded file, locate them to the web-accessible location. Assume that the textcube location is /var/www/textcube.

Stable Unstable Testing

We recommend using stable version.

Server configuration

This is apache setting ( < 2.4).

<VirtualHost *:80>
    DocumentRoot /var/www/textcube/
    <Directory /var/www/textcube>
        AllowOverride FileInfo
        Require all granted (+needed for apache > 2.4)
        Order allow,deny
        allow from all

This is nginx setting.

server {
   listen  80;
   server_name *;
   root    /var/www/textcube;

   location /  {
       root    /var/www/textcube;
       set $rewrite_base '';
       if (!-f $request_filename) {
           rewrite ^(thumbnail)/([0-9]+/.+)$ cache/$1/$2;
       if ($request_filename ~* ^(cache)+/+(.+[^/])\.(cache|xml|txt|log)$) {
           return 403;
       if (-d $request_filename) {
           rewrite ^(.+[^/])$ $1/;
       rewrite  ^(.*)$ $rewrite_base/rewrite.php last;

   location ~ \.php$ {
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       fastcgi_param  QUERY_STRING     $query_string;
       fastcgi_param  REQUEST_METHOD   $request_method;
       fastcgi_param  CONTENT_TYPE     $content_type;
       fastcgi_param  CONTENT_LENGTH   $content_length;
       include fastcgi_params;
   location ~ /\.ht {
       deny all;

If the accessible URL is, run the installation program by accessing Follow the setup procedure.