วันพฤหัสบดีที่ 3 ธันวาคม พ.ศ. 2552

วิธีแก้ user password expiry

โดยปกติจะมีการเตือนสำหรับ user password expiry ใน 90 วันหลังจากวันที่มีการสร้าง user
ถ้าต้องการให้ user คนใดไม่ให้ password expire ให้ใช้คำสั่ง chage -M 99999 anchalee เป็นต้น หรือแก้ในไฟล์ /etc/shadow เช่น anchalee:$1$OJ.PbnIV$mADdB2do0h8gyu4qiLQWC.:13712:0:99999:7:::

ถ้าต้องการให้ user ที่ add ทุกคนไม่มีวัน password หมดอายุให้แก้ที่ไฟล์ /etc/login.defs
แก้ไขตรง PASS_MAX_DAYS 90 เป็น PASS_MAX_DAYS 99999

pfsense 1.2.2 -> captive portal ไม่ redirect ไปหน้า login

สิ่งแวดล้อม : load balance + captive portal

อาการ : เปิด load balance และ captive portal จะไม่เข้าส่วนของหน้า login แต่จะสามารถใช้งานผ่าน port 80 ได้ แต่ port อื่นไม่สามารถใช้งานได้ ถ้าต้องการเข้าหน้า login ต้องเข้าเองโดยผ่าน URL : http://ip-address:8000 ถึงจะเข้าหน้า login ได้ แต่ถ้าลองปิด load balance จะเข้าหน้า login ปกติ

วิธีแก้ :
1. backup config ก่อน
2. download http://mirror.optus.net/pub/pfSense/updates/pfSense-Full-Update-1.2.3-RC3.tgz
3. ไปที่ System -> Firmware -> Manual Update แล้ว คลิก “Enable firmware upload” -> คลิก “Browse” -> เลือก .tgz file -> คลิก “Upgrade Firmware”
4. reboot

พอเสร็จเรียบร้อยอาการที่ว่าก็จะหายเป็นปลิดทิ้ง

วันอังคารที่ 24 พฤศจิกายน พ.ศ. 2552

Chat Logs ของ Pidgin บน ubuntu อยู่ที่ไหนกันนะ

คุยอะไรกับใครไว้ ถ้าใช้ pidgin แล้วโปรแกรมเก็บ log ไว้ เข้าไปดูได้ที่นี่เลย
path: ~/.purple/logs
ใครใช้ jabber ก็เก็บใน jabber ใครใช้ msn ก็เก็บใน msn แยกหมวดหมู่อย่างชัดเจน

ทั้งนี้ทั้งนั้นต้อง enable log ก่อนนะคะ ถึงจะเก็บให้
แล้วเข้าตรงไหนล่ะ ถึงจะรู้ว่า enable log ไว้หรือเปล่า
ก็เปิดโปรแกรม pidgin ขึ้นมา แล้วไปที่
Tools -> Preferences ไปที่แทบ Logging เลือกเอาตามใจชอบเจ้าค่ะ ^-^

วันพุธที่ 11 พฤศจิกายน พ.ศ. 2552

วิธีเปลี่ยน User Interface ให้เป็น Thai ใน OOo บน Ubuntu

1. sudo apt-get install openoffice.org-l10n-th myspell-dictionary-th
2. เปิด OOo แล้วไปที่ Tools -> Options -> Language Settings
3. เลือก Language ตรง User interface เลือก Thai

วันจันทร์ที่ 5 ตุลาคม พ.ศ. 2552

วันศุกร์ที่ 2 ตุลาคม พ.ศ. 2552

การเปลี่ยน format date ที่ gnome บน ubuntu

ปกติจะขึ้นแบบนี้ เช่น Fri Oct,2 2009 แต่ถ้าเราต้องการแก้ให้เป็น Fri 2 Oct 2009 ล่ะจะต้องทำยังไงคำตอบก็คือ
1. เปิด terminal ขึ้นมาแล้วพิมพ์ gconf-editor
2. ไปที่ /apps/panel/applets/clock_screen0/prefs/
3. ตั้งค่า format เป็น custom
4. ตั้งค่า custom_format เป็น %a %d %b %Y %H:%M


เพียงเท่านี้ท่านก็จะได้รูปแบบใหม่แล้วยังสามารถปรับแต่งได้ตามต้องการอีกด้วย ^-^

เอ๊ะ แล้ว ค่า %a %d %b %Y %H:%M จะรู้ได้ไง ก็ดูจาก link ข้างล่างเลยจ้า
http://www.opengroup.org/onlinepubs/007908799/xsh/strftime.html

วันศุกร์ที่ 14 สิงหาคม พ.ศ. 2552

ปัญหาจากการ authen ldap บน Alfresco

จากที่ได้เซต Alfresco ให้ใช้ User authen Ldap จาก Zimbra พบปัญหาใหญ่คือ

สามารถ login ผ่านเวบโดยใช้ ldap authen ได้แต่ไม่สามารถใช้ CIFS ได้

เนื่องจาก CIFS ใช้ MD4 ในการ เข้ารหัส(hash password)

แต่ LDAP ใช้ MD5 หรือไม่ก็ AES ทำให้ CIFS client ส่ง MD4 ไปยัง Alfresco

และส่งไปยัง LDAP แต่ LDAP ใช้การเข้ารหัสคนละแบบทำให้ไม่สามารถ map user เข้ากันได้

