Files
Atomcms-edit/SETUP.md
T
2026-05-09 17:32:17 +02:00

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.ini has extension=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

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

  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/:
<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

  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.

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