<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.1701technology.com/index.php?action=history&amp;feed=atom&amp;title=MSSQL_RHEL_7.7</id>
	<title>MSSQL RHEL 7.7 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.1701technology.com/index.php?action=history&amp;feed=atom&amp;title=MSSQL_RHEL_7.7"/>
	<link rel="alternate" type="text/html" href="https://wiki.1701technology.com/index.php?title=MSSQL_RHEL_7.7&amp;action=history"/>
	<updated>2026-05-06T14:01:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.1701technology.com/index.php?title=MSSQL_RHEL_7.7&amp;diff=1172&amp;oldid=prev</id>
		<title>Michael.mast: Created page with &quot;==Purpose== To install MSSQL 2017 on RHEL 7.7 (ends August 30, 2021; Final RHEL 7 EUS Release)&lt;ref&gt;https://access.redhat.com/support/policy/updates/errata&lt;/ref&gt; hosted on AWS,...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.1701technology.com/index.php?title=MSSQL_RHEL_7.7&amp;diff=1172&amp;oldid=prev"/>
		<updated>2019-08-20T18:46:40Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Purpose== To install MSSQL 2017 on RHEL 7.7 (ends August 30, 2021; Final RHEL 7 EUS Release)&amp;lt;ref&amp;gt;https://access.redhat.com/support/policy/updates/errata&amp;lt;/ref&amp;gt; hosted on AWS,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Purpose==&lt;br /&gt;
To install MSSQL 2017 on RHEL 7.7 (ends August 30, 2021; Final RHEL 7 EUS Release)&amp;lt;ref&amp;gt;https://access.redhat.com/support/policy/updates/errata&amp;lt;/ref&amp;gt; hosted on AWS, with AD authentication.&lt;br /&gt;
&amp;lt;ref&amp;gt;https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-red-hat?view=sql-server-2017&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
*m5a.xlarge&lt;br /&gt;
*100GB GP2 boot (SSD)&lt;br /&gt;
*500GB gp2 data (SSD)&lt;br /&gt;
*1024GB ti backup (Magentic)&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo hostnamectl set-hostname mssql01&lt;br /&gt;
sudo yum upgrade -y&lt;br /&gt;
sudo yum install firewalld yum-cron setroubleshoot-server -y&lt;br /&gt;
sudo enable --now firewalld&lt;br /&gt;
sudo firewall-cmd --permanent --add-port=1433/tcp&lt;br /&gt;
sudo firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I am unable to find yum-cron in the default repositories provided by Red Hat for RHEL 7.7 on AWS.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo reboot&lt;br /&gt;
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo&lt;br /&gt;
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo&lt;br /&gt;
sudo yum install -y mssql-tools unixODBC-devel mssql-server&lt;br /&gt;
echo 'export PATH=&amp;quot;$PATH:/opt/mssql-tools/bin&amp;quot;' &amp;gt;&amp;gt; ~/.bash_profile&lt;br /&gt;
echo 'export PATH=&amp;quot;$PATH:/opt/mssql-tools/bin&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
sudo /opt/mssql/bin/mssql-conf setup&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Configure storage&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkfs.btrfs /dev/nvme1n1&lt;br /&gt;
sudo mkfs.btrfs /dev/nvme2n1&lt;br /&gt;
sudo mkdir /mnt/data&lt;br /&gt;
sudo mkdir /mnt/backup&lt;br /&gt;
sudo chown mssql:mssql /mnt/data&lt;br /&gt;
sudo chown mssql:mssql /mnt/backup&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Update fstab to mount accordingly.&amp;lt;br&amp;gt;&lt;br /&gt;
Now update storage location&amp;lt;ref&amp;gt;https://www.sqlshack.com/configure-sql-server-2017-linux-mssql-conf-available-tools/&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf?view=sql-server-2017&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /mnt/data&lt;br /&gt;
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /mnt/data&lt;br /&gt;
sudo systemctl restart mssql-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At this point I can use the database services with the SA account. No issues yet.&amp;lt;br&amp;gt;&lt;br /&gt;
Now setup AD Authentication.&amp;lt;ref&amp;gt;https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-active-directory-join-domain?view=sql-server-2017&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-active-directory-authentication?view=sql-server-2017&amp;lt;/ref&amp;gt; In this case I want to authenticate against two domains.&amp;lt;br&amp;gt;&lt;br /&gt;
First enroll the linux host into AD&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum -y install realmd krb5-workstation oddjob oddjob-mkhomedir sssd samba-common-tools&lt;br /&gt;
sudo realm join your.domain.tld -U 'michael.mast@YOUR.DOMAIN.TLD' -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then create a dedicated user account in AD, set the SPN for the account, and generate the keytab.&lt;br /&gt;
*On domain controller&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Windows\system32&amp;gt;setspn.exe -A MSSQLSvc/mssql01.your.domain.tld:1433 dedicated_user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*On the Linux host check for the kvno number of the account.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ec2-user@mssql01 ~]$ kvno MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMNAIN.TLD: kvno = 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Create keytab. I followed instructions to use the MSA instead of host SPN. Was only able to authenticate using MSA.&lt;br /&gt;
===Keytab with MSA===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ec2-user@mssql01 ~]$ sudo ktutil&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD -k 2 -e aes256-cts-hmac-sha1-96&lt;br /&gt;
Password for MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD -k 2 -e rc4-hmac&lt;br /&gt;
Password for MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD -k 2 -e aes256-cts-hmac-sha1-96&lt;br /&gt;
Password for MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD -k 2 -e rc4-hmac&lt;br /&gt;
Password for MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  list&lt;br /&gt;
slot KVNO Principal&lt;br /&gt;
---- ---- ---------------------------------------------------------------------&lt;br /&gt;
   1    2 MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
   2    2 MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
   3    2     MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
   4    2     MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