วันพุธที่ 5 สิงหาคม พ.ศ. 2552

Install Freeradius + Ldap server on Ubuntu 8.04.2 LTS

เนื่องจาก Pfsense มีส่วนของ Freeradius แต่ไม่มีส่วนที่สามารถ connect ldap ได้ จึงตั้ง Radius Server แยกออกมาต่างหาก เพื่อให้สามารถใช้ ldap authen ได้ โดย
1. ติดตั้ง Freeradius package โดย

root@radiusserver:~# aptitude install freeradius freeradius-ldap

2. เริ่มการทำงานของ freeradius โดย

root@radiusserver:~# /etc/init.d/freeradius start

3. ทดสอบการเชื่อมต่อโดย ใช้คำสั่ง radtest user password localhost port secret

root@radiusserver:~# radtest root mypassword localhost 0 testing123
Sending Access-Request of id 132 to 192.168.1.13 port 1812
User-Name = "root"
User-Password = "mypassword"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
Re-sending Access-Accept of id 132 to 192.168.1.13 port 1812

4. จากผลลัพธ์แสดงว่าสามารถใช้ฐานข้อมูล radius ได้แล้ว ต่อไปให้ทำการคอนฟิกให้สามารถ connect ldap จาก zimbra โดยแก้ไขไฟล์ /etc/freeradius/radiusd.conf

LDAP Configuration:
ldap {
server = "mail.company.co.th"
# identity = "cn=admin,o=My Org,c=UA"
# password = mypass
basedn = "dc=company,dc=co,dc=th"
filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
....
....
#access_attr = "dialupAccess"

# Authorization
authorize {
ldap //เอาคอมเมนต์ออก


# Authentication //เอาคอมเมนต์ออก 3 บรรทัด
authenticate {
Auth-Type LDAP {
ldap
}


5. แก้ไขไฟล์ /etc/freeradius/clients.conf

client 192.168.1.0/24 {
#
# The shared secret use to "encrypt" and "sign" packets between
# the NAS and FreeRADIUS. You MUST change this secret from the
# default, otherwise it's not a secret any more!
#
# The secret can be any string, up to 31 characters in length.
#
secret = mypassword

#
# The short name is used as an alias for the fully qualified
# domain name, or the IP address.
#
shortname = INTERNAL_SUBNET


6. แก้ไขไฟล์ /etc/freeradius/users


#DEFAULT Auth-Type = System
# Fall-Through = 1

DEFAULT Auth-Type = LDAP
Fall-Through = 1


7. ทดสอบใน debug mode โดย

root@radiusserver:~# /etc/init.d/freeradius stop
root@radiusserver:~# freeradius -X -A //เปิดทิ้งไว้เลยแล้วเปิดแท็บใหม่แล้วใช้ radtest ทดสอบว่าสามารถ authen ผ่าน ldap ได้หรือยัง
root@radiusserver:~# radtest anchalee password 192.168.1.13 0 mypassword
Sending Access-Request of id 44 to 192.168.1.13 port 1812
User-Name = "anchalee"
User-Password = "password"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Accept packet from host 192.168.1.13:1812, id=44, length=20 //แสดงว่าสามารถเชื่อมต่อผ่าน ldap ได้แล้ว ^-^

Setting up OCS inventory NG on Ubuntu 8.04.2 LTS

OCS Inventory NG เป็น Asset Management ประเภทหนึ่ง ซึ่งช่วยให้ดูรายละเอียดในเครื่องได้โดยไม่ต้องไปแกะฮาร์ดแวร์ และยังช่วยด้านจัดการซอฟต์แวร์ ซึ่งสามารถตรวจสอบถึงซอฟต์แวร์ที่ละเมิดลิขสิทธิ์ได้

สิ่งที่ต้องเตรียม
1. Apache2
2. PHP5
3. MySQL
4. Perl and Perl Modules
5. Make Utilities (sudo aptitude install make)

ณ ที่นี้จะไม่พูดถึงกรณีติดตั้ง LAMP แต่สามารถติดตั้งได้ง่าย ๆ โดยใช้คำสั่ง tasksel และทำการติดตั้ง LAMP Server

1. ติดตั้ง Perl Modules ที่ใช้ในการติดต่อกับเซิฟเวอร์โดย

staffs@ocsinventory:~$ sudo aptitude install libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl

2. ติดตั้ง PHP Modules

staffs@ocsinventory:~$ sudo aptitude install libphp-pclzip php5-gd

3. ติดตั้งOCSNG_UNIX_SERVER-1.02.1.tar.gz โดย

staffs@ocsinventory:~$ wget http://sourceforge.net/projects/ocsinventory/files/OCS%20Inventory%20NG/1.02/OCSNG_UNIX_SERVER-1.02.1.tar.gz/download
staffs@ocsinventory:~$ tar xvfz OCSNG_UNIX_SERVER-1.02.1.tar.gz
staffs@ocsinventory:~$ cd OCSNG_UNIX_SERVER-1.02.1
staffs@ocsinventory:~$ sudo ./setup.sh


+----------------------------------------------------------+
| |
| Welcome to OCS Inventory NG Management server setup ! |
| |
+----------------------------------------------------------+

CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
previous, please remove any Apache configuration for Communication Server!

Do you wish to continue ([y]/n)? [enter]



Assuming Communication server 1.0 RC2 or previous is not installed
on this computer.

Starting OCS Inventory NG Management server setup from folder /tmp/OCSNG_UNIX_SERVER-1.02.1
Storing log in file /tmp/OCSNG_UNIX_SERVER-1.02.1/ocs_server_setup.log

+----------------------------------------------------------+
| Checking for database server properties... |
+----------------------------------------------------------+

Your MySQL client seems to be part of MySQL version 5.0.
Your computer seems to be running MySQL 4.1 or higher, good ;-)

Which host is running database server [localhost] ? [enter]



OK, database server is running on host localhost ;-)

On which port is running database server [3306] ? [enter]



OK, database server is running on port 3306 ;-)


+----------------------------------------------------------+
| Checking for Apache web server daemon... |
+----------------------------------------------------------+

Where is Apache daemon binary [/usr/sbin/apache2] ? [enter]



OK, using Apache daemon /usr/sbin/apache2 ;-)


