Skip to main content

Server Requirements

Ensure your server meets all requirements before proceeding with installation. Yoneily is built on CakePHP 1.3.3 which has specific version dependencies.

Minimum Requirements

  • PHP: Version 5.3.5 or higher (tested on 5.3.5)
  • Web Server: Apache 2.x with mod_rewrite enabled
  • Database: MySQL 5.5.8 or higher
  • PHP Extensions:
    • mysqli or mysql - Database connectivity
    • mbstring - Multi-byte string support
    • session - Session management
    • pcre - Regular expressions
    • gd or imagick - Image manipulation for thumbnails
; Memory and execution
memory_limit = 128M
max_execution_time = 300
upload_max_filesize = 10M
post_max_size = 10M

; Error reporting (adjust for production)
error_reporting = E_ALL & ~E_DEPRECATED
display_errors = Off
log_errors = On

; Session configuration
session.auto_start = 0
session.cookie_httponly = 1

; Character encoding
default_charset = "UTF-8"
mbstring.internal_encoding = "UTF-8"

Installation Steps

1

Download and Extract

Extract the Yoneily source code to your web server directory:
# Example for Apache on Linux
cd /var/www/html
tar -xzf sistema_magdaleno.tar.gz
# Or clone from your repository
git clone <repository-url> sistema_magdaleno
The directory structure should look like:
sistema_magdaleno/
├── app/
├── cake/
├── plugins/
├── vendors/
├── .htaccess
└── index.php
2

Set Directory Permissions

Configure proper file permissions for CakePHP to write cache and log files:
# Navigate to the installation directory
cd sistema_magdaleno

# Make tmp directory writable
chmod -R 775 app/tmp
chown -R www-data:www-data app/tmp

# If using file-based sessions or cache
chmod -R 775 app/tmp/cache
chmod -R 775 app/tmp/logs
chmod -R 775 app/tmp/sessions

# Make webroot files directory writable for uploads
chmod -R 775 app/webroot/files
chown -R www-data:www-data app/webroot/files
Replace www-data with your web server user (might be apache, nginx, or nobody depending on your system).
3

Configure Apache Virtual Host

Create an Apache virtual host configuration for Yoneily:
<VirtualHost *:80>
    ServerName yoneily.local
    ServerAlias www.yoneily.local
    
    DocumentRoot /var/www/html/sistema_magdaleno
    
    <Directory /var/www/html/sistema_magdaleno>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
        
        # Ensure mod_rewrite is enabled
        RewriteEngine On
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/yoneily-error.log
    CustomLog ${APACHE_LOG_DIR}/yoneily-access.log combined
</VirtualHost>
Enable the site and restart Apache:
# Enable mod_rewrite if not already enabled
a2enmod rewrite

# Enable the virtual host
a2ensite yoneily.conf

# Restart Apache
systemctl restart apache2
4

Verify .htaccess Files

Ensure all required .htaccess files are in place for URL rewriting:
Located at: sistema_magdaleno/.htaccess
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
If these files are missing or incorrect, CakePHP’s routing will not work and you’ll see errors or broken URLs.
5

Create Database

Import the database schema using the provided SQL file:
# Create the database
mysql -u root -p -e "CREATE DATABASE magdaleno CHARACTER SET utf8 COLLATE utf8_general_ci;"

# Import the schema
mysql -u root -p magdaleno < localhost.sql
Or using phpMyAdmin:
  1. Create a new database named magdaleno
  2. Set charset to utf8 and collation to utf8_general_ci
  3. Import the localhost.sql file
The database name in the SQL file is venezuela_naciones, but you can change it to any name. Just ensure you update your database configuration accordingly.
6

Configure Database Connection

Edit the database configuration file at app/config/database.php:
app/config/database.php
<?php
class DATABASE_CONFIG {
    var $default = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',           // Your MySQL username
        'password' => '1234',        // Your MySQL password
        'database' => 'magdaleno',   // Your database name
        'prefix' => '',
        'encoding' => 'utf-8',
    );
}
?>
Never commit database credentials to version control. Use environment variables or separate config files for production.
7

Initialize ACL System

The Access Control List (ACL) system must be initialized for proper permissions:
Yoneily uses database ACL with tables: acos, aros, and aros_acos for permissions management.
The ACL tables are created automatically when you import localhost.sql. The system includes:
  • Pre-configured ACO nodes for all controllers and actions
  • User groups with associated permissions
  • ARO (Access Request Objects) linked to users and groups
From app/app_controller.php:6:
var $components = array('Acl','Auth','Session','Email','PasswordHelper');
8

Test Installation

Access your Yoneily installation in a web browser:
http://yoneily.local
# or
http://localhost/sistema_magdaleno
You should see the home page. If you encounter errors:
Cause: Usually mod_rewrite issues or permission problemsSolutions:
  • Verify mod_rewrite is enabled: apache2ctl -M | grep rewrite
  • Check .htaccess files are present and readable
  • Verify AllowOverride All in Apache configuration
  • Check Apache error logs: tail -f /var/log/apache2/error.log
Cause: Incorrect database credentials or MySQL not runningSolutions:
  • Verify MySQL is running: systemctl status mysql
  • Test connection: mysql -u root -p
  • Check credentials in app/config/database.php
  • Ensure database exists: SHOW DATABASES;
Cause: URL rewriting not working correctlySolutions:
  • Verify all three .htaccess files are in place
  • Check Apache virtual host has AllowOverride All
  • Clear browser cache
  • Check file permissions on app/webroot/
Cause: Insufficient permissions for cache/logsSolutions:
chmod -R 775 app/tmp
chown -R www-data:www-data app/tmp

Post-Installation

Default Admin Access

After installation, you’ll need to create an admin user or use credentials from the imported database:
Check the users table in your database for existing user accounts. Default passwords are typically hashed using CakePHP’s Security::hash() function.
Access the backend at:
http://yoneily.local/bcknaciones/users/login

File Upload Configuration

Ensure the uploads directory exists and is writable:
mkdir -p app/webroot/files/uploads
chmod -R 775 app/webroot/files
chown -R www-data:www-data app/webroot/files

Security Checklist

Next Steps

Configuration Guide

Learn how to configure core settings, security, and features

User Management

Set up users, groups, and permissions

Build docs developers (and LLMs) love