ผลต่างระหว่างรุ่นของ "ติดตั้ง phpmyfaq บน ubuntu"
จาก Wiki Opensource
(หน้าที่ถูกสร้างด้วย '*ทดสอบติดตั้งบน ubuntu 10.04.4 *ทดสอบใช้เวอร์ชั่น phpMyFAQ 2.7.4<br> *ศ...') |
|||
(ไม่แสดง 2 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 1: | แถว 1: | ||
− | + | บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 3-5-2555 | |
− | |||
− | |||
− | <br> | + | ดูแลโดย [[%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9%89%3AWiboon.w|WIBOON]] |
+ | *ทดสอบติดตั้งบน ubuntu 10.04.4 | ||
+ | *ทดสอบใช้เวอร์ชั่น phpMyFAQ 2.7.5<br/> | ||
+ | *ศึกษาวิธีการติดตั้งได้จาก [http://www.phpmyfaq.de/documentation.2.7.en.php http://www.phpmyfaq.de/documentation.2.7.en.php]<br/> | ||
− | + | <br/> | |
− | #ติดตั้ง apache ด้วยคำสั่ง <br>sudo apt-get install apache2 apache2-doc<br><br> | + | ขั้นตอน<br/> |
− | #ติดตั้ง php ด้วยคำสั่ง<br>sudo apt-get install php5 php5-mysql php5-gd php5-curl php5-cli php5-ldap php5-radius<br><br> | + | #ติดตั้ง apache ด้วยคำสั่ง<br/>sudo apt-get install apache2 apache2-doc<br/><br/> |
− | #เปิด ssl ด้วยคำสั่ง sudo a2enmod ssl<br>ดาวน์โหลดแฟ้มจาก ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz | + | #ติดตั้ง php ด้วยคำสั่ง<br/>sudo apt-get install php5 php5-mysql php5-gd php5-curl php5-cli php5-ldap php5-radius<br/><br/> |
− | #ติดตั้ง mysql database server ด้วยคำสั่ง<br>sudo apt-get install mysql-server<br>ระหว่างติดตั้งหากมีคำถามที่เกี่ยวกับการตั้งรหัสผ่าน ก็ให้เคาะแป้น enter ผ่านไปก่อนทั้งหมด<br><br>หลังติดตั้งเสร็จแล้วให้รีบตั้งรหัสผ่าน root ของ mysql-server ใหม่<br>ตัวอย่างนี้ตั้งรหัสผ่านว่า mysqldroot ใช้คำสั่งคือ<br>mysqladmin -uroot password mysqldroot<br><br>สร้าง database สำหรับ phpmyfaq ชื่อ myphpmyfaq ใช้คำสั่ง<br>mysql -uroot -pmysqldroot -e "CREATE DATABASE testfaq CHARACTER SET 'UTF8';"<br><br>แล้วกำหนดสิทธิ์การใช้ database myphpmyfaq ให้แก่ user ชื่อ myfaq โดยมีรหัสผ่านว่า myfaqpass ใช้คำสั่งคือ<br>mysql -uroot -pmysqldroot -e "grant all privileges on testfaq.* to 'myfaq'@'localhost' identified by 'myfaqpass' | + | #เปิด ssl ด้วยคำสั่ง sudo a2enmod ssl<br/>ดาวน์โหลดแฟ้มจาก [ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz]<br/>ด้วยคำสั่ง wget [ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz] -N -P /tmp<br/>แล้วแตกแฟ้มออกมาด้วยคำสั่ง tar -zxvf /tmp/apache2-ssl.tar.gz -C /tmp<br/>คัดลอกแฟ้มไปยังตำแหน่งที่ถูกต้องด้วยคำสั่ง<br/>sudo mv /tmp/ssleay.cnf /usr/share/apache2<br/>sudo mv /tmp/apache2-ssl-certificate /usr/sbin<br/>sudo mkdir -p /etc/apache2/ssl<br/><br/>สร้าง certification ด้วยคำสั่ง sudo apache2-ssl-certificate<br/>ระบบจะมีข้อความออกให้โต้ตอบ ก็ให้กดแป้น Enter อย่างเดียวจนเสร็จ<br/><br/>แก้ไขแฟ้ม /etc/apache2/sites-available/default<br/>เพิ่มบรรทัดว่า NameVirtualHost *:443 เข้าไป<br/>แล้วสร้างเพิ่ม tag ทำนองเดียวกับ <VirtualHost *:80><br/>แต่เปลี่ยนจากเลข 80 เป็นเลข 443 และเพิ่ม SSL ประมาณว่า<br/>NameVirtualHost *:443<br/><VirtualHost *:443><br/>ServerAdmin webmaster@localhost<br/>DocumentRoot /var/www<br/><Directory /var/www/><br/>Options Indexes FollowSymLinks MultiViews<br/>AllowOverride None<br/>Order allow,deny<br/>allow from all<br/></Directory><br/>SSLEngine on<br/>SSLCertificateFile /etc/apache2/ssl/apache.pem<br/></VirtualHost><br/><br/>เสร็จแล้วก็ให้ restart apache ใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload<br/><br/> |
− | #ดาวน์โหลด phpmyfaq-2.7. | + | #ติดตั้ง mysql database server ด้วยคำสั่ง<br/>sudo apt-get install mysql-server<br/>ระหว่างติดตั้งหากมีคำถามที่เกี่ยวกับการตั้งรหัสผ่าน ก็ให้เคาะแป้น enter ผ่านไปก่อนทั้งหมด<br/><br/>หลังติดตั้งเสร็จแล้วให้รีบตั้งรหัสผ่าน root ของ mysql-server ใหม่<br/>ตัวอย่างนี้ตั้งรหัสผ่านว่า mysqldroot ใช้คำสั่งคือ<br/>mysqladmin -uroot password mysqldroot<br/><br/>สร้าง database สำหรับ phpmyfaq ชื่อ myphpmyfaq ใช้คำสั่ง<br/>mysql -uroot -pmysqldroot -e "CREATE DATABASE testfaq CHARACTER SET 'UTF8';"<br/><br/>แล้วกำหนดสิทธิ์การใช้ database myphpmyfaq ให้แก่ user ชื่อ myfaq โดยมีรหัสผ่านว่า myfaqpass ใช้คำสั่งคือ<br/>mysql -uroot -pmysqldroot -e "grant all privileges on testfaq.* to 'myfaq'@'localhost' identified by 'myfaqpass' ;"<br/><br/> |
− | #เก็บไปไว้ใน /var/www/faq (ตัวอย่างเลือกตั้งชื่อไดเรกทอรีว่า faq) ดังนี้<br>sudo tar -zxpvf /tmp/phpmyfaq-2.7. | + | #ดาวน์โหลด phpmyfaq-2.7.5.tar.gz ไปไว้ใน /tmp ดังนี้<br/>wget [http://ftp.psu.ac.th/pub/phpmyfaq/phpmyfaq-2.7.5.tar.gz http://ftp.psu.ac.th/pub/phpmyfaq/phpmyfaq-2.7.5.tar.gz] -N -P /tmp<br/><br/> |
− | #สร้างแฟ้มชื่อ info.php เพื่อตรวจสอบเวอร์ชั่นของ php ต้องไม่ต่ำกว่า 5.3 | + | #เก็บไปไว้ใน /var/www/faq (ตัวอย่างเลือกตั้งชื่อไดเรกทอรีว่า faq) ดังนี้<br/>sudo tar -zxpvf /tmp/phpmyfaq-2.7.5.tar.gz -C /var/www<br/>sudo mv /var/www/phpmyfaq-2.7.5 /var/www/faq<br/>เปลี่ยนสิทธิของแฟ้ม<br/>sudo chown -R www-data:www-data /var/www/faq<br/><br/> |
− | #ทำขั้นตอน install โดยเข้าเบราว์เซอร์ และใส่ url ดังนี้<br>http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/install/setup.php | + | #สร้างแฟ้มชื่อ info.php เพื่อตรวจสอบเวอร์ชั่นของ php ต้องไม่ต่ำกว่า 5.2.3 และ module support ต่างๆ ดังนี้<br/>เช่น ใช้เอดิเตอร์ vi ดังนี้<br/>sudo vi /var/www/info.php<br/>ป้อนข้อความนี้<br/><?php phpinfo(); ?><br/><br/>ทดสอบ<br/>[http://หมายเลขไอพีของเซิร์ฟเวอร์/info.php http://หมายเลขไอพีของเซิร์ฟเวอร์/info.php]<br/><br/>หากมีข้อมูล support ตามนี้ ก็ทำขั้นตอน install ได้แล้ว<br/>PHP<br/>from version 5.2.3 (recommended: latest PHP 5.x)<br/>register_globals = off (recommended)<br/>safe_mode = off (recommended)<br/>memory_limit = 64M<br/>GD support<br/>XMLWriter support<br/>JSON support<br/>Filter support<br/>SPL support<br/><br/>แล้วควรลบไฟล์นี้ทิ้ง เพื่อไม่ต้องการให้ใครมาเรียกดูได้อีก<br/>sudo rm -f /var/www/info.php<br/><br/> |
− | #ต่อไปเป็นการปรับแต่งการตั้งค่าการทำงานหลังจาก install แล้ว <br>ให้เข้าเบราว์เซอร์ และใส่ url ดังนี้<br>http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/<br>ใส่ username และ password<br><br> | + | #ทำขั้นตอน install โดยเข้าเบราว์เซอร์ และใส่ url ดังนี้<br/>[http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/install/setup.php http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/install/setup.php]<br/>ที่หัวข้อ Please add your database connection setup information<br/>SQL server เลือก MySQL 5.x (ext/mysql)<br/>SQL server host: ใส่ localhost<br/>SQL username: ใส่ myfaq<br/>SQL password: ใส่ myfaqpass<br/>SQL database: ใส่ testfaq<br/>Table prefix: ไม่ใส่<br/>ที่หัวข้อ LDAP information<br/>ไม่เลือกใช้<br/>ที่หัวข้อ phpMyFAQ information<br/>Default language: เลือก Thai<br/>Permission level: เลือก Basic (no group support) ค่า default<br/>Admin's real name: ตั้งใหม่ เช่น Nai FAQ เป็นต้น<br/>E-mail address: เช่น อีเมลของ yahoo เป็นต้น<br/>Admin's username: ตั้งใหม่ เช่น admin เป็นต้น<br/>Admin's password: ตั้งใหม่ เช่น adminpass เป็นต้น<br/>Retype password: ใส่ adminpass อีกครั้ง<br/>คลิกปุ่ม Click to install phpMyFaq 2.7.5<br/>จะได้ข้อความ<br/>All database tables were successfully created.<br/>Congratulation! Everything seems to be okay.<br/>จากนั้นที่บรรทัด<br/>If you don't want to participate in the survey, you can directly visit your version of phpMyFAQ or login into your admin section.<br/>คลิกที่ข้อความ your version of phpMyFAQ เพื่อดูหน้าเว็บหน้าแรก<br/><br/> |
− | #เข้าได้แล้วให้เปลี่ยนภาษาเป็น Thai<br><br> | + | #ต่อไปเป็นการปรับแต่งการตั้งค่าการทำงานหลังจาก install แล้ว<br/>ให้เข้าเบราว์เซอร์ และใส่ url ดังนี้<br/>[http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/ http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/]<br/>ใส่ username และ password<br/><br/> |
− | #การตั้งค่าการทำงาน <br>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br>คลิกเลือก ข้อมูลระบบ (Configuration)<br>คลิกเลือก ข้อมูลหลักของระบบ<br>ไฟล์ภาษา: เลือก Thai<br>เปิดระบบตรวจภาษาของเบาเซอร์อัตโนมัติ: ติ๊กถูก<br>ชื่อของเว็บ FAQ: ตั้งใหม่ เช่น My Test FAQ<br>รายละเอียดของเว็บ FAQ: เขียนอะไรก็ได้<br>ขื่อผู้เขียน: เขียนอะไรก็ได้<br>อีเมลของผู้ดูแลระบบ: ใส่อีเมลของคุณ<br>เปิดใช้ระบบติดตามผู้ใช้: ติ๊กถูก<br>เปิดใช้ระบบบันทึกการใช้งานผู้ดูแล: ติ๊กถูก<br>เปิดใช้งาน mod_rewrite (ค่าเริ่มต้น: ปิด): ไม่ติ๊ก<br>URL หลักสำหรับการตรวจสอบลิงค์: ใช้ตอนคลิกปุ่ม Logout ให้ตั้งให้ถูกต้อง เช่น ชื่อเครื่อง pmf ก็ใส่เป็น | + | #เข้าได้แล้วให้เปลี่ยนภาษาเป็น Thai<br/><br/> |
− | #แก้ไขค่า default time zone เดิม Europe/Berlin เป็น เป็นของประเทศไทย คือ Asia/Bangkok<br>cd /var/www/faq<br>sudo vi config/constants.php<br>บรรทัดที่ 39 เดิม<br>define('PMF_DATETIME_TIMEZONE_DEFAULT', 'Europe/Berlin');<br>เปลี่ยนเป็น<br>define('PMF_DATETIME_TIMEZONE_DEFAULT', 'Asia/Bangkok');<br><br> | + | #การตั้งค่าการทำงาน<br/>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br/>คลิกเลือก ข้อมูลระบบ (Configuration)<br/>คลิกเลือก ข้อมูลหลักของระบบ<br/>ไฟล์ภาษา: เลือก Thai<br/>เปิดระบบตรวจภาษาของเบาเซอร์อัตโนมัติ: ติ๊กถูก<br/>ชื่อของเว็บ FAQ: ตั้งใหม่ เช่น My Test FAQ<br/>รายละเอียดของเว็บ FAQ: เขียนอะไรก็ได้<br/>ขื่อผู้เขียน: เขียนอะไรก็ได้<br/>อีเมลของผู้ดูแลระบบ: ใส่อีเมลของคุณ<br/>เปิดใช้ระบบติดตามผู้ใช้: ติ๊กถูก<br/>เปิดใช้ระบบบันทึกการใช้งานผู้ดูแล: ติ๊กถูก<br/>เปิดใช้งาน mod_rewrite (ค่าเริ่มต้น: ปิด): ไม่ติ๊ก<br/>URL หลักสำหรับการตรวจสอบลิงค์: ใช้ตอนคลิกปุ่ม Logout ให้ตั้งให้ถูกต้อง เช่น ชื่อเครื่อง pmf ก็ใส่เป็น [http://pmf/faq http://pmf/faq] เป็นต้น<br/>ช่วงเวลาสำหรับการตรวจลิงค์ของ AJAX (หน่วยเป็นวินาที): ค่าเดิมคือ 86400<br/>เปิดการใช้งานแบบ WYSIWYG (ค่าเริ่มต้น: เปิด): ติ๊กถูก<br/>เลือกเทมเพลตที่ต้องการ: เลือก default<br/>ช่องอีเมลเป็นช่องที่จำเป็นต้องกรอก (ค่าเริ่มต้น: ปิด): ไม่ติ๊ก<br/>Activate Google translations (default: deactivated): ไม่ติ๊ก<br/>Google API key: ไม่ติ๊ก<br/>เรื่อง แสดงผลวันที่ เพื่อแสดง time zone Asia/Bangkok<br/>Date format (default: Y-m-d H:i) ให้ใส่เป็น Y-m-d H:i T<br/><br/>หัวข้อ ค่าเริ่มต้นของข้อมูล FAQ ไม่แก้ไข<br/>หัวข้อ Search ไม่แก้ไข<br/><br/>หัวข้อ Security configuration แก้ไขดังนี้<br/>เปิดใช้งาน LDAP (ค่าเริ่มต้น: ปิด): ติ๊กถูก<br/>เปิดให้เข้าใช้งานสำหรับการเชื่อมต่อแบบปลอดภัยเท่านั้น? (ค่าเริ่มต้น: ปิด): ติ๊กถูก<br/><br/>ส่วนรายการอื่นๆ ไม่ติ๊ก<br/><br/>หัวข้อ ระบบควบคุม Spam ไม่แก้ไข<br/><br/>หัวข้อ Social networks configuration ไม่แก้ไข<br/><br/>คลิกปุ่ม บันทึกข้อมูลระบบ<br/>คลิกปุ่ม ออกจากระบบ<br/><br/> |
− | #การยกเลิกการขอเปิดบัญชีผู้ใช้ใหม่ทางหน้าเว็บ registration ให้แก้ไขดังนี้<br>ไปที่ไดเรกทอรี faq<br>cd /var/www/faq<br>แก้ไขแฟ้ม loginbox.tpl ด้วยเอดิเตอร์ เช่น vi ดังนี้<br>sudo vi template/default/loginbox.tpl<br>ประมาณบรรทัดที่ 3 แก้ไขจากเดิม<br> <a href="#" onclick="javascript:loginForm(); return false;">{msgLoginUser}</a> | {msgRegisterUser}<br>ให้เป็น<br> <a href="#" onclick="javascript:loginForm(); return false;">{msgLoginUser}</a><br><br>แล้วแก้ไขให้ไม่แสดงหน้า Password forgotten? ในหน้า user<br>ไปที่ประมาณบรรทัดที่ 16 ให้ลบทิ้ง<br> <p><a href="admin/password.php" title="{msgLostPassword}">{msgLostPassword}</a></p><br><br>ควรเปลี่ยนชื่อแฟ้ม register.php ให้เป็นชื่ออื่น เช่น register.php.notuse ทำดังนี้<br>sudo mv register.php register.php.notuse<br>ควรเปลี่ยนชื่อแฟ้ม password.php ให้เป็นชื่ออื่น เช่น password.php.notuse ทำดังนี้<br>sudo mv admin/password.php admin/password.php.notuse<br><br>ต้องแก้ไขให้ไม่แสดงลิงค์ Password forgotten? ในหน้า admin<br>แก้ไขแฟ้ม admin/header.php ด้วยเอดิเตอร์ เช่น vi ดังนี้<br>sudo vi admin/header.php<br>ให้ลบตั้งแต่บรรทัดที่ 242 ถึง 246 ทิ้ง<br> <li><br> <a href="password.php" title=" | + | #แก้ไขค่า default time zone เดิม Europe/Berlin เป็น เป็นของประเทศไทย คือ Asia/Bangkok<br/>cd /var/www/faq<br/>sudo vi config/constants.php<br/>บรรทัดที่ 39 เดิม<br/>define('PMF_DATETIME_TIMEZONE_DEFAULT', 'Europe/Berlin');<br/>เปลี่ยนเป็น<br/>define('PMF_DATETIME_TIMEZONE_DEFAULT', 'Asia/Bangkok');<br/><br/> |
− | #(หากต้องการใช้คู่กับ ldap แบบ default ของโปรแกรม) การปรับค่าคอนฟิกหากตั้งค่าตอน install ไม่ถูกต้อง หรือ ไม่ได้เลือก<br>เข้าไปที่ไดเรกทอรี config<br>cd /var/www/faq/config<br>sudo mv ldap.php.original ldap.php<br>แก้ไขค่าในแฟ้ม ldap.php ให้ถูกต้อง<br>$PMF_LDAP['ldap_server'] = '';<br>$PMF_LDAP['ldap_port'] = '';<br>$PMF_LDAP['ldap_user'] = '';<br>$PMF_LDAP['ldap_password'] = '';<br>$PMF_LDAP['ldap_base'] = '';<br><br> | + | #การยกเลิกการขอเปิดบัญชีผู้ใช้ใหม่ทางหน้าเว็บ registration ให้แก้ไขดังนี้<br/>ไปที่ไดเรกทอรี faq<br/>cd /var/www/faq<br/>แก้ไขแฟ้ม loginbox.tpl ด้วยเอดิเตอร์ เช่น vi ดังนี้<br/>sudo vi template/default/loginbox.tpl<br/>ประมาณบรรทัดที่ 3 แก้ไขจากเดิม<br/><a href="#" onclick="javascript:loginForm(); return false;">{msgLoginUser}</a> | {msgRegisterUser}<br/>ให้เป็น<br/><a href="#" onclick="javascript:loginForm(); return false;">{msgLoginUser}</a><br/><br/>แล้วแก้ไขให้ไม่แสดงหน้า Password forgotten? ในหน้า user<br/>ไปที่ประมาณบรรทัดที่ 16 ให้ลบทิ้ง<br/><p><a href="admin/password.php" title="{msgLostPassword}">{msgLostPassword}</a></p><br/><br/>ควรเปลี่ยนชื่อแฟ้ม register.php ให้เป็นชื่ออื่น เช่น register.php.notuse ทำดังนี้<br/>sudo mv register.php register.php.notuse<br/>ควรเปลี่ยนชื่อแฟ้ม password.php ให้เป็นชื่ออื่น เช่น password.php.notuse ทำดังนี้<br/>sudo mv admin/password.php admin/password.php.notuse<br/><br/>ต้องแก้ไขให้ไม่แสดงลิงค์ Password forgotten? ในหน้า admin<br/>แก้ไขแฟ้ม admin/header.php ด้วยเอดิเตอร์ เช่น vi ดังนี้<br/>sudo vi admin/header.php<br/>ให้ลบตั้งแต่บรรทัดที่ 242 ถึง 246 ทิ้ง<br/><li><br/><a href="password.php" title="<?php print $PMF_LANG["lostPassword"]; ?>"><br/><?php print $PMF_LANG["lostPassword"]; ?><br/></a><br/></li><br/><br/> |
− | #(หากต้องการ login ใช้กับ RADIUS ไม่ต้องการใช้ LDAP แบบ default ของโปรแกรม) การแก้ไข code ให้ใช้กับ RADIUS ได้<br>เข้าไปที่ไดเรกทอรี PMF_Auth<br>cd /var/www/faq/inc/PMF_Auth<br>ดาวน์โหลด code ที่ได้รับการแก้ไข ดังนี้<br>sudo wget http://ftp.psu.ac.th/pub/phpmyfaq/AuthLdap_RADIUS.php<br>แล้วสำรองเก็บอันเก่าไว้<br>sudo cp -p AuthLdap.php AuthLdap.php.save<br>แล้วใช้อันที่ดาวน์โหลดมาแทน<br>sudo cp -p AuthLdap_RADIUS.php AuthLdap.php<br><br>ติดตั้ง PSU-radius ตามขั้นตอนดังนี้<br>(คัดจากลิงค์ http://opensource.cc.psu.ac.th/ติดตั้ง_psu-radius_บน_ubuntu | + | #(หากต้องการใช้คู่กับ ldap แบบ default ของโปรแกรม) การปรับค่าคอนฟิกหากตั้งค่าตอน install ไม่ถูกต้อง หรือ ไม่ได้เลือก<br/>เข้าไปที่ไดเรกทอรี config<br/>cd /var/www/faq/config<br/>sudo mv ldap.php.original ldap.php<br/>แก้ไขค่าในแฟ้ม ldap.php ให้ถูกต้อง<br/>$PMF_LDAP['ldap_server'] = '';<br/>$PMF_LDAP['ldap_port'] = '';<br/>$PMF_LDAP['ldap_user'] = '';<br/>$PMF_LDAP['ldap_password'] = '';<br/>$PMF_LDAP['ldap_base'] = '';''<br/><br/> |
− | #ตัวอย่างการกำหนดหัวข้อ<br>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br> http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/<br>คลิกที่ข้อความ เปลี่ยนใช้ระบบความปลอดภัยสูงในการเข้าใช้งาน<br>ใส่ ชื่อผู้ใช้ และ รหัสผ่าน<br><br>การเพิ่มหัวข้อหลัก<br>เลือกรายการ หัวข้อ<br>เลือกรายการ เพิ่มหัวข้อหลัก<br>ชื่อหัวข้อ: ใส่ข้อความว่า ระบบเน็ตเวิร์ค<br>คลิกปุ่ม เพิ่มหัวข้อ<br><br>การเพิ่มหัวข้อย่อย<br>คลิกปุ่ม บวก ที่อยู่หลังหัวข้อหลักที่สร้างขึ้นนั้น<br>ชื่อหัวข้อ: ใส่ข้อความว่า VPN<br>คลิกปุ่ม เพิ่มหัวข้อ<br><br>การตรวจสอบว่ามีหัวข้อย่อย<br>คลิกที่ชื่อหัวข้อหลัก เช่น ระบบเน็ตเวิร์ค แล้วจะเห็นว่ามีรายการหัวข้อย่อยเลื่อนออกมา<br><br>(หากต้องการให้มีข้อมูลมากกว่า 1 ภาษา เช่นมีทั้งไทยและอังกฤษ)<br>การแปลหัวข้อหลัก และ หัวข้อย่อย เป็นภาษาอื่น เช่น English<br>เช่นแปลคำว่า ระบบเน็ตเวิร์ค เป็น Network ทำดังนี้<br>คลิกปุ่ม แปล (ลูกศรโค้งสีเขียว)<br>ช่อง ชื่อหัวข้อ ใส่ข้อความภาษาอังกฤษ Network<br>ช่อง ภาษา เลือก English<br>คลิกปุ่ม แปลหัวข้อ<br><br> | + | #(หากต้องการ login ใช้กับ RADIUS ไม่ต้องการใช้ LDAP แบบ default ของโปรแกรม) การแก้ไข code ให้ใช้กับ RADIUS ได้<br/>เข้าไปที่ไดเรกทอรี PMF_Auth<br/>cd /var/www/faq/inc/PMF_Auth<br/>ดาวน์โหลด code ที่ได้รับการแก้ไข ดังนี้<br/>sudo wget [http://ftp.psu.ac.th/pub/phpmyfaq/AuthLdap_RADIUS.php http://ftp.psu.ac.th/pub/phpmyfaq/AuthLdap_RADIUS.php]<br/>แล้วสำรองเก็บอันเก่าไว้<br/>sudo cp -p AuthLdap.php AuthLdap.php.save<br/>แล้วใช้อันที่ดาวน์โหลดมาแทน<br/>sudo cp -p AuthLdap_RADIUS.php AuthLdap.php<br/><br/>ติดตั้ง PSU-radius ตามขั้นตอนดังนี้<br/>(คัดจากลิงค์ [http://opensource.cc.psu.ac.th/ติดตั้ง_psu-radius_บน_ubuntu http://opensource.cc.psu.ac.th/ติดตั้ง_psu-radius_บน_ubuntu])<br/>sudo wget [http://ftp.psu.ac.th/pub/psu-radius/psu-radius.tgz http://ftp.psu.ac.th/pub/psu-radius/psu-radius.tgz] -N -P /tmp<br/>tar -zxpvf /tmp/psu-radius.tgz -C /tmp<br/>cd /tmp/psu-radius<br/>sudo sh install-psu-radius.sh<br/>ปรับแต่งแฟ้ม /etc/freeradius/imap-authen.sh ให้ใช้ PSU Mail และ PSU Passport ดังนี้<br/>AUTHEN_SHADOW="YES"<br/>AUTHEN_MAIL="YES"<br/>DEFAULT_MAIL_SERVER="mail.psu.ac.th"<br/>AUTHEN_LDAP="NO"<br/>AUTHEN_SSH="NO"<br/>AUTHEN_PSU_PASSPORT="YES"<br/>CHECK_PREBLACKLIST="YES"<br/>PREBLACKLIST_FILE="/etc/freeradius/preblacklist.txt"<br/><br/>ปรับแต่งแฟ้ม /etc/freeradius/my-authen.sh<br/>CHECK_BLACKLIST="YES"<br/>ALL_PASS="NO"<br/>CHECK_VIPLIST="YES"<br/>CHECK_PSU_STAFF="YES"<br/>CHECK_PSU_STUDENT="YES"<br/>BLACKLIST_FILE="/etc/freeradius/blacklist.txt"<br/>VIP_FILE="/etc/freeradius/viplist.txt"<br/><br/> |
− | #การลบคำแปลภาษาที่ไม่ต้องใช้งาน<br>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br>คลิกเลือก ข้อมูลระบบ (Configuration)<br>คลิกเลือก ส่วนการแปล<br>เลื่อนหาบรรทัดที่เป็นภาษาที่ไม่ต้องใช้งาน แล้วคลิกปุ่ม [ลบ]<br><br> | + | #ตัวอย่างการกำหนดหัวข้อ<br/>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br/>[http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/ http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/]<br/>คลิกที่ข้อความ เปลี่ยนใช้ระบบความปลอดภัยสูงในการเข้าใช้งาน<br/>ใส่ ชื่อผู้ใช้ และ รหัสผ่าน<br/><br/>การเพิ่มหัวข้อหลัก<br/>เลือกรายการ หัวข้อ<br/>เลือกรายการ เพิ่มหัวข้อหลัก<br/>ชื่อหัวข้อ: ใส่ข้อความว่า ระบบเน็ตเวิร์ค<br/>คลิกปุ่ม เพิ่มหัวข้อ<br/><br/>การเพิ่มหัวข้อย่อย<br/>คลิกปุ่ม บวก ที่อยู่หลังหัวข้อหลักที่สร้างขึ้นนั้น<br/>ชื่อหัวข้อ: ใส่ข้อความว่า VPN<br/>คลิกปุ่ม เพิ่มหัวข้อ<br/><br/>การตรวจสอบว่ามีหัวข้อย่อย<br/>คลิกที่ชื่อหัวข้อหลัก เช่น ระบบเน็ตเวิร์ค แล้วจะเห็นว่ามีรายการหัวข้อย่อยเลื่อนออกมา<br/><br/>(หากต้องการให้มีข้อมูลมากกว่า 1 ภาษา เช่นมีทั้งไทยและอังกฤษ)<br/>การแปลหัวข้อหลัก และ หัวข้อย่อย เป็นภาษาอื่น เช่น English<br/>เช่นแปลคำว่า ระบบเน็ตเวิร์ค เป็น Network ทำดังนี้<br/>คลิกปุ่ม แปล (ลูกศรโค้งสีเขียว)<br/>ช่อง ชื่อหัวข้อ ใส่ข้อความภาษาอังกฤษ Network<br/>ช่อง ภาษา เลือก English<br/>คลิกปุ่ม แปลหัวข้อ<br/><br/> |
− | #การแก้ไขคำแปลจากภาษาอังกฤษเป็นภาษาไทยให้ถูกต้องสวยงามขึ้นกว่าที่เป็นอยู่<br>(ให้ทำก่อนทำเรื่อง SEO ด้านล่าง)<br>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br>คลิกเลือก ข้อมูลระบบ (Configuration)<br>คลิกเลือก ส่วนการแปล<br>เลื่อนหาบรรทัด Thai แล้วคลิกปุ่ม [แก้ไข]<br>มีทั้งหมด 28 หน้า ค่อยๆแก้ไข<br><br> | + | #การลบคำแปลภาษาที่ไม่ต้องใช้งาน<br/>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br/>คลิกเลือก ข้อมูลระบบ (Configuration)<br/>คลิกเลือก ส่วนการแปล<br/>เลื่อนหาบรรทัดที่เป็นภาษาที่ไม่ต้องใช้งาน แล้วคลิกปุ่ม [ลบ]<br/><br/> |
− | #การตั้งให้หน้าแรกเลือกแสดงภาษาไทยก่อนภาษาอื่นๆ<br>แก้ไขแฟ้ม inc/Language.php<br>cd /var/www/faq<br>sudo vi inc/Language.php<br>ที่บรรทัด 112 ใส่ cooment ด้วยเครื่องหมาย //<br> //$_lang['detection'] = strtolower($this- | + | #การแก้ไขคำแปลจากภาษาอังกฤษเป็นภาษาไทยให้ถูกต้องสวยงามขึ้นกว่าที่เป็นอยู่<br/>(ให้ทำก่อนทำเรื่อง SEO ด้านล่าง)<br/>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br/>คลิกเลือก ข้อมูลระบบ (Configuration)<br/>คลิกเลือก ส่วนการแปล<br/>เลื่อนหาบรรทัด Thai แล้วคลิกปุ่ม [แก้ไข]<br/>มีทั้งหมด 28 หน้า ค่อยๆแก้ไข<br/><br/> |
− | #กำหนดสิทธิการใช้งานเรื่อง SEO<br>เข้าไปที่ไดเรกทอรี faq<br>cd /var/www/faq<br>เปลี่ยนชื่อแฟ้มจากเดิม _.htaccess เป็น .htaccess<br>sudo mv _.htaccess .htaccess<br><br>แก้ไขค่า RewriteBase<br>sudo vi .htaccess<br>ไปที่ประมาณบรรทัดที่ 29<br>เดิม<br>RewriteBase /phpmyfaq/<br>เป็น<br>RewriteBase /faq/<br><br>เปิดใช้ module rewrite<br>sudo a2enmod rewrite<br><br>แก้ไขแฟ้ม default ของ apache2<br>sudo vi /etc/apache2/sites-available/default<br>ให้เปลี่ยนจาก<br><Directory /var/www/><br>...<br>AllowOverride None<br>...<br></Directory><br>เป็น<br><Directory /var/www/><br>...<br>AllowOverride All<br>...<br></Directory><br>โดยที่ต้องทำทั้งสองแห่งที่ใต้บรรทัด <VirtualHost *:80> และ <VirtualHost *:443><br><br>รีสตาร์ท apache2 ใหม่<br>sudo service apache2 restart<br><br>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br>http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/<br>คลิกเลือก ข้อมูลระบบ (Configuration)<br>คลิกเลือก ข้อมูลหลักของระบบ<br>เปิดใช้งาน mod_rewrite (ค่าเริ่มต้น: ปิด): ติ๊ก<br>คลิกปุ่ม บันทึกข้อมูลระบบ<br>คลิกปุ่ม ออกจากระบบ<br><br> | + | #การตั้งให้หน้าแรกเลือกแสดงภาษาไทยก่อนภาษาอื่นๆ<br/>แก้ไขแฟ้ม inc/Language.php<br/>cd /var/www/faq<br/>sudo vi inc/Language.php<br/>ที่บรรทัด 112 ใส่ cooment ด้วยเครื่องหมาย //<br/>//$_lang['detection'] = strtolower($this->acceptedLanguage);<br/>แล้วเพิ่มบรรทัดนี้เข้าไป<br/>$_lang['detection'] = 'th';<br/><br/> |
− | #การเพิ่มข้อมูล (คำถามและคำตอบของ FAQ) <br>หากต้องการให้ค้นหาและแสดงผลในภาษาใด ก็ต้องเลือกภาษานั้นก่อนพิมพ์ข้อมูล<br>คลิกปุ่ม เพิ่มข้อมูล<br>ช่อง ชื่อ ใส่ชื่อที่ต้องการให้แสดง<br>ช่อง อีเมล ใส่หรือไม่ใส่ขึ้นกับข้อมูลระบบ<br>ช่อง เลือกหัวข้อที่ต้องการ ให้เลือกหัวข้อตามต้องการ<br>ช่อง หัวข้อหลัก คือ คำถาม<br>ช่อง ข้อมูลของคุณสำหรับFAQ คือ คำตอบ<br>ช่อง คำค้น ใส่หรือไม่ก็ได้<br>ช่อง ที่อยู่สำหรับข้อมูลนี้ ใส่หรือไม่ก็ได้<br>ช่อง โปรดกรอกข้อมูลตัวอักษรในภาพที่แสดงไว้: ใส่อักษรที่เห็น<br>คลิกปุ่ม ส่ง <br><br> | + | #กำหนดสิทธิการใช้งานเรื่อง SEO<br/>เข้าไปที่ไดเรกทอรี faq<br/>cd /var/www/faq<br/>เปลี่ยนชื่อแฟ้มจากเดิม _.htaccess เป็น .htaccess<br/>sudo mv _.htaccess .htaccess<br/><br/>แก้ไขค่า RewriteBase<br/>sudo vi .htaccess<br/>ไปที่ประมาณบรรทัดที่ 29<br/>เดิม<br/>RewriteBase /phpmyfaq/<br/>เป็น<br/>RewriteBase /faq/<br/><br/>เปิดใช้ module rewrite<br/>sudo a2enmod rewrite<br/><br/>แก้ไขแฟ้ม default ของ apache2<br/>sudo vi /etc/apache2/sites-available/default<br/>ให้เปลี่ยนจาก<br/><Directory /var/www/><br/>...<br/>AllowOverride None<br/>...<br/></Directory><br/>เป็น<br/><Directory /var/www/><br/>...<br/>AllowOverride All<br/>...<br/></Directory><br/>โดยที่ต้องทำทั้งสองแห่งที่ใต้บรรทัด <VirtualHost *:80> และ <VirtualHost *:443><br/><br/>รีสตาร์ท apache2 ใหม่<br/>sudo service apache2 restart<br/><br/>เข้าเบราว์เซอร์ด้วยสิทธิ admin<br/>[http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/ http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/]<br/>คลิกเลือก ข้อมูลระบบ (Configuration)<br/>คลิกเลือก ข้อมูลหลักของระบบ<br/>เปิดใช้งาน mod_rewrite (ค่าเริ่มต้น: ปิด): ติ๊ก<br/>คลิกปุ่ม บันทึกข้อมูลระบบ<br/>คลิกปุ่ม ออกจากระบบ<br/><br/> |
− | #การตั้งค่าให้รับส่งอีเมลระหว่างผู้ใช้งานกับเว็บมาสเตอร์ได้<br><br>ติดตั้ง postfix ด้วยคำสั่ง sudo apt-get install postfix<br>ระบบจะมีหน้าต่าง Postfix Configuration ขึ้นมา ให้กด TAB ไปเลือกแถบ <Ok><br>จะได้อีกหน้าต่างให้เลื่อนไปเลือกแถบ No configuration แล้วกด TAB ไปเลือกแถบ <Ok><br>เป็นอันว่าติดตั้งเสร็จ <br><br>ปรับแต่งเพิ่มต่อไป ด้วยคำสั่ง sudo dpkg-reconfigure postfix<br>ระบบจะมีหน้าต่าง Postfix Configuration ขึ้นมา ให้กด TAB ไปเลือกแถบ <Ok><br>จะได้อีกหน้าต่างให้เลื่อนไปเลือกแถบ Local only แล้วกด TAB ไปเลือกแถบ <Ok><br>ที่ช่อง System mail name | + | #การเพิ่มข้อมูล (คำถามและคำตอบของ FAQ)<br/>หากต้องการให้ค้นหาและแสดงผลในภาษาใด ก็ต้องเลือกภาษานั้นก่อนพิมพ์ข้อมูล<br/>คลิกปุ่ม เพิ่มข้อมูล<br/>ช่อง ชื่อ ใส่ชื่อที่ต้องการให้แสดง<br/>ช่อง อีเมล ใส่หรือไม่ใส่ขึ้นกับข้อมูลระบบ<br/>ช่อง เลือกหัวข้อที่ต้องการ ให้เลือกหัวข้อตามต้องการ<br/>ช่อง หัวข้อหลัก คือ คำถาม<br/>ช่อง ข้อมูลของคุณสำหรับFAQ คือ คำตอบ<br/>ช่อง คำค้น ใส่หรือไม่ก็ได้<br/>ช่อง ที่อยู่สำหรับข้อมูลนี้ ใส่หรือไม่ก็ได้<br/>ช่อง โปรดกรอกข้อมูลตัวอักษรในภาพที่แสดงไว้: ใส่อักษรที่เห็น<br/>คลิกปุ่ม ส่ง<br/><br/> |
− | #หากไม่ต้องการแสดงไอคอน facebook, twitter และอื่นๆ<br>แก้ไขที่แฟ้ม /var/www/helpdesk/index.php<br>ประมาณบรรทัดที่ 660<br>เดิม<br> $tpl- | + | #การตั้งค่าให้รับส่งอีเมลระหว่างผู้ใช้งานกับเว็บมาสเตอร์ได้<br/><br/>ติดตั้ง postfix ด้วยคำสั่ง sudo apt-get install postfix<br/>ระบบจะมีหน้าต่าง Postfix Configuration ขึ้นมา ให้กด TAB ไปเลือกแถบ <Ok><br/>จะได้อีกหน้าต่างให้เลื่อนไปเลือกแถบ No configuration แล้วกด TAB ไปเลือกแถบ <Ok><br/>เป็นอันว่าติดตั้งเสร็จ<br/><br/>ปรับแต่งเพิ่มต่อไป ด้วยคำสั่ง sudo dpkg-reconfigure postfix<br/>ระบบจะมีหน้าต่าง Postfix Configuration ขึ้นมา ให้กด TAB ไปเลือกแถบ <Ok><br/>จะได้อีกหน้าต่างให้เลื่อนไปเลือกแถบ Local only แล้วกด TAB ไปเลือกแถบ <Ok><br/>ที่ช่อง System mail name : ให้ป้อนชื่อ server<br/>ที่ช่อง Root and postmaster mail recipient: ให้ข้ามไปเลย<br/>ที่ช่อง Other destinations to accept mail for (blank for none): ให้ข้ามไปเลย<br/>ที่คำถาม Force synchronous updates on mail queue? ให้เลือกตอบ NO<br/>ที่ช่อง Local networks: ให้ป้อนเหลือแค่ว่า 127.0.0.0/8<br/>ที่ช่อง Mailbox size limit (bytes): ให้ใส่เลข 0<br/>ที่ช่อง Local address extension character: ปล่อยตามเดิมเป็นเครื่องหมาย +<br/>ที่คำถาม Internet protocols to use: ให้เลือก ipv4<br/>ที่คำถาม Use procmail for local delivery? ให้ตอบ No<br/><br/>ปรับปรุงให้ local mail server สามารถส่งอีเมล์ออกได้<br/>ให้แก้ไขแฟ้ม /etc/postfix/main.cf ปรับปรุงค่าตัวแปรดังนี้คือ<br/>default_transport = smtp<br/>relay_transport = smtp<br/><br/>จัดการ relay mail ไปให้ server อื่นส่งแทน ให้แก้ไขแฟ้ม /etc/postfix/main.cf<br/>ตั้งค่าตัวแปรดังตัวอย่าง relayhost = server.domain<br/>เสร็จแล้วสั่งให้ posftix ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/postfix force-reload<br/><br/> |
+ | #หากไม่ต้องการแสดงไอคอน facebook, twitter และอื่นๆ<br/>แก้ไขที่แฟ้ม /var/www/helpdesk/index.php<br/>ประมาณบรรทัดที่ 660<br/>เดิม<br/>$tpl->processBlock(<br/>'rightBox', 'socialLinks', array(<br/>'writeDiggMsgTag' => 'Digg it!',<br/>'writeFacebookMsgTag' => 'Share on Facebook',<br/>'writeTwitterMsgTag' => 'Share on Twitter',<br/>'writeDeliciousMsgTag' => 'Bookmark this on Delicious',<br/>'writePDFTag' => $PMF_LANG['msgPDF'],<br/>'writePrintMsgTag' => $PMF_LANG['msgPrintArticle'],<br/>'writeSend2FriendMsgTag' => $PMF_LANG['msgSend2Friend'],<br/>'link_digg' => $faqServices->getDiggLink(),<br/>'link_facebook' => $faqServices->getShareOnFacebookLink(),<br/>'link_twitter' => $faqServices->getShareOnTwitterLink(),<br/>'link_delicious' => $faqServices->getBookmarkOnDeliciousLink(),<br/>'link_email' => $faqServices->getSuggestLink(),<br/>'link_pdf' => $faqServices->getPdfLink(),<br/>'facebookLikeButton' => $faqHelper->renderFacebookLikeButton($faqServices->getLink()),<br/>)<br/>);<br/>ให้ใส่ comment เป็นเครื่องหมาย // ไว้ข้างหน้าบรรทัดดังนี้<br/>//$tpl->processBlock(<br/>//'rightBox', 'socialLinks', array(<br/>//'writeDiggMsgTag' => 'Digg it!',<br/>//'writeFacebookMsgTag' => 'Share on Facebook',<br/>//'writeTwitterMsgTag' => 'Share on Twitter',<br/>//'writeDeliciousMsgTag' => 'Bookmark this on Delicious',<br/>//'writePDFTag' => $PMF_LANG['msgPDF'],<br/>//'writePrintMsgTag' => $PMF_LANG['msgPrintArticle'],<br/>//'writeSend2FriendMsgTag' => $PMF_LANG['msgSend2Friend'],<br/>//'link_digg' => $faqServices->getDiggLink(),<br/>//'link_facebook' => $faqServices->getShareOnFacebookLink(),<br/>//'link_twitter' => $faqServices->getShareOnTwitterLink(),<br/>//'link_delicious' => $faqServices->getBookmarkOnDeliciousLink(),<br/>//'link_email' => $faqServices->getSuggestLink(),<br/>//'link_pdf' => $faqServices->getPdfLink(),<br/>//'facebookLikeButton' => $faqHelper->renderFacebookLikeButton($faqServices->getLink()),<br/>//)<br/>//);<br/> | ||
− | <br> | + | <br/> |
จบ. | จบ. |
รุ่นปัจจุบัน เมื่อ 14:33, 3 พฤษภาคม 2555
บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 3-5-2555
ดูแลโดย WIBOON
- ทดสอบติดตั้งบน ubuntu 10.04.4
- ทดสอบใช้เวอร์ชั่น phpMyFAQ 2.7.5
- ศึกษาวิธีการติดตั้งได้จาก http://www.phpmyfaq.de/documentation.2.7.en.php
ขั้นตอน
- ติดตั้ง apache ด้วยคำสั่ง
sudo apt-get install apache2 apache2-doc - ติดตั้ง php ด้วยคำสั่ง
sudo apt-get install php5 php5-mysql php5-gd php5-curl php5-cli php5-ldap php5-radius - เปิด ssl ด้วยคำสั่ง sudo a2enmod ssl
ดาวน์โหลดแฟ้มจาก ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz
ด้วยคำสั่ง wget ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz -N -P /tmp
แล้วแตกแฟ้มออกมาด้วยคำสั่ง tar -zxvf /tmp/apache2-ssl.tar.gz -C /tmp
คัดลอกแฟ้มไปยังตำแหน่งที่ถูกต้องด้วยคำสั่ง
sudo mv /tmp/ssleay.cnf /usr/share/apache2
sudo mv /tmp/apache2-ssl-certificate /usr/sbin
sudo mkdir -p /etc/apache2/ssl
สร้าง certification ด้วยคำสั่ง sudo apache2-ssl-certificate
ระบบจะมีข้อความออกให้โต้ตอบ ก็ให้กดแป้น Enter อย่างเดียวจนเสร็จ
แก้ไขแฟ้ม /etc/apache2/sites-available/default
เพิ่มบรรทัดว่า NameVirtualHost *:443 เข้าไป
แล้วสร้างเพิ่ม tag ทำนองเดียวกับ <VirtualHost *:80>
แต่เปลี่ยนจากเลข 80 เป็นเลข 443 และเพิ่ม SSL ประมาณว่า
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>
เสร็จแล้วก็ให้ restart apache ใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload - ติดตั้ง mysql database server ด้วยคำสั่ง
sudo apt-get install mysql-server
ระหว่างติดตั้งหากมีคำถามที่เกี่ยวกับการตั้งรหัสผ่าน ก็ให้เคาะแป้น enter ผ่านไปก่อนทั้งหมด
หลังติดตั้งเสร็จแล้วให้รีบตั้งรหัสผ่าน root ของ mysql-server ใหม่
ตัวอย่างนี้ตั้งรหัสผ่านว่า mysqldroot ใช้คำสั่งคือ
mysqladmin -uroot password mysqldroot
สร้าง database สำหรับ phpmyfaq ชื่อ myphpmyfaq ใช้คำสั่ง
mysql -uroot -pmysqldroot -e "CREATE DATABASE testfaq CHARACTER SET 'UTF8';"
แล้วกำหนดสิทธิ์การใช้ database myphpmyfaq ให้แก่ user ชื่อ myfaq โดยมีรหัสผ่านว่า myfaqpass ใช้คำสั่งคือ
mysql -uroot -pmysqldroot -e "grant all privileges on testfaq.* to 'myfaq'@'localhost' identified by 'myfaqpass' ;" - ดาวน์โหลด phpmyfaq-2.7.5.tar.gz ไปไว้ใน /tmp ดังนี้
wget http://ftp.psu.ac.th/pub/phpmyfaq/phpmyfaq-2.7.5.tar.gz -N -P /tmp - เก็บไปไว้ใน /var/www/faq (ตัวอย่างเลือกตั้งชื่อไดเรกทอรีว่า faq) ดังนี้
sudo tar -zxpvf /tmp/phpmyfaq-2.7.5.tar.gz -C /var/www
sudo mv /var/www/phpmyfaq-2.7.5 /var/www/faq
เปลี่ยนสิทธิของแฟ้ม
sudo chown -R www-data:www-data /var/www/faq - สร้างแฟ้มชื่อ info.php เพื่อตรวจสอบเวอร์ชั่นของ php ต้องไม่ต่ำกว่า 5.2.3 และ module support ต่างๆ ดังนี้
เช่น ใช้เอดิเตอร์ vi ดังนี้
sudo vi /var/www/info.php
ป้อนข้อความนี้
<?php phpinfo(); ?>
ทดสอบ
http://หมายเลขไอพีของเซิร์ฟเวอร์/info.php
หากมีข้อมูล support ตามนี้ ก็ทำขั้นตอน install ได้แล้ว
PHP
from version 5.2.3 (recommended: latest PHP 5.x)
register_globals = off (recommended)
safe_mode = off (recommended)
memory_limit = 64M
GD support
XMLWriter support
JSON support
Filter support
SPL support
แล้วควรลบไฟล์นี้ทิ้ง เพื่อไม่ต้องการให้ใครมาเรียกดูได้อีก
sudo rm -f /var/www/info.php - ทำขั้นตอน install โดยเข้าเบราว์เซอร์ และใส่ url ดังนี้
http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/install/setup.php
ที่หัวข้อ Please add your database connection setup information
SQL server เลือก MySQL 5.x (ext/mysql)
SQL server host: ใส่ localhost
SQL username: ใส่ myfaq
SQL password: ใส่ myfaqpass
SQL database: ใส่ testfaq
Table prefix: ไม่ใส่
ที่หัวข้อ LDAP information
ไม่เลือกใช้
ที่หัวข้อ phpMyFAQ information
Default language: เลือก Thai
Permission level: เลือก Basic (no group support) ค่า default
Admin's real name: ตั้งใหม่ เช่น Nai FAQ เป็นต้น
E-mail address: เช่น อีเมลของ yahoo เป็นต้น
Admin's username: ตั้งใหม่ เช่น admin เป็นต้น
Admin's password: ตั้งใหม่ เช่น adminpass เป็นต้น
Retype password: ใส่ adminpass อีกครั้ง
คลิกปุ่ม Click to install phpMyFaq 2.7.5
จะได้ข้อความ
All database tables were successfully created.
Congratulation! Everything seems to be okay.
จากนั้นที่บรรทัด
If you don't want to participate in the survey, you can directly visit your version of phpMyFAQ or login into your admin section.
คลิกที่ข้อความ your version of phpMyFAQ เพื่อดูหน้าเว็บหน้าแรก - ต่อไปเป็นการปรับแต่งการตั้งค่าการทำงานหลังจาก install แล้ว
ให้เข้าเบราว์เซอร์ และใส่ url ดังนี้
http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/
ใส่ username และ password - เข้าได้แล้วให้เปลี่ยนภาษาเป็น Thai
- การตั้งค่าการทำงาน
เข้าเบราว์เซอร์ด้วยสิทธิ admin
คลิกเลือก ข้อมูลระบบ (Configuration)
คลิกเลือก ข้อมูลหลักของระบบ
ไฟล์ภาษา: เลือก Thai
เปิดระบบตรวจภาษาของเบาเซอร์อัตโนมัติ: ติ๊กถูก
ชื่อของเว็บ FAQ: ตั้งใหม่ เช่น My Test FAQ
รายละเอียดของเว็บ FAQ: เขียนอะไรก็ได้
ขื่อผู้เขียน: เขียนอะไรก็ได้
อีเมลของผู้ดูแลระบบ: ใส่อีเมลของคุณ
เปิดใช้ระบบติดตามผู้ใช้: ติ๊กถูก
เปิดใช้ระบบบันทึกการใช้งานผู้ดูแล: ติ๊กถูก
เปิดใช้งาน mod_rewrite (ค่าเริ่มต้น: ปิด): ไม่ติ๊ก
URL หลักสำหรับการตรวจสอบลิงค์: ใช้ตอนคลิกปุ่ม Logout ให้ตั้งให้ถูกต้อง เช่น ชื่อเครื่อง pmf ก็ใส่เป็น http://pmf/faq เป็นต้น
ช่วงเวลาสำหรับการตรวจลิงค์ของ AJAX (หน่วยเป็นวินาที): ค่าเดิมคือ 86400
เปิดการใช้งานแบบ WYSIWYG (ค่าเริ่มต้น: เปิด): ติ๊กถูก
เลือกเทมเพลตที่ต้องการ: เลือก default
ช่องอีเมลเป็นช่องที่จำเป็นต้องกรอก (ค่าเริ่มต้น: ปิด): ไม่ติ๊ก
Activate Google translations (default: deactivated): ไม่ติ๊ก
Google API key: ไม่ติ๊ก
เรื่อง แสดงผลวันที่ เพื่อแสดง time zone Asia/Bangkok
Date format (default: Y-m-d H:i) ให้ใส่เป็น Y-m-d H:i T
หัวข้อ ค่าเริ่มต้นของข้อมูล FAQ ไม่แก้ไข
หัวข้อ Search ไม่แก้ไข
หัวข้อ Security configuration แก้ไขดังนี้
เปิดใช้งาน LDAP (ค่าเริ่มต้น: ปิด): ติ๊กถูก
เปิดให้เข้าใช้งานสำหรับการเชื่อมต่อแบบปลอดภัยเท่านั้น? (ค่าเริ่มต้น: ปิด): ติ๊กถูก
ส่วนรายการอื่นๆ ไม่ติ๊ก
หัวข้อ ระบบควบคุม Spam ไม่แก้ไข
หัวข้อ Social networks configuration ไม่แก้ไข
คลิกปุ่ม บันทึกข้อมูลระบบ
คลิกปุ่ม ออกจากระบบ - แก้ไขค่า default time zone เดิม Europe/Berlin เป็น เป็นของประเทศไทย คือ Asia/Bangkok
cd /var/www/faq
sudo vi config/constants.php
บรรทัดที่ 39 เดิม
define('PMF_DATETIME_TIMEZONE_DEFAULT', 'Europe/Berlin');
เปลี่ยนเป็น
define('PMF_DATETIME_TIMEZONE_DEFAULT', 'Asia/Bangkok'); - การยกเลิกการขอเปิดบัญชีผู้ใช้ใหม่ทางหน้าเว็บ registration ให้แก้ไขดังนี้
ไปที่ไดเรกทอรี faq
cd /var/www/faq
แก้ไขแฟ้ม loginbox.tpl ด้วยเอดิเตอร์ เช่น vi ดังนี้
sudo vi template/default/loginbox.tpl
ประมาณบรรทัดที่ 3 แก้ไขจากเดิม
<a href="#" onclick="javascript:loginForm(); return false;">{msgLoginUser}</a> | {msgRegisterUser}
ให้เป็น
<a href="#" onclick="javascript:loginForm(); return false;">{msgLoginUser}</a>
แล้วแก้ไขให้ไม่แสดงหน้า Password forgotten? ในหน้า user
ไปที่ประมาณบรรทัดที่ 16 ให้ลบทิ้ง
<p><a href="admin/password.php" title="{msgLostPassword}">{msgLostPassword}</a></p>
ควรเปลี่ยนชื่อแฟ้ม register.php ให้เป็นชื่ออื่น เช่น register.php.notuse ทำดังนี้
sudo mv register.php register.php.notuse
ควรเปลี่ยนชื่อแฟ้ม password.php ให้เป็นชื่ออื่น เช่น password.php.notuse ทำดังนี้
sudo mv admin/password.php admin/password.php.notuse
ต้องแก้ไขให้ไม่แสดงลิงค์ Password forgotten? ในหน้า admin
แก้ไขแฟ้ม admin/header.php ด้วยเอดิเตอร์ เช่น vi ดังนี้
sudo vi admin/header.php
ให้ลบตั้งแต่บรรทัดที่ 242 ถึง 246 ทิ้ง
<li>
<a href="password.php" title="<?php print $PMF_LANG["lostPassword"]; ?>">
<?php print $PMF_LANG["lostPassword"]; ?>
</a>
</li> - (หากต้องการใช้คู่กับ ldap แบบ default ของโปรแกรม) การปรับค่าคอนฟิกหากตั้งค่าตอน install ไม่ถูกต้อง หรือ ไม่ได้เลือก
เข้าไปที่ไดเรกทอรี config
cd /var/www/faq/config
sudo mv ldap.php.original ldap.php
แก้ไขค่าในแฟ้ม ldap.php ให้ถูกต้อง
$PMF_LDAP['ldap_server'] = ;
$PMF_LDAP['ldap_port'] = ;
$PMF_LDAP['ldap_user'] = ;
$PMF_LDAP['ldap_password'] = ;
$PMF_LDAP['ldap_base'] = ; - (หากต้องการ login ใช้กับ RADIUS ไม่ต้องการใช้ LDAP แบบ default ของโปรแกรม) การแก้ไข code ให้ใช้กับ RADIUS ได้
เข้าไปที่ไดเรกทอรี PMF_Auth
cd /var/www/faq/inc/PMF_Auth
ดาวน์โหลด code ที่ได้รับการแก้ไข ดังนี้
sudo wget http://ftp.psu.ac.th/pub/phpmyfaq/AuthLdap_RADIUS.php
แล้วสำรองเก็บอันเก่าไว้
sudo cp -p AuthLdap.php AuthLdap.php.save
แล้วใช้อันที่ดาวน์โหลดมาแทน
sudo cp -p AuthLdap_RADIUS.php AuthLdap.php
ติดตั้ง PSU-radius ตามขั้นตอนดังนี้
(คัดจากลิงค์ http://opensource.cc.psu.ac.th/ติดตั้ง_psu-radius_บน_ubuntu)
sudo wget http://ftp.psu.ac.th/pub/psu-radius/psu-radius.tgz -N -P /tmp
tar -zxpvf /tmp/psu-radius.tgz -C /tmp
cd /tmp/psu-radius
sudo sh install-psu-radius.sh
ปรับแต่งแฟ้ม /etc/freeradius/imap-authen.sh ให้ใช้ PSU Mail และ PSU Passport ดังนี้
AUTHEN_SHADOW="YES"
AUTHEN_MAIL="YES"
DEFAULT_MAIL_SERVER="mail.psu.ac.th"
AUTHEN_LDAP="NO"
AUTHEN_SSH="NO"
AUTHEN_PSU_PASSPORT="YES"
CHECK_PREBLACKLIST="YES"
PREBLACKLIST_FILE="/etc/freeradius/preblacklist.txt"
ปรับแต่งแฟ้ม /etc/freeradius/my-authen.sh
CHECK_BLACKLIST="YES"
ALL_PASS="NO"
CHECK_VIPLIST="YES"
CHECK_PSU_STAFF="YES"
CHECK_PSU_STUDENT="YES"
BLACKLIST_FILE="/etc/freeradius/blacklist.txt"
VIP_FILE="/etc/freeradius/viplist.txt" - ตัวอย่างการกำหนดหัวข้อ
เข้าเบราว์เซอร์ด้วยสิทธิ admin
http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/
คลิกที่ข้อความ เปลี่ยนใช้ระบบความปลอดภัยสูงในการเข้าใช้งาน
ใส่ ชื่อผู้ใช้ และ รหัสผ่าน
การเพิ่มหัวข้อหลัก
เลือกรายการ หัวข้อ
เลือกรายการ เพิ่มหัวข้อหลัก
ชื่อหัวข้อ: ใส่ข้อความว่า ระบบเน็ตเวิร์ค
คลิกปุ่ม เพิ่มหัวข้อ
การเพิ่มหัวข้อย่อย
คลิกปุ่ม บวก ที่อยู่หลังหัวข้อหลักที่สร้างขึ้นนั้น
ชื่อหัวข้อ: ใส่ข้อความว่า VPN
คลิกปุ่ม เพิ่มหัวข้อ
การตรวจสอบว่ามีหัวข้อย่อย
คลิกที่ชื่อหัวข้อหลัก เช่น ระบบเน็ตเวิร์ค แล้วจะเห็นว่ามีรายการหัวข้อย่อยเลื่อนออกมา
(หากต้องการให้มีข้อมูลมากกว่า 1 ภาษา เช่นมีทั้งไทยและอังกฤษ)
การแปลหัวข้อหลัก และ หัวข้อย่อย เป็นภาษาอื่น เช่น English
เช่นแปลคำว่า ระบบเน็ตเวิร์ค เป็น Network ทำดังนี้
คลิกปุ่ม แปล (ลูกศรโค้งสีเขียว)
ช่อง ชื่อหัวข้อ ใส่ข้อความภาษาอังกฤษ Network
ช่อง ภาษา เลือก English
คลิกปุ่ม แปลหัวข้อ - การลบคำแปลภาษาที่ไม่ต้องใช้งาน
เข้าเบราว์เซอร์ด้วยสิทธิ admin
คลิกเลือก ข้อมูลระบบ (Configuration)
คลิกเลือก ส่วนการแปล
เลื่อนหาบรรทัดที่เป็นภาษาที่ไม่ต้องใช้งาน แล้วคลิกปุ่ม [ลบ] - การแก้ไขคำแปลจากภาษาอังกฤษเป็นภาษาไทยให้ถูกต้องสวยงามขึ้นกว่าที่เป็นอยู่
(ให้ทำก่อนทำเรื่อง SEO ด้านล่าง)
เข้าเบราว์เซอร์ด้วยสิทธิ admin
คลิกเลือก ข้อมูลระบบ (Configuration)
คลิกเลือก ส่วนการแปล
เลื่อนหาบรรทัด Thai แล้วคลิกปุ่ม [แก้ไข]
มีทั้งหมด 28 หน้า ค่อยๆแก้ไข - การตั้งให้หน้าแรกเลือกแสดงภาษาไทยก่อนภาษาอื่นๆ
แก้ไขแฟ้ม inc/Language.php
cd /var/www/faq
sudo vi inc/Language.php
ที่บรรทัด 112 ใส่ cooment ด้วยเครื่องหมาย //
//$_lang['detection'] = strtolower($this->acceptedLanguage);
แล้วเพิ่มบรรทัดนี้เข้าไป
$_lang['detection'] = 'th'; - กำหนดสิทธิการใช้งานเรื่อง SEO
เข้าไปที่ไดเรกทอรี faq
cd /var/www/faq
เปลี่ยนชื่อแฟ้มจากเดิม _.htaccess เป็น .htaccess
sudo mv _.htaccess .htaccess
แก้ไขค่า RewriteBase
sudo vi .htaccess
ไปที่ประมาณบรรทัดที่ 29
เดิม
RewriteBase /phpmyfaq/
เป็น
RewriteBase /faq/
เปิดใช้ module rewrite
sudo a2enmod rewrite
แก้ไขแฟ้ม default ของ apache2
sudo vi /etc/apache2/sites-available/default
ให้เปลี่ยนจาก
<Directory /var/www/>
...
AllowOverride None
...
</Directory>
เป็น
<Directory /var/www/>
...
AllowOverride All
...
</Directory>
โดยที่ต้องทำทั้งสองแห่งที่ใต้บรรทัด <VirtualHost *:80> และ <VirtualHost *:443>
รีสตาร์ท apache2 ใหม่
sudo service apache2 restart
เข้าเบราว์เซอร์ด้วยสิทธิ admin
http://หมายเลขไอพีของเซิร์ฟเวอร์/faq/admin/
คลิกเลือก ข้อมูลระบบ (Configuration)
คลิกเลือก ข้อมูลหลักของระบบ
เปิดใช้งาน mod_rewrite (ค่าเริ่มต้น: ปิด): ติ๊ก
คลิกปุ่ม บันทึกข้อมูลระบบ
คลิกปุ่ม ออกจากระบบ - การเพิ่มข้อมูล (คำถามและคำตอบของ FAQ)
หากต้องการให้ค้นหาและแสดงผลในภาษาใด ก็ต้องเลือกภาษานั้นก่อนพิมพ์ข้อมูล
คลิกปุ่ม เพิ่มข้อมูล
ช่อง ชื่อ ใส่ชื่อที่ต้องการให้แสดง
ช่อง อีเมล ใส่หรือไม่ใส่ขึ้นกับข้อมูลระบบ
ช่อง เลือกหัวข้อที่ต้องการ ให้เลือกหัวข้อตามต้องการ
ช่อง หัวข้อหลัก คือ คำถาม
ช่อง ข้อมูลของคุณสำหรับFAQ คือ คำตอบ
ช่อง คำค้น ใส่หรือไม่ก็ได้
ช่อง ที่อยู่สำหรับข้อมูลนี้ ใส่หรือไม่ก็ได้
ช่อง โปรดกรอกข้อมูลตัวอักษรในภาพที่แสดงไว้: ใส่อักษรที่เห็น
คลิกปุ่ม ส่ง - การตั้งค่าให้รับส่งอีเมลระหว่างผู้ใช้งานกับเว็บมาสเตอร์ได้
ติดตั้ง postfix ด้วยคำสั่ง sudo apt-get install postfix
ระบบจะมีหน้าต่าง Postfix Configuration ขึ้นมา ให้กด TAB ไปเลือกแถบ <Ok>
จะได้อีกหน้าต่างให้เลื่อนไปเลือกแถบ No configuration แล้วกด TAB ไปเลือกแถบ <Ok>
เป็นอันว่าติดตั้งเสร็จ
ปรับแต่งเพิ่มต่อไป ด้วยคำสั่ง sudo dpkg-reconfigure postfix
ระบบจะมีหน้าต่าง Postfix Configuration ขึ้นมา ให้กด TAB ไปเลือกแถบ <Ok>
จะได้อีกหน้าต่างให้เลื่อนไปเลือกแถบ Local only แล้วกด TAB ไปเลือกแถบ <Ok>
ที่ช่อง System mail name : ให้ป้อนชื่อ server
ที่ช่อง Root and postmaster mail recipient: ให้ข้ามไปเลย
ที่ช่อง Other destinations to accept mail for (blank for none): ให้ข้ามไปเลย
ที่คำถาม Force synchronous updates on mail queue? ให้เลือกตอบ NO
ที่ช่อง Local networks: ให้ป้อนเหลือแค่ว่า 127.0.0.0/8
ที่ช่อง Mailbox size limit (bytes): ให้ใส่เลข 0
ที่ช่อง Local address extension character: ปล่อยตามเดิมเป็นเครื่องหมาย +
ที่คำถาม Internet protocols to use: ให้เลือก ipv4
ที่คำถาม Use procmail for local delivery? ให้ตอบ No
ปรับปรุงให้ local mail server สามารถส่งอีเมล์ออกได้
ให้แก้ไขแฟ้ม /etc/postfix/main.cf ปรับปรุงค่าตัวแปรดังนี้คือ
default_transport = smtp
relay_transport = smtp
จัดการ relay mail ไปให้ server อื่นส่งแทน ให้แก้ไขแฟ้ม /etc/postfix/main.cf
ตั้งค่าตัวแปรดังตัวอย่าง relayhost = server.domain
เสร็จแล้วสั่งให้ posftix ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/postfix force-reload - หากไม่ต้องการแสดงไอคอน facebook, twitter และอื่นๆ
แก้ไขที่แฟ้ม /var/www/helpdesk/index.php
ประมาณบรรทัดที่ 660
เดิม
$tpl->processBlock(
'rightBox', 'socialLinks', array(
'writeDiggMsgTag' => 'Digg it!',
'writeFacebookMsgTag' => 'Share on Facebook',
'writeTwitterMsgTag' => 'Share on Twitter',
'writeDeliciousMsgTag' => 'Bookmark this on Delicious',
'writePDFTag' => $PMF_LANG['msgPDF'],
'writePrintMsgTag' => $PMF_LANG['msgPrintArticle'],
'writeSend2FriendMsgTag' => $PMF_LANG['msgSend2Friend'],
'link_digg' => $faqServices->getDiggLink(),
'link_facebook' => $faqServices->getShareOnFacebookLink(),
'link_twitter' => $faqServices->getShareOnTwitterLink(),
'link_delicious' => $faqServices->getBookmarkOnDeliciousLink(),
'link_email' => $faqServices->getSuggestLink(),
'link_pdf' => $faqServices->getPdfLink(),
'facebookLikeButton' => $faqHelper->renderFacebookLikeButton($faqServices->getLink()),
)
);
ให้ใส่ comment เป็นเครื่องหมาย // ไว้ข้างหน้าบรรทัดดังนี้
//$tpl->processBlock(
//'rightBox', 'socialLinks', array(
//'writeDiggMsgTag' => 'Digg it!',
//'writeFacebookMsgTag' => 'Share on Facebook',
//'writeTwitterMsgTag' => 'Share on Twitter',
//'writeDeliciousMsgTag' => 'Bookmark this on Delicious',
//'writePDFTag' => $PMF_LANG['msgPDF'],
//'writePrintMsgTag' => $PMF_LANG['msgPrintArticle'],
//'writeSend2FriendMsgTag' => $PMF_LANG['msgSend2Friend'],
//'link_digg' => $faqServices->getDiggLink(),
//'link_facebook' => $faqServices->getShareOnFacebookLink(),
//'link_twitter' => $faqServices->getShareOnTwitterLink(),
//'link_delicious' => $faqServices->getBookmarkOnDeliciousLink(),
//'link_email' => $faqServices->getSuggestLink(),
//'link_pdf' => $faqServices->getPdfLink(),
//'facebookLikeButton' => $faqHelper->renderFacebookLikeButton($faqServices->getLink()),
//)
//);
จบ.