+----------------------------------------------------------+
| Checking for Apache main configuration file... |
+----------------------------------------------------------+

Where is Apache main configuration file [/etc/apache2/apache2.conf] ? [enter]



OK, using Apache main configuration file /etc/apache2/apache2.conf ;-)


+----------------------------------------------------------+
| Checking for Apache user account... |
+----------------------------------------------------------+

Which user account is running Apache web server [${APACHE_RUN_USER}] ?www-data


OK, Apache is running under user account www-data ;-)


+----------------------------------------------------------+
| Checking for Apache group... |
+----------------------------------------------------------+

Which user group is running Apache web server [${APACHE_RUN_GROUP}] ?www-data


OK, Apache is running under users group www-data ;-)


+----------------------------------------------------------+
| Checking for Apache Include configuration directory... |
+----------------------------------------------------------+

Setup found Apache Include configuration directory in
//etc/apache2/conf.d/.
Setup will put OCS Inventory NG Apache configuration in this directory.
Where is Apache Include configuration directory [//etc/apache2/conf.d/] ? [enter]



OK, Apache Include configuration directory //etc/apache2/conf.d/ found ;-)


+----------------------------------------------------------+
| Checking for PERL Interpreter... |
+----------------------------------------------------------+

Found PERL Intrepreter at ;-)
Where is PERL Intrepreter binary [/usr/bin/perl] ? [enter]



OK, using PERL Intrepreter /usr/bin/perl ;-)


Do you wish to setup Communication server on this computer ([y]/n)? [enter]



+----------------------------------------------------------+
| Checking for Make utility... |
+----------------------------------------------------------+

OK, Make utility found at ;-)

+----------------------------------------------------------+
| Checking for Apache mod_perl version... |
+----------------------------------------------------------+

Checking for Apache mod_perl version 1.99_22 or higher
Found that mod_perl version 1.99_22 or higher is available.
OK, Apache is using mod_perl version 1.99_22 or higher ;-)

+----------------------------------------------------------+
| Checking for Communication server log directory... |
+----------------------------------------------------------+

Communication server can create detailled logs. This logs can be enabled
by setting interger value of LOGLEVEL to 1 in Administration console
menu Configuration.
Where to put Communication server log directory [/var/log/ocsinventory-server] ? [enter]



OK, Communication server will put logs into directory /var/log/ocsinventory-server ;-)


+----------------------------------------------------------+
| Checking for required Perl Modules... |
+----------------------------------------------------------+

Checking for DBI PERL module...
Found that PERL module DBI is available.
Checking for Apache::DBI PERL module...
Found that PERL module Apache::DBI is available.
Checking for DBD::mysql PERL module...
Found that PERL module DBD::mysql is available.
Checking for Compress::Zlib PERL module...
Found that PERL module Compress::Zlib is available.
Checking for XML::Simple PERL module...
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module...
Found that PERL module Net::IP is available.

+----------------------------------------------------------+
| Checking for optional Perl Modules... |
+----------------------------------------------------------+

Checking for SOAP::Lite PERL module...
Found that PERL module SOAP::Lite is available.
Checking for XML::Entities PERL module...
*** Warning: PERL module XML::Entities is not installed !
This module is only required by OCS Inventory NG SOAP Web Service.
Do you wish to continue ([y]/n] ? [enter]



+----------------------------------------------------------+
| OK, looks good ;-) |
| |
| Configuring Communication server Perl modules... |
+----------------------------------------------------------+

Checking if your kit is complete...
Looks good
Writing Makefile for Apache::Ocsinventory

+----------------------------------------------------------+
| OK, looks good ;-) |
| |
| Preparing Communication server Perl modules... |
+----------------------------------------------------------+


+----------------------------------------------------------+
| OK, prepare finshed ;-) |
| |
| Installing Communication server Perl modules... |
+----------------------------------------------------------+


+----------------------------------------------------------+
| OK, Communication server Perl modules install finished;-)|
| |
| Creating Communication server log directory... |
+----------------------------------------------------------+

Creating Communication server log directory /var/log/ocsinventory-server.

Fixing Communication server log directory files permissions.
Configuring logrotate for Communication server.
Removing old communication server logrotate file /etc/logrotate.d/ocsinventory-NG
Writing communication server logrotate to file /etc/logrotate.d/ocsinventory-server


