วิธีการย้าย Directory ของ Web Server ไปยัง home directory สำหรับ Ubuntu 14.04 Desktop


สำหรับหลายๆ ท่านที่เคยประสบปัญหาเวลาที่ Localhsot อยู่ที่ /var/www/ เพราะจำเป็นจะต้องใช้คำสั่งพิเศษทุกๆ ครั้ง ในการ copy ไปยังตำแหน่ง Directory ตำแหน่งนี้ หลายๆ คนก็เลยมีคำถามว่าเวลาที่ผมต้องการจะย้าย Directory ไปยังตำแหน่งอื่นๆ บ้างเช่น ใน /home จะต้องทำอย่างไร บทความนี้มีวิธีการครับ

ซึ่งในบทความตอนนี้จะเป็นการย้ายตำแหน่ง Directory ของโปรแกรม Apache2 สำหรับ Ubuntu 14.04 ไปไว้ใน /home directory เพื่อให้ง่ายต่อการปรับปรุงข้อมูล ซึ่งคิดว่าบทความนี้จะเป็นประโยชน์ต่อนักพัฒนา Website ที่จะทำให้การทำงานรวดเร็วขึ้น สดวกขึ้น
โดยในขั้นแรก ให้เราติดตั้ง LAMP เสียก่อน หากใครยังไม่เข้า ให้ลองกลับไปอ่านบทความที่ผมได้เคยเขียนไว้ที่

วิธีการติดตั้ง LAMP Server ลงบน Ubuntu Desktop 14.04

หลังจากที่เราติดตั้ง LAMP เสร็จแล้ว เราสามารถทดลองเรียกดูบน Browser ว่ามีการติดตั้งเรียบร้อยแล้วหรือยัง โดยทำการ พิมพ์ http://localhost/ บนเครื่องคอมพิวเตอร์ขอเรา ก็จะปรากฎดังรูปที่ 1




รูปที่ 1

เมื่อปรากฎขึ้นดังรูปแสดงว่าคอมพิวเตอร์ของเรา มี Apache Web server ติดตั้งไว้เรียบร้อยแล้ว จากนั้นให้เราสร้าง Directory ของเราขึ้นมาเอง
ให้ทำการสร้างไฟล์เดอร์ html ไว้ที่ home directory ของเรา โดยใช้คำสั่ง

