Lightweight and efficient imageboard
Go to file
Trevor Slocum 784a8dfdd4 Add database migration tool (flatfile -> mysql) 2014-07-20 12:12:00 -07:00
css Add optional WebA and WebM support 2014-06-24 12:51:22 -07:00
inc Add database migration tool (flatfile -> mysql) 2014-07-20 12:12:00 -07:00
res Removing placeholder files 2010-11-29 16:39:16 -08:00
src Removing placeholder files 2010-11-29 16:39:16 -08:00
thumb Removing placeholder files 2010-11-29 16:39:16 -08:00
.gitignore Add optional WebA and WebM support 2014-06-24 12:51:22 -07:00
.htaccess minor code cleanup 2011-01-07 01:50:03 -08:00
LICENSE License 2011-01-07 01:57:43 -08:00
README.md Add database migration tool (flatfile -> mysql) 2014-07-20 12:12:00 -07:00
favicon.ico first commit 2009-09-19 19:53:15 -07:00
imgboard.php Add database migration tool (flatfile -> mysql) 2014-07-20 12:12:00 -07:00
settings.default.php Add database migration tool (flatfile -> mysql) 2014-07-20 12:12:00 -07:00
swf_thumbnail.png Add optional SWF support, make picture support optional, add text board mode 2014-07-05 12:27:18 -07:00
video_overlay.png Add optional WebA and WebM support 2014-06-24 12:51:22 -07:00

README.md

TinyIB - A Lightweight and Efficient Image Board Script

Got database? Get speed. Use MySQL or SQLite for an efficient set-up able to handle high amounts of traffic.

No database? No problem. Store posts as text files for a portable set-up capable of running on virtually any PHP host.

To allow new threads without requiring an image, see the Text Board Mode page.

For demos see the TinyIB Installations page. githalytics.com alpha

Features

  • GIF, JPG, PNG, SWF and WebA/WebM upload.
  • Reference links >>###
  • Delete post via password.
  • Management panel:
    • Administrators and moderators use separate passwords.
      • Moderators are only able to delete posts.
    • Ban offensive/abusive posters across all boards.
    • Post using raw HTML.
    • Upgrade automatically when installed via git. (Tested on Linux only)

Installing

  1. Verify the following requirements are met:
  2. CD to the directory you wish to install TinyIB.
  3. Run the command:
    • git clone git://github.com/tslocum/TinyIB.git ./
  4. Copy settings.default.php to settings.php
  5. Configure settings.php
    • To remove the play icon from .SWF/.WebM thumbnails, delete or rename video_overlay.png.
    • To allow WebA/WebM upload:
      • Ensure your web host is running Linux.
      • Install mediainfo and ffmpegthumbnailer. On Ubuntu, run sudo apt-get install mediainfo ffmpegthumbnailer.
      • Set TINYIB_WEBM to true.
  6. CHMOD write permissions to these directories:
    • ./ (the directory containing TinyIB)
    • ./src/
    • ./thumb/
    • ./res/
    • ./inc/flatfile/ (only if you use flat file for the database)
  7. Navigate your browser to imgboard.php and the following will take place:
    • The database structure will be created.
    • Directories will be verified to be writable.
    • The file index.html will be created containing the new image board.

Moderating

  1. If you are not logged in already, log in to the management panel by clicking [Manage].
  2. On the board, tick the checkbox next to the offending post.
  3. Scroll to the bottom of the page.
  4. Click Delete with the password field blank.
    • From this page you are able to delete the post and/or ban the author.

Updating

  1. Obtain the latest release.
    • If you installed via Git, run the following command in TinyIB's directory:
      • git pull
    • Otherwise, download and extract a zipped archive.
  2. Note which files were modified.
    • If settings.default.php was updated, migrate the changes to settings.php
      • Take care to not change the value of TINYIB_TRIPSEED, as it would result in different secure tripcodes.
    • If other files were updated, and you have made changes yourself:
      • Visit GitHub and review the changes made in the update.
      • Ensure the update does not interfere with your changes.

Migrating

TinyIB includes a database migration tool, which currently only supports migrating from flat file to MySQL. While the migration is in progress, visitors will not be able to create or delete posts.

  1. Edit settings.php
    • Ensure TINYIB_DBMODE is still set to flatfile.
    • Set TINYIB_DBMIGRATE to true.
    • Configure all MySQL-related settings.
  2. Open the management panel.
  3. Click Migrate Database
  4. Click Start the migration
  5. If the migration was successful:
    • Edit settings.php
      • Set TINYIB_DBMODE to mysqli.
      • Set TINYIB_DBMIGRATE to false.
    • Click Rebuild All and ensure the board still looks the way it should.

If there was a warning about AUTO_INCREMENT not being updated, you'll need to update it manually via a more privileged MySQL user. Run the following query for one or both of the tables, dependant of the warnings you were issued:

ALTER TABLE (table name) AUTO_INCREMENT = (value to be set)

Support

Contact tslocum@gmail.com

Contributing

  1. Read the GitHub Forking Guide.
  2. Fork TinyIB.
  3. Commit code changes to your forked repository.
  4. Submit a pull request describing your modifications.