+----------------------------------------------------------+
| OK, Communication server log directory created ;-) |
| |
| Now configuring Apache web server... |
+----------------------------------------------------------+

To ensure Apache loads mod_perl before OCS Inventory NG Communication Server,
Setup can name Communication Server Apache configuration file
'z-ocsinventory-server.conf' instead of 'ocsinventory-server.conf'.
Do you allow Setup renaming Communication Server Apache configuration file
to 'z-ocsinventory-server.conf' ([y]/n) ? [enter]



OK, using 'z-ocsinventory-server.conf' as Communication Server Apache configuration file
Removing old communication server configuration to file //etc/apache2/conf.d//ocsinventory.conf
Writing communication server configuration to file //etc/apache2/conf.d//z-ocsinventory-server.conf

+----------------------------------------------------------+
| OK, Communication server setup sucessfully finished ;-) |
| |
| Please, review //etc/apache2/conf.d//z-ocsinventory-server.conf
| to ensure all is good. Then restart Apache daemon. |
+----------------------------------------------------------+


Do you wish to setup Administration Server (Web Administration Console)
on this computer ([y]/n)? [enter]



+----------------------------------------------------------+
| Checking for Administration Server directories... |
+----------------------------------------------------------+

CAUTION: Setup now install files in accordance with Filesystem Hierarchy
Standard. So, no file is installed under Apache root document directory
(Refer to Apache configuration files to locate it).
If you're upgrading from OCS Inventory NG Server 1.01 and previous, YOU
MUST REMOVE (or move) directories 'ocsreports' and 'download' from Apache
root document directory.
If you choose to move directory, YOU MUST MOVE 'download' directory to
Administration Server writable/cache directory (by default
/var/lib/ocsinventory-reports), especialy if you use deployement feature.

Do you wish to continue ([y]/n)? [enter]



Assuming directories 'ocsreports' and 'download' removed from
Apache root document directory.

Where to copy Administration Server static files for PHP Web Console
[/usr/share/ocsinventory-reports] ? [enter]



Assuming directories 'ocsreports' and 'download' removed from
Apache root document directory.

Where to copy Administration Server static files for PHP Web Console
[/usr/share/ocsinventory-reports] ?
OK, using directory /usr/share/ocsinventory-reports to install static files ;-)
Where to create writable/cache directories for deployement packages and
IPDiscover [/var/lib/ocsinventory-reports] ? [enter]



OK, writable/cache directory is /var/lib/ocsinventory-reports ;-)


+----------------------------------------------------------+
| Checking for required Perl Modules... |
+----------------------------------------------------------+

Checking for DBI PERL module...
Found that PERL module DBI is available.
Checking for DBD::mysql PERL module...
Found that PERL module DBD::mysql is available.
Checking for XML::Simple PERL module...
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module...
Found that PERL module Net::IP is available.

+----------------------------------------------------------+
| Installing files for Administration server... |
+----------------------------------------------------------+

Creating PHP directory /usr/share/ocsinventory-reports/ocsreports.
Copying PHP files to /usr/share/ocsinventory-reports/ocsreports.
Fixing permissions on directory /usr/share/ocsinventory-reports/ocsreports.
Creating database configuration file /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php.
Creating IPDiscover directory /var/lib/ocsinventory-reports/ipd.
Fixing permissions on directory /var/lib/ocsinventory-reports/ipd.
Creating packages directory /var/lib/ocsinventory-reports/download.
Fixing permissions on directory /var/lib/ocsinventory-reports/download.
Configuring IPDISCOVER-UTIL Perl script.
Installing IPDISCOVER-UTIL Perl script.
Fixing permissions on IPDISCOVER-UTIL Perl script.
Writing Administration server configuration to file //etc/apache2/conf.d//ocsinventory-reports.conf

+----------------------------------------------------------+
| OK, Administration server installation finished ;-) |
| |
| Please, review //etc/apache2/conf.d//ocsinventory-reports.conf
| to ensure all is good and restart Apache daemon. |
| |
| Then, point your browser to http://server//ocsreports
| to configure database server and create/update schema. |
+----------------------------------------------------------+


Setup has created a log file /tmp/OCSNG_UNIX_SERVER-1.02.1/ocs_server_setup.log. Please, save this file.
If you encounter error while running OCS Inventory NG Management server,
we can ask you to show us his content !

DON'T FORGET TO RESTART APACHE DAEMON !

Enjoy OCS Inventory NG ;-)


4. Create Database โดยเข้าผ่าน URL : http://192.168.1.12/ocsreports/install.php

วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

Step By Step - Alfresco authentication ldap with Zimbra

หลังจากที่มีการติดตั้ง Zimbra ไว้แล้ว ทีนี้เราจะใช้ User เดียวกันกับ zimbra ให้มา login ใน Alfresco สามารถทำได้โดย
1. Copy ไฟล์ ldap-authentication-context.xml.sample โดย เข้าไปที่ /opt/alfresco/tomcat/shared/classes/alfresco/extension

root@alfresco:~# cd /opt/alfresco/tomcat/shared/classes/alfresco/extension
root@alfresco:/opt/alfresco/tomcat/shared/classes/alfresco/extension# cp ldap-authentication-context.xml.sample ldap-authentication-context.xml


2. Copy ไฟล์ ldap-authentication.properties จากไดเรคทอรีเดียวกัน

