การติดตั้งระบบ CMS ด้วยโปรแกรม Mambo
การติดตั้งระบบ CMS ด้วยโปรแกรม Mambo
วิธีติดตั้ง CMS server ด้วยโปรแกรม mambo
- ต้องได้รับการติดตั้งระบบ Web server และ Mysql มาก่อนแล้ว
- ติดตั้งโปรแกรม php และที่เกี่ยวข้องตามความจำเป็น
apt-get install php
apt-get install php-mysql
ในกรณีที่ใช้ yum ให้เปลี่ยนคำว่า apt-get เป็น yum ดังตัวอย่าง
yum install php
yum install php-mysql
แล้วให้ web server ทำงานใหม่ด้วยคำสั่ง
service httpd restart
- ปัญหาและเทคนิคเกี่ยวกับ mambo อ่านเพิ่มเติมได้ที่
http://rd.cc.psu.ac.th/content/view/43/48/
- ดาวน์โหลดโปรแกรม mambo ได้จาก ftp://ftp.psu.ac.th/pub/mambo/
เพื่อลดปัญหา security จึงขอใช้ชุดที่ผมทำไว้เองเป็นรุ่น 4.5.2.1 คือ
ftp://ftp.psu.ac.th/pub/mambo/mambo-4521D-wipat.tgz
ได้แก้ไขให้มีคุณสมบัติดังนี้แล้ว- ติตตั้งกับ linux fedora core 5 ได้
- สามารถให้ user login โดยใช้ user บน pop3 mail server ได้
- ได้แก้ไขปัญหา linux/elxbot mambo worm
- ได้แก้ไขปัญหา A SQL injection vulnerability
- ได้แก้ไขปรับปรุง bug ของ ldaphack9.zip
- ได้แก้ไข RSS Feed ให้แสดงภาษาไทยอย่างถูกต้อง
- ได้แก้ไข module newsfeed ให้แสดงภาษาไทยอย่างถูกต้อง
- สร้าง directory ชื่อ rss ไว้สำหรับ rss_xt ด้วย
- ติตตั้งกับ linux fedora core 5 ได้
- หากท่านใช้ mambo เวอร์ชั่นอื่นๆ ที่ยังไม่ได้รับการซ่อมแก้ไขปัญหา
linux/elxbot mambo worm หลังติดตั้งแล้ว ต้องแก้ไขปัญหา worm นี้
โดยการแก้ไข code จากคำแนะนำต้นฉบับ
http://forum.mamboserver.com/showthread.php?p=306009
สรุปว่าให้ไปแก้ไขเพิ่ม code ที่แฟ้มของ mambo จำนวน 5 แฟ้มดังนี้
1 - index.php
2 - index2.php
3 - administrator/index.php
4 - administrator/index2.php
5 - administrator/index3.php
ทำเหมือนกันทุกแฟ้ม คือให้แทรกเพิ่ม code ที่ตอนต้นของแฟ้ม
ถัดไปจากบรรทัดว่า define( "_VALID_MOS", 1 ); ให้แทรกเพิ่มบรรทัดดังนี้
$protects = array('_REQUEST', '_GET', '_POST', '_COOKIE', '_FILES', '_SERVER', '_ENV', 'GLOBALS', '_SESSION');
foreach ($protects as $protect) {
if ( in_array($protect , array_keys($_REQUEST)) ||
in_array($protect , array_keys($_GET)) ||
in_array($protect , array_keys($_POST)) ||
in_array($protect , array_keys($_COOKIE)) ||
in_array($protect , array_keys($_FILES))) {
die("Invalid Request.");
}
}
แค่นี้ก็เสร็จแล้ว
- ใน web server เดียวกันสามารถติดตั้ง Mambo ได้หลายระบบอย่างอิสระ
โดยแต่ละระบบมีสภาพแวดล้อมแยกจากกันดังนี้- directory เฉพาะสำหรับเก็บแต่ละระบบ Mambo
- database และ user ของ Mysql เฉพาะสำหรับแต่ละระบบ Mambo
- ต้องสร้าง database สำหรับระบบ Mambo ที่กำลังจะติดตั้งใช้งาน
ตัวอย่างข้อกำหนดคือ สร้าง database ชื่อ testdatabase ,
ผู้ใช้ที่สร้างต้องมีสิทธิ์ระดับ root ของ Mysql , รหัสผ่านคือ mysqldroot
ตัวอย่างคำสั่งคือ
mysqladmin -uroot -pmysqldroot create testdatabase
- ต้องสร้าง user ของ Mysql สำหรับระบบ Mambo ที่กำลังจะติดตั้งใช้งาน ตัวอย่างคือ
ต้องการสร้างผู้ใช้ของ Mysql ชื่อ mamamysql ให้มีรหัสผ่านเป็น mamapass
มีสิทธิจัดการ database ชื่อ testdatabase
เริ่มต้นให้เรียกเข้าใช้คำสั่ง Mysql ด้วยผู้ใช้ระดับ root ของ Mysql
ที่มีชื่อว่า root รหัสผ่านว่า mysqldroot
ด้วยคำสั่งตัวอย่างคือ
mysql -uroot -pmysqldroot
ได้ข้อความหน้าจอตัวอย่างว่า
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10 to server version: 4.0.21
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
เมื่อได้ prompt mysql> ให้สร้างผุ้ใช้ชื่อ mamamysql ด้วยคำสั่งดังนี้
grant all privileges on testdatabase.* to 'mamamysql'@'localhost' identified by 'mamapass' ;
ได้ผลข้อความตัวอย่าง
Query OK, 0 rows affected (0.00 sec)
เสร็จแล้วออกจาก mysql ด้วยคำสั่ง quit
- การติดตั้งมี 2 แนวทางคือ
- ติดตั้งแบบให้เป็นส่วนหนึ่งของระบบ web server โดยตรง
- ติดตั้งแบบไว้ใน home ของผู้ใช้
- วิธีการติดตั้งแบบให้เป็นส่วนหนึ่งของระบบ web server โดยตรง
ตัวอย่าง ต้องการติดตั้งไว้ที่ /var/www/html/test-mambo
แล้วติดตั้งด้วยคำสั่งตัวอย่าง
tar -zxvf mambo-4521D-wipat.tgz -C /var/www/html
mv /var/www/html/mambo-4521D-wipat /var/www/html/test-mambo
แก้ไขให้ apache เป็นเจ้าของของสิทธิ์ของ directory ที่สร้างขึ้นมา ด้วยตัวอย่างคำสั่ง
chown -R apache /var/www/html/test-mambo
- วิธีการติดตั้งแบบไว้ที่ home ของผู้ใช้
*** web server ต้องมีบริการโฮมเพจ เช่น http://myhost.domain/~userid
*** home ของผู้ใช้อยู่ที่ /home/userid
*** ตำแหน่งพื้นที่จริงของโฮมเพจผู้ใช้อยู่ที่ /home/userid/public_html
ตัวอย่าง ต้องการติดตั้งไว้ที่ home ของผู้ใช้ชื่อ userid
ที่ตำแหน่ง /home/userid/public_html/test-mambo
แล้วติดตั้งด้วยคำสั่งตัวอย่าง
tar -zxvf mambo-4521D-wipat.tgz -C /home/userid/public_html
mv /home/userid/public_html/mambo-4521D-wipat /home/userid/public_html/test-mambo
แก้ไขสิทธิ์ให้ผู้อื่นสามารถเขียนอ่านได้ด้วยคำสั่ง
chmod 707 administrator/backups
chmod 707 administrator/components
chmod 707 administrator/modules
chmod 707 administrator/templates
chmod 707 cache
chmod 707 components
chmod 707 images
chmod 707 images/banners
chmod 707 images/stories
chmod 707 language
chmod 707 mambots
chmod 707 mambots/content
chmod 707 mambots/search
chmod 707 media
chmod 707 modules
chmod 707 templates
chmod 707 rss
- ใช้ web browser เข้าไปทำงานที่โฮมเพจตัวอย่าง http://myhost.domain/test-mambo ได้ผลว่า
...**** ต่อไปนี้คือตัวอย่าง ข้อมูลอาจเปลี่ยนแปลงได้ตามความเหมาะสม
ได้หัวข้อ pre-installation check ตรวจสอบว่า
PHP version >= 4.1.0 Yes
- zlib compression support Available
- XML support Available
- MySQL support Available
configuration.php Writeable
Session save path /var/lib/php/session, Writeable
administrator/backups/ Writeable
administrator/components/ Writeable
administrator/modules/ Writeable
administrator/templates/ Writeable
cache/ Writeable
components/ Writeable
images/ Writeable
images/banners/ Writeable
images/stories/ Writeable
language/ Writeable
mambots/ Writeable
mambots/content/ Writeable
mambots/search/ Writeable
media/ Writeable
modules/ Writeable
templates/ Writeable
ให้คลิกเลือก Next >>
ได้หน้าต่อไปว่า license
ให้คลิกเลือกช่อง I Accept the GPL License
แล้วคลิกเลือก Next >>
ได้หน้าต่อไปว่า step 1
MySQL database configuration: ให้ป้อนข้อมูลตัวอย่างคือ
Host Name = localhost
MySQL User Name = mamamysql
MySQL Password = mamapass
MySQL Database Name = testdatabase
แล้วคลิกเลือก Next >>
ได้หน้าต่อไปว่า step 2
Enter the name of your Mambo site ให้ป้อนข้อมูลตัวอย่าง
Site name = My test MAMBO
แล้วคลิกเลือก Next >>
ได้หน้าต่อไปว่า Step 3
Confirm the site URL, absolute path,admin e-mail and file/directory chmods
ให้ป้อนข้อมูลตัวอย่าง
URL = http://myhost.domain/test-mambo
Path = /var/www/html/test-mambo
Your E-mail = [email protected]
Admin password = admindemo (*** รหัสผ่านของ admin)
แล้วคลิกเลือก Next >>
ได้หน้าต่อไปว่า step 4
Congratulations! Mambo is installed
*** ให้จด admin Password ที่แสดงออกมาทางหน้าจอเก็บไว้กันลืม ***
คลิกเลือก View Site จะได้หน้าจอข้อความเตือนว่า
For your security please completely remove the
installation directory including all files and
sub-folders - then resfresh this page
ให้ลบ directory ชื่อ installation ทิ้งด้วยตัวอย่างคำสั่ง
rm -r /var/www/html/test-mambo/installation
- หากต้องการแก้ไขตั้งค่าระบบต่างๆของ Mambo
ให้ login เข้าด้วย admin
- หากเกิดปัญหา PC ที่เป็น server แสดงภาพกราฟฟิกได้หมด
แต่ PC อื่นไม่แสดงกราฟฟิก
ให้แก้ไขแฟ้ม configuration.php ใน mambo
ตัวอย่างแก้ข้อความจาก $mosConfig_live_site = 'http://localhost/mam45';
เป็น $mosConfig_live_site = 'http://192.168.41.194/mam45'; หรือเป็น
$mosConfig_live_site = 'http://'.$_SERVER["SERVER_ADDR"].'/mam45';
(แก้ไขจาก localhost ให้เป็นเลข ip ของ PC ที่เป็น server)
- เทคนิคการสร้าง mambo server เพื่อบริการ
ให้ copy ชุดต้นฉบับเก็บไว้
เวลาต้องการเปิดบริการเพิ่มก็ให้ copy ไปใช้ได้เลย
แล้ว chown -Rv apache myhomepage...
ถ้าให้ดีติดตั้งให้เสร็จแล้วให้รหัสผ่านของ admin แก่ web master ซะเลย
- การปรับตั้งค่าให้ search engine ภายนอกเข้ามาค้นหาข้อมูลได้
ให้ login เข้าด้วย admin
หัวข้อ Site -> Global Configuration -> Content
หัวข้อ Search Engine Friendly URLs: ให้ป้อนค่า Yes
ยืนยันการปรับค่าด้วยการคลิกปุ่ม Save
ต้องแก้ไขแฟ้ม htaccess ใน home ของ mambo ด้วย
ตัวอย่างเข้าไปทำงานที่ /var/www/html/test-mambo
cd /var/www/html/test-mambo
mv htaccess.txt .htaccess
ต้องแก้ไข apache ด้วยโดยแก้ไขแฟ้ม /etc/httpd/conf/httpd.conf ที่บริเวณ
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
ที่บรรทัด AllowOverride None
ให้แก้ไขเป็น AllowOverride all
สั่งให้ apache ทำงานใหม่ด้วยคำสั่ง service httpd reload