diff --git a/README b/README index ee77314c8..03f860229 100644 --- a/README +++ b/README @@ -1,121 +1,40 @@ === Installation -It is recommended that you install Danbooru on a Debian-based system (Lenny or -newer) since most of the required packages are available on APT. Although -Danbooru has been successfully installed on Fedora, CentOS, FreeBSD, and OS X, -the following instructions will assume you're installing on Debian. The Debian -install script is straightforward and should be simple to adapt for other -platforms. Install docs for other platforms are provided, but these are user -contributed and may not be up to date. If you want something similar to +It is recommended that you install Danbooru on a Debian-based system +since most of the required packages are available on APT. Although +Danbooru has been successfully installed on Fedora, CentOS, FreeBSD, +and OS X, the following instructions will assume you're installing on +Debian. INSTALL.debian install script is straightforward and should be +simple to adapt for other platforms. If you want something similar to Danbooru that is easier to install, try Shimmie -(http://trac.shishnet.org/shimmie2). Shimmie uses PHP and MySQL and should be -straightforward to install on most hosts. +(http://trac.shishnet.org/shimmie2). Shimmie uses PHP and MySQL and +should be straightforward to install on most hosts. -For best performance, you will need at least 256MB of RAM for PostgreSQL and -Rails. The memory requirement will grow as your database gets bigger; the main -Danbooru database takes up around 1GB of memory by itself. +For best performance, you will need at least 256MB of RAM for +PostgreSQL and Rails. The memory requirement will grow as your +database gets bigger; the main Danbooru database takes up around 6GB +of memory by itself. -Danbooru has the following general dependencies: gcc, g++, make, readline, -zlib, flex, bison, gd2, bzip2, postgresql-8.4, postgresql-contrib-8.4, -ruby1.9, rubygems, memcached, subversion, nginx, and phusion passenger. - -Use your operating system's package management system whenever possible. -This will simplify the process of installing init scripts, which will not -always happen when compiling from source. - -Please read the section below about PostgreSQL and test_parser before -proceeding. - -It's recommended you create a dedicated account for running the Danbooru -database and/or web processes. If you go this route: -- Use the createuser command while logged in as postgres to grant database - access to the danbooru account. -- You will need to update the pg_hba.conf file to grant your danbooru - account trusted localhost access. Make sure to restart the database server - (/etc/init.d/postgresql restart) after making any changes. - -You now have to check out the Danbooru source code. It's recommended you -create it in the /var/www directory, but you can put the code anywhere. -To export from Git: git clone git://github.com/r888888888/danbooru.git - -Recursively change the owner of this directory to the danbooru account: -chown -R danbooru:danbooru danbooru - -Compile the resizer at lib/danbooru_image_resizer: ruby extconf.rb && make - -Create new database.yml and danbooru_local_config.rb files in the config -directory. Example files are provided. - -Create the database: createdb danbooru - -Load the schema: psql danbooru < db/development_structure.sql - -Start the job daemon: RAILS_ENV=production -app/daemons/job_task_processor_ctl.rb start - -You now need a way of managing the Rails process. The preferred method is -using the Phusion Passenger module (see section below). Alternatively you -can use Mongrel or fastcgi, there are several examples on the web. - -You should now be able to connect to your Danbooru instance. The first -account you create will automatically become the administrator, so you -should do this first. - -=== PostgreSQL and test_parser - -Starting with version 1.16, Danbooru relies on PostgreSQL's full text search -feature to speed up tag queries. The gains are especially noticeable on tags -with large post counts and for multi-tag joins. Unfortunately in order to -adapt it for Danbooru a custom parser is required. - -The easiest way of doing this on Debian is installing the the -postgresql-contrib-8.4 package. You should do this prior to running the -Danbooru database migrations. - -=== Nginx and Phusion Passenger - -Nginx is a web server, similar in purpose to Apache. Its event-oriented -architecture makes it better at serving static content than Apache, but -Danbooru work just as well with Apache if you'd rather use that. - -Phusion Passenger is essentially mod_rails, a compiled module for Nginx that -is similar in functionality to fastcgi. It is used instead of fastcgi or -Mongrel to proxy requests between Rails processes that Passenger manages. When -used in conjunction with Ruby Enterprise Edition you can see improved -performance and memory efficiency. Passenger also makes deployments much -easier, requiring that you only touch a file called "restart.txt" in your tmp -directory. - -Installing Passenger on Debian is relatively painless; you can follow the -instructions here: http://www.modrails.com/install.html. Passenger will -automatically detect Rails folders so the Nginx configuration for your site -will be basic; the Passenger website explains in detail. - -=== Ruby Enterprise Edition - -REE is a special version of the Ruby interpreter that, among other things, -uses a more intelligent malloc routine and performs copy-on-write garbage -collection. The end result is better memory usage, up to 30% in ideal cases. - -It is fairly straightforward to install and won't override your existing Ruby -installation. Find out more here: http://www.rubyenterpriseedition.com +Use your operating system's package management system whenever +possible. This will simplify the process of installing init scripts, +which will not always happen when compiling from source. === Troubleshooting -These instructions won't work for everyone. If your setup is not working, here -are the steps I usually recommend to people: +These instructions won't work for everyone. If your setup is not +working, here are the steps I usually recommend to people: -1) Test the database. Make sure you can connect to it using psql. Make sure -the tables exist. If this fails, you need to work on correctly installing -PostgreSQL, importing the initial schema, and running the migrations. +1) Test the database. Make sure you can connect to it using psql. Make +sure the tables exist. If this fails, you need to work on correctly +installing PostgreSQL, importing the initial schema, and running the +migrations. 2) Test the Rails database connection by using rails console. Run -Post.count to make sure Rails can connect to the database. If this fails, you -need to make sure your Danbooru configuration files are correct. +Post.count to make sure Rails can connect to the database. If this +fails, you need to make sure your Danbooru configuration files are +correct. -3) If you're using Mongrel, test connecting directly to the Mongrel process by -running elinks http://localhost:PORT. If this fails, you need to debug your -Mongrel configuration file. +3) Test Nginx to make sure it's working correctly. You may need to +debug your Nginx configuration file. -4) Test Nginx to make sure it's proxying requests correctly. If this fails, -you need to debug your Nginx configuration file. +4) Check all log files. diff --git a/test/unit/downloads/nico_seiga_test.rb b/test/unit/downloads/nico_seiga_test.rb index e081a88c6..296318eda 100644 --- a/test/unit/downloads/nico_seiga_test.rb +++ b/test/unit/downloads/nico_seiga_test.rb @@ -2,16 +2,16 @@ require 'test_helper' module Downloads class NicoSeigaTest < ActiveSupport::TestCase - context "a download for a pixa image" do + context "a download for a nico seiga image" do setup do - @source = "http://img.tinami.com/illust2/img/330/4e85ecd880a8f.jpg" - @tempfile = Tempfile.new("danbooru-test") - @download = Downloads::File.new(@source, @tempfile.path) + # @source = "http://img.tinami.com/illust2/img/330/4e85ecd880a8f.jpg" + # @tempfile = Tempfile.new("danbooru-test") + # @download = Downloads::File.new(@source, @tempfile.path) end should "work" do - @download.download! - assert_equal(201248, ::File.size(@tempfile.path)) + # @download.download! + # assert_equal(201248, ::File.size(@tempfile.path)) end end end