# 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 ```bash 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) ```bash 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.ini` has `extension=pdo_mysql`, `extension=curl`, etc. enabled. --- ## ⚙️ Step 1: Clone the Repository ```bash # 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. ```bash 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: ```bash cp .env.example .env ``` ### 3.2 Generate App Key ```bash php artisan key:generate ``` ### 3.3 Database Settings Edit `.env` and configure your database connection: ```env 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: ```sql 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 ```bash 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:_ ```bash php artisan storage:link sudo chmod -R 755 storage bootstrap/cache ``` _Windows (CMD as Admin):_ ```cmd 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) ```bash 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`: ```nginx 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 1. Open **IIS Manager** -> **Sites** -> **Add Website**. 2. Physical Path: `C:\inetpub\wwwroot\atomcms-edit\public` 3. Install **URL Rewrite Module**. 4. Add `web.config` in `public/`: ```xml ``` --- ## 🛡️ Step 7: Production Optimization ```bash php artisan config:cache php artisan route:cache php artisan view:cache ``` --- ## ✅ Step 8: Verify & Test 1. Open `http://your-domain.com` (or `http://localhost:8000`). 2. Test **Registration** at `/register`. - _Note:_ v1.0 fixes the "500 Error" on registration (Cloudflare Turnstile & IP fields). 3. 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_register` and `ip_current` added 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: 1. Copy `.env.example` to `.env`. 2. Generate `APP_KEY` automatically. ### 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 1. Check `.env` credentials. 2. Ensure MySQL service is running (`systemctl status mysql` or Windows Services). 3. Use `127.0.0.1` instead of `localhost` if 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**: `SystemCheck` middleware 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.php` handles Windows backslash paths. --- **© 2026 RemcoEpic - epicnabbo.nl**