Cuiter - Social Network Platform
A fully-featured, self-hosted social media platform built with PHP & MySQL. Launch your own community with posts, real-time feeds, communities, monetization, ads, premium badges, and a powerful admin panel — all installable in minutes.
100% built with Native PHP framework.
Cuiter - Social Network Platform is a fully-featured, production-ready social media platform built with PHP and MySQL. Inspired by modern social networks, it gives you everything you need to launch your own community — out of the box, with no coding required.
Users can create richly formatted posts with images, videos, GIFs, polls, and location tags. The follow-based timeline supports trending hashtags and an explore section that helps users discover new content. Direct messaging, communities, bookmarks, user lists, and @mentions make it a complete social experience for any niche.
Monetization is built in at every level. Creators earn from ad revenue, tips, subscriptions, and platform bonuses. Site owners benefit from a premium badge system, a self-serve advertising marketplace, and configurable payment gateways — Stripe, PayPal, Xendit, and PayTR. The admin panel gives you granular control over users, content, payments, SEO, and platform settings.
Built with Progressive Web App (PWA) support, dark/light theme toggle, multi-language (EN, ID, TR, RU, IN, UK), fully responsive mobile design, and a clean 3-step installation wizard — Cuiter is ready to deploy on any standard PHP/MySQL web host immediately after purchase.
| Component | Minimum Requirement | Notes | Status |
|---|---|---|---|
| PHP Version | 8.0+ | PHP 8.1 / 8.2 recommended for best performance and compatibility | Required |
| MySQL / MariaDB | MySQL 5.7+ / MariaDB 10.3+ | Must support utf8mb4 charset and InnoDB storage engine | Required |
| PHP: MySQLi Extension | Enabled | Used for all database queries throughout the application | Required |
| PHP: GD Extension | Enabled | Used for image resizing, compression, and thumbnail generation | Required |
| PHP: cURL Extension | Enabled | Used for Google OAuth, link previews, and payment gateway API calls | Required |
| PHP: OpenSSL Extension | Enabled | Required for SMTP TLS/SSL email sending via PHPMailer | Required |
| PHP: MBString Extension | Enabled | Required for multi-language Unicode text handling | Required |
| PHP: JSON Extension | Enabled | Used by all API endpoints for request and response handling | Required |
| PHP: FileInfo Extension | Enabled | Used to validate uploaded file MIME types securely | Required |
| Web Server | Apache 2.4+ or Nginx | Apache with mod_rewrite required for .htaccess URL routing | Required |
| URL Rewriting | mod_rewrite enabled | Required for clean SEO-friendly URLs like /username, /explore, etc. | Required |
| HTTPS / SSL Certificate | Valid SSL on domain | Mandatory for Google OAuth and PWA. Free Let's Encrypt SSL is sufficient. | Required |
| Folder Write Permission | 755 on key dirs | uploads/, config/, assets/, install/ must be writable | Required |
| PHP: max_execution_time | 120 seconds+ | Needed for video upload and FFmpeg processing jobs | Recommended |
| PHP: upload_max_filesize | 64M minimum | Increase to 256M or higher for large video uploads | Recommended |
| PHP: post_max_size | 64M minimum | Must be equal to or greater than upload_max_filesize | Recommended |
| PHP: memory_limit | 256M | Required for image processing and complex API responses | Recommended |
| FFmpeg | Installed on server | Required for server-side video compression and thumbnail generation | Recommended |
| SMTP Email Service | Any SMTP provider | Gmail, Mailgun, SendGrid, Brevo, Amazon SES, or any standard SMTP | Recommended |
| Google OAuth Credentials | Google Cloud Console | Required only if Google Login feature will be enabled for users | Optional |
| Stripe API Keys | stripe.com dashboard | Required for Stripe-powered payments (badges, premium, ads) | Optional |
| PayPal API Credentials | developer.paypal.com | Required for PayPal payments and creator withdrawals | Optional |
| Xendit API Key | xendit.co dashboard | Required for Xendit gateway — popular in Southeast Asia | Optional |
| PayTR API Key | paytr.com dashboard | Required for PayTR gateway — popular in Turkey | Optional |
| Giphy API Key | developers.giphy.com | Required to enable GIF search in the post composer | Optional |
-
1Verify Server Requirements
Before uploading any files, confirm your hosting meets all requirements: PHP 8.0+, MySQL 5.7+, and all required PHP extensions enabled (MySQLi, GD, cURL, OpenSSL, MBString, JSON, FileInfo). Contact your hosting provider if unsure — most shared hosts (cPanel/Plesk) meet these requirements by default.
-
2Create a MySQL Database
In your hosting control panel (cPanel, Plesk, or phpMyAdmin), create a new MySQL database and a dedicated database user. Assign the user full privileges (
ALL PRIVILEGES) on the new database. Note the database name, username, password, and host (usuallylocalhost). -
3Upload Files to Your Server
Extract the downloaded ZIP package on your computer. Upload all extracted files to your server's public root directory (
public_html/,www/, or your subdomain/subfolder) using FTP (FileZilla) or your hosting file manager. Upload all files including hidden files and theinstall/folder. -
4Set Folder Permissions
Set the following directories to writable permission
755(or775if required by your host):
uploads/config/assets/install/
This allows the installer to write the database config and the app to save user-uploaded files. -
5Enable .htaccess (Apache Only)
In the root folder, locate the file named
rename-htaccessand rename it to.htaccess. This enables mod_rewrite for clean SEO-friendly URL routing. For Nginx servers, apply the equivalent rewrite rules in your server block configuration file instead. -
6Run the Installation Wizard
Open your browser and go to
https://yourdomain.com/install. The 3-step wizard will guide you through:
Step 1 — Database connection and automatic schema import
Step 2 — Buyer / license configuration (email, username, domain)
Step 3 — Admin account creation (name, email, username, password) -
7Log In to the Admin Panel
After installation completes, go to
https://yourdomain.com/adminand log in with the admin credentials you created in Step 3. The installer is automatically locked and renamed after completion to prevent re-access. -
8Configure Site Branding
In the admin panel, go to Settings and customize your site name, upload logo files (dark and light variants), upload your favicon, and select your primary brand color using the built-in color picker.
-
9Configure SMTP Email
Go to Admin → Settings → Email and enter your SMTP credentials (host, port, username, password, sender name). Send a test email to verify. Supported: Gmail SMTP, Mailgun, SendGrid, Brevo, Amazon SES, or any standard SMTP service.
-
10Set Up Payment Gateways (Optional)
Go to Admin → Payment and enter API keys for the gateways you want to activate. Each can be enabled or disabled independently: Stripe, PayPal, Xendit, PayTR. Unused gateways can be left blank.
-
11Enable Google Login (Optional)
Go to Admin → Google Login. Create OAuth2 credentials at Google Cloud Console, add your domain as an authorized redirect URI (
https://yourdomain.com/auth/google-callback), then paste the Client ID and Client Secret in the admin panel and toggle the feature on. -
12Configure Video & FFmpeg (Optional)
If your server has FFmpeg installed, go to Admin → Video Settings and enter the full path to the FFmpeg binary (e.g.
/usr/bin/ffmpeg). Set maximum video upload size and compression quality. Without FFmpeg, videos are stored in their original format. -
13Configure SEO Settings
Go to Admin → SEO to set site meta title, meta description, default Open Graph image, and paste your Google Analytics measurement ID. Configure robots.txt indexing rules as needed for your deployment.
-
14Go Live!
Your Cuiter - Social Network Platform is fully configured and ready for users. Share your domain, start posting, and invite your community. For ongoing support, refer to the included documentation or contact the author directly.
install/index.php is renamed to prevent re-access. Never share your config/database.php file publicly. Always keep PHP and MySQL updated to the latest stable versions on your server.
admin is reserved and cannot be used for the admin account, as it would conflict with the admin panel URL at yourdomain.com/admin. Use your own name or a unique combination during setup.