ktutil:  wkt /var/opt/mssql/secrets/mssql.keytab&lt;br /&gt;
ktutil:  addent -password -p mssqlinux@YOUR.DOMAIN.TLD -k 2 -e aes256-cts-hmac-sha1-96&lt;br /&gt;
Password for mssqlinux@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  addent -password -p mssqlinux@YOUR.DOMAIN.TLD -k 2 -e rc4-hmac&lt;br /&gt;
Password for mssqlinux@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  wkt /var/opt/mssql/secrets/mssql.keytab&lt;br /&gt;
ktutil:  quit&lt;br /&gt;
[ec2-user@mssql01 ~]$ sudo ktutil&lt;br /&gt;
ktutil:  rkt /var/opt/mssql/secrets/mssql.keytab1&lt;br /&gt;
ktutil:  list&lt;br /&gt;
slot KVNO Principal&lt;br /&gt;
---- ---- ---------------------------------------------------------------------&lt;br /&gt;
   1    2 MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
   2    2 MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
   3    2     MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
   4    2     MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD&lt;br /&gt;
   5    2                 mssqllinux@YOUR.DOMAIN.TLD&lt;br /&gt;
   6    2                 mssqllinux@YOUR.DOMAIN.TLD&lt;br /&gt;
ktutil:  quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tell MSSQL to use the domain account for authentication purposes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ec2-user@mssql01 ~]$ sudo /opt/mssql/bin/mssql-conf set network.privilegedadaccount mssqllinux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Keytab with SPN===&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ec2-user@mssql01 ~]$ sudo ktutil&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD -k 2 -e aes256-cts-hmac-sha1-96&lt;br /&gt;
Password for MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD -k 2 -e rc4-hmac&lt;br /&gt;
Password for MSSQLSvc/mssql01.your.domain.tld:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD -k 2 -e aes256-cts-hmac-sha1-96&lt;br /&gt;
Password for MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil:  addent -password -p MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD -k 2 -e rc4-hmac&lt;br /&gt;
Password for MSSQLSvc/mssql01:1433@YOUR.DOMAIN.TLD:&lt;br /&gt;
ktutil: wkt /var/opt/mssql/secrets/mssql.keytab&lt;br /&gt;
ktutil:  quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Now add the UPN for the host. Make sure to remove all entries except the ones that represent the machine&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ktutil:  rkt /etc/krb5.keytab&lt;br /&gt;
ktutil:  delent 1&lt;br /&gt;
....&lt;br /&gt;
ktutil:  list&lt;br /&gt;
slot KVNO Principal&lt;br /&gt;
---- ---- ---------------------------------------------------------------------&lt;br /&gt;
   1    2                  MSSQL01$@YOUR.DOMAIN.TLD&lt;br /&gt;
   2    2                  MSSQL01$@YOUR.DOMAIN.TLD&lt;br /&gt;
   3    2                  MSSQL01$@YOUR.DOMAIN.TLD&lt;br /&gt;
   4    2                  MSSQL01$@YOUR.DOMAIN.TLD&lt;br /&gt;
   5    2                  MSSQL01$@YOUR.DOMAIN.TLD&lt;br /&gt;
ktutil:  wkt /var/opt/mssql/secrets/mssql.keytab&lt;br /&gt;
ktutil:  quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Secure keytab&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown mssql:mssql /var/opt/mssql/secrets/mssql.keytab&lt;br /&gt;
sudo chmod 400 /var/opt/mssql/secrets/mssql.keytab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Configure MSSQL to use keytab&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /opt/mssql/bin/mssql-conf set network.kerberoskeytabfile /var/opt/mssql/secrets/mssql.keytab&lt;br /&gt;
sudo systemctl restart mssql-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Michael.mast</name></author>
		
	</entry>
</feed>