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 จะแยกดังนี้

Comments are closed.