Schritt-für-Schritt Installationsanleitung
Erfahren Sie, wie Sie MarbleSend auf herkömmlichem Shared Hosting installieren, konfigurieren und warten. Speziell für Einsteiger entwickelt – ohne VPS, ohne Docker und ohne SSH-Terminal.
menu_book Inhaltsverzeichnis
- 1. Quick Prerequisites Checklist
- 2. Choosing Your Installation Method
- 3. Creating a MySQL Database on Shared Hosting
- 4. Walking Through the 8-Step Setup Wizard
- 5. Setting Up the Background Worker (Cron Job)
- 6. Post-Installation: Connecting Your SMTP Provider
- 7. In-App Stream Updates & Safe Rollback
- 8. Tracking Changelogs & New Releases
- 9. Troubleshooting & FAQ
1. Quick Prerequisites Checklist
Before you begin, have these four simple items ready in your hosting control panel.
pdo_mysql, curl, mbstring, openssl, zip, and sodium are enabled.news.yourdomain.com or app.yourdomain.com with its document root configured.sodium extension is required to verify the digital signature of your license. Some hosting providers leave it disabled by default; you can enable it with one click under Select PHP Version → Extensions in cPanel or hPanel.2. Choosing Your Installation Method
Two installation methods are available. We strongly recommend Method A for maximum convenience.
Method A: Web Quick-Installer (install.php)
Skip downloading and re-uploading large ZIP archives over slow connections. Simply download the lightweight install.php file from your purchase email and upload it to your domain folder via your hosting File Manager.
- Upload
install.phpinto your domain folder (e.g.public_html/news). - Open your browser to
https://yourdomain.com/install.php. - Enter your License Key. The installer automatically downloads the signed release package over HTTPS, checks its Ed25519 signature, extracts files into place, and deletes itself for safety.
- You are immediately redirected to the Setup Wizard.
Method B: Manual ZIP Upload & Extract
If you prefer the manual route, download the release ZIP via your purchase email and upload it to your server.
├── app/ # Application code & encrypted config
├── storage/ # Logs & worker state (must be writable)
├── migrations/ # Database schema migrations
├── worker.php # CLI background worker entrypoint
└── public/ # <-- DOCUMENT ROOT of your domain
├── index.php
└── migrate-web.php # Web setup wizard
Extract the ZIP using your hosting File Manager. Point your domain's Document Root to the public/ subfolder, then navigate to https://yourdomain.com/migrate-web.php?setup=1.
3. Creating a MySQL Database on Shared Hosting
Step-by-step instructions for Hostinger (hPanel) and cPanel environments.
Hostinger (hPanel) Guide
- Log in to hPanel → navigate to Databases → MySQL Databases.
- Under Create New MySQL Database And Database User, enter a database name (e.g.
marblesend), username, and strong password. - Click Create.
- Note: Hostinger prepends an account prefix (e.g.
u123456789_marblesend). Copy the full prefixed name. - Database Host is always:
localhost(do not use external hostnames likesrv...hstgr.io).
cPanel Guide (Namecheap, Bluehost, SiteGround, etc.)
- Log in to cPanel → click MySQL Database Wizard.
- Step 1: Enter a database name (e.g.
msend) and click Next Step. - Step 2: Create a database username and secure password, then click Create User.
- Step 3 (Crucial): Check the ALL PRIVILEGES checkbox, then click Make Changes.
- Copy the full prefixed names (e.g.
cpaneluser_msend). - Database Host is always:
localhost.
4. Walking Through the 8-Step Setup Wizard
An interactive browser wizard guides you from start to finish in minutes.
Open https://yourdomain.com/install.php or https://yourdomain.com/migrate-web.php?setup=1 in your web browser. Follow the 8 guided steps:
localhost), Database Name, User, and Password created in Step 3. The connection is validated immediately.app/config/config.php) cannot be reached directly via web requests. Installation completes only when verified safe.5. Setting Up the Background Worker (Cron Job)
The Cron Job is the automated engine that dispatches email queues, handles unsubscribes, and processes scheduled campaigns every minute.
* * * * *) triggers the background worker reliably.Method 1: Server Cron in Hostinger (hPanel)
- In hPanel, go to Websites → Dashboard → Cron Jobs.
- Set Type to Custom.
- Paste the command line copied from the final wizard page or Settings → System into Command to run.
- Select Once Per Minute (or enter asterisks:
* * * * *). - Click Save.
Method 2: Server Cron in cPanel
- In cPanel, open Cron Jobs (under the Advanced section).
- Under Common Settings, select Once Per Minute (* * * * *).
- In the Command field, enter the CLI command, e.g.:
/usr/local/bin/php /home/username/your-folder/worker.php > /dev/null 2>&1 - Click Add New Cron Job.
Method 3: Web-Cron (HTTP Fallback)
If your hosting provider restricts CLI cron jobs or limits intervals to 15 minutes:
- In your MarbleSend dashboard, open Settings → System.
- Copy your private Web-Cron URL (protected with a secret token):
https://yourdomain.com/cron.php?token=YOUR_SECRET_TOKEN - Use a free external ping service such as cron-job.org or UptimeRobot to send a GET request every 1 minute.
6. Post-Installation: Connecting Your SMTP Provider
Configure your email sending engine and verify deliverability with a test send.
- Verify Worker Heartbeat: Go to Settings → System. Verify that Worker Status displays a green pulsing Active badge with a recent timestamp.
- Choose Your Sending Profile (Settings → SMTP Profiles):
- Managed Amazon SES Relay: MarbleSend's official high-reputation delivery network. Ready to use immediately with zero AWS setup required.
- Bring Your Own Mailer (BYOM): Click + Add SMTP Profile to connect your own Amazon SES, Brevo, Mailgun, Postmark, SendGrid, or cPanel Exim relay.
- Test Delivery: Click Test Connection on your active SMTP profile, enter your personal email address, and confirm test message receipt in your inbox.
7. In-App Stream Updates & Safe Rollback
Upgrade your installation in 1 click directly from the dashboard without touching files manually.
Whenever a new MarbleSend update is published, an alert banner appears automatically in your dashboard and on the Changelog page.
How 1-Click Updates Work:
- Cryptographic Verification: Updates are downloaded directly from the official release server and verified against an Ed25519 digital signature.
- Automatic File Backups: Before touching a single file, MarbleSend creates a full backup of the existing release under
storage/backup-[version]-[timestamp]/(the three newest backups are always retained). - Atomic Swap: Files are swapped in seconds and database migrations are executed automatically without extended maintenance windows.
- Automatic Rollback: If an error occurs during file replacement, the installer automatically reverts to the pre-update backup.
https://yourdomain.com/recover.php in your browser and click Restore the previous version to roll back immediately.
8. Tracking Changelogs & New Releases
Keep up to date with new features, performance optimizations, and security patches.
Stay informed about every MarbleSend update through two convenient channels:
Visit marblesend.com/en/changelog/ or subscribe via Atom RSS Feed to receive release notices in your favourite reader.
Inside your MarbleSend admin dashboard, open the Changelog sidebar item to view complete technical notes and migration steps.
9. Troubleshooting & FAQ
Plain-language solutions to the most common setup questions.
?setup=1, e.g. https://yourdomain.com/migrate-web.php?setup=1. Without this flag, the page responds with "Not found." for security.sodium. Refresh the installer and the check will turn green.localhost; (2) Include the full account prefix for both database and user (e.g. u123456_msend); (3) In cPanel, verify that the user was added to the database with ALL PRIVILEGES.public/ subfolder, not the parent folder. This protects secret config files from public browser access./usr/local/bin/php or /opt/alt/php83/usr/bin/php). Alternatively, use the Web-Cron HTTP fallback URL.Übersetzungen dienen nur der Bequemlichkeit. Weicht eine Übersetzung von der englischen Fassung ab, gilt die englische Fassung.