mkdir html
cp /var/www/html/* ~/html
sudo chown -R www-data:www-data ~/html
sudo chmod -R 777 ~/html

ซึ่งเหตุที่ผมให้เป็น 777 เพราะเราทำแค่ทดลองใช้งานในเครื่องคอมพิวเตอร์ของเรา ยังไม่ได้ซีเรียดที่จะนำไปใช้งานจริงๆ จึงคิดว่าปล่อยให้ทุกๆไฟล์สามารถอ่านและเขียนได้อย่างอิสระจะสดวกกว่า แต่ถ้าบางท่านซีเรียด อาจจะให้ Permission เป็นอย่างอื่น ก็แล้วแต่พึ่งพอใจของท่าน
จากนั้นให้ใช้คำสั่ง command line เพื่อสร้าง file configuration สำหรับ virtualhost ขึ้นมาใหม่ โดยใช้คำสั่ง

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf

ถ้าหากว่ามีการถาม password ให้เรากรอก password ตอนที่เรา login เข้าเครื่อง
จากนั้นก็แก้ใขไฟล์ configuration โดยการสั่ง

sudo gedit /etc/apache2/sites-available/mynewsite.conf

ก็จะปรากฎดังรูปที่ 2




รูปที่ 2

ซึ่งตรงนี้ให้แก้ใขตรง DocumentRoot /var/www/html ให้เป็น Directory ใหม่ที่เราได้ทำการ copy ข้อมูลไว้ใน /home

ซึ่งตรงนี้ถ้าหากเราไม่แน่ใจว่า Directory ของเราเป็นอะไร ให้เราเปิด Terminal ขึ้นมาอีกหนึ่งตัว แล้วใช้คำสั่ง

cd html
pwd

ก็จะแสดงตำแหน่ง Directory ค่าปัจจุบันออกมา ดังรูปที่ 3




รูปที่ 3

ซึ่งเราสามารถเอาค่านั้นไปปรับแก้ใขการ config ที่ apache ของเครื่องเรา
เมื่อเราได้ค่าที่เราต้องการแล้ว ให้เราทำการแก้ใขข้อมูล
ซึ่งของผมจะเป็น /home/ouychai/html เพราะว่าผมใช้ user ที่ชื่อว่า ouychai ดังรูปที่ 4




รูปที่ 4

จากนั้นให้เรากดปุ่ม save เพื่อบันทึกการเปลี่ยนแปลง

จากนั้นเราจะสร้าง VirtualHost ขึ้นมาใหม่ โดยใช้คำสั่ง

sudo a2ensite mynewsite.conf

และเราจะยกเลิกค่าปรกติของตัว Virtualhost ที่เราใช้อยู่ด้วยคำสั่ง

sudo a2dissite 000-default.conf

จากนั้นเราสั่ง

sudo gedit /etc/apache2/apache2.conf

เพื่อแก้ใขการปรับแต่งใน apache
เมื่อเราใช้คำสั่งนี้แล้ว ก็จะปรากโปรแกรม gedit ขึ้นมาพร้อมกับไฟล์ที่พร้อมจะแก้ใข ดังรูปที่ 5




รูปที่ 5

ให้เราทำการ copy ในส่วนของข้อความดังด้านล่าง


Options Indexes FollowSymLinks
AllowOverride None
Require all granted

โดยดูตัวอย่างจากรูปที่ 6




รูปที่ 6

ให้มีอยู่ 2 อันดังรูปที่ 7




รูปที่ 7

แล้วแก้ใข ตรง /var/www ให้เป็น Directory ที่เราเปลี่ยนให้มาอยู่ใน /home ถ้าหากจำไม่ได้ ให้ดูตัวอย่างในรูปที่ 3
ให้แก้ใขดังตัวอย่างรูปที่ 8 จากกนั้นกดปุ่ม Save เพื่อบันทึกแฟ้ม




รูปที่ 8

จากนั้นแล้วให้เราสั่ง

sudo service apache2 restart

เพื่อให้ค่าต่างๆ ที่เราปรับแต่งสามารถใช้งานได้ หลังจากที่เราปรับแต่งแล้ว เราจะมาทำการทดสอบ ว่า virtualhost ที่เราปรับแต่งนั้นสามารถใช้งานได้จริงๆหรือไม่
โดยในขั้นแรกให้เราทำการพิมพ์ http://localhost บน Browser ดังรูปที่ 9




รูปที่ 9

จากนั้นให้เราคลิ๊ก ไปที่ Folder html ที่อยู่ใน /home ของเรา เราก็พบไฟล์ที่ชื่่อว่า index.html ดังรูปที่ 10 ให้เราทำการคลิ๊กขวา Open with แล้วเลือก gedit




รูปที่ 10

จากนั้นให้เราทดลองแก้ใขปรับแต่ง ดังรูปที่ 11 แล้วกด Save




รูปที่ 11

จากนั้นเรากด Refresh ที่ Browser อีกครั้ง เราก็จะเห็นว่ามีการเปลี่ยนแปลงในหน้าเว็บเกิดขึ้นดังรูปที่ 12




รูปที่ 12

ซึ่งตรงนี้ ถ้าหากว่าเราสามารถทำได้แบบนี้แล้ว เราสามารถย้าย Directory จากเดิม /var/www ให้มาอยู่ใน /home ซึ่งเป็น Directory ปรกติที่เราใช้งานใน Ubuntu ได้แล้วครับ

อ้างอิงจาก
http://stackoverflow.com/questions/5891802/how-do-i-change-the-root-dire...

http://askubuntu.com/questions/413887/403-forbidden-after-changing-docum...

https://help.ubuntu.com/14.04/serverguide/httpd.html#http-configuration