คุณเลือก domain name แล้ว มี killer idea สำหรับ project พร้อมปล่อย latest creation สู่อินเทอร์เน็ต
หลังหา best web hosting ได้ sweet deal บน VPS แต่มีปัญหา: ไม่รู้อะไรเลยเกี่ยวกับ operating Linux ผ่าน powerful command line
ไม่ต้องกังวล จะสอน know-how ติดตั้ง 2 incredible web applications หนึ่งคือ WordPress blogging-platform extraordinaire ที่ power หนึ่งส่วนใหญ่ของอินเทอร์เน็ท รวมเว็บนี้ อีกหนึ่งคือ Ghost latest pretender to the blogging throne powered by JavaScript และ Node หลังรันผ่านการติดตั้งทั้งสอง คุณจะมั่นใจพอกับ Linux command line ที่จะ tackle web application ใดๆ ที่มาพบ
ทำโดย spin up DigitalOcean instance รัน Ubuntu 13.10 x64 Digital Ocean เป็น VPS provider ที่ชอบ คุณภาพดีและ fast virtualized servers เริ่มต้น $5 แนะนำสูง แม้มี VPS providers อื่นดีอยู่
ติดตั้ง Ghost
Ghost คือ blogging reimagined ทุก iota ของ experience ออกแบบให้ publishing ง่ายขึ้น คอลเลกชัน Mihir Patkar review Ghost ไปแล้ว
แม้จะติดตั้ง Ghost บน Digital Ocean VPS - ที่มี Ghost installer - แต่จะ ignore installer ทำแบบ hard way
First things first: SSH เข้า box ควร straightforward หากรัน Linux หรือ OS X (ทั้งคู่มี SSH client built-in) Windows users เช็ค PuTTY SSH client open source เก๋ แม้มี alternatives เยอะ รวมถึงที่ plug เข้า web browser
ถ้า login ครั้งแรก ต้อง housekeeping นิดหน่อย ทำให้ package manager updated และถ้ามี system updates ติดตั้ง Ubuntu ทำด้วยคำสั่ง:
sudo apt-get update
sudo apt-get upgrade
Note: หาก login as Root ไม่ต้องพิมพ์ 'sudo' Sudo ใช้สำหรับ accounts escalate privileges ชั่วคราวเพื่อรันคำสั่ง affect underlying OS
ตอนนี้ grab build-essential และ zip
sudo apt-get install build-essential zip
ครั้งที่ 3 ใช้คำสั่ง apt-get ทำอะไรบ้าง Apt-get คือ package manager ใน Debian, Ubuntu, Linux Mint track packages บนระบบ และติดตั้งใหม่ ลบ อัปเดตได้ Cool ไหม?
โอ้ และขณะนั้น grab Node.js platform ที่ Ghost รัน สามารถ apt-get ได้ง่าย Users ของ Ubuntu รุ่นเก่าอาจต้อง grab Node จาก Chris Lea's PPA ซึ่ง current กว่า official Ubuntu repos
sudo apt-get install nodejs
ต้องการ Node Package Manager (NPM) สร้าง symbolic link ระหว่าง /usr/bin/nodejs และ /usr/bin/node grab NPM installer และรัน
ln -s /usr/bin/nodejs /usr/bin/node
curl https://npmjs.org/install.sh | sudo sh
ครั้งแรกเจอ curl utility สำหรับ Linux transfer data ระหว่าง programs ตัวอย่างนี้ grab NPM install script แล้ว execute ด้วย '| sudo sh'
ก่อนต่อ ตรวจสอบว่า Node และ NPM ติดตั้งแล้ว หากหน้าจอคล้ายผม ดำเนินต่อได้
npm -v
node -v
หากเห็น error ไป wrong ลอง revisit earlier steps หรือ comment ด้านล่าง
Awesome ตอนนี้ grab Ghost และเปิด!
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip -d ghost
หากยังไม่อยู่ใน Ghost directory cd เข้าไป และติดตั้งด้วย NPM
cd ghost/
npm install --production
Cool thing เกี่ยวกับ NPM: มันติดตั้ง Javascript dependencies ทั้งหมดสำหรับ Ghost ให้อัตโนมัติ Awesome ไหม? เสร็จแล้ว เปิด config.js edit port number เป็น 8080 ด้วย text editor ที่ชอบ Nano ดีสำหรับมือใหม่ แต่ผมชอบ Vim ต้องเปลี่ยน hostname เป็น IP address ของ server ที่เชื่อมต่อ
ตอนนี้ start Ghost! ใน directory ที่ติดตั้ง Ghost รัน:
npm start
เช็คว่าใช้งานได้: navigate ไป server ที่ติดตั้ง Ghost ด้วย web browser พร้อม port number ที่ระบุใน config.js
Huzzah! ใช้งานได้!
WordPress
ตอนนี้ติดตั้ง WordPress เริ่มจากศูนย์กับ fresh Digital Ocean droplet เหมือนเดิม SSH เข้า server update package manager และติดตั้ง updates จากนั้นเริ่มสร้าง LAMP stack ย่อมาจาก 'Linux, Apache, MySQL และ PHP' platform, web server, database และ programming language ใช้รัน WordPress installation
LAMP stack setup ง่ายกว่าที่คิด Admittedly มี small laundry-list dependencies ติดตั้ง โชคดี Ubuntu มี one-liner จัดการหมด
sudo apt-get install lamp-server^
MySQL server เก็บ data ทั้งหมด แนะนำสร้าง strong root password ตอน prompt
แค่นี้เสร็จ LAMP server ติดตั้ง WordPress!
สร้าง table ที่ WordPress จะเก็บ blog posts และ database user ที่ WordPress ใช้ interact กับ database Login เข้า MySQL
รัน code ต่อไปไป หนึ่งบรรทัดต่อหนึ่งบรรทัด
CREATE DATABASE wordpress;
CREATE USER 'wordpressuser'@'localhost' identified by 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
exit
ดาวน์โหลดและ unzip WordPress
wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz -C /wordpress
สังเกตใช้ wget แทน curl ทั้งคู่ใช้ได้ interchangeable ใน context นี้ ทำอย่างเดียวกัน
Move WordPress ไป /var/www และ grant read, write, execute permissions directory นี้ ระวัง include -R flag ทำให้ recursive
mv wordpress/ /var/www
chmod -R 777 /var/www
ตอนนี้ browser ไปที่ <ip address>/wordpress หากทำตาม instructions ควรเห็นหน้านี้ จะต้องสร้าง configuration file ผ่าน web interface ทำตาม instructions เร็วๆ นี้จะมี WordPress installation ของตัวเอง Sweet ไหม?
Bitnami คืออะไร?
ก่อนจบ พูดสั้นๆ เกี่ยว Bitnami หากใช้ AWS server ควรสำรวจ Spanish startup นี้ deploy popular web apps ไป AWS slice ง่าย รวม Drupal และ WordPress
หากมากเกินไป Bitnami จัด server ให้ แต่จ่าย slight premium
ไม่เจาะลึกเพราะ platform specific แต่ desperate ลองได้ free 1 hour installations web-application ที่เลือก ส่วนที่เหลือควร work บน GNU/Linux server ใดๆ
สรุป
Linux command line intimidating ตอนแรก ไม่ปฏิเสธ หาก accidentally ได้ SSH-only web hosting ต้อง弄濕腳 command line เพื่อทำอะไรได้
โชคดี ถ้าติดตั้ง web app หนึ่งได้ ติดตั้งทั้งหมดได้ ต้องการแค่ confidence กับ Linux command line และ ability to google ปัญหาที่ขึ้น
เคยสมัคร SSH-only web hosting by accident ไหม? อยากฟัง story ทั้งหมด Comment ด้านล่าง!
Photo Credit: Innovation Trends in Data Center Technology Think Tank (Dell)