Miraheze lets you use a custom domain. Instead of mywiki.miraheze.org, you can use your own domain, like mywiki.com.
Miraheze lets you choose a custom domain for your wiki on request. Instead of having to use mywiki.miraheze.org (a subdomain of miraheze.org), you can use your own domain (e.g. mywiki.com, wiki.domain.com, etc.). Read the steps below for more information.
Setting up a custom domain is as easy as following 4 steps:
1. Get a domain.
- To set up a custom domain, you will need to get a domain. There are many reputable registrars such as Namecheap where you can purchase a domain. Don't want to pay money for a domain? Click here for free domain services.
2. Point it to Miraheze.
- Once you have a domain, you'll need to point it to Miraheze. You can either point the namespace servers to Miraheze or set a CNAME record for the subdomain you want your wiki on pointing to mw-lb.miraheze.org.
- Pointing the nameservers to Miraheze? Set the nameservers to "ns1.miraheze.org" and "ns2.miraheze.org" (contact your domain registrar if you don't know how to do this).
- Pointing a subdomain to Miraheze? Add a CNAME record on the subdomain you want (e.g. "wiki."), and point it to "mw-lb.miraheze.org";
- Note: If you are using Cloudflare as your DNS provider, you'll need to make sure some settings aren't set or the subdomain won't work. Click here to learn more.
- What should I choose?
Each option has different pros and cons:
- If you do choose to point the nameservers to us, we can handle all things related to DNS without needing your intervention. However, if you choose to do this, you'll need to ask us to create new DNS records every time you need to add a new one. If you change your nameservers and have records set already (e.g. you have www. pointing to your website), you'll need to ask us to recreate them or else your subdomains will be unreachable once you change the nameservers. If you don't plan to make frequent changes to the DNS records or are fine with us handling it for you, choose this.
- If you choose to simply point a subdomain to Miraheze, you'll have complete control of your DNS records, but you'll need to manually set records yourself with your DNS provider.
3. Choose who will provide an SSL certificate.
- For your safety, Miraheze uses SSL/TLS to encrypt the connections from our servers to your browser to make sure no one intercepts your connection. For this reason, we need all custom domains to have an SSL certificate. You can either provide us your own SSL certificate or let us handle it completely (for free, via Let's Encrypt).
- If you choose to let us handle it: We can generate an SSL certificate (using Let's Encrypt) ourselves and even renew it automatically for the subdomain you chose without needing any additional intervention from your part, your work is done!
- If you have chosen your own SSL certificate: After you make your custom domain request, a system administrator who handles CSR requests will generate a CSR & private key (for use at our own servers), and the requested CSR will be emailed to you. You use this CSR to request your SSL certificate vendor to generate an SSL certificate with the CSR we gave you. You will need to email us the generated SSL certificate when this is done. If all of these steps are done, we will add the custom domain to your wiki, and we will notify you when this all is done.
4. Make the request!
- Once you've done the steps above and have chosen who will provide the SSL certificate, make the request on Phabricator. In the form, all you need to do is provide your wiki's current subdomain, your desired domain, and whether or not you'll use Let's Encrypt (us handling the SSL) or if you'll provide an SSL certificate yourself.
Need help with any of the steps or have a question? Ask the community noticeboard for help.
If you don't wish to pay for a domain of your own, there are services that offer free domains and subdomains, which you can use instead. Remember that all Miraheze wikis automatically get a free subdomain on miraheze.org.
- Free (sub)domain providers
Miraheze is configured not to serve pages from the domain root. For example, if your wiki is
example.miraheze.org and its main page is called "Welcome", then the URL will not be
https://example.miraheze.org/Welcome but instead
https://example.miraheze.org/wiki/Welcome (note the
/wiki/ piece). Likewise, even if you use a custom domain, Miraheze will still serve pages with this URL structure. When users visit pages on the root (e.g., without the
/wiki/), they'll be greeted by a page asking them if they meant to go to a page on the /wiki/ subdirectory and will provide them a link.
CloudFlare users must turn off CloudFlare's DDoS/Origin IP protection system/workers. This is not negotiable. With it enabled, Miraheze cannot process SSL certificate requests and it creates problems with our internal systems including security issues. Our IPs are already public, so we do not need Origin IP protection, and we have DDoS protection through our network vendor.
Follow the steps to find out how to disable Cloudflare DDoS/Origin IP protection system (assuming you're using the dash.cloudflare.com dashboard).
- Go to dash.cloudflare.com
- Click your domain in the dashboard.
- Go to "DNS".
mw-lb.miraheze.org. The cloud with an arrow must be grey. If it is yellow, click it to make it grey.
- Click "Add Record". The result has to look like the last image.
If you are done with this, continue back on the steps above.
Note: Not following the rules above may result in your custom domain being removed immediately and further action being taken if necessary. In case of any doubt, feel free to contact us at sre miraheze.org or ask on the Phabricator task you create.
SSL Certificate Authority
Miraheze accepts most SSL certificate authority that are accepted by browsers such as Mozilla Firefox. However, we do not accept WoSign certs anymore.
Below is a list of the current SSL certificate authority used by custom domains. This does not mean that others not in this list are not accepted.
- Let's Encrypt - managed by Miraheze, all steps regarding Let's Encrypt (except setting nameservers) are done by Miraheze Sysadmins
- CloudFlare (Note: Additional restrictions apply. See section above for details.)