pH7Builder
Self-hosted, open-source PHP software for building white-label dating sites, matchmaking communities, and social networks. You keep control of the code, hosting, database, and member data.
Formerly pH7CMS.
What you need: PHP 8.2+, MySQL 8.0+, URL rewriting, and a web server. Composer 2 is needed only for a source checkout; the versioned release ZIP includes locked production dependencies. With the server ready, allow about 20–30 minutes for deployment and the guided browser installer. DNS, TLS certificate issuance, and mail-provider approval are outside that estimate.
Quick Start · Upgrade Guide · Launch Checklist · Release guides · Releases

alt="Build a self-hosted social dating community with pH7Builder"
Built for ownership
pH7Builder gives entrepreneurs a self-hosted alternative to rented SaaS platforms. Deploy it on infrastructure you choose, adapt the source code to your niche, and retain control of the application, database, files, and member data. There is no required public “Powered by” link; the MIT license notice simply remains with copies or substantial portions of the software.
Self-hosting also lets an owner choose energy-conscious infrastructure and control how media, caching, and server resources are used. The actual footprint depends on the host, traffic, content, and configuration.
What is included
- Member profiles, search, matchmaking, nearby people, friends, and activity streams.
- Private messages, instant chat, notifications, comments, forums, blogs, photos, and videos.
- Membership groups, paid plans, advertisements, affiliates, and supported payment-gateway integrations.
- Account approval, reporting, moderation queues, registration throttling, blocking tools, and optional image screening.
- Multilingual routes and content, translated interface packs, multiple themes, an administration panel, and PWA support when served over HTTPS.
- A modular MVC application built on the project-specific pH7Framework and PH7Tpl template engine.
Features depend on the modules you enable and the external services you configure. Before accepting real users or payments, complete the Launch Checklist and test the exact production configuration.
Explore the feature set
- Discovery and matching: advanced member search, behavioral matchmaking, related profiles, nearby people, Hot or Not, profile ratings, mutual friends, visits, likes, profile backgrounds, and privacy controls.
- Publishing and conversation: private mail, instant messaging, chat, notifications, comments, blogs, notes, forums, pages, photo albums, videos, newsletters, invitations, and activity streams.
- Business tools: membership groups and permissions, paid plans, advertisements, an affiliate programme, payment integrations, basic analytics, database backups, file management, dynamic profile fields, and CSV user import.
- Trust and moderation: member and content approval queues, abuse reports, blocking tools, country restrictions, login-attempt protection, registration throttling, duplicate-content checks, optional image screening, two-factor authentication, and optional SMS verification through configured providers.
- Platform and reach: multilingual routes and interface packs, responsive themes, SEO controls, sitemap and RSS support, a REST API module, PWA support, cron automation, maintenance mode, and sample-profile generation for non-production evaluation.
Requirements
- PHP 8.2 or newer with
curl,dom,exif,fileinfo, GD with FreeType and WebP,hash,iconv,json,mbstring,openssl,pdo_mysql,simplexml,xmlwriter,xml,zip, andzlib. - MySQL 8.0 or newer with
utf8mb4support. Older MySQL releases and MariaDB are not verified or supported for this release. - Apache with URL rewriting, or nginx with equivalent routing and protected path rules.
- Composer 2 and outbound Internet access when installing from a source checkout instead of the versioned release ZIP.
- A server/hosting sendmail transport, or SMTP credentials supplied through
the server environment as
PH7_MAILER_DSN. The application does not store SMTP credentials in its admin form. - HTTPS for production.
- FFmpeg only when locally uploaded video processing is enabled.
The browser installer checks the runtime, extensions, writable paths, MySQL version, and database connection before importing the schema.
Quick start
Local evaluation with Docker
This path is for development and evaluation, not a production deployment:
git clone https://github.com/pH7Software/pH7-Social-Dating-CMS.git
cd pH7-Social-Dating-CMS
docker compose up --build -d
docker compose exec php php _install/create-install-token.php
Copy the one-time token printed by the second command, then open
and enter it. In the installer, use database host db,
database ph7builder, username ph7builder, password ph7builder, and port
3306. The checkout is snapshotted into a Docker volume. To test changed source,
run docker compose down -v before docker compose up --build -d; this refreshes
the snapshot but permanently deletes the local application and database volumes.
Production
Use the ready-to-run ZIP attached to a tagged
release, set
only the required writable paths, configure the web server, and then open
/_install/. Generate the required installer access token from the deployed
directory before opening the browser installer.
curl -LO https://github.com/pH7Software/pH7-Social-Dating-CMS/releases/download/v19.2.0/pH7Builder-v19.2.0.zip
curl -LO https://github.com/pH7Software/pH7-Social-Dating-CMS/releases/download/v19.2.0/pH7Builder-v19.2.0.zip.sha256
sha256sum -c pH7Builder-v19.2.0.zip.sha256
unzip pH7Builder-v19.2.0.zip
cd pH7Builder-v19.2.0
Composer can install the same tagged release from Packagist:
composer create-project ph7software/ph7builder:19.2.0 pH7Builder-v19.2.0 --no-dev --prefer-dist
pH7Builder is also listed on Softaculous and SourceForge. Those catalogues can lag behind GitHub and Packagist, so compare the offered version with the latest GitHub release before installing or upgrading.
The complete copy-paste deployment procedure—including database creation, permissions, nginx/Apache notes, HTTPS, cron, mail, payments, and the first test signup—is in the Production Quick Start.
[!IMPORTANT] Never expose
_protected,_repository,_tests,_tools,.git, or installer-private directories. The trackednginx.confshows the required production protections; replace its example domain, document root, log paths, and PHP-FPM socket for your server.
From install to launch
After installation, sign in at /admin123/ and work through these areas:
- Branding: Settings → General, Meta Tags/Homepage Texts, and your theme.
- Registration: Settings → Registration; choose activation and moderation rules deliberately.
- Memberships: Billing → Memberships List; verify every limit and price.
- Payments: Billing → Gateways Configuration; begin with test credentials and keep unused gateways disabled.
- **Em