Ghost เป็นระบบ Blog ใช้ Node.js ทำให้มีขนาดเล็กและคล่องตัวในการติดตั้งเพียงใช้ Node.js และ npm เท่านั้น หากต้องการติดตั้ง Ghost เพื่อทำเป็น Blog หลายๆ ตัวในเครื่องเซิร์ฟเวอร์เดียว เราจะต้องใช้บริการ reverse proxy จาก Nginx เข้ามาช่วยเพื่อ redirect traffic จากโดเมนไปยัง Ghost ที่ทำงานอยู่บน port ต่างๆ ที่เรากำหนด เช่น
- www.fffee.org –> Ghost ทำงาน port 2768
- andrew.fffee.org –> Ghost ทำงาน port 2769
มาลงมือติดตั้งกันเลย เริ่มจากเครื่องมือที่ต้องใช้กันก่อน
apt-get install unzip curl nginx nodejs npm
จากนั้น เพิ่ม config ของ nginx ใน site-available ทั้ง 2 เว็บดังนี้
เพิ่ม /etc/nginx/site-available/fffee ใส่ข้อมูลข้างล่างลงไป
server { listen 80; server_name www.fffee.org; location / { proxy_pass http://127.0.0.1:2368/; proxy_set_header Host $host; proxy_buffering off; } }
เพิ่ม /etc/nginx/site-available/andrew ใส่ข้อมูลข้างล่างลงไป
server { listen 80; server_name andrew.fffee.org; location / { proxy_pass http://127.0.0.1:2368/; proxy_set_header Host $host; proxy_buffering off; } }
จากนั้นสั่ง link ทั้ง 2 เว็บไปยัง site-enable ดังนี้
ln -s /etc/nginx/sites-available/fffee /etc/nginx/sites-enabled/fffee
ln -s /etc/nginx/sites-available/andrew /etc/nginx/sites-enabled/andrew
สั่ง restart nginx
service nginx restart
มาติดตั้ง Ghost กันต่อ กลับไปที่ home
cd
ดาวน์โหลดไฟล์รุ่นล่าสุดมา
wget http://ghost.org/zip/ghost-latest.zip
แตก zip ลงในไดเรคทอรี fffee สำหรับ www.fffee.org
unzip -d fffee ghost-latest.zip
ติดตั้ง node module ที่ต้องใช้
cd fffee
npm install
แก้ไขไฟล์ config
cp config.example.js config.js
แก้ไฟล์ config.js ตรง production url และ server port
... production: { url: 'http://www.fffee.org', ... server: { ... port: '2368' ...
มาแก้เว็บ andrew บ้าง เว็บ andrew.fffee.org คัดลอก fffee เป็น andrew
cp -rf fffee andrew
cd andew
แก้ไฟล์ config.js ตรง production url และ server port
... production: { url: 'http://andrew.fffee.org', ... server: { ... port: '2369' ...
ย้ายทั้ง 2 เว็บไปยัง /usr/share/nginx/
mv andrew /usr/share/nginx/
mv fffee /usr/share/nginx/
แก้ไข upstart script สำหรับสั่ง start ghost ทุกครั้งที่ boot
เพิ่ม upstart script สำหรับเว็บ fffee ที่ /etc/init/ghost-fffee.conf
# ghost-fffee start on startup script cd /usr/share/nginx/fffee npm start --production end script
เพิ่ม upstart script สำหรับเว็บ andrew ที่ /etc/init/ghost-andrew.conf
# ghost-andrew start on startup script cd /usr/share/nginx/andrew npm start --production end script
สั่ง start service ได้เลยดังนี้
service ghost-fffee start
service ghost-andrew start
ลองเข้าเว็บ http://andrew.fffee.org และ http://www.fffee.org ก็จะได้หน้าเว็บดังนี้
หน้าจัดการ blog จะแยกดังนี้