Skip to content

Commit 3918584

Browse files
author
Ubuntu
committed
Add comprehensive domain setup documentation for secureos.xyz
1 parent c356bfb commit 3918584

1 file changed

Lines changed: 272 additions & 0 deletions

File tree

DOMAIN_SETUP.md

Lines changed: 272 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,272 @@
1+
# SecureOS Domain Configuration Guide
2+
3+
**Domain**: secureos.xyz
4+
**Part of**: Barrer Software
5+
**Date**: October 2025
6+
7+
## Overview
8+
9+
SecureOS now has a custom domain `secureos.xyz` configured to work with GitHub Pages. This document explains the setup and configuration required.
10+
11+
## Domain Structure
12+
13+
- **Main Website**: https://secureos.xyz → GitHub Pages (ssfdre38/secureos.github.io)
14+
- **Package Repository**: https://packages.secureos.xyz → Package hosting
15+
- **API/Downloads**: https://api.secureos.xyz → Future API endpoints
16+
17+
## GitHub Pages Configuration
18+
19+
### 1. Repository Setup
20+
21+
The website repository is: `ssfdre38/secureos.github.io`
22+
23+
Files included:
24+
- `index.html` - Main website
25+
- `style.css` - Styling
26+
- `script.js` - JavaScript functionality
27+
- `404.html` - Custom 404 page
28+
- `CNAME` - Contains domain name
29+
- `README.md` - Repository documentation
30+
31+
### 2. CNAME File
32+
33+
The CNAME file contains:
34+
```
35+
secureos.xyz
36+
```
37+
38+
This tells GitHub Pages to serve the site from the custom domain.
39+
40+
## DNS Configuration Required
41+
42+
You need to configure DNS records for secureos.xyz. Here's what to set up:
43+
44+
### For GitHub Pages (Main Website)
45+
46+
**Option 1: Using CNAME (Recommended)**
47+
```
48+
Type: CNAME
49+
Name: www
50+
Value: ssfdre38.github.io
51+
TTL: 3600
52+
```
53+
54+
**Option 2: Using A Records (for apex domain)**
55+
```
56+
Type: A
57+
Name: @
58+
Value: 185.199.108.153
59+
TTL: 3600
60+
61+
Type: A
62+
Name: @
63+
Value: 185.199.109.153
64+
TTL: 3600
65+
66+
Type: A
67+
Name: @
68+
Value: 185.199.110.153
69+
TTL: 3600
70+
71+
Type: A
72+
Name: @
73+
Value: 185.199.111.153
74+
TTL: 3600
75+
```
76+
77+
**CNAME for www to apex redirect:**
78+
```
79+
Type: CNAME
80+
Name: www
81+
Value: secureos.xyz
82+
TTL: 3600
83+
```
84+
85+
### For Package Repository Subdomain
86+
87+
```
88+
Type: CNAME
89+
Name: packages
90+
Value: ssfdre38.github.io
91+
TTL: 3600
92+
```
93+
94+
Or point to your VPS if hosting packages there:
95+
```
96+
Type: A
97+
Name: packages
98+
Value: [YOUR_VPS_IP]
99+
TTL: 3600
100+
```
101+
102+
## GitHub Pages Settings
103+
104+
After DNS is configured, enable GitHub Pages in repository settings:
105+
106+
1. Go to https://github.com/ssfdre38/secureos.github.io/settings/pages
107+
2. Under "Custom domain", enter: `secureos.xyz`
108+
3. Check "Enforce HTTPS" (after DNS propagates)
109+
4. Branch should be set to: `main` / `root`
110+
111+
## Verification Steps
112+
113+
### 1. Check DNS Propagation
114+
115+
```bash
116+
# Check CNAME record
117+
dig secureos.xyz CNAME
118+
119+
# Check A records
120+
dig secureos.xyz A
121+
122+
# Check www subdomain
123+
dig www.secureos.xyz CNAME
124+
```
125+
126+
### 2. Test HTTPS
127+
128+
After DNS propagates (can take 24-48 hours):
129+
```bash
130+
curl -I https://secureos.xyz
131+
```
132+
133+
Should return:
134+
```
135+
HTTP/2 200
136+
server: GitHub.com
137+
```
138+
139+
### 3. Verify CNAME File
140+
141+
```bash
142+
curl https://raw.githubusercontent.com/ssfdre38/secureos.github.io/main/CNAME
143+
```
144+
145+
Should output: `secureos.xyz`
146+
147+
## SSL/TLS Certificate
148+
149+
GitHub Pages automatically provisions SSL certificates via Let's Encrypt once:
150+
1. DNS is properly configured
151+
2. DNS has propagated
152+
3. "Enforce HTTPS" is enabled in settings
153+
154+
This usually takes a few minutes after DNS propagation.
155+
156+
## Subdomain Setup
157+
158+
### packages.secureos.xyz
159+
160+
For the APT package repository:
161+
162+
**Option 1: GitHub Pages**
163+
Create `ssfdre38/packages.secureos.xyz` repo with CNAME file containing `packages.secureos.xyz`
164+
165+
**Option 2: VPS Hosting (Recommended for packages)**
166+
1. Point DNS to VPS IP
167+
2. Configure nginx/Apache to serve packages
168+
3. Set up SSL with Let's Encrypt
169+
170+
Example nginx config:
171+
```nginx
172+
server {
173+
listen 80;
174+
server_name packages.secureos.xyz;
175+
176+
location / {
177+
return 301 https://$server_name$request_uri;
178+
}
179+
}
180+
181+
server {
182+
listen 443 ssl http2;
183+
server_name packages.secureos.xyz;
184+
185+
ssl_certificate /etc/letsencrypt/live/packages.secureos.xyz/fullchain.pem;
186+
ssl_certificate_key /etc/letsencrypt/live/packages.secureos.xyz/privkey.pem;
187+
188+
root /var/www/packages.secureos.xyz;
189+
autoindex on;
190+
191+
location / {
192+
try_files $uri $uri/ =404;
193+
}
194+
}
195+
```
196+
197+
## Troubleshooting
198+
199+
### Website not loading
200+
201+
1. **Check DNS**: `dig secureos.xyz`
202+
2. **Check CNAME file**: Must exist in repo root
203+
3. **Check GitHub Pages settings**: Custom domain must be set
204+
4. **Wait for propagation**: Can take 24-48 hours
205+
206+
### HTTPS not working
207+
208+
1. **Wait for DNS propagation**: Usually 24-48 hours
209+
2. **Uncheck and recheck "Enforce HTTPS"** in GitHub Pages settings
210+
3. **Verify DNS records** are correct
211+
4. **Clear browser cache**
212+
213+
### 404 errors
214+
215+
1. **Check repository name**: Must be `username.github.io`
216+
2. **Check branch**: Should be `main` or `master`
217+
3. **Check file names**: Must be lowercase
218+
4. **Verify CNAME**: Should contain only domain name
219+
220+
## Current Status
221+
222+
✅ Website repository created: `ssfdre38/secureos.github.io`
223+
✅ Website files uploaded (index.html, style.css, script.js, 404.html)
224+
✅ CNAME file created with `secureos.xyz`
225+
✅ README.md added
226+
✅ Code pushed to GitHub
227+
⏳ DNS configuration (you need to do this in your domain registrar)
228+
⏳ GitHub Pages custom domain setup (after DNS)
229+
⏳ HTTPS enforcement (automatic after DNS)
230+
231+
## Next Steps
232+
233+
1. **Configure DNS** at your domain registrar (where you bought secureos.xyz)
234+
2. **Wait for DNS propagation** (24-48 hours)
235+
3. **Enable GitHub Pages** with custom domain in repository settings
236+
4. **Enable HTTPS** enforcement
237+
5. **Test the website** at https://secureos.xyz
238+
239+
## Package Repository Setup
240+
241+
Once the main domain is working, set up package repository:
242+
243+
```bash
244+
# Create packages subdirectory structure
245+
mkdir -p /var/www/packages.secureos.xyz/{pool,dists}
246+
247+
# Set up nginx to serve packages
248+
# Install certbot for SSL
249+
sudo certbot --nginx -d packages.secureos.xyz
250+
251+
# Configure APT repository structure
252+
# Update packages as needed
253+
```
254+
255+
## Links
256+
257+
- Main Repository: https://github.com/ssfdre38/SecureOS
258+
- Website Repository: https://github.com/ssfdre38/secureos.github.io
259+
- Package Repository: https://github.com/ssfdre38/secureos-packages
260+
- GitHub Pages Docs: https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site
261+
262+
## Support
263+
264+
For issues with domain configuration:
265+
- Check GitHub Pages documentation
266+
- Verify DNS records with `dig` or online DNS checkers
267+
- Wait sufficient time for DNS propagation
268+
- Contact domain registrar if DNS issues persist
269+
270+
---
271+
272+
**Copyright © 2025 Barrer Software. All rights reserved.**

0 commit comments

Comments
 (0)