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:
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.
To run this application on your machine, you need at least:
- Curl extension
- Openssl extension
- Internationalization (intl) extension
- Mbstring (mbstring) extension
- Composer
- PHP >= 5.4
- Apache Web Server with mod_rewrite enabled or Nginx Web Server
- Latest stable Phalcon Framework release extension enabled
- Beanstalkd server
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.
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
You can create fake entries on an empty Phosphorum installation by running:
$ php scripts/random-entries.php
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.
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
).
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
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.
Phosphorum is open-sourced software licensed under the New BSD License. © Phalcon Framework Team and contributors