在 Docker 中使用 Linux 版微軟 Microsoft SQL Server

最近向我尋求顧問諮詢的組織單位中,其中一個再也受不了微軟的天價授權費勒索,打算用 Linux (Ubuntu) 替換掉所有 Windows Server。 用 PHP、Java 以及其他跨平台語言撰寫的服務要轉移很容易。但是其中一些系統使用 MicroSoft SQL Server 作為資料庫。 治本的方法是轉移到 MySQL、MariaDB 或其他 OpenSource 資料庫系統,但那需要時間來處理所有 schema 以及 query 的轉換。 另一個方法是在 Docker 中使用 Linux 版微軟 Microsoft SQL Server 作為暫時性的過渡時期解法。

環境: Ubuntu 16.04

執行 docker image

取得並執行

$ docker run --name mssql-server-linux -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux

檢查是否執行成功

$ docker ps

Running Microsoft SQL Server on Linux in Docker

One of the organizations that recently consulted me for advice, no longer willing to be extortion by Microsoft's high licensing fees, and plans to replace all Windows Server with Linux (Ubuntu). No big deal for services written in PHP, Java, and other cross platform languages. But some of the systems use MicroSoft SQL Server as their Database. The permanent cure is to migrate to MySQL, MariaDB, or other OpenSource Databases. But it takes time to translate all schema and queries. The other solution is to use Microsoft SQL Server on Linux in Docker as a temporary workaround.

Upgrading old Drupal, Part 2: Show module names which causes Drupal update failed, and resolve it.

I was upgrading an old drupal 6 site to drupal 7.
Lots of modules and themes need to be upgraded at the same time. Some are easy, but some not when it comes to dependency issues.
I keep getting Some of the pending updates cannot be applied because their dependencies were not met. error when running Database update. OK I know there's some problems with module, but which module(s)?

Upgrading old Drupal, Part 1: No content shown, unable to login, missing modules, and resolve it.

I was upgrading an old drupal 6 multi-site to drupal 7. The main (default) site has been upgraded for years, all other sub-sites had been disabled or moved out before the migration.
But I recently want to re-enable a long-ignored old sub-site, which takes me a while. I got no content shown, unable to login, missing modules.

And This is How To Resolve Them.

Secure Web Connection with Lighttpd + Let’s Encrypt = A+ score on ssllabs (HTTPS + HSTS)

Lighttpd + Let’s Encrypt + This HOWTO = A+ score on ssllabs (HTTPS + HSTS)
My A+ report: https://www.ssllabs.com/ssltest/analyze.html?d=geeky.name&s=188.166.188.226
ssllabs A+ rating for geeky.name

Synopsis

sudo apt install letsencrypt openssl
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
Create /etc/lighttpd/conf-available/99-letsencrypt.conf
Enable config and restart Lighttpd
sudo letsencrypt certonly --webroot -w /var/www/ -d [YOUR_DOMAIN_NAME]
Merge /etc/letsencrypt/live/[YOUR_DOMAIN_NAME]/combined.pem
Edit /etc/lighttpd/conf-available/10-ssl.conf
Enable config and restart Lighttpd
Edit /etc/crontab

Writing Post on Drupal with Markdown

Drupal is great but could be even better with Markdown. This is the HOWTO you're looking for. This article is written in markdown.

Env: Drupal 7

教學: 用 Ubuntu Linux (64bit) 環境使用 Juniper SSL VPN (免裝 32bit Java) (zh_TW)

Juniper SSL VPN 常被用在各種地方,包括台灣各國立大學也都有由 TWAREN 所提供的服務。
因為它對於 64bit Linux 的支援問題,要在 Ubuntu (Linux) 64bit 上使用並不容易。
如果你不希望只為了用它而得多裝一套肥大的 32bit Java,這篇就是你要的教學文

If you want English HOWTO, check English version HERE

Disable IPv6 support in Ubuntu/Linux.

As many people know, Ubuntu supports IPv6 by default.
It's nice but sometimes you don't have chance to use IPv6 in your network environment.
And maybe, sometimes it brings few more complexity for your system administration tasks.

For example, if you set [i]listen_ip=0.0.0.0:80[/i] in a services daemon's config file and hope it can listen to all of the IPv4 IPs of your network interfaces, you might not get what you want.

New Blog of BlueT.

This is the new Blog of BlueT.
The name GeekyLog is combined with the words Geek, Log, Blog, and Logic.
This blog is currently mainly for myself, to log some informations about me and my life experiences.

Currently I have 5 categories: Life, Ubuntu, CompuTech, Ubuntu@Taiwan, and Perl.
Most of all articales in this blog are licensed in CC-By-SA.
Any comments are welcome. And please help on spreading my GeekyLog and BlueT.org Studio to the world.

HOWTO: PPTP: Ubuntu Client connect to Windows VPN Server

The company I work for just starting to use Windows ISA Server (or whatever) in some places.
And also, they use the Windows server to be a VPN server.
As Micro$oft doesn't officially support OpenVPN, and we don't consider IPsec to be used for end users, they decide to use the fu*king insecure PPTP, which I would definitely never wanna try.
That's where my Nightmare starts.

After some tries, I can use the VPN on my Android phones, and it seems works fine on iPhone, too.

Pages

Subscribe to GeekyLog RSS