6.4 KiB
Executable File
AtomCMS (epicnabbo edit) - v1.0 Ultimate Setup Guide
AtomCMS is a powerful Habbo retro CMS. This guide ensures a 100% working installation on any system: Linux (Nginx/Apache), Windows (IIS/XAMPP), and macOS.
🚀 Quick Start
git clone ssh://git@localhost:8422/RemcoEpic/atomcms-edit.git
cd atomcms-edit
composer install --no-dev
cp .env.example .env
php artisan key:generate
# Configure your .env (DB settings below)
php artisan migrate --seed
php artisan storage:link
php artisan serve
📋 System Requirements
Universal Requirements
- PHP: 8.1, 8.2, or 8.3 (8.2 Recommended)
- Extensions:
pdo_mysql,curl,mbstring,openssl,tokenizer,xml,zip - Database: MySQL 5.7+ or MariaDB 10.3+
- Composer: 2.x
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install -y php8.2 php8.2-{mysql,curl,mbstring,xml,zip,fpm} nginx mysql-server
Windows (XAMPP/IIS)
- Download XAMPP with PHP 8.2 or install PHP 8.2 manually.
- Ensure
php.inihasextension=pdo_mysql,extension=curl, etc. enabled.
⚙️ Step 1: Clone the Repository
# For RemcoEpic epicnabbo edit version:
git clone ssh://git@localhost:8422/RemcoEpic/atomcms-edit.git
cd atomcms-edit
📦 Step 2: Install Dependencies
Run composer to install all required packages. The system is optimized to handle missing extensions automatically via the SystemCheck middleware.
composer install --optimize-autoloader
Windows Note: Run CMD/PowerShell as Administrator if you get permission errors.
🔧 Step 3: Environment Configuration
3.1 Create .env
If .env is missing, the system tries to create it automatically. You can also do it manually:
cp .env.example .env
3.2 Generate App Key
php artisan key:generate
3.3 Database Settings
Edit .env and configure your database connection:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=atomcms
DB_USERNAME=root
DB_PASSWORD=your_password
APP_URL=http://localhost:8000
Windows IIS Note: If 127.0.0.1 fails, try localhost.
💾 Step 4: Database Setup
4.1 Create Database
Login to MySQL and create the database:
CREATE DATABASE atomcms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'atomcms_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON atomcms.* TO 'atomcms_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4.2 Run Migrations
php artisan migrate --seed
🔗 Step 5: Storage Link (Crucial!)
The system uses a Bulletproof Middleware (SystemCheck) that attempts to create the storage symlink automatically on the first request.
Manual Fallback (if auto-fails):
Linux:
php artisan storage:link
sudo chmod -R 755 storage bootstrap/cache
Windows (CMD as Admin):
mklink /J "C:\path\to\atomcms-edit\public\storage" "C:\path\to\atomcms-edit\storage\app\public"
🌐 Step 6: Web Server Configuration
Option A: PHP Built-in (Testing)
php artisan serve --host=0.0.0.0 --port=8000
Visit: http://localhost:8000
Option B: Nginx (Linux Production)
Edit /etc/nginx/sites-available/atomcms:
server {
listen 80;
server_name epicnabbo.nl; # Your domain
root /var/www/atomcms/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
Enable: sudo ln -s /etc/nginx/sites-available/atomcms /etc/nginx/sites-enabled/ && sudo systemctl restart nginx
Option C: Windows IIS
- Open IIS Manager -> Sites -> Add Website.
- Physical Path:
C:\inetpub\wwwroot\atomcms-edit\public - Install URL Rewrite Module.
- Add
web.configinpublic/:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Laravel Routes" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
🛡️ Step 7: Production Optimization
php artisan config:cache
php artisan route:cache
php artisan view:cache
✅ Step 8: Verify & Test
- Open
http://your-domain.com(orhttp://localhost:8000). - Test Registration at
/register.- Note: v1.0 fixes the "500 Error" on registration (Cloudflare Turnstile & IP fields).
- Check logs if needed:
tail -f storage/logs/laravel.log
🛠️ Troubleshooting (v1.0 Fixes)
500 Error on Registration?
Fixed in v1.0!
- ✅ Cloudflare Turnstile null-response handled.
- ✅
ip_registerandip_currentadded to User model. - ✅ MySQL Strict Mode disabled for Windows/IIS/XAMPP compatibility.
"Missing .env" or "No Application Key"
The SystemCheck middleware (auto-runs on every request) will attempt to:
- Copy
.env.exampleto.env. - Generate
APP_KEYautomatically.
Storage Link Issues
The system auto-creates the symlink. If it fails on Windows, ensure you run the server with Administrator privileges.
Database Connection Failed
- Check
.envcredentials. - Ensure MySQL service is running (
systemctl status mysqlor Windows Services). - Use
127.0.0.1instead oflocalhostif socket errors occur.
🚀 What's new in v1.0 (epicnabbo edit)?
This version is Bulletproof. It is designed to work immediately after composer install on any environment.
- ✅ Cross-Platform: Works on Linux (Nginx/Apache), Windows (IIS/XAMPP).
- ✅ Auto-Recovery:
SystemCheckmiddleware fixes missing.env,APP_KEY, and storage links automatically. - ✅ Zero 500 Errors: Registration bugs (Turnstile & IP fields) fixed.
- ✅ MySQL Strict Mode: Disabled for maximum compatibility.
- ✅ Windows Path Fix:
index.phphandles Windows backslash paths.
© 2026 RemcoEpic - epicnabbo.nl