root@alfresco:/opt/alfresco/tomcat/shared/classes/alfresco/extension# cp ldap-authentication.properties.sample ldap-authentication.properties


3. แก้ไขไฟล์ ldap-authentication.properties โดยระบุ Username
ตรวจสอบ BaseDN ของ zimbra โดยไปที่เครื่อง zimbra และใช้ คำสั่ง ldapsearch -x

root@zimbra:~# su - zimbra
zimbra@zimbra:~$ ldapsearch -x

# local
dn: dc=local
dc: local
objectClass: dcObject
objectClass: organization
o: local domain

# osdev.local
dn: dc=osdev,dc=local
zimbraMailStatus: enabled
zimbraId: e8cfcc00-df85-407c-b913-b5495a9aad05
dc: osdev
zimbraDomainName: osdev.local
zimbraDomainType: local
objectClass: dcObject
objectClass: organization
objectClass: zimbraDomain
o: osdev.local domain

# people, osdev.local
dn: ou=people,dc=osdev,dc=local
ou: people
objectClass: organizationalRole
cn: people
......
....
..


root@alfresco:/opt/alfresco/tomcat/shared/classes/alfresco/extension# nano ldap-authentication.properties

#ldap.authentication.userNameFormat=%s
ldap.authentication.userNameFormat=uid=%s,ou=people,dc=osdev,dc=local


4. ระบุ Hostname และ Port ของ ldap
สามารถตรวจสอบ URL ได้โดยไปที่เครื่อง zimbra

zimbra@zimbra:~$ zmlocalconfig -s |grep ldap
//สังเกตุตรงส่วน ldap_master_url
ldap_connect_pool_prefsize = 0
ldap_connect_pool_timeout = 120000
ldap_connect_timeout = 30000
ldap_deref_aliases = always
ldap_host = zimbra.osdev.local
ldap_is_master = true
ldap_log_level = 49152
ldap_master_url = ldap://zimbra.osdev.local:389
ldap_nginx_password = bBsKhElLf
ldap_port = 389


นำ URL มาใส่ในส่วน ldap.authentication.java.naming.provider.url ในไฟล์ ldap-authentication.properties

ldap.authentication.java.naming.provider.url=ldap://zimbra.osdev.local:389


5. เปลี่ยนจาก DIGEST-MD5 เป็น simple

#ldap.authentication.java.naming.security.authentication=DIGEST-MD5
ldap.authentication.java.naming.security.authentication=simple


6. ระบุ user dn(ตรวจสอบเหมือนข้อ 3) สำหรับเข้าถึง ldap พร้อมพาสเวิร์ด

#ldap.authentication.java.naming.security.principal=reader
ldap.authentication.java.naming.security.principal=uid=admin,ou=people,dc=osdev,dc=local

# The password for the default principal (only used for LDAP sync)
ldap.authentication.java.naming.security.credentials=password


7. บันทึกไฟล์ property
8. stop service alfresco และทำการ start อีกครั้ง

วันพุธที่ 24 มิถุนายน พ.ศ. 2552

Centralize-Log Server On Ubuntu

หลังจากติดตั้ง Ubuntu 8.04.2 LTS(รวม dns, ssh-server, LAMP)
1. จัดการระบบเน็ตเวิร์คเบื้องต้น(ต้องสามารถใช้งานอินเทอร์เน็ตได้)
1.1 แก้ไขไฟล์ /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

1.2 ทดสอบการใช้งาน Internet โดยใช้คำสั่ง ping

admins@logserver:~$ ping google.com
PING google.com (74.125.127.100) 56(84) bytes of data.
64 bytes from pz-in-f100.google.com (74.125.127.100): icmp_seq=1 ttl=241 time=284 ms
64 bytes from pz-in-f100.google.com (74.125.127.100): icmp_seq=2 ttl=241 time=283 ms

2. update ระบบ

admins@logserver:~$ sudo apt-get update

3. เปิดการทำงาน Packet Forwarding ที่ /etc/sysctl.conf

