123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- #!/bin/bash
-
- # Detect OS type
- if [ -f /etc/os-release ]; then
- . /etc/os-release
- OS_NAME=$NAME
- OS_VERSION=$VERSION_ID
- fi
-
- echo "Detected OS: $OS_NAME $OS_VERSION"
-
- # Function to install SQL Server on Ubuntu
- install_sqlserver_ubuntu() {
-
- sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y
- sudo do-release-upgrade
-
- sudo apt update && sudo apt install libc6
- sudo apt install libgnutls30 libsasl2-2
-
- sudo apt upgrade libsasl2-2
- sudo apt upgrade libgnutls30
- sudo apt upgrade libc6
-
- # sudo apt install curl
- wget http://debian.mirror.ac.za/debian/pool/main/o/openldap/libldap-2.5-0_2.5.13+dfsg-5_amd64.deb
- sudo dpkg -i libldap-2.5-0_2.5.13+dfsg-5_amd64.deb
- wget http://debian.mirror.ac.za/debian/pool/main/o/openldap/libldap-dev_2.5.13+dfsg-5_amd64.deb
- sudo dpkg -i libldap-dev_2.5.13+dfsg-5_amd64.deb
- sudo apt upgrade libldap-2.5-0
-
-
- # Add Microsoft SQL Server repository for Ubuntu using wget
- wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
- wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list
- #wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/prod.repo | sudo tee /etc/apt/sources.list.d/mssql-server.list
-
- # Update repository and install SQL Server
- sudo apt update && sudo apt install -y mssql-server
-
- # Run the setup to configure SQL Server
- sudo /opt/mssql/bin/mssql-conf setup
-
- # Enable SQL Server to start on boot
- sudo systemctl enable mssql-server
-
- # (Optional) Open SQL Server port for remote access
- sudo ufw allow 1433/tcp
-
- # (Optional) Install SQL Server command-line tools
- wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
- sudo apt update && sudo apt install -y mssql-tools unixodbc-dev
-
- # wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/prod.repo | sudo tee /etc/apt/sources.list.d/mssql-release.list
- # sudo apt update
- # sudo apt install -y mssql-tools unixodbc-dev
-
- # Add mssql-tools to PATH
- echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
- source ~/.bashrc
-
- # Verify installation
- sqlcmd --version
- }
-
- # Function to install SQL Server on CentOS
- install_sqlserver_centos() {
- # Remove any existing mssql-server repo
- sudo rm -f /etc/yum.repos.d/mssql-server.repo
-
- # Add Microsoft SQL Server repository for CentOS using wget
- wget -qO /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
-
- # Clean all dnf caches and make a new one
- sudo dnf clean all
- sudo dnf makecache
-
- # Install SQL Server Express
- sudo dnf install -y mssql-server
-
- # Run the setup to configure SQL Server
- sudo /opt/mssql/bin/mssql-conf setup
-
- # Enable SQL Server to start on boot
- sudo systemctl enable mssql-server
-
- # (Optional) Open SQL Server port for remote access
- sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
- sudo firewall-cmd --reload
-
- # (Optional) Install SQL Server command-line tools
- wget -qO https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
- sudo yum remove -y mssql-tools unixODBC-utf16 unixODBC-utf16-devel
- sudo yum install -y mssql-tools18 unixODBC-devel
- sudo dnf install -y msodbcsql18
-
- # Add mssql-tools to PATH
- echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
- source ~/.bash_profile
-
- # Verify installation
- sqlcmd --version
- }
-
- # Check the OS type and call appropriate function
- if [[ "$OS_NAME" == "Ubuntu" || "$OS_NAME" == "Debian" ]]; then
- echo "Installing Microsoft SQL Server on Ubuntu..."
- install_sqlserver_ubuntu
- elif [[ "$OS_NAME" == "CentOS" || "$OS_NAME" == "Red Hat" || "$OS_NAME" == "Fedora" ]]; then
- echo "Installing Microsoft SQL Server on CentOS..."
- install_sqlserver_centos
- else
- echo "Unsupported OS. This script is designed for Ubuntu or CentOS."
- exit 1
- fi
-
- # Finished
- echo "SQL Server installation completed successfully!"
-
-
-
-
-
-
- # # https://www.geeksforgeeks.org/how-to-install-sql-server-express-in-linux/
- # # https://learn.microsoft.com/en-us/answers/questions/1685683/how-to-install-sql-server-2022-on-ubuntu-server-24
-
- # curl -O http://debian.mirror.ac.za/debian/pool/main/o/openldap/libldap-2.5-0_2.5.13+dfsg-5_amd64.deb
- # sudo dpkg -i libldap-2.5-0_2.5.13+dfsg-5_amd64.deb
- # curl -O http://debian.mirror.ac.za/debian/pool/main/o/openldap/libldap-dev_2.5.13+dfsg-5_amd64.deb
- # sudo dpkg -i libldap-dev_2.5.13+dfsg-5_amd64.deb
- # #First upgrade ubuntu to fix libc packaging issues.
- # #Then
- # # sudo apt --fix-broken install
- # # sudo apt upgrade libsasl2-2
- # sudo apt upgrade libgnutls30
- # # sudo apt upgrade libldap-2.5-0
- # # sudo apt --fix-broken install
-
- # sudo apt --fix-broken install
- # sudo apt upgrade libsasl2-2
-
- # sudo apt update && sudo apt install -y libldap-2.5-0
- # sudo apt install libldap-common
-
-
-
- # #curl -OL http://archive.ubuntu.com/ubuntu/pool/main/o/openldap/libldap-2.5-0_2.5.18+dfsg-0ubuntu0.22.04.1_amd64.deb
- # #sudo apt-get install ./libldap-2.5-0_2.5.18+dfsg-0ubuntu0.22.04.1_amd64.deb
-
-
- #SQL SERVER
- # wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
-
- # wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list
- # curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list
- # # sudo add-apt-repository “$(wget -qO- https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)”
- # # sudo add-apt-repository “$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)”
-
-
- # sudo apt update && sudo apt install -y mssql-server
- # sudo /opt/mssql/bin/mssql-conf setup
-
- # #sudo systemctl status mssql-server.service
- # sudo systemctl status mssql-server --no-pager
- # sudo ldd /opt/mssql/bin/sqlservr
-
- # curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
- # sudo apt update && sudo apt install -y mssql-tools unixodbc-dev
- # sudo ln -s /opt/mssql-tools/bin/sqlcmd /usr/local/bin
- # sqlcmd -S localhost -U SA
-
- # setfacl -R -m u:mssql:rwx ~/elvt/pgsys/elixir-data/dbs/elixir/run
-
- # SELECT OBJECT_SCHEMA_NAME(object_id) AS SchemaName, name AS TableName
- # FROM master.sys.objects WHERE type_desc = 'USER_TABLE' AND is_ms_shipped = 0;
-
-
- # # Install redis
- # # https://docs.vultr.com/how-to-install-redis-on-ubuntu-24-04
- # sudo apt install redis-server
- # sudo systemctl enable redis-server.service
- # sudo systemctl start redis
-
-
- # # sqlcmd -S localhost -U sa -Q "RESTORE DATABASE [ELIXIR_DEV] FROM DISK = N'/home/elvt/elvt/pgsys/elixir-data/dbdumps/reduced_elixir_backup' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"
-
- # cp /home/elvt/pgsys/elixir-data/dbdumps/reduced_elixir_backup' /tmp
- # sqlcmd -S localhost -U sa -Q "RESTORE DATABASE ELIXIR FROM DISK = '/tmp/reduced_elixir_backup' WITH MOVE 'Elixir' TO '/var/opt/mssql/data/elixir.mdf', MOVE 'Elixir_log' TO '/var/opt/mssql/data/elixir_log.ldf'"
|