กระดานข่าว ด้วย phpbb (Bulletin Board)
เว็บบอร์ด
รุ่นล่าสุด 3.3.0
6 มกราคม พ.ศ. 2563
Official site : phpbb.com

เว็บบอร์ด (Webboard หรือ Forum หรือ Bulletin Board) คือ ระบบกระดานสนทนาออนไลน์ ที่สมาชิกสามารถสื่อสารกันผ่านการส่งข้อมูล และตอบข้อซักถามในพื้นที่เฉพาะที่เปิดให้บริการ เพื่อแบ่งปันประสบการณ์ในรูปของสื่อมัลติมีเดียว ที่รองรับทั้งข้อความ คลิ๊ปวีดีโอ ภาพ หรือแนบแฟ้มที่เกี่ยวข้องเพิ่มเติมได้ สามารถแบ่งเป็นห้องตามความสนใจโดยผู้ดูแลระบบ มีตัวอย่างเว็บบอร์ดที่ได้รับความนิยม เช่น pantip.com หรือ sanook.com ซึ่งบริการที่คล้ายกัน และได้รับความนิยมอย่างมากจนอาจมาแทนที่ Webboard ก็คือ Blog

พีเอชพีบีบี (phpBB ย่อจาก php Bulletin Board) คือ โปรแกรมระบบกระดานสนทนาบนอินเทอร์เน็ตแบบโอเพนซอร์ส ทำงานด้วยภาษาพีเอชพี ควบคู่กับระบบฐานข้อมูล โดยรับรองการทำงานของฐานข้อมูลหลากหลายชนิด ได้แก่ MySQL, Microsoft SQL, PostgreSQL หรือ Access (ร่วมกับ ODBC) ด้วยความแพร่หลายของภาษาพีเอชพีและระบบฐานข้อมูล MySQL รวมถึงการติดตั้งที่ง่าย และไม่ต้องเสียค่าใช้จ่ายในการจัดหา ทำให้ phpBB ได้รับความนิยมแพร่หลายในอินเทอร์เน็ต

ความสามารถเด่นของ phpBB ได้แก่ ระบบหมวดหมู่ กระดานส่วนตัว ระบบค้นหา การส่งข้อความด้วยรูปแบบพิเศษและอีโมติคอน การสร้างโพล ระบบสมาชิกและการกำหนดสิทธิ์ผู้ใช้ รวมถึงระบบจัดการสำหรับดูแลรักษากระดานสนทนา ผู้ดูแลระบบสามารถปรับแต่งหน้าตากระดานได้โดยง่าย โดยดัดแปลงโค้ดภาษาพีเอชพี หรือ Cascading Style Sheets (CSS) โดยโค้ดจากโปรแกรมเป็นไปตามมาตรฐาน XHTML 1.0 หรือ HTML 4.01 ของ W3C นอกจากนี้ยังมีโปรแกรมเสริมเพื่อเพิ่มความสามารถใหม่

phpBB is a high powered, fully scalable, and highly customizable Open Source bulletin board package. phpBB has a user-friendly interface, simple and straightforward administration panel, and helpful FAQ. Based on the powerful PHP Server language and your choice of MySQL, MS-SQL, PostgreSQL or Access/ODBC database servers, phpBB is the ideal free community solution for all web sites.

