I'm using miniCalOPe for that. It's "plain PHP". While I'm using it with EPUB/Mobi/PDF only, it can easily support other formats as well (just enable the corresponding file extensions in its config). For an example how it looks like, you can check my eBook server, selecting the catalog from its start page.
miniCalOPe features a web frontend to be used with any web browser, but also supports reading devices via OPDS catalogs (most eBook readers support that), which is why the start page gives two links for each library (one for the web browser, one for the OPDS catalog to be configured in readers).
Basic feeding is as easy as dropping the files in the corresponding directories, and running the scan script to update the database (it uses an SQLite database as backend). You can setup extended descriptions if you accompany each document with a
*.desc description file – either in plain text (HTML tags are supported) or, with the version currently in development, also using Markdown (via Markdown Extra, which you have to install separately if you want this).
A future release will (hopefully) also have the feature to extract document information from e.g. EPUB metadata. More features are in the queue already; requests can be filed as issues on the Github project page – where you also can find additional information (though most of that is still not migrated from the original project site).
Disclosure: I'm the author of miniCalOPe. I'm running it myself on my eBook server with currently about 7,000 books (German library) and about 1,000 books (English library), so I can say it's capable of dealing with larger amounts of books :)
How does it meet your requirements:
- open source: Yes, all my software is. miniCalOPe uses GPL
- platform: Platform independent (PHP); I run it on Linux (Debian)
- opportunity to download file of book: Yes. Either via web browser, or directly with a reader using OPDS.
- not for read book in the Internet: No, at least currently not :)
- Some simple opportunities for search (by title, author, theme).: Yes. You can search for exactly that – and additionally for anything placed in the document description. You can also search for series if you've defined any (i.e. collection of books belonging together, spanning multiple volumes)
- thematic sections: Called "tags" here. Yes: they are represented by the directory structure (top-level per-catalog is the tag, then the author, and in that directory you drop the documents). You can define multiple "tags" for a document without keeping multiple copies (done via correspoinding
.data files per-document)
- books in the alphabetical order: Whatever you say. User can chose to order by date-added or author as well :)