Skip to content

huoybb/forum

 
 

Repository files navigation

Phosphorum 2

Build Status

Phosphorum is an engine for building flexible, clear and fast forums. You can adapt it to your own needs or improve it if you want.

Please write us if you have any feedback.

It is used by:

NOTE

The master branch will always contain the latest stable version. If you wish to check older versions or newer ones currently under development, please switch to the relevant branch/tag.

Get Started

Requirements

To run this application on your machine, you need at least:

Note: We highly recommend to use at least PHP 5.5. Support for PHP 5.4 will be only as long as it does not impose restrictions on the forum. This support may be stopped suddenly.

Installation

Install composer in a common location or in your project:

$ curl -s http://getcomposer.org/installer | php

Create the composer.json file as follows:

{
    "require": {
        "phalcon/forum": "^2.0"
    }
}

Run the composer installer:

$ php composer.phar install

Then you'll need to create the database and initialize schema:

$ echo 'CREATE DATABASE forum CHARSET=utf8 COLLATE=utf8_unicode_ci' | mysql -u root
$ cat schemas/forum.sql | mysql -u root phosphorum

Copy environment config:

$ cp .env.example .env

Copy application config:

$ cp app/config/config.example.php app/config/config.php

You can override application configuration by creating development configuration:

$ cp app/config/development.example.php app/config/development.php

Initial Test Data

You can create fake entries on an empty Phosphorum installation by running:

$ php scripts/random-entries.php

Directory Permissions

After installing Phosphorum, you may need to configure some permissions. Directories within the app/cache and the app/logs directory should be writable by your web server or Phosphorum will not run.

OAuth

This application uses Github as authentication system, you need a client id and secret id to be set up in the configuration (app/config/config.php).

Starting the Beanstalkd client

A PHP client to deliver e-mails must be enabled in background:

$ php scripts/send-notifications-consumer.php &

You can serve it with Supervisor by using following config:

; /etc/supervisor/conf.d/send-notifications-consumer.conf
;
; This is axample.
; Please update config according to your environment

[program:notifications_consumer]
command=/usr/bin/php send-notifications-consumer.php
directory=/var/www/forum/scripts/
autostart=true
autorestart=true
stderr_logfile=/var/www/forum/app/logs/notification_consumer.err.log
stdout_logfile=/var/www/forum/app/logs/notification_consumer.out.log

Tests

Phosphorum use Codeception functional, acceptance and unit tests.

First you need to re-generate base classes for all suites:

$ vendor/bin/codecept build

Sure, for acceptance tests you also need Selenium server executable as well. You need Java installed in order to run the Selenium server. You can launch it by running this:

$ java -jar selenium-server-standalone-2.37.0.jar

Note: replace 2.37.0 to your version.

Note: Selenium may not support the most recent versions of Firefox.

Execute all test with run command:

$ vendor/bin/codecept run
# OR
$ vendor/bin/codecept run --debug # Detailed output

Execute unit test with run unit command:

$ vendor/bin/codecept run unit

More details about Console Commands see here.

License

Phosphorum is open-sourced software licensed under the New BSD License. © Phalcon Framework Team and contributors

Packages

No packages published

Languages

  • PHP 47.6%
  • JavaScript 35.8%
  • Volt 10.1%
  • CSS 5.6%
  • Other 0.9%