ดาวน์โหลด: phpbb2 857KB(หลัก+ท๊อปปิก+แอทแท็คโมดูล)
ขั้นตอนการติดตั้งและ Config มีรุ่นเล็กที่ thaiall.com/omni
พบปัญหาหลังกู้ เมื่อลงใหม่ Script
แต่ใช้ MySQL ตัวเดิมที่ Backup ไว้
1. Error No. 1196, 1105
วิธีแก้ไข คือ ใส่ // หน้าบรรทัดที่ error
:: includes/functions_search.php 234, 251, 309
:: TB:phpbb_search_wordmatch
2. Error No. 1105
:: search.php 319
:: File /usr/local/share/mysql/charsets/?.conf
:: TB:phpbb_search_wordlist
3. Upload User Photo ไม่เข้า
:: chmod 777 ให้ห้อง files
:: chmod 777 ให้ห้อง images/avatars
4. สมาชิกบางคนบ่นว่าเวลาผิด
:: เพราะเข้า phpmyadmin ไม่ได้ จึงเขียนโปรแกรม
:: เปลี่ยน timezone ให้ทุกคนเป็น 7.0 ให้หมด
<?php
$c = mysql_connect("localhost:3306","xx","yy");
$r = mysql_db_query("test","select * from phpbb_users");
while($o = mysql_fetch_object($r)) {
  echo $o->username . " " .$o->user_timezone."<br>";
}
//$u = "update phpbb_users set user_timezone = 7.0";
//$r = mysql_db_query("lampang_db",$u);
mysql_close($c);
?>
ฐานข้อมูล Credit Beuro ด้วย phpbb อย่างง่าย
1. เข้าระบบ Administration
2. เข้า General Admin
2.1 เข้า การตั้งค่าทั่วไป
2.2 กำหนด ต้องยืนยันบัญชีด้วย เป็น ไม่ต้อง เพราะรับทุกคน
3. เข้า Forum Admin
3.1 เข้า การตั้งค่าตัวเลือก
3.2 สร้างกลุ่มใหม่ ชื่อ กลุ่มลูกหนี้
3.3 สร้าง forum ชื่อ ลูกหนี้ชั้นดี
3.4 สร้าง forum ชื่อ ลูกหนี้ชั้นแบ็คลิสต์
4. เข้า Group Admin
4.1 เข้า การตั้งค่าตัวเลือก
4.2 สร้างกลุ่มใหม่ ชื่อ เจ้าหนี้ และกำหนดใครสักคนเป็น moderator ดูแลสมาชิก
4.3 เข้า การอนุญาต
4.4 เลือกกลุ่ม เจ้าหนี้
4.5 กำหนดให้เป็น Moderator ของ Forum ลูกหนี้ชั้นดี และ ลูกหนี้แบ็คลิสต์
5. เข้า Forum Admin
5.1 เข้า การอนุญาต
5.2 เลือกกลุ่ม ลูกหนี้ชั้นดี
5.3 กำหนดให้ ดูหัวข้อเป็น MOD เท่านั้น (ทำให้สมาชิกทั่วไปมองไม่เห็น Forum นี้)
6. สมัครสมาชิกใหม่ 2 คน
6.1 ชื่อ aaa สำหรับทดสอบเป็นเจ้าหนี้
6.2 ชื่อ bbb สำหรับทดสอบเป็นคนทั่วไป
7. ให้ login ด้วย user aaa (ขั้นตอนนี้ทำโดย admin ก็ได้)
7.1 เลือก กลุ่มผู้ใช้
7.2 ขอเข้าร่วมกลุ่ม เจ้าหนี้
7.3 สถานะจะอยู่ระหว่างรอการพิจารณา
8. ให้ login ด้วย user admin
8.1 เลือก กลุ่มผู้ใช้
8.2 ทำการ อนุญาตชื่อ aaa ให้เข้าร่วมกลุ่ม เจ้าหนี้
8.3 หลังจากร่วมกลุ่มเจ้าหนี้ ก็จะมองเห็น forum ชื่อ ลูกหนี้ชั้นดี และลูกหนี้แบ็คลิสต์
9. ทดสอบใช้งาน
9.1 aaa สร้าง topic ชื่อ สายชล สมหวัง มีเนื้อความว่า น้ำค้าง กลางไพร 1000
9.2 จะค้นหาจาก สายชล หรือ น้ำค้าง หรือเลือก Forum ก็ได้
9.3 bbb เป็นสมาชิกทั่วไป ไม่สามารถดูรายละเอียดได้
9.4 aaa สามารถย้าย topic จาก forum ใน category อื่นไปอยู่ใน ลูกหนี้ชั้นดี ได้
Slide เตรียมสอนการใช้ PHPBB2
- train01.jpg : หน้าแรกพบ link เข้า กระดานข่าว
- train02.jpg : หน้าแรกของ กระดานข่าว
- train03.jpg : Click เข้าสู่ระบบ แล้วกรอก User และ Password
- train04.jpg : ผู้ใช้ทั่วไปเข้ากลุ่ม Information ได้
- train05.jpg : เฉพาะสมาชิกที่ได้รับอนุมัติ จึงจะเข้าส่วน member only ได้
- train06.jpg : เพิ่มข้อมูลได้ตามต้องการ เพื่อเผยแพร่ในกลุ่มของตน
- train07.jpg : มีบริการสืบค้นสิ่งที่ต้องการ เชื่อ ชื่อลูกค้า ในเครือ
- train08.jpg : ส่งภาพเข้าได้ เพราะมี module attach แล้ว
- train09.jpg : ผู้ดูแลเข้าไปจัดการข้อมูลต่าง ๆ ได้
- train10.jpg : แสดงข้อมูลส่วนตัว และ Quota ของแต่ละคน
รหัสต้นฉบับภาษา PHP สำหรับดูด Forum
ดึงข้อมูลจากเว็บบอร์ดมานำเสนอ
18 ต.ค.53 ข้อมูลในเว็บบอร์ดด้วย phpbb นั้น สามารถนำออกมาแสดงด้วยรูปแบบต่าง ๆ ครั้งหนึ่งเคยดึงไปแสดงใน iframe ของระบบวิทยุออนไลน์ (radio online) มาวันนี้ปรับโดยเติม template เดิมของมหาวิทยาลัย แต่มีปัญหา encoding จึงแก้ไข 3 อย่างคือ 1) กำหนด text file เป็นแบบ utf8 2) กำหนด content-type เป็น utf-8 เพียงเท่านี้ก็สามารถดึงข้อมูลจาก phpbb มาแสดงผลได้ตามต้องการ 3) ข้อมูลที่ include เข้ามามีปัญหาเกิดควบคุม ผมจึงคัดลอก html มาวางใน script ตัวใหม่ .. code นี้ยังไม่ผ่านการ optimization เขียนแบบง่ายให้ได้ผลก็พอแล้ว ซึ่งเป็นเทคนิคที่ไม่ดีเลย
<? // load_phpbb.php
$web = file("http://www.yonok.ac.th/webboard/viewforum.php?f=14");
$base = "http://www.yonok.ac.th/webboard/";
$startpoint = '<ul class="topiclist">';
$stoppoint = '<form method="post" action="./';
$checkline = 'topictitle';
$startlink = '<a href=';
$sign = '+ ';
$found = 0;
echo '<meta http-equiv="content-type" content="text/html; charset=UTF-8">';
echo "<base href='$base'>";
echo "<body>\n";
for($i=0;$i<count($web);$i++) {
  if ($found == 0) {
    $r = split($startpoint,$web[$i]);
    if (count($r) > 1) $found = 1;  
  } else {
    $r = split($stoppoint,$web[$i]);   
    if (count($r) > 1) break;
    $r = split($checkline,$web[$i]);   
    if (count($r) > 1) {
       $r = split($startlink,$web[$i]);
       echo $sign . $startlink . remove_tag($r[1]) ."<br />";
    }
  }  
} 
function remove_tag($txt) {
$txt = str_replace('class="topictitle"','target="_blank"',$txt);  
return $txt;
}
?>
การติดตั้ง phpBB2 (22 ขั้นตอน)
ส่วนที่ 1 : ตัวอย่างการสร้าง MySQL Account และ Database สำหรับผู้ใช้ Direct Admin
1. Login เข้าระบบ
2. พบ User Panel ให้ Click คำว่า MySQL Databases
3. พบ MySQL Setup ให้ Click คำว่า Create new Database
4. กรอกข้อมูล 4 ช่อง และจดไว้ เพราะท่านต้องใช้ (แต่ใช้จริง 3 ช่องแรกครับ)
Database Name, Database Username และ Username Password
5. กลับปที่ MySQL Setup จะพบชื่อฐานข้อมูล
แสดงว่าท่านสร้างฐานข้อมูลเรียบร้อยแล้ว
ถ้าไม่มีปัญหาอะไรก็ Click SIGN OUT ออกไปได้เลย
ส่วนที่ 2 : เริ่มติดตั้ง phpbb2
  1. Download : phpbb2_topic_attach.zip เพราะมี module topic กับ module attach แล้ว
  2. เมื่อคลาย .zip ก็จะได้ 13 folder และอีก 20 แฟ้มนอก folder
  3. ftp เข้าไปที่ 202.57.162.41 โดยใช้ user และ password ที่มี
  4. สร้าง folder ชื่อ phpbb2 ในห้อง public_html
  5. ส่งแฟ้มทั้งหมดเข้าไปในห้อง phpbb2
    ถ้าส่งผ่าน ftp แฟ้มทั้งหมดจะมีระดับสิทธิเป็น 644
  6. ถ้า chmod 777 ผ่าน ftp ไม่ได้ ให้ใช้ User Panel แล้วเลือก File Manager
    เลือก Click ที่ปุ่ม set Permission เพื่อกำหนดการอนุญาต ให้กับแฟ้ม config.php ใน public_html/phpbb2 เป็น 777
    มิเช่นนั้น ท่านต้อง Download แล้วนำไปแก้ไขแฟ้ม config.php ทีหลัง หรือลบตารางทั้งหมดใน mysql แล้วเริ่มติดตั้งใหม่
  7. เปิดเว็บ http://yourdomain/phpbb2/install/install.php
    Server ของผมเป็น mysql4 ก็ให้เลือก MySQL 4.x
    กรอก ชื่อฐานข้อมูล Database Username และ Database Password
  8. หลังติดตั้งสำเร็จ ให้ติดตั้งส่วนของการ attach
    โดยเรียก http://yourdomain/phpbb2/install_attach/mod_table_inst.php
  9. เข้าไปที่ http://yourdomain/phpbb2/ จะมีข้อความแจ้งว่าให้ ลบ folder ชื่อ install และ contrib
    ท่านก็ใช้ ftp เข้าไปลบ และอย่าลืมลบห้อง install_attach อีกห้องหนึ่ง รวมเป็น 3 ห้อง
  10. การ upload ภาพ จำเป็นต้องอนุญาตให้ public_html/phpbb2/files เป็น 666
  11. การเข้าไปจัดการเว็บบอร์ดให้ใช้ user ที่เคยตั้งไว้ตอนติดตั้ง phpbb2
    เมื่อ log in เข้าไปแล้ว ให้ Click ที่ Link ด้านล่างสุด ที่เขียนว่า ไป Administration Panel
    แล้วใช้ user เดิม Log in อีกรอบ จึงจะพบหน้า Administration
  12. สามารถเพิ่มลบ Forum ด้วยการเลือก Click การตั้งค่าตัวเลือกในส่วนของ Forum Admin
  13. การอนุญาต Forum กำหนดให้ดูได้เฉพาะ Moderators ก็ได้
  14. ถ้าสร้างกลุ่ม และกำหนด การอนุญาต สามารถกำหนดให้กลุ่มเป็น Moderators ของ Forum ใดก็ได้
  15. การทดสอบ ควรทดสอบว่า upload ภาพ เข้าไปใน Forum แล้วไม่มีปัญหา
  16. ถ้าส่งภาพเข้าไป แล้วมีการลบกระทู้ออก ภาพที่เคยส่งเข้าไปในห้อง files จะไม่หายไปด้วย
    ต้องเข้า Shadow Attachments เพื่อลบแฟ้มแบบ Manual ด้วยตนเอง
  17. นำกระทู้ไปแสดงในเว็บไซต์อื่นด้วยบริการ http://yourdomain/phpbb2/topics_anywhere.php
วิธีการย้าย phpbb ไป server ตัวอื่น (ไม่ใช่การติดตั้งใหม่) 1. copy ข้อมูลทั้งหมดจาก MySQL ด้วย phpmyadmin แล้วการ ส่งออก (Export) เป็น .sql
2. เก็บแฟ้ม .sql ไว้ เพราะเป็นข้อมูลใน MySQL แต่ข้อมูลไม่ควรเกิน 2 MB ถ้าเกินต้องติดต่อ Admin
3. ส่ง Script ของ phpbb เข้าไปใน Server เป้าหมาย เช่นห้อง /phpbb2 เป็นต้น
4. เปิดแฟ้ม config.php มาแก้ database, user และ password แล้วส่งเข้าไปใน server
5. chmod 777 ห้อง /phpbb2/files เพื่อทำให้ attach รับแฟ้มได้
6. ลบ Folder ชื่อ install และ contrib เพราะเป็นห้องเก็บข้อมูลสำหรับการติดตั้ง
7. ทดสอบใช้ เช่น http://localhost/phpbb2
Thaiall.com