Server Requirements
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:
mysqliormysql- Database connectivitymbstring- Multi-byte string supportsession- Session managementpcre- Regular expressionsgdorimagick- Image manipulation for thumbnails
Recommended Settings
Installation Steps
Download and Extract
Extract the Yoneily source code to your web server directory:The directory structure should look like:
Set Directory Permissions
Configure proper file permissions for CakePHP to write cache and log files:
Replace
www-data with your web server user (might be apache, nginx, or nobody depending on your system).Configure Apache Virtual Host
Create an Apache virtual host configuration for Yoneily:Enable the site and restart Apache:
Verify .htaccess Files
Ensure all required
.htaccess files are in place for URL rewriting:- Root .htaccess
- App .htaccess
- Webroot .htaccess
Located at:
sistema_magdaleno/.htaccessCreate Database
Import the database schema using the provided SQL file:Or using phpMyAdmin:
- Create a new database named
magdaleno - Set charset to
utf8and collation toutf8_general_ci - Import the
localhost.sqlfile
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.Configure Database Connection
Edit the database configuration file at
app/config/database.php:app/config/database.php
Initialize ACL System
The Access Control List (ACL) system must be initialized for proper permissions:The ACL tables are created automatically when you import
Yoneily uses database ACL with tables:
acos, aros, and aros_acos for permissions management.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
app/app_controller.php:6:Test Installation
Access your Yoneily installation in a web browser:You should see the home page. If you encounter errors:
500 Internal Server Error
500 Internal Server Error
Cause: Usually mod_rewrite issues or permission problemsSolutions:
- Verify mod_rewrite is enabled:
apache2ctl -M | grep rewrite - Check
.htaccessfiles are present and readable - Verify
AllowOverride Allin Apache configuration - Check Apache error logs:
tail -f /var/log/apache2/error.log
Database Connection Errors
Database Connection Errors
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;
Missing CSS/Images (Assets not loading)
Missing CSS/Images (Assets not loading)
Cause: URL rewriting not working correctlySolutions:
- Verify all three
.htaccessfiles are in place - Check Apache virtual host has
AllowOverride All - Clear browser cache
- Check file permissions on
app/webroot/
tmp directory not writable
tmp directory not writable
Cause: Insufficient permissions for cache/logsSolutions:
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.File Upload Configuration
Ensure the uploads directory exists and is writable:Security Checklist
Next Steps
Configuration Guide
Learn how to configure core settings, security, and features
User Management
Set up users, groups, and permissions