Phorkie: Difference between revisions

From Leo's Notes
This page was last edited on 24 February 2017, at 04:23.
m Text replacement - "{{highlight|lang=bash" to "{{highlight|lang=terminal"
m Text replacement - "{{Highlight|lang=bash" to "{{highlight|lang=terminal"
Line 6: Line 6:
Phorkie can be installed on any server with PHP.
Phorkie can be installed on any server with PHP.


{{Highlight|lang=bash|code=
{{highlight|lang=terminal|code=
cd /home/leo/www
cd /home/leo/www
git clone https://github.com/kohrar/phorkie.git
git clone https://github.com/kohrar/phorkie.git

Revision as of 04:23, 24 February 2017

Phorkie is a self hosted pastebin-like web application written in PHP. It uses only git repositories as its data store.

The original Phorkie can be found at https://github.com/cweiske/phorkie.git. The installation steps outlined below uses my modified version.

Installation

Phorkie can be installed on any server with PHP.

cd /home/leo/www
git clone https://github.com/kohrar/phorkie.git

# Set up git directories that act as the data store
cd phorkie
mkdir -p www/repos/git www/repos/work
cp data/config.php.dist data/config.php

# Get dependencies
composer install

MediaWiki Integration

You can integrate Phorkie into your MediaWiki installation using the Phorkie MediaWiki extension available at https://github.com/kohrar/phorkie-mediawiki

Issues

Cannot Create New Text/Paste

Whenever a new paste is created, the following error appears:

Error
Some errors in executing git command Output: Error: *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident name (for <leo@web.home.steamr.com>) not allowed

This is a bug with Phorkie where the git command being passed is defining the git user and not owner. This can be fixed by modifying the src/phorkie/Repository/Setup.php file so owner.name and owner.email becomes user.name and user.email.

//keep track of owner
        $vc->getCommand('config')
            ->addArgument('owner.name')
            ->addArgument($_SESSION['name'])
            ->execute();
        $vc->getCommand('config')
            ->addArgument('owner.email')
            ->addArgument($_SESSION['email'])
            ->execute();
//keep track of owner
        $vc->getCommand('config')
            ->addArgument('user.name')
            ->addArgument($_SESSION['name'])
            ->execute();
        $vc->getCommand('config')
            ->addArgument('user.email')
            ->addArgument($_SESSION['email'])
            ->execute();

Moving Repo Directory

If the repo directory location changes (such as moving to a new server), you need to update the git repositories' configuration files as well since they have the absolute path of the worktree defined.

Under the repos/git directory, run the following:

/bin/grep -iR "phorkie/www/repos/work" *