+++ Admin Session Expired เป็นกับ Server หรือ joomla

ทำ Web Server+ Joomla ที่หน่วยงานครับ ระบบ

PHP built On: Linux 2.6.18-4-amd64 #1 SMP Mon Mar 26 11:36:53 CEST 2007 x86_64
Database MySQL Version: 5.0.32-Debian_7etch1-log
PHP Version: 5.2.0-8+etch7
Web Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch7 mod_ssl/2.2.3 OpenSSL/0.9.8c
WebServer to PHP interface: apache2handler
Joomla! Version: Joomla! 1.0.13 Stable [ Sunglow ] 21 July 2007 16:00 UTC

-------------

ผมจัดอบรมเจ้าหน้าที่ทำเว็บแต่ละกลุ่มงานเพื่อทำเว็บของตัวเอง โดยใช้ Joomla มี 8 เว็บ ใน Server นี้
ผมเจอปัญหาเวลาอบรม ผู้เข้าอบรมเข้าหน้า Admin ของเว็บตัวเอง
พอ login ด้วย admin แล้วเข้าไปทำงานในหน้า admin เล่นไปไม่ถึงนาที มันจะเด้งออกมา(logout) และฟ้องว่า "Admin Session Expired"

ใน Joomla ผมไปเพิ่ม ค่าใน Admin -> Site -> Global Configuration -> Server
Site Session Lifetime: 9000 seconds
Admin Session Lifetime: 18000 seconds

มันก็ยังเป็นเหมือนเดิม
สรุปก็คือเข้าไปหน้า Admin พร้อมกัน(คนละเว็บ)ใน Server นี้ มันจะเด้งออกมา
มันเป็นกับ joomla หรือระบบ Server
ขอคำแนะนำด้วยครับ

ปกติเล่นคนเดียวไม่เป็นอะไรครับ

ตอนติดตั้ง Joomla ก็ตัวแดงเตือนอยู่ที่เดียว แต่ก็ติดตั้งต่อไปได้

-----------
Session save path
Warning: is_writable() [function.is-writable]: open_basedir restriction in effect. File(/var/lib/php5) is not within the allowed path(s): (/var/www/virtual/dpc7.net/demo/:/usr/share/php/:/tmp/) in /var/www/virtual/dpc7.net/demo/htdocs/installation/index.php on line 150
[font=Verdana]เขียนลงไฟล์ไม่ได้[/font]
--------------

ลองไปเช็กดูที่ /var/lib/php5 มันก็มี Session มี session ตัวอื่นเขียนลงได้อยู่

Server ตัวนี้ผมได้ลงโปรแกรมพวก Hosting Control Panel : ใช้ VHCS http://www.vhcs.net
หรือว่าเป็นกับบักของ VHCS

พึ่งแก้ปัญหาได้

"Session save path - Unwriteable" ตอนติดตั้ง joomla เป็นกับ VHCS2 ครับ
ไปแก้ไขที่ไฟล์
# /etc/apache2/sites-available/vhcs2.conf
เช่นเว็บที่ผมใช้เป็น demo.dpc7.net ก็ไปแก้ตามบรรทัดข้างล่าง โดยการระบุ directory /var/lib/php5 เข้าไปด้วย
----------------
# httpd sub entry PHP2 support BEGIN.
#php_admin_value open_basedir "/var/www/virtual/dpc7.net/demo/:/usr/share/php/:/tmp/"
php_admin_value open_basedir "/var/www/virtual/dpc7.net/demo/:/usr/share/php/:/tmp/:/var/lib/php5"
#
-----------------

ส่วน "Admin Session Expired" ของ joomla

ต้องกำหนดให้ sessions save path ของแต่ละเว็บให้อยู่คนละที่ ห้ามอยู่ในที่เดียวกัน
ค่าปกติ มันจะไปเก็บไว้ตามค่าของ php.ini ( /var/lib/php5 )
ผมก็ไม่รู้เหมือนกันว่าทำไมจึงมีปัญหากับ joomla

สร้าง directory sessions
#mkdir /var/www/virtual/dpc7.net/demo/htdocs/sessions
#chmod 777 /var/www/virtual/dpc7.net/demo/htdocs/sessions
แก้ไข /var/www/virtual/dpc7.net/demo/htdocs/configuration.php
เพิ่ม session_save_path('/var/www/virtual/dpc7.net/demo/htdocs/sessions');

ตามที่ผมเข้าใจน่าจะเป็นว่า ถ้าไม่กำหนดให้ sessions save path ของแต่ละเว็บอยู่คนละที่ มันจะไปเขียน sessions ทับกัน

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้