admins@logserver:~$ sudo vi /etc/sysctl.conf
เอา comment(#) ข้างหน้า net.ipv4.ip_forward=1

โหลดค่าการทำงานโดย

admins@logserver:~$ sudo sysctl -p


4. ติดตั้ง ntp พร้อมคอนฟิก /etc/ntp.conf และตรวจสอบ

admins@logserver:~$ sudo aptitude install ntp

ตรวจสอบ Time zone

admins@logserver:~$ ls -l /etc/localtime
-rw-r--r-- 1 root root 178 2009-06-22 14:52 /etc/localtime
admins@logserver:~$ sudo ln -sf /usr/share/zoneinfo/Asia/Bangkok /etc/localtime
admins@logserver:~$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 32 2009-06-23 17:07 /etc/localtime -> /usr/share/zoneinfo/Asia/Bangkok

แก้ไขไฟล์ /etc/ntp.conf

เพิ่ม server 192.168.1.1 เพื่อ sync เวลากับเครื่อง 192.168.1.1

server 192.168.1.1
server time.navy.mi.th #กันเหนียว
server time1.nimt.or.th #กันเหนียว
server clock.nectec.or #กันเหนียว

เริ่มการทำงานของ ntpd

admins@logserver:~$ sudo /etc/init.d/ntp start


5. ติดตั้ง rsyslog, rsyslog-mysql, phpmyadmin

admins@logserver:~$ sudo aptitude install rsyslog rsyslog-mysql phpmyadmin


6. ปิดการทำงานของ syslogd

admins@logserver:~$ cd /etc/rc2.d
admins@logserver:/etc/rc2.d$ mv S10sysklogd _s10sysklogd


7. ติดตั้ง stunnel(สร้างการเชื่อมต่อแบบ ssl), openssl

admins@logserver:~$ sudo aptitude install openssl stunnel


8. สร้าง certificate โดยใช้ openssl

admins@logserver:~$ cd /etc/stunnel/
admins@logserver:/etc/stunnel$ openssl req -new -x509 -days 3650 -nodes -out stunnel.pem -keyout stunnel.pem


9. สร้างคอนฟิกไฟล์สำหรับ stunnel พร้อม start service

admins@logserver:~$ sudo vi /etc/stunnel/syslog-server.conf
พิมพ์
cert = /etc/stunnel/stunnel.pem
debug = 7
[rsyslogd]
accept = 60514
connect = 61514

แก้ไฟล์ /etc/default/stunnel4

ENABLE=1
FILES="/etc/stunnel/syslog-server.conf"


เริ่มการทำงานโดย

admins@logserver:~$ sudo /etc/init.d/stunnel4 start

แก้ไขไฟล์ /etc/default/rsyslog


RSYSLOGD_OPTIONS="-m 0 -r -t 61514"

เริ่มการทำงานของ rsyslog โดย

admins@logserver:~$ sudo /etc/init.d/rsyslog start


10. แก้ไขคอนฟิกไฟล์ /etc/rsyslog.conf เพื่อเพิ่ม Module MySQL พร้อม start service

admins@logserver:~$ sudo vi /etc/rsyslog.conf
เพิ่ม
$ModLoad ommysql
*.* :ommysql:127.0.0.1,Syslog,root,password

$template DynaFile,"/var/log/mylogs/%HOSTNAME%.%$DAY%%$MONTH%%$YEAR%.log"
*.* -?DynaFile


11. ตรวจสอบโดยให้เครื่อง client ลองส่ง log เข้าใน syslog
เซตให้ Pfsense ส่ง log มาที่ logserver

12. ติดตั้ง phplogcon โดยดาวน์โหลด source พร้อมคอนฟิก

admins@logserver:~$ wget http://www.phplogcon.org/Downloads-req-getit-lid-56.phtml
admins@logserver:~$ cd /var/www
admins@logserver:/var/www$ sudo tar xvfz phplogcon-2.6.3.tar.gz
admins@logserver:/var/www$ sudo mv phplogconf-2.6.3 phplogcon
admins@logserver:/var/www$ sudo chown -R www-data.www-data /var/www/phplogcon

เข้าสู่หน้าเวบโดย http://192.168.1.10/phplogcon/src จากนั้นทำการติดตั้ง

ต้องการติดตั้งใหม่ทำได้โดยลบ config.php ใน /var/www/phplogcon/src

วันจันทร์ที่ 22 มิถุนายน พ.ศ. 2552

แก้ปัญหา dns ไม่เวิร์กก่อน redirect ไปหน้า login ใน Pfsense

ปัญหา : เข้าเวบบางเวบแล้วไม่ redirect ไปหน้า login ขึ้น Error

สมมุติฐาน : dns ไม่สามารถ resolve ชื่อเวบนั้น ๆ ได้

วิธีแก้ไข : ไปที่ Services -> Captive Portal ไปที่แท็บ Allowed IP Address แล้วเพิ่ม dns ของ ISP หรือ dns server ลงไป

วันพุธที่ 17 มิถุนายน พ.ศ. 2552

ส่ง squid log จาก pfsense ให้เข้า syslog

ไปที่ Services -> Proxy server
เพิ่ม Custom Options


จากนั้นตรวจสอบโดยไปที่ Status -> System Logs ดูในแท็บ Portal Auth จะมี access.log ของ squid วิ่งอยู่ค่า ^-^


สำหรับ squid 2.7 ถ้าใส่แบบเดิมจะขึ้น error แบบนี้

“Cannot open ‘syslog’ for writing. The parent directory must be writeable by the user ‘proxy’”

ให้ใส่ตรง Custom Options เป็น access_log syslog:daemon common

ที่มา : http://www.implementer.co.th/wordpress/syslog-squid-pfsense-proble/

ทำให้ rsyslog เก็บลง mysql

ทำบน Ubuntu 8.04 ค่า แต่ต้องติดตั้งแล้วก็คอนฟิก rsyslog เรียบร้อยนะคะ แล้วเราต้องการให้ rsyslog เก็บ log ลงฐานข้อมูล MySQL ทำได้โดย
1. sudo aptitude install rsyslog-mysql
2. sudo nano /etc/rsyslog.conf
3.เพิ่ม

$ModLoad ommysql // โหลดโมดูล
*.* :ommysql:database-server,database-name,database-userid,database-password //ทำให้ rsyslog เขียนลงฐานข้อมูล แก้ไข database-server,database-name,database-userid,database-password ให้ถูกต้องตามที่ตั้งไว้ เช่น
*.* :ommysql:127.0.0.1,Syslog,syslogwriter,password


4. restart service โดย sudo /etc/init.d/rsyslog restart
5. ตรวจสอบโดยใช้ PHPMyAdmin หรือ PHPLogcon ค่า

วันอังคารที่ 9 มิถุนายน พ.ศ. 2552

สำหรับศึกษา Pfsense

ช่วงนี้แอดมินสุดสวยต้องหาเครื่องมือสำหรับจัดการ ADSL Load balance และเก็บ log ตาม พรบ. ได้ในตัว เลยศึกษาเจ้า Pfsense ซะหน่อย มาดูแหล่งกันก่อนดีกว่านะคะ
ของไทย
www.linuxthai.org
http://www.laontalk.com เวบนี้ชอบเพราะมีวีดีโอสอนด้วย ^-^
แค่สองเวบก็เกินพอ

สำหรับเวบต้นฉบับ
http://www.pfsense.com/

จับคู่ชื่อและเวอร์ชันของ Ubuntu

เหตุการณ์
A : เอ๊ะ Ubuntu ที่ชื่อ Hardy นี่เวอร์ชันไรนะ
B : (ระลึกชาติ) 8.04 ค่ะ(ตอบเสียงแข็ง) เอ๊ะ ใช่ป่าวนะ ชักไม่แน่ใจ....

ก็เลยทำไว้เล่น ๆ กันลืมค่า ^-^

Version Name
6.10 Edgy
7.04 Feisty Fawn
7.10 Gutsy Gibbon
8.04 Hardy Heron
8.10 Intrepid Ibex
9.04 Jaunty Jackalope

วันพุธที่ 27 พฤษภาคม พ.ศ. 2552

การจัดการ password ldap ใน zimbra

Make sure that slapd is running. Note that the actual process id (pid) will vary.

$ ldap status
slapd running pid: 32266

Update the ldap root password.

$ zmldappasswd -r newrootpass

Update the zimbra ldap password.

$ zmldappasswd newpass

If necessary, update the password for other ldap users (amavis, replication, nginx, postfix).

ที่มา http://wiki.zimbra.com/index.php?title=Resetting_LDAP_%26_MySQL_Passwords

การดู Password ที่ตั้งไว้แล้วตรวจสอบได้โดย

zmlocalconfig -s |fgrep ldap

วันพุธที่ 8 เมษายน พ.ศ. 2552

ติดตั้ง swat บน ubuntu server 8.10

1. sudo aptitude install swat

2. เนื่องจาก swat ทำงานผ่าน inetd จึงต้อง restart service ใหม่โดย
sudo /etc/init.d/samba restart

3. เปิด browser http://server-ip:901

4. login ด้วย root ของระบบ จึงจะสามารถคอนฟิกค่าต่าง ๆ ได้

วันศุกร์ที่ 3 เมษายน พ.ศ. 2552

ติดตั้ง Alfresco Lab 3 บน Ubuntu 8.10

เตรียมตัวก่อนติดตั้ง
1. ติดตั้ง jre โดย

root@alfresco:~# aptitude install sun-java6-jre


2. ตรวจสอบ echo $JAVA_HOME ต้องได้ผลลัพธ์เป็น /usr/lib/jvm/java-6-sun/

root@alfresco:~# echo $JAVA_HOME
/usr/lib/jvm/java-6-sun/


ขั้นตอนการติดตั้ง

1. ดาวน์โหลด alfresco-labs-tomcat-3Stable.tar.gz จาก ดาวน์โหลด

2. สร้าง directory alfresco ที่ /opt โดย

root@alfresco:~# mkdir -p /opt/alfresco


3. นำไฟล์ที่ดาวน์โหลดมาแตกไว้ใน /opt/alfresco โดยใช้คำสั่ง

root@alfresco:~# tar xvfz alfresco-labs-tomcat-3Stable.tar.gz -C /opt/alfresco/


4. แก้ไขไฟล์ /etc/environment โดยเพิ่ม ดังนี้

JAVA_HOME="/usr/lib/jvm/java-6-sun/"
CATALINA_HOME="/opt/alfresco/tomcat"
CATALINA_BASE="/opt/alfresco/tomcat"
CATALINA_TMPDIR="/opt/alfresco/tomcat/temp"
JRE_HOME="/usr/lib/jvm/java-6-sun/"


ขั้นตอนการติดตั้ง WCM
1. ดาวน์โหลดแพ็คเกจ alfresco-labs-wcm-3Stable.tar.gz จาก ดาวน์โหลด

2. แตกไฟล์ โดย

root@alfresco:~#tar xvfz alfresco-labs-wcm-3Stable.tar.gz -C /opt/alfresco


3. ติดตั้ง WCM Bootstrap โดย copy ไฟล์ wcm-bootstrap-context.xml ไปไว้ที่ tomcat/shared/classes/alfresco/extension โดย ใช้คำสั่ง

root@alfresco:~#cp wcm-bootstrap-context.xml /opt/alfresco/tomcat/shared/classes/alfresco


5. รันคำสั่ง

root@alfresco:~# ./virtual_alf.sh start


6. รันคำสั่ง ./alfresco.sh start จะได้ผลลัพธ์ดังนี้

root@alfresco:~# ./alfresco.sh start
Using CATALINA_BASE: /opt/alfresco/tomcat
Using CATALINA_HOME: /opt/alfresco/tomcat
Using CATALINA_TMPDIR: /opt/alfresco/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-6-sun/


ถ้ารันแล้วได้ผลแบบนี้

Neither the JAVA_HOME nor the JRE_HOME environment variable is
defined

At least one of these environment variable is needed to run this program

แสดงว่าอาจมีการติดตั้งซ้ำดังนั้นให้เพิ่ม
JAVA_HOME="/usr/lib/jvm/java-6-sun"
ในไฟล์ /opt/alfresco/tomcat/bin/setclasspath.sh ข้างหลังบรรทัด CLASSPATH= ดังนี้

# First clear out the user classpath
CLASSPATH=
JAVA_HOME="/usr/lib/jvm/java-6-sun" //ส่วนที่เพิ่มเข้ามา



7. **** ถ้าต้องการให้ alfresco run ทุกครั้งที่เปิดเครื่องให้ไปที่ /etc/rc.local เพิ่ม

export JAVA_HOME="/usr/lib/jvm/java-6-sun"
export JRE_HOME="/usr/lib/jvm/java-6-sun/jre"
cd /opt/alfresco
./alfresco.sh start
exit 0


8. เปิด browser โดย http://ip-address:8080/alfresco
default login
user : admin
password : admin

วันอังคารที่ 31 มีนาคม พ.ศ. 2552

ติดตั้ง webmin บน Ubuntu 8.10

ติดตั้ง webmin บน Ubuntu 8.10

1. sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

2. wget http://prdownloads.sourceforge.net/webadmin/webmin_1.470_all.deb

3. sudo dpkg -i webmin_1.470_all.deb

4. เข้าสู่เว็บไซต์ https://server-ip:10000/

วันอังคารที่ 17 มีนาคม พ.ศ. 2552

drupal 6.10 multi-site with ubuntu

ได้รับคำสั่งให้ช่วยทำ multi-site ก็เลยค้น ๆ ๆ ๆ แล้วก็ได้เวบนี้ http://drupal.org/node/53705 ใช้ในการอ้างอิง
สิ่งที่ต้องการ มีเวบ example.com อยู่แล้ว ต้องการทำ multi-site ชื่อ mul.example.com จัดการดังนี้
1. จัดการ dns ให้ใช้โดเมน mul.example.com

2. จัดการ virtual host โดยให้ DocumentRoot /var/www/drupal และ ServerName mul.example.com

3. ไปที่ /var/www/drupal/sites สร้าง ไดเรคทอรี mul.example.com

4. สร้างไดเรคทอรี files และ copy ไฟล์ settings.php จาก default

5. แก้ไข $db_url = 'mysqli://root:password@localhost/dbname'; และ $base_url = 'http://mul.example.com';


6. ติดตั้งโดย http://mul.example.com/install.php

แต่ติด error 500 Internal Server Error เข้าไปดูใน log error ของ apache พบ error ดังนี้
mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary.

ตรวจสอบพบว่ามันไม่รู้จัก path install.php เลย เลยตรวจสอบ .htaccess ใน /var/www/drupal แล้วเอา comment หน้า RewriteBase / ออก จากนั้น reload apache2 ใหม่

ลองเข้าไปติดตั้งอีกครั้ง พบว่า ผ่านบริบูรณ์ แหะ ๆ นั่งงมตั้งนาน เจ้านายใจดีช่วยอีกแล้ว หุหุ ^-^

วันศุกร์ที่ 13 มีนาคม พ.ศ. 2552

การ upgrade drupal จาก 6.08 เป็น 6.10 บน Ubuntu

วันนี้ได้รับคำสั่งจากเจ้านายใจดี ให้ช่วย upgrade drupal ให้หน่อย ไม่ขัดศรัทธาเจ้านายรีบทำให้ทันทีทันใด โดยวิธีทำก็ไม่ยากเพียงแต่รู้สึกใจตุ๊มๆ ต่อม ๆ 55 เริ่มต้นทำดังนี้
1. อันดับแรกต้องทำการ backup ตัวข้อมูลและ database โดย ตัวข้อมูลใช้คำสั่ง
cp -rp drupal drupal-bk
สำหรับ database ก็ใช้ phpMyAdmin หรือใช้ command ก็ได้ ถ้าใช้ command ก็ทำโดย
sudo mysqldump -u root -p drupal > drupal.sql

2. download เวอร์ชันใหม่ล่าสุดโดย
wget http://ftp.drupal.org/files/projects/drupal-6.10.tar.gz

3. เข้าไปหน้า Admin แล้วไปกำหนด theme ให้เป็น default theme (Garland)

4. ปิดโมดูลทั้งหมด ยกเว้น Core

5. แตกไฟล์ที่โหลดมาโดย tar xvfz drupal-6.10.tar.gz

6. ลบไดเรคทอรี drupal อันเก่าออก

7. ย้ายไดเรคทอรีที่แตกไปแทนไดเรคทอรีเก่า

8. copy ใน sites ที่ backup ไว้โดย cp -rp drupal-bk/sites/* drupal/sites/

9. run update.php และตรวจสอบโดยเข้าไปที่ Admin -> Status report จะเห็นเป็นเวอร์ชัน 6.10

10. เปิด module ทั้งหมด แล้วเปลี่ยน theme เหมือนเดิม

11. ใช้คำสั่งสำหรับ update module ทั้งหมด โดย drush pm

12. ตรสจสอบความถูกต้องโดยไปที่ Status report อีกครั้งเป็นอันเสร็จ