📋 Table of Contents
System Preparation
1.1 System Update
Before starting any installation, ensure the system is fully up to date:
sudo apt update && sudo apt upgrade -y1.2 Timezone Configuration
Set the server timezone to Turkey (Europe/Istanbul):
sudo timedatectl set-timezone Europe/Istanbul
timedatectl statusExpected output:
1.3 Required Packages
sudo apt install -y curl wget gnupg2 software-properties-common apt-transport-httpsPlesk Installation
2.1 Downloading the Plesk Installer
sh <(curl ...) method on Ubuntu 24.04 causes a sh: 0: cannot open /dev/fd/63 error. Download the installer to disk first instead.Download the installer to /tmp, then execute it:
curl -o /tmp/plesk-installer https://autoinstall.plesk.com/plesk-installer
chmod +x /tmp/plesk-installer
sudo /tmp/plesk-installer2.2 Installation Options
Select Plesk Obsidian from the interactive installer menu. Installation time varies between 10–30 minutes depending on server speed.
2.3 First Login
Once installation is complete, access the panel via browser:
https://<server-ip>:84432.4 Plesk License
After installation, Plesk runs with a 14-day trial license. License information can be found at Tools & Settings → License Management.
| License Type | Duration | Notes |
|---|---|---|
| Trial | 14 days | All features active |
| Web Admin Edition | Paid / Annual | Limited domains |
| Web Pro Edition | Paid / Annual | Mid-scale hosting |
| Web Host Edition | Paid / Annual | Unlimited domains |
MSSQL 2025 Preview Installation
3.1 Add Microsoft GPG Key and Repository
# Add the GPG key
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
# Add the SQL Server 2025 Preview repository
curl -fsSL https://packages.microsoft.com/config/ubuntu/24.04/mssql-server-preview.list | \
sudo tee /etc/apt/sources.list.d/mssql-server-preview.list
sudo apt update3.2 Install SQL Server
sudo apt install -y mssql-server3.3 Initial Configuration
sudo /opt/mssql/bin/mssql-conf setupDuring the setup wizard:
| Step | Selection |
|---|---|
| Edition selection | Initially shows Enterprise Evaluation (can be changed later) |
| SA password | Set a strong password (uppercase + lowercase + numbers + special characters) |
| License acceptance | Yes |
3.4 Start the Service and Verify
sudo systemctl start mssql-server
sudo systemctl enable mssql-server
sudo systemctl status mssql-serverActive: active (running), the installation was successful.3.5 Install sqlcmd Tools
# Add the sqlcmd repository
curl -fsSL https://packages.microsoft.com/config/ubuntu/24.04/prod.list | \
sudo tee /etc/apt/sources.list.d/mssql-tools18.list
sudo apt update
sudo apt install -y mssql-tools18 unixodbc-dev
# Add to PATH
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc3.6 Connection Test
sqlcmd -S localhost -U SA -P '<your-SA-password>' -C -Q "SELECT @@VERSION"Changing MSSQL Edition — Developer Edition
4.1 Stop the Service
sudo systemctl stop mssql-server
sudo systemctl status mssql-server
# Should show: Active: inactive (dead)4.2 Change the Edition
In SQL Server 2025, edition changes are made using the set-edition command:
sudo /opt/mssql/bin/mssql-conf set-editionSelect Developer from the menu that appears and confirm.
4.3 Restart the Service
sudo systemctl start mssql-server
sudo systemctl status mssql-server4.4 Verify the Edition Change
sqlcmd -S localhost -U SA -P '<your-SA-password>' -C -Q \
"SELECT Edition, ProductVersion, GETDATE() AS SqlServerTime FROM sys.dm_os_sys_info CROSS JOIN (SELECT SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('ProductVersion') AS ProductVersion) AS props"Successful output:
———————————— ————— ———————–
Standard Developer Edition (64-bit) 17.0.1000.7 2026-08-19 14:47:47.600
Plesk License Information
5.1 License Screen
Additional license keys are managed under Tools & Settings → License Management → Additional License Keys. This screen is empty on the trial version.
5.2 License Renewal / Purchase
| Method | Description |
|---|---|
| From Plesk Panel | Tools & Settings → License Management → Buy License |
| Plesk Website | Purchase at plesk.com/pricing, then enter the key in the panel |
| Hosting Provider | Some providers bundle a Plesk license with the server package |
Plesk & MSSQL Co-existence Architecture
6.1 Current Architecture
| Component | Port | Management Interface |
|---|---|---|
| Plesk Panel | 8443 (HTTPS) | Web browser |
| MariaDB (Plesk) | 3306 | Plesk → Database Servers |
| MSSQL 2025 | 1433 | sqlcmd / SSMS / Azure Data Studio |
6.2 Connecting to MSSQL Remotely
Open port 1433 in the firewall:
sudo ufw allow 1433/tcp
sudo ufw reloadThen connect using SQL Server Management Studio (SSMS) or Azure Data Studio on Windows:
| Field | Value |
|---|---|
| Server name | server IP or Domain,1433 |
| Authentication | SQL Server Authentication |
| Login | SA |
| Password | <password set during installation> |
| Trust server certificate | ✅ Checked |
6.3 Using MSSQL in Plesk-hosted Web Applications
A web application hosted on Plesk that needs to connect to MSSQL should use localhost,1433 or the server IP in its connection string. Plesk does not manage this connection — the application connects directly to MSSQL.
# .NET / C# example connection string
Server=localhost,1433;Database=MyDb;User Id=SA;Password=<password>;TrustServerCertificate=True;# PHP (PDO) example
$pdo = new PDO("sqlsrv:Server=localhost,1433;Database=MyDb", "SA", "<password>");MSSQL Management — Essential Commands
7.1 Service Management
# Start the service
sudo systemctl start mssql-server
# Stop the service
sudo systemctl stop mssql-server
# Restart the service
sudo systemctl restart mssql-server
# Check status
sudo systemctl status mssql-server
# Enable auto-start on boot
sudo systemctl enable mssql-server7.2 Basic Operations with sqlcmd
# Connect
sqlcmd -S localhost -U SA -P '<password>' -C
# List databases
SELECT name FROM sys.databases;
GO
# Create a new database
CREATE DATABASE MyDatabase;
GO
# Create a user
CREATE LOGIN myuser WITH PASSWORD = 'Strong@Password123';
CREATE USER myuser FOR LOGIN myuser;
GO
# Check version and edition
SELECT @@VERSION;
SELECT SERVERPROPERTY('Edition');
GO7.3 Log Files
# MSSQL log directory
sudo ls /var/opt/mssql/log/
# View the error log
sudo tail -100 /var/opt/mssql/log/errorlog7.4 mssql-conf Configuration Commands
# List all settings
sudo /opt/mssql/bin/mssql-conf list
# Change edition
sudo /opt/mssql/bin/mssql-conf set-edition
# Reset SA password
sudo /opt/mssql/bin/mssql-conf set-sa-password
# Set memory limit (in MB)
sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 4096Important Notes & Warnings
| # | Topic | Description |
|---|---|---|
| 1 | MSSQL 2025 Preview | This version is still in Preview. It is not recommended for production use. |
| 2 | Developer Edition | Free of charge and includes all Enterprise features. May only be used in development/test environments — not in production. |
| 3 | Plesk + MSSQL | Plesk for Linux cannot manage MSSQL through its panel. Both run as independent services. |
| 4 | Firewall | Open port 1433 only to trusted IP addresses. Leaving it open to the public is a security risk. |
| 5 | SA Account | Avoid using the SA account directly. Create dedicated users with minimum required permissions. |
| 6 | Plesk License | The 14-day trial cannot be extended. Purchase a license before it expires. |
| 7 | Backups | Back up MSSQL databases regularly. Plesk’s built-in backup system does not cover MSSQL. |
✅ Ubuntu 24.04 — Ready
✅ Timezone: Europe/Istanbul (UTC+3)
✅ Plesk Obsidian — Installed (Trial license)
✅ MSSQL 2025 Preview (17.0.1000.7) — Installed
✅ Edition: Standard Developer Edition (64-bit)
✅ sqlcmd — Installed (/opt/mssql-tools18/bin/sqlcmd)
