• Stars
    star
    367
  • Rank 115,870 (Top 3 %)
  • Language
    PHP
  • License
    Other
  • Created about 10 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CMS based on Phalcon PHP Framework with modular structure

Yona CMS

Build Status Scrutinizer Code Quality

Yona CMS - open source content management system (CMS). Written in Phalcon PHP Framework (version 3.x supported)

Has a convenient modular structure. Has simple configuration and architecture. Can be easily modified for any task with any loads.

Project website

New Modern Yona CMS 2 with Phalcon 4.0 and PHP 7.3

Check ongoing development process in the branch v2.0.0

PHP 7 support, Docker

For using complete Docker stack check this branch php7.0

Installation

Composer

Run

composer create-project oleksandr-torosh/yona-cms -s dev

Or create composer.json file and install dependencies:

{  
    "require": {  
        "oleksandr-torosh/yona-cms": "dev-master"  
    }  
}
composer install

After some time, do not forget run composer update for update dependencies:

composer update

Composer is required. It will install required libraries. If you have error with autoload.php file, the reason - missed composer update installation step.

How to install Composer

Permissions

chmod a+w data -R
chmod a+w public/assets -R
chmod a+w public/img -R
chmod a+w public/robots.txt

Nginx

Example of configuration for php-fpm + nginx. Parameter APPLICATION_ENV has value “development”. Don’t forget remove it on production server.

server {

    listen   80;
    server_name yona-cms.dev;

    index index.php;
    set $root_path '/var/www/yona-cms/public';
    root $root_path;

    try_files $uri $uri/ @rewrite;

    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }

    location ~ \.php {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        # fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        include /etc/nginx/fastcgi_params;

        fastcgi_split_path_info       ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param APPLICATION_ENV "development";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
        root $root_path;
    }

    location ~ /\.ht {
        deny all;
    }

}

Apache

.htaccess file are ready configured

Admin dashboard

Open http://yona-cms/admin and auth:

  • login: yona
  • password: yonacmsphalcon

Change admin user password and delete yona user.

Database

Edit /app/config/environment/development.php and setup database connection. Import MySQL dump file yona-cms.sql

Phinx migrations

https://phinx.org/ Library for creation, executing and rollback migrations

Creation migration class in /data/migrations

php vendor/bin/phinx create NewMigrationName

Status

php vendor/bin/phinx -e development status

Executing new migrations

php vendor/bin/phinx -e development migrate

Rollback

php vendor/bin/phinx -e development rollback

You can set default environment for your localhost user

sudo nano ~/.bashrc

Add line

export PHINX_ENVIRONMENT=development

Features

  • Yona CMS saves a lot of time in starting necessary basic functionality for any project
  • The modular structure with a convenient hierarchy that is based on namespaces
  • Each module can serve as a separate independent component. Have its own routes, helpers, css, js assets
  • Multi-lingual. Manage an unlimited number of languages and translations directly from admin
  • Yona CMS is really fast!

Current version and updates in CHANGELOG.md

Requirements

  • php 5.6+
  • phalcon 3.0.0+
  • mysql
  • php-intl
  • apache (+mod_rewrite) or nginx