DOCS-1: Init document work
This commit is contained in:
183
content/getting-started/email-setup.md
Normal file
183
content/getting-started/email-setup.md
Normal file
@@ -0,0 +1,183 @@
|
||||
---
|
||||
title: "Set Up Email on Your Domain"
|
||||
description: "How to create email accounts in cPanel, configure MX records, and connect to Outlook, Apple Mail, or Thunderbird."
|
||||
section: getting-started
|
||||
order: 4
|
||||
---
|
||||
|
||||
# Set Up Email on Your Domain
|
||||
|
||||
Arcline hosting includes email hosting for your domain. You can create addresses like `hello@yourdomain.com`, `support@yourdomain.com`, or anything else — and access them via webmail or a mail client.
|
||||
|
||||
---
|
||||
|
||||
## Create an email account
|
||||
|
||||
In cPanel, go to **Email → Email Accounts** and click **Create**.
|
||||
|
||||
Fill in:
|
||||
|
||||
- **Domain** — select your domain from the dropdown
|
||||
- **Username** — the part before the `@` (e.g. `hello`)
|
||||
- **Password** — use a strong password or click **Generate**
|
||||
- **Storage** — set a mailbox quota (500 MB is fine for most users; set to unlimited only if needed)
|
||||
|
||||
Click **Create**. The account is ready immediately.
|
||||
|
||||
---
|
||||
|
||||
## Access webmail
|
||||
|
||||
Every Arcline email account comes with webmail. Visit:
|
||||
|
||||
```
|
||||
https://your-server.arcline.it/webmail
|
||||
```
|
||||
|
||||
Or use the shortcut `https://yourdomain.com/webmail`. Log in with your full email address (`hello@yourdomain.com`) and the password you set.
|
||||
|
||||
Roundcube is the default webmail client. It works in any browser and is good for occasional access.
|
||||
|
||||
---
|
||||
|
||||
## Connect to Outlook
|
||||
|
||||
1. Open Outlook and go to **File → Add Account**.
|
||||
2. Enter your full email address and click **Advanced options → Let me set up my account manually**.
|
||||
3. Choose **IMAP**.
|
||||
|
||||
Fill in the incoming mail settings:
|
||||
|
||||
| Setting | Value |
|
||||
|---|---|
|
||||
| Server | `mail.yourdomain.com` |
|
||||
| Port | `993` |
|
||||
| Encryption | SSL/TLS |
|
||||
| Username | your full email address |
|
||||
| Password | your email password |
|
||||
|
||||
Outgoing mail (SMTP):
|
||||
|
||||
| Setting | Value |
|
||||
|---|---|
|
||||
| Server | `mail.yourdomain.com` |
|
||||
| Port | `465` |
|
||||
| Encryption | SSL/TLS |
|
||||
| Username | your full email address |
|
||||
| Password | your email password |
|
||||
|
||||
Click **Next** then **Done**. Outlook will verify the settings and download your mail.
|
||||
|
||||
> If you see a certificate warning, make sure you're using `mail.yourdomain.com` (not `localhost` or an IP address). Your SSL certificate covers that hostname.
|
||||
|
||||
---
|
||||
|
||||
## Connect to Apple Mail
|
||||
|
||||
1. Open Mail and go to **Mail → Add Account → Other Mail Account**.
|
||||
2. Enter your name, full email address, and password. Click **Sign In**.
|
||||
3. Apple Mail will try to auto-configure. If it fails, enter the server details manually:
|
||||
|
||||
**Incoming:**
|
||||
- IMAP server: `mail.yourdomain.com`
|
||||
- Port: `993`
|
||||
- Use SSL: yes
|
||||
|
||||
**Outgoing:**
|
||||
- SMTP server: `mail.yourdomain.com`
|
||||
- Port: `465`
|
||||
- Use SSL: yes
|
||||
- Authentication: Password
|
||||
|
||||
Click **Sign In**. Mail will sync your inbox.
|
||||
|
||||
---
|
||||
|
||||
## Connect to Thunderbird
|
||||
|
||||
1. Open Thunderbird and go to **Account Settings → Account Actions → Add Mail Account**.
|
||||
2. Enter your name, email address, and password. Click **Configure manually**.
|
||||
|
||||
Fill in:
|
||||
|
||||
| | Incoming (IMAP) | Outgoing (SMTP) |
|
||||
|---|---|---|
|
||||
| Server | `mail.yourdomain.com` | `mail.yourdomain.com` |
|
||||
| Port | `993` | `465` |
|
||||
| SSL | SSL/TLS | SSL/TLS |
|
||||
| Auth | Normal password | Normal password |
|
||||
|
||||
Click **Done**. Thunderbird will test and save the account.
|
||||
|
||||
---
|
||||
|
||||
## Mobile devices (iOS / Android)
|
||||
|
||||
Use the same IMAP/SMTP settings as above. On both iOS and Android:
|
||||
|
||||
1. Go to **Settings → Mail → Accounts → Add Account → Other**.
|
||||
2. Select **Add Mail Account**.
|
||||
3. Enter your name, email, and password — then tap **Next**.
|
||||
4. If auto-configuration fails, enter the incoming and outgoing server details manually (IMAP port 993, SMTP port 465, both SSL).
|
||||
|
||||
---
|
||||
|
||||
## MX records
|
||||
|
||||
If your domain's DNS is managed at Arcline (using Arcline nameservers), MX records are set automatically — you don't need to change anything.
|
||||
|
||||
If your DNS is managed elsewhere (at your registrar, Cloudflare, etc.), add these MX records manually:
|
||||
|
||||
| Type | Priority | Value |
|
||||
|---|---|---|
|
||||
| MX | 0 | `mail.yourdomain.com` |
|
||||
|
||||
Then add an A record pointing `mail.yourdomain.com` to your server's IP address (found in cPanel → **Server Information**).
|
||||
|
||||
DNS changes take 1–48 hours to propagate. While propagating, email sent to your domain may be delayed or bounce.
|
||||
|
||||
---
|
||||
|
||||
## SPF and DKIM
|
||||
|
||||
SPF and DKIM tell other mail servers that your server is authorized to send email for your domain. Without them, your outgoing email is more likely to be marked as spam.
|
||||
|
||||
**If you're using Arcline nameservers**, SPF and DKIM records are added automatically by cPanel.
|
||||
|
||||
**If you're using external DNS**, you'll need to add them manually.
|
||||
|
||||
**SPF** — add a TXT record to your domain's DNS:
|
||||
|
||||
```
|
||||
v=spf1 +a +mx +ip4:YOUR_SERVER_IP ~all
|
||||
```
|
||||
|
||||
Replace `YOUR_SERVER_IP` with your server's IP address.
|
||||
|
||||
**DKIM** — in cPanel, go to **Email → Email Deliverability** and click **Manage** next to your domain. Copy the DKIM TXT record shown and add it to your DNS provider.
|
||||
|
||||
After adding both records, go back to **Email → Email Deliverability** and click **Repair** if cPanel flags any problems.
|
||||
|
||||
---
|
||||
|
||||
## Forwarders
|
||||
|
||||
To forward email from one address to another (e.g., `hello@yourdomain.com` to a Gmail account):
|
||||
|
||||
1. cPanel → **Email → Forwarders → Add Forwarder**
|
||||
2. Set the source address and destination
|
||||
3. Click **Add Forwarder**
|
||||
|
||||
You can forward to an external address without creating a full mailbox, which is handy for aliases.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**Can't send email** — check that port 465 (SMTP SSL) isn't blocked by your ISP. Some ISPs block port 25. Try port 587 with STARTTLS as an alternative.
|
||||
|
||||
**Mail going to spam** — verify SPF and DKIM records are set correctly. Check cPanel → **Email → Email Deliverability** for warnings.
|
||||
|
||||
**Authentication failed in mail client** — use your full email address as the username, not just the local part. Confirm the password in cPanel → **Email → Email Accounts → Manage**.
|
||||
|
||||
**Certificate warning** — you must use `mail.yourdomain.com` as the server hostname. Using your server's hostname directly (e.g. `server42.arcline.it`) is fine too as long as it has a valid SSL certificate — check **Email Deliverability** in cPanel for the correct hostname.
|
||||
119
content/getting-started/mysql-backup.md
Normal file
119
content/getting-started/mysql-backup.md
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
title: "Back Up and Restore a MySQL Database"
|
||||
description: "How to export and import MySQL databases on Arcline shared hosting using phpMyAdmin and the command line."
|
||||
section: getting-started
|
||||
order: 3
|
||||
---
|
||||
|
||||
# Back Up and Restore a MySQL Database
|
||||
|
||||
Regular database backups are the most important thing you can do to protect your site. A file backup without a database backup is useless for dynamic sites like WordPress.
|
||||
|
||||
---
|
||||
|
||||
## Export via phpMyAdmin (easiest)
|
||||
|
||||
phpMyAdmin is available in cPanel → **Databases → phpMyAdmin**.
|
||||
|
||||
1. In the left sidebar, click the database name you want to export.
|
||||
2. Click the **Export** tab at the top.
|
||||
3. Leave the method as **Quick** and format as **SQL**.
|
||||
4. Click **Go**.
|
||||
|
||||
The browser will download a `.sql` file. Store it somewhere safe — not on the same server.
|
||||
|
||||
For large databases (over 50 MB), use the **Custom** export method and enable **Add DROP TABLE** so the import won't fail on existing tables.
|
||||
|
||||
---
|
||||
|
||||
## Export via command line (mysqldump)
|
||||
|
||||
SSH into your server and run:
|
||||
|
||||
```bash
|
||||
mysqldump -u username -p database_name > backup_$(date +%Y%m%d).sql
|
||||
```
|
||||
|
||||
You'll be prompted for the MySQL password. On cPanel servers, the MySQL username is prefixed with your cPanel username:
|
||||
|
||||
```bash
|
||||
mysqldump -u cpanelusername_dbusername -p cpanelusername_dbname > backup.sql
|
||||
```
|
||||
|
||||
Check your cPanel → **Databases → MySQL Databases** for the exact username and database name.
|
||||
|
||||
To compress the backup immediately:
|
||||
|
||||
```bash
|
||||
mysqldump -u username -p database_name | gzip > backup_$(date +%Y%m%d).sql.gz
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Download your backup via SFTP
|
||||
|
||||
After exporting from the command line, download the `.sql` or `.sql.gz` file to your local machine using FileZilla or Cyberduck (see [Upload Files via SFTP](/getting-started/sftp/)).
|
||||
|
||||
The file will be in your home directory: `/home/username/backup.sql`.
|
||||
|
||||
---
|
||||
|
||||
## Import a database
|
||||
|
||||
### phpMyAdmin
|
||||
|
||||
1. In cPanel → phpMyAdmin, click the target database in the left sidebar.
|
||||
2. Click the **Import** tab.
|
||||
3. Click **Choose File** and select your `.sql` file.
|
||||
4. Click **Go**.
|
||||
|
||||
phpMyAdmin has a file size limit (usually 50–100 MB). For larger databases, use the command line.
|
||||
|
||||
### Command line import
|
||||
|
||||
```bash
|
||||
mysql -u username -p database_name < backup.sql
|
||||
```
|
||||
|
||||
For a compressed backup:
|
||||
|
||||
```bash
|
||||
gunzip < backup.sql.gz | mysql -u username -p database_name
|
||||
```
|
||||
|
||||
> Make sure the target database already exists in cPanel before importing. Create it in cPanel → **Databases → MySQL Databases** if needed, and make sure the database user is assigned to it with all privileges.
|
||||
|
||||
---
|
||||
|
||||
## Automate daily backups with cron
|
||||
|
||||
SSH in and open your crontab:
|
||||
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
Add this line to run a backup every day at 2 AM:
|
||||
|
||||
```
|
||||
0 2 * * * mysqldump -u cpanelusername_dbuser -pYOURPASSWORD cpanelusername_dbname | gzip > ~/backups/db_$(date +\%Y\%m\%d).sql.gz
|
||||
```
|
||||
|
||||
A few notes:
|
||||
- Replace `YOURPASSWORD` with your actual MySQL password (no space after `-p`)
|
||||
- `~/backups/` must exist: `mkdir ~/backups`
|
||||
- The `\%` escaping is required in crontab
|
||||
|
||||
Also set up a cron to delete backups older than 30 days to avoid filling up disk space:
|
||||
|
||||
```
|
||||
30 2 * * * find ~/backups -name "*.sql.gz" -mtime +30 -delete
|
||||
```
|
||||
|
||||
cPanel also has a built-in cron interface under **Advanced → Cron Jobs** if you prefer a GUI.
|
||||
|
||||
---
|
||||
|
||||
## cPanel full backup
|
||||
|
||||
For a complete backup of files **and** databases together, use cPanel → **Files → Backup Wizard**. Choose **Back Up Your Website** and download the full backup. These can be large — only practical for occasional snapshots, not daily automation.
|
||||
140
content/getting-started/nameservers.md
Normal file
140
content/getting-started/nameservers.md
Normal file
@@ -0,0 +1,140 @@
|
||||
---
|
||||
title: "Point Your Domain to Arcline"
|
||||
description: "How to update your nameservers at GoDaddy, Namecheap, Google Domains, and other registrars to point your domain to Arcline hosting."
|
||||
section: getting-started
|
||||
order: 5
|
||||
---
|
||||
|
||||
# Point Your Domain to Arcline
|
||||
|
||||
When you register a domain, it points to your registrar's nameservers by default. To use your domain with Arcline hosting, you need to update the nameservers so that DNS queries for your domain are answered by Arcline's servers.
|
||||
|
||||
---
|
||||
|
||||
## What nameservers do
|
||||
|
||||
Nameservers are the authoritative source for your domain's DNS records. They answer questions like "where does `yourdomain.com` point?" and "what mail server handles `@yourdomain.com`?"
|
||||
|
||||
When you switch to Arcline nameservers:
|
||||
- Arcline controls all DNS records for your domain
|
||||
- Your website, email, and subdomains all resolve through Arcline
|
||||
- Any DNS records you had at your registrar will need to be recreated in cPanel's Zone Editor
|
||||
|
||||
If you want to keep DNS at your registrar (or use Cloudflare), see [Using external DNS](#using-external-dns) below.
|
||||
|
||||
---
|
||||
|
||||
## Arcline nameservers
|
||||
|
||||
Use these two nameservers for all domains hosted on Arcline:
|
||||
|
||||
```
|
||||
ns1.arcline.it
|
||||
ns2.arcline.it
|
||||
```
|
||||
|
||||
Your welcome email also lists these. If you have a reseller or custom nameserver setup, contact support for the correct values.
|
||||
|
||||
---
|
||||
|
||||
## Update nameservers at GoDaddy
|
||||
|
||||
1. Log in at [godaddy.com](https://godaddy.com) and go to **My Products → Domains**.
|
||||
2. Click the domain you want to update.
|
||||
3. Scroll to **Nameservers** and click **Change**.
|
||||
4. Select **I'll use my own nameservers**.
|
||||
5. Remove the existing nameservers and enter:
|
||||
- `ns1.arcline.it`
|
||||
- `ns2.arcline.it`
|
||||
6. Click **Save**.
|
||||
|
||||
GoDaddy shows a warning that custom nameservers disable their DNS. That's expected — Arcline will handle DNS instead.
|
||||
|
||||
---
|
||||
|
||||
## Update nameservers at Namecheap
|
||||
|
||||
1. Log in at [namecheap.com](https://namecheap.com) and go to **Domain List**.
|
||||
2. Click **Manage** next to your domain.
|
||||
3. Under **Nameservers**, change the dropdown from **Namecheap BasicDNS** to **Custom DNS**.
|
||||
4. Enter:
|
||||
- `ns1.arcline.it`
|
||||
- `ns2.arcline.it`
|
||||
5. Click the green checkmark to save.
|
||||
|
||||
---
|
||||
|
||||
## Update nameservers at Google Domains / Squarespace Domains
|
||||
|
||||
1. Go to [domains.google.com](https://domains.google.com) (or your Squarespace Domains dashboard if it's been migrated).
|
||||
2. Select your domain and go to **DNS**.
|
||||
3. At the top, switch from **Google Domains DNS** to **Custom name servers**.
|
||||
4. Delete the existing entries and add:
|
||||
- `ns1.arcline.it`
|
||||
- `ns2.arcline.it`
|
||||
5. Click **Save**.
|
||||
|
||||
---
|
||||
|
||||
## Update nameservers at Cloudflare (as registrar)
|
||||
|
||||
If you transferred your domain to Cloudflare as the registrar (not just using Cloudflare for DNS):
|
||||
|
||||
1. Log in to the Cloudflare dashboard and select your account.
|
||||
2. Go to **Domain Registration → Manage Domains**.
|
||||
3. Click **Manage** next to your domain, then **Configuration → Name servers**.
|
||||
4. Select **Use custom nameservers** and enter:
|
||||
- `ns1.arcline.it`
|
||||
- `ns2.arcline.it`
|
||||
5. Save changes.
|
||||
|
||||
> Note: if you're using Cloudflare for DNS only (not as registrar), see [Using external DNS](#using-external-dns) — you'll keep Cloudflare nameservers and point the A record to Arcline instead.
|
||||
|
||||
---
|
||||
|
||||
## How long does it take?
|
||||
|
||||
DNS propagation typically takes **15 minutes to a few hours**. In rare cases it can take up to 48 hours, depending on your registrar and the TTL on the old records.
|
||||
|
||||
During propagation, some visitors may still see the old hosting while others see the new. This is normal and temporary.
|
||||
|
||||
You can check propagation status at [dnschecker.org](https://dnschecker.org) — enter your domain and select the A record type. Green checkmarks mean that location has the updated DNS.
|
||||
|
||||
---
|
||||
|
||||
## After switching nameservers
|
||||
|
||||
Once propagation is complete:
|
||||
|
||||
1. **Verify your site loads** — visit your domain in a browser. If it doesn't load immediately, wait a bit longer.
|
||||
2. **Set up email** — if you were using the registrar's email, you'll need to recreate email accounts in cPanel and add MX records (see [Set Up Email](/getting-started/email-setup/)).
|
||||
3. **Check SSL** — cPanel's AutoSSL should issue a certificate within a few minutes. If it doesn't, check **cPanel → Security → SSL/TLS Status** (see [SSL Certificate](/getting-started/ssl-certificate/)).
|
||||
|
||||
---
|
||||
|
||||
## Using external DNS
|
||||
|
||||
If you want to keep DNS management at your registrar or use Cloudflare, don't change your nameservers. Instead, update the A record at your current DNS provider to point to your Arcline server IP:
|
||||
|
||||
| Type | Name | Value | TTL |
|
||||
|---|---|---|---|
|
||||
| A | `@` | your Arcline server IP | 300 |
|
||||
| A | `www` | your Arcline server IP | 300 |
|
||||
|
||||
Find your server IP in cPanel → **Server Information**, or in your Arcline welcome email.
|
||||
|
||||
You'll also need to add MX records and any other DNS records manually. The downside: if you move servers, you have to update your external DNS yourself rather than Arcline handling it automatically.
|
||||
|
||||
---
|
||||
|
||||
## Subdomain setup
|
||||
|
||||
After switching to Arcline nameservers, you can manage all DNS in cPanel:
|
||||
|
||||
- **cPanel → Domains → Zone Editor** — add, edit, or remove any DNS record
|
||||
- **cPanel → Domains → Subdomains** — create subdomains that map to subdirectories of your hosting
|
||||
|
||||
Common records to add:
|
||||
- `www` → your root domain (CNAME or A record, usually already set)
|
||||
- `mail` → A record pointing to your server IP (needed for email client connections)
|
||||
- Custom subdomains like `app`, `blog`, `shop`
|
||||
113
content/getting-started/sftp.md
Normal file
113
content/getting-started/sftp.md
Normal file
@@ -0,0 +1,113 @@
|
||||
---
|
||||
title: "Upload Files via SFTP"
|
||||
description: "How to connect to your Arcline server with FileZilla or Cyberduck and transfer website files."
|
||||
section: getting-started
|
||||
order: 2
|
||||
---
|
||||
|
||||
# Upload Files via SFTP
|
||||
|
||||
SFTP (SSH File Transfer Protocol) lets you upload, download, and manage files on your server using a graphical client. It's encrypted and the standard method for file transfers — FTP without TLS is not supported on Arcline servers.
|
||||
|
||||
## What you'll need
|
||||
|
||||
- Your server's hostname or IP address
|
||||
- Your cPanel username and password (or an SSH key)
|
||||
- SFTP port: **2222** (cPanel default)
|
||||
|
||||
---
|
||||
|
||||
## FileZilla
|
||||
|
||||
FileZilla is free, cross-platform, and works well for most file transfer tasks.
|
||||
|
||||
**Download:** [filezilla-project.org](https://filezilla-project.org) — use the regular FileZilla Client, not FileZilla Pro.
|
||||
|
||||
### Quick connect
|
||||
|
||||
In the toolbar at the top, fill in:
|
||||
|
||||
- **Host:** `sftp://your-server.arcline.it`
|
||||
- **Username:** your cPanel username
|
||||
- **Password:** your cPanel password
|
||||
- **Port:** `2222`
|
||||
|
||||
Click **Quickconnect**. Accept the server fingerprint when prompted.
|
||||
|
||||
### Site Manager (recommended for saved connections)
|
||||
|
||||
Go to **File → Site Manager → New Site** and fill in:
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Protocol | SFTP – SSH File Transfer Protocol |
|
||||
| Host | `your-server.arcline.it` |
|
||||
| Port | `2222` |
|
||||
| Logon Type | Normal |
|
||||
| User | your cPanel username |
|
||||
| Password | your cPanel password |
|
||||
|
||||
Click **Connect**. The site is saved for next time.
|
||||
|
||||
### Navigating your files
|
||||
|
||||
- **Left panel** — your local computer
|
||||
- **Right panel** — your server
|
||||
|
||||
Your website files live in `/home/username/public_html/`. Navigate there on the right side before uploading.
|
||||
|
||||
To upload: drag files from the left panel to the right. To download: drag from right to left.
|
||||
|
||||
> **Before uploading a new version of your site**, download a copy of `public_html` first so you have a backup.
|
||||
|
||||
---
|
||||
|
||||
## Cyberduck
|
||||
|
||||
Cyberduck is a good option on macOS (also available on Windows).
|
||||
|
||||
**Download:** [cyberduck.io](https://cyberduck.io) — it's free, though they ask for a donation.
|
||||
|
||||
Click **Open Connection** and set:
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Protocol | SFTP (SSH File Transfer Protocol) |
|
||||
| Server | `your-server.arcline.it` |
|
||||
| Port | `2222` |
|
||||
| Username | your cPanel username |
|
||||
| Password | your cPanel password |
|
||||
|
||||
Click **Connect**. Bookmark the connection (⌘D on Mac) to save it.
|
||||
|
||||
---
|
||||
|
||||
## SSH key authentication
|
||||
|
||||
If you've set up SSH keys (see [Connect via SSH](/getting-started/ssh/)), both FileZilla and Cyberduck support key-based login:
|
||||
|
||||
**FileZilla:** In Site Manager, set Logon Type to **Key file** and point it to your private key file (`~/.ssh/id_ed25519`).
|
||||
|
||||
**Cyberduck:** In Open Connection, leave the password blank and check **Use Public Key Authentication**. Cyberduck will pick up keys from `~/.ssh/` automatically.
|
||||
|
||||
---
|
||||
|
||||
## Common paths
|
||||
|
||||
| What | Path |
|
||||
|---|---|
|
||||
| Your website root | `/home/username/public_html/` |
|
||||
| WordPress uploads | `/home/username/public_html/wp-content/uploads/` |
|
||||
| cPanel mail | `/home/username/mail/` |
|
||||
| cPanel logs | `/home/username/logs/` |
|
||||
| cPanel backups | `/home/username/backup/` |
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**Authentication failed** — double-check your username, password, and port (2222, not 22). Make sure you're using SFTP not FTP.
|
||||
|
||||
**Connection timed out** — a firewall or fail2ban may be blocking your IP. Try connecting from a different network to test, then contact support.
|
||||
|
||||
**Permission denied when uploading** — the target directory may be owned by a different user or have restrictive permissions. Check the permissions in FileZilla (right-click → File permissions) or via SSH: `ls -la /home/username/public_html/`.
|
||||
122
content/getting-started/ssh.md
Normal file
122
content/getting-started/ssh.md
Normal file
@@ -0,0 +1,122 @@
|
||||
---
|
||||
title: "Connect to Your Server via SSH"
|
||||
description: "How to SSH into your Arcline server on Windows, macOS, and Linux — plus setting up SSH keys for passwordless login."
|
||||
section: getting-started
|
||||
order: 1
|
||||
---
|
||||
|
||||
# Connect to Your Server via SSH
|
||||
|
||||
SSH (Secure Shell) is the standard way to access your Arcline server's command line. Once connected you can manage files, install software, restart services, and run anything you'd run locally.
|
||||
|
||||
## What you'll need
|
||||
|
||||
- Your server's hostname or IP address (from your welcome email)
|
||||
- Your SSH username (typically the cPanel username)
|
||||
- Your SSH password **or** an SSH key pair
|
||||
|
||||
---
|
||||
|
||||
## Connect on macOS or Linux
|
||||
|
||||
Open Terminal and run:
|
||||
|
||||
```bash
|
||||
ssh username@your-server.arcline.it
|
||||
```
|
||||
|
||||
Replace `username` with your cPanel username and `your-server.arcline.it` with your server hostname. You'll be prompted for your password on first login.
|
||||
|
||||
If your server runs SSH on a non-standard port (common with shared hosting — cPanel uses port **2222**):
|
||||
|
||||
```bash
|
||||
ssh -p 2222 username@your-server.arcline.it
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Connect on Windows
|
||||
|
||||
Windows 10 and 11 include OpenSSH built in. Open **PowerShell** or **Windows Terminal** and run the same command:
|
||||
|
||||
```powershell
|
||||
ssh username@your-server.arcline.it
|
||||
```
|
||||
|
||||
Or with port 2222:
|
||||
|
||||
```powershell
|
||||
ssh -p 2222 username@your-server.arcline.it
|
||||
```
|
||||
|
||||
**Using PuTTY** — if you prefer a GUI client, download PuTTY from [putty.org](https://www.putty.org). Fill in:
|
||||
|
||||
- Host Name: `your-server.arcline.it`
|
||||
- Port: `2222`
|
||||
- Connection type: SSH
|
||||
|
||||
Click **Open**, accept the server fingerprint on first connection, and log in with your username and password.
|
||||
|
||||
---
|
||||
|
||||
## Set up SSH key authentication
|
||||
|
||||
SSH keys are more secure than passwords and let you log in without typing a password every time.
|
||||
|
||||
**Step 1 — Generate a key pair** (skip if you already have one at `~/.ssh/id_ed25519`):
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519 -C "your@email.com"
|
||||
```
|
||||
|
||||
Accept the default file location. Set a passphrase if you want extra protection.
|
||||
|
||||
**Step 2 — Copy your public key to the server:**
|
||||
|
||||
```bash
|
||||
ssh-copy-id -p 2222 username@your-server.arcline.it
|
||||
```
|
||||
|
||||
Or manually: log in, open `~/.ssh/authorized_keys` on the server, and paste the contents of your local `~/.ssh/id_ed25519.pub` file.
|
||||
|
||||
**Step 3 — Verify it works:**
|
||||
|
||||
```bash
|
||||
ssh -p 2222 username@your-server.arcline.it
|
||||
```
|
||||
|
||||
You should log in without being asked for a password.
|
||||
|
||||
**Via cPanel** — you can also manage SSH keys in **cPanel → Security → SSH Access**. Upload your public key there and cPanel will authorize it automatically.
|
||||
|
||||
---
|
||||
|
||||
## Simplify repeated connections
|
||||
|
||||
Add an entry to `~/.ssh/config` to avoid typing the full command every time:
|
||||
|
||||
```
|
||||
Host arcline
|
||||
HostName your-server.arcline.it
|
||||
User username
|
||||
Port 2222
|
||||
IdentityFile ~/.ssh/id_ed25519
|
||||
```
|
||||
|
||||
Now you can connect with just:
|
||||
|
||||
```bash
|
||||
ssh arcline
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common errors
|
||||
|
||||
**Connection refused** — the SSH service may be running on a different port, or a firewall is blocking the connection. Confirm the port with Arcline support.
|
||||
|
||||
**Permission denied (publickey)** — your key isn't authorized on the server. Check that `~/.ssh/authorized_keys` contains your public key and has permissions `600`.
|
||||
|
||||
**Host key verification failed** — the server's fingerprint changed (common after a reinstall). Remove the old entry: `ssh-keygen -R your-server.arcline.it` and reconnect.
|
||||
|
||||
**Connection timed out** — your IP may be temporarily blocked by fail2ban after too many failed attempts. Contact support to whitelist your IP.
|
||||
131
content/getting-started/ssl-certificate.md
Normal file
131
content/getting-started/ssl-certificate.md
Normal file
@@ -0,0 +1,131 @@
|
||||
---
|
||||
title: "SSL Certificate and HTTPS"
|
||||
description: "How to enable SSL on your Arcline domain, force HTTPS, fix mixed content warnings, and troubleshoot certificate problems."
|
||||
section: getting-started
|
||||
order: 6
|
||||
---
|
||||
|
||||
# SSL Certificate and HTTPS
|
||||
|
||||
Every Arcline hosting account includes free SSL certificates via AutoSSL (powered by Let's Encrypt). Certificates are issued automatically for your domain and renewed every 90 days without any action required on your part.
|
||||
|
||||
---
|
||||
|
||||
## Check your SSL status
|
||||
|
||||
In cPanel, go to **Security → SSL/TLS Status**. You'll see a list of all domains on your account and their certificate status:
|
||||
|
||||
- **Certificate valid** — green, working
|
||||
- **Certificate expiring soon** — will auto-renew before it expires
|
||||
- **Failed** — usually a DNS problem; see [Troubleshooting](#troubleshooting) below
|
||||
|
||||
If AutoSSL hasn't run yet after you pointed your domain to Arcline, click **Run AutoSSL** at the top of the page to trigger it immediately.
|
||||
|
||||
---
|
||||
|
||||
## Force HTTPS
|
||||
|
||||
Having an SSL certificate doesn't automatically redirect `http://` to `https://`. You need to add a redirect so all visitors get the secure version.
|
||||
|
||||
### WordPress
|
||||
|
||||
Install the **Really Simple SSL** plugin — it handles the redirect and fixes most mixed content issues in one click. It's free and widely trusted.
|
||||
|
||||
Or add this to the top of your `.htaccess` file (before the `# BEGIN WordPress` block):
|
||||
|
||||
```apache
|
||||
RewriteEngine On
|
||||
RewriteCond %{HTTPS} off
|
||||
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
||||
```
|
||||
|
||||
### Non-WordPress sites
|
||||
|
||||
Add the same redirect to `.htaccess` in your document root (`/home/username/public_html/.htaccess`):
|
||||
|
||||
```apache
|
||||
RewriteEngine On
|
||||
RewriteCond %{HTTPS} off
|
||||
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
||||
```
|
||||
|
||||
### Via cPanel
|
||||
|
||||
cPanel has a built-in redirect tool: go to **Domains → Redirects**, set type to **Permanent (301)**, enter `http://yourdomain.com` as source, `https://yourdomain.com` as destination. Repeat for `www`.
|
||||
|
||||
Alternatively, cPanel → **Security → SSL/TLS** → **Manage SSL Sites** has a "Force HTTPS Redirect" checkbox for domains with an active certificate.
|
||||
|
||||
---
|
||||
|
||||
## WordPress mixed content
|
||||
|
||||
After switching to HTTPS, WordPress sometimes still loads some resources over HTTP — images, scripts, or stylesheets embedded in post content. This causes browser warnings ("Not Secure" or padlock with warning).
|
||||
|
||||
**Quick fix:** Really Simple SSL catches most of these automatically.
|
||||
|
||||
**Manual fix for URLs stored in the database:**
|
||||
|
||||
Use the **Better Search Replace** plugin to change `http://yourdomain.com` to `https://yourdomain.com` across all tables. Run it in dry-run mode first to see what would change.
|
||||
|
||||
Or via WP-CLI over SSH:
|
||||
|
||||
```bash
|
||||
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables
|
||||
```
|
||||
|
||||
After replacing, go to **Settings → General** and make sure both WordPress Address and Site Address are set to `https://`.
|
||||
|
||||
---
|
||||
|
||||
## Let's Encrypt certificate details
|
||||
|
||||
Arcline uses Let's Encrypt certificates:
|
||||
|
||||
- **Validity:** 90 days (renewed automatically ~30 days before expiry)
|
||||
- **Covers:** your domain and `www.yourdomain.com` (and other configured domains/subdomains on the same account)
|
||||
- **CA:** Let's Encrypt (trusted by all modern browsers)
|
||||
- **Cost:** free, included with all Arcline hosting plans
|
||||
|
||||
There's no manual renewal step. cPanel's AutoSSL daemon runs nightly and renews certificates that are within 30 days of expiry.
|
||||
|
||||
---
|
||||
|
||||
## Installing a third-party certificate
|
||||
|
||||
If you have a purchased certificate (e.g., an Extended Validation or wildcard cert from a commercial CA), you can install it manually:
|
||||
|
||||
1. cPanel → **Security → SSL/TLS → Manage SSL Sites**
|
||||
2. Select your domain from the dropdown
|
||||
3. Paste the certificate (`.crt`) and private key (`.key`) into the fields
|
||||
4. Paste the CA bundle / intermediate certificate if required by your CA
|
||||
5. Click **Install Certificate**
|
||||
|
||||
The Let's Encrypt certificate will be replaced. AutoSSL won't overwrite a manually installed certificate that isn't yet expired.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Certificate not issued
|
||||
|
||||
AutoSSL requires that your domain resolve to your Arcline server's IP before it can issue a certificate. Common causes of failure:
|
||||
|
||||
1. **DNS hasn't propagated** — wait up to 24 hours after pointing nameservers, then run AutoSSL again
|
||||
2. **Using external DNS with wrong A record** — verify that `yourdomain.com` and `www.yourdomain.com` A records point to your Arcline server IP
|
||||
3. **CAA record blocking Let's Encrypt** — if you have a CAA record that doesn't include `letsencrypt.org`, Let's Encrypt can't issue. Add: `0 issue "letsencrypt.org"` or remove the CAA record
|
||||
|
||||
### ERR_SSL_PROTOCOL_ERROR or site not loading over HTTPS
|
||||
|
||||
Your certificate may not be installed yet. Check **SSL/TLS Status** in cPanel and run AutoSSL if needed. Temporarily access the site over `http://` while waiting.
|
||||
|
||||
### Certificate valid but browser shows "Not Secure"
|
||||
|
||||
Mixed content — some resources are still loading over HTTP. See [WordPress mixed content](#wordpress-mixed-content) above.
|
||||
|
||||
### Certificate expired
|
||||
|
||||
AutoSSL should prevent this, but if it fails repeatedly (usually due to DNS issues), the certificate can expire. Fix the underlying DNS problem, then run AutoSSL manually in cPanel. If the domain is unreachable from outside, AutoSSL cannot complete the Let's Encrypt challenge.
|
||||
|
||||
### HSTS issues after switching back to HTTP
|
||||
|
||||
If your site previously sent `Strict-Transport-Security` (HSTS) headers, browsers will refuse to load it over HTTP even if you remove SSL. This is the HSTS preload taking effect. The fix is to restore the certificate — don't remove SSL from a site that had HSTS enabled.
|
||||
Reference in New Issue
Block a user