incrementing version number, updating docs
This commit is contained in:
116
INSTALL.md
116
INSTALL.md
@@ -1,20 +1,47 @@
|
||||
Installation
|
||||
============
|
||||
|
||||
For Administrators
|
||||
------------------
|
||||
## Basic installation
|
||||
|
||||
In the index.php in the main folder you can define a different PATH. This is
|
||||
useful if you want to secure your installation and want to move the
|
||||
configuration, data files, templates and PHP libraries (directories cfg, data,
|
||||
lib, tpl and tst) outside of your document root. This new location must still
|
||||
be accessible to your webserver / PHP process.
|
||||
**TL;DR:** Download the [latest release archive](https://github.com/elrido/ZeroBin/releases/latest)
|
||||
and extract it in your web hosts folder were you want to install your ZeroBin instance.
|
||||
|
||||
> ### PATH Example ###
|
||||
> Your zerobin installation lives in a subfolder called "paste" inside of your
|
||||
### Requirements
|
||||
|
||||
- PHP version 5.2.6 or above
|
||||
- GD extension
|
||||
- mcrypt extension (recommended)
|
||||
- some disk space or (optional) a database supported by PDO
|
||||
- A web browser with javascript support
|
||||
|
||||
### Configuration
|
||||
|
||||
In the file `cfg/conf.ini` you can configure ZeroBin. The config file is divided
|
||||
into multiple sections, which are enclosed in square brackets.
|
||||
|
||||
In the `[main]` section you can enable or disable the discussion feature, set the
|
||||
limit of stored pastes and comments in bytes. The `[traffic]` section lets you
|
||||
set a time limit in seconds. Users may not post more often then this limit to
|
||||
your ZeroBin installation.
|
||||
|
||||
More details can be found in the
|
||||
[configuration documentation](https://github.com/elrido/ZeroBin/wiki/Configuration).
|
||||
|
||||
## Advanced installation
|
||||
|
||||
### Changing the path
|
||||
|
||||
In the index.php you can define a different `PATH`. This is useful to secure your
|
||||
installation. You can move the configuration, data files, templates and PHP
|
||||
libraries (directories cfg, data, lib, tpl, tmp and tst) outside of your document
|
||||
root. This new location must still be accessible to your webserver / PHP process
|
||||
([open_basedir setting](http://php.net/manual/en/ini.core.php#ini.open-basedir)).
|
||||
|
||||
> #### PATH Example
|
||||
> Your zerobin installation lives in a subfolder called "paste" inside of your
|
||||
> document root. The URL looks like this:
|
||||
> http://example.com/paste/
|
||||
> The ZeroBin folder on your webserver is really:
|
||||
> The full path of ZeroBin on your webserver is:
|
||||
> /home/example.com/htdocs/paste
|
||||
>
|
||||
> When setting the path like this:
|
||||
@@ -22,29 +49,27 @@ be accessible to your webserver / PHP process.
|
||||
> ZeroBin will look for your includes here:
|
||||
> /home/example.com/secret/zerobin
|
||||
|
||||
In the file "cfg/conf.ini" you can configure ZeroBin. The config file is
|
||||
divided into multiple sections, which are enclosed in square brackets. In the
|
||||
"[main]" section you can enable or disable the discussion feature, set the
|
||||
limit of stored pastes and comments in bytes. The "[traffic]" section lets you
|
||||
set a time limit in seconds. Users may not post more often then this limit to
|
||||
your ZeroBin.
|
||||
### Using a database instead of flat files
|
||||
|
||||
Finally the "[model]" and "[model_options]" sections let you configure your
|
||||
favourite way of storing the pastes and discussions on your server.
|
||||
"zerobin_data" is the default model, which stores everything in files in the
|
||||
data folder. This is the recommended setup for low traffic sites. Under high
|
||||
load, in distributed setups or if you are not allowed to store files locally,
|
||||
you might want to switch to the "zerobin_db" model. This lets you store your
|
||||
data in a database. Basically all databases that are supported by PDO (PHP
|
||||
data objects) may be used. Automatic table creation is provided for pdo_ibm,
|
||||
pdo_informix, pdo_mssql, pdo_mysql, pdo_oci, pdo_pgsql and pdo_sqlite. You may
|
||||
want to provide a table prefix, if you have to share the zerobin database with
|
||||
another application. The table prefix option is called "tbl".
|
||||
In the configuration file the `[model]` and `[model_options]` sections let you
|
||||
configure your favourite way of storing the pastes and discussions on your server.
|
||||
|
||||
> ### Note ###
|
||||
> The "zerobin_db" model has only been tested with SQLite and MySQL, although
|
||||
> it would not be recommended to use SQLite in a production environment. If you
|
||||
> gain any experience running ZeroBin on other RDBMS, please let us know.
|
||||
`zerobin_data` is the default model, which stores everything in files in the data
|
||||
folder. This is the recommended setup for most sites.
|
||||
|
||||
Under high load, in distributed setups or if you are not allowed to store files
|
||||
locally, you might want to switch to the `zerobin_db` model. This lets you store
|
||||
your data in a database. Basically all databases that are supported by
|
||||
[PDO](http://php.net/manual/en/book.pdo.php) may be used. Automatic table
|
||||
creation is provided for `pdo_ibm`, `pdo_informix`, `pdo_mssql`, `pdo_mysql`,
|
||||
`pdo_oci`, `pdo_pgsql` and `pdo_sqlite`. You may want to provide a table prefix,
|
||||
if you have to share the zerobin database with another application. The table
|
||||
prefix option is called `tbl`.
|
||||
|
||||
> #### Note
|
||||
> The "zerobin_db" model has only been tested with SQLite and MySQL, although it
|
||||
would not be recommended to use SQLite in a production environment. If you gain
|
||||
any experience running ZeroBin on other RDBMS, please let us know.
|
||||
|
||||
For reference or if you want to create the table schema for yourself:
|
||||
|
||||
@@ -66,32 +91,3 @@ For reference or if you want to create the table schema for yourself:
|
||||
vizhash TEXT,
|
||||
postdate INT
|
||||
);
|
||||
|
||||
For Developers
|
||||
--------------
|
||||
If you want to create your own data models, you might want to know how the
|
||||
arrays, that you have to store, look like:
|
||||
|
||||
public function create($pasteid, $paste)
|
||||
{
|
||||
$pasteid = substr(hash('md5', $paste['data']), 0, 16);
|
||||
|
||||
$paste['data'] // text
|
||||
$paste['meta']['postdate'] // int UNIX timestamp
|
||||
$paste['meta']['expire_date'] // int UNIX timestamp
|
||||
$paste['meta']['opendiscussion'] // true (if false it is unset)
|
||||
$paste['meta']['burnafterreading'] // true (if false it is unset; if true, then opendiscussion is unset)
|
||||
}
|
||||
|
||||
public function createComment($pasteid, $parentid, $commentid, $comment)
|
||||
{
|
||||
$pasteid // the id of the paste this comment belongs to
|
||||
$parentid // the id of the parent of this comment, may be the paste id itself
|
||||
$commentid = substr(hash('md5', $paste['data']), 0, 16);
|
||||
|
||||
$comment['data'] // text
|
||||
$comment['meta']['nickname'] // text or null (if anonymous)
|
||||
$comment['meta']['vizhash'] // text or null (if anonymous)
|
||||
$comment['meta']['postdate'] // int UNIX timestamp
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user