-************************************
-phorkie - PHP and Git based pastebin
-************************************
+****************************
+phorkie - Git based pastebin
+****************************
Self-hosted pastebin software written in PHP.
Pastes are editable, may have multiple files and are stored in git repositories.
-Project page: http://sourceforge.net/p/phorkie/
+`Homepage <https://cweiske.de/phorkie.htm>`__
+| `Bug tracker <https://github.com/cweiske/phorkie/issues>`__
+| `Git repository <https://git.cweiske.de/phorkie.git>`__
+ยท `GitHub mirror <https://github.com/cweiske/phorkie/>`__
+| `News <https://cweiske.de/phorkie-news.htm>`__
.. contents:: Table of Contents
- webhook support - get notified when pastes are created, edited or deleted
- atom feed for new and updated pastes
- notifies remote instances via linkbacks when a paste has been forked
+- text file detection for unknown file types
+
+
+========
+Download
+========
+phorkie is released as self-contained ``.phar`` file that includes
+all dependencies, as well as a normal zip file.
+
+.. LATESTRELEASE
+
+See `phorkie downloads page <http://cweiske.de/phorkie-download.htm>`_
+for all released versions.
============
.phar
=====
-Download ``phorkie-0.6.1.phar`` and put it in your web server's document root
+Download ``phorkie-0.8.1.phar`` and put it in your web server's document root
directory.
No further setup needed.
PHP handle ``.phar`` files.
Unfortunately, no Linux distribution has this activated by default.
+ You can do it yourself, though - see
+ `Enable .phar handling in your web server`__.
.. warning:: PHP has some bugs in its .phar handling code (e.g. with FPM).
So currently, the ``.phar`` option is considered experimental.
+__ http://cweiske.de/tagebuch/phar-webserver.htm
+
Zip package
===========
1. Unzip the phorkie release file::
- $ tar xjvf phorkie-0.6.1.tar.bz2
+ $ tar xjvf phorkie-0.8.1.tar.bz2
2. Create the git directories::
on your machine:
- Git v1.7.5 or later
-- PHP v5.3.0 or later
-- PEAR v1.9.2 or later
-
-::
+- PHP v8.0.0 or later
- $ pear install versioncontrol_git-alpha
- $ pear install services_libravatar-alpha
- $ pear install http_request2
- $ pear install pager
- $ pear install date_humandiff-alpha
- $ pear install openid-alpha
+ - with the ``mbstring`` extension
+- A dozen of libraries
- $ pear channel-discover pear.twig-project.org
- $ pear install twig/Twig
+Use composer to install all dependencies::
- $ pear channel-discover pear.geshi.org
- $ pear install geshi/geshi
-
- $ pear channel-discover zustellzentrum.cweiske.de
- $ pear install zz/mime_type_plaindetect-alpha
-
- $ pear channel-discover pear.michelf.ca
- $ pear install michelf/Markdown
-
- $ pear channel-discover pear2.php.net
- $ pear install pear2/pear2_services_linkback-alpha
-
-
-You can use composer to install all dependencies automatically::
-
- $ composer install
+ $ composer install --no-dev
Note that the ``.phar`` package already contains all dependencies.
It is used to provide search capabilities and the list of recent pastes.
-Elasticsearch version 1.3 is supported.
+Elasticsearch version 2.0 is supported.
+
+You have to install the `delete-by-query`__ plugin::
+
+ $ cd /usr/share/elasticsearch
+ $ bin/plugin install delete-by-query
__ http://www.elasticsearch.org/
+__ https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/plugins-delete-by-query.html
Setup
rewrite ^/([0-9]+)/delete/confirm$ /delete.php?id=$1&confirm=1;
rewrite ^/([0-9]+)/doap$ /doap.php?id=$1;
rewrite ^/([0-9]+)/edit$ /edit.php?id=$1;
- rewrite ^/([0-9]+)/edit/(.+)$ edit.php?id=$1&file=$2
+ rewrite ^/([0-9]+)/edit/(.+)$ /edit.php?id=$1&file=$2;
rewrite ^/([0-9]+)/embed$ /embed.php?id=$1;
- rewrite ^/([0-9]+)/embed/(.+)$ embed.php?id=$1&file=$2
+ rewrite ^/([0-9]+)/embed/(.+)$ /embed.php?id=$1&file=$2;
rewrite ^/([0-9]+)/fork$ /fork.php?id=$1;
rewrite ^/([0-9]+)/raw/(.+)$ /raw.php?id=$1&file=$2;
rewrite ^/([0-9]+)/rev/(.+)$ /revision.php?id=$1&rev=$2;
$ phing phar
#. Test.
#. Tag the release in git
-#. Upload release to sourceforge::
+#. Run the script to update the homepage
- $ phing deploy-sf
+ $ cd /home/cweiske/Dev/html/cweiske.de
+ $ ./scripts/update-phorkie.sh