海大光畫社-新聞Blog 後台功能異常修正

今天接到學弟的通知說Blog的後台不能使用,
只看到一片空白,
查了一下Apache的log看到:

[Wed Sep 21 21:59:13 2011] [error] [client 115.43.122.215] PHP Fatal error:  Smarty error: unable to write to $compile_dir '/maskmask/blog/tmp/1'. Be sure $compile_dir is writable by the web server user. in /maskmask/blog/class/template/smarty/Smarty.class.php on line 1095, referer: http://loki.ind.ntou.edu.tw/~mac/blog/admin.php

實際進去該目錄去看原來是權限有問題,
之前Apache是用daemon這使用者和群組名稱來讀寫,
但最近升級重新安裝Aapche後我是讓它改用apache,
結果tmp目錄下的東西都不能讀寫了,
修正該目錄底下檔案的權限後即正常。
cd tmp/
chown -R apache:apache *

單張網卡綁多個IP的設定方法

1. Linux
利用ifconfig指令將原本的eth0掛上兩個不同的ip:
ifconfig eth0:0 192.168.1.3 netmask 255.255.255.0 up
ifconfig eth0:1 192.168.1.3 netmask 255.255.255.0 up

再到/etc/sysconfig/network-script 加入對應的設定,
以上述為例子可以將eth0的設定檔複製再更名:
cp ifcfg-eth0 ifcfg-eth0:0
再編輯ifcfg-eth0:0將以下內容:
DEVICE=eth0
改為
DEVICE=eth0:0

2. FreeBSD
編輯/etc/rc.conf直接加入設定,
例如該檔對em0這張網卡的設定述敘為:
ifconfig_em0=”inet 172.16.1.5 netmask 255.255.255.0″
再加入一行alias0(視需求可以再加alias1、alias2等等):
ifconfig_em0_alias0=”inet 172.16.1.6 netmask 255.255.255.0″

最後再下 /etc/netstart 這個指令便可生效,
若之後要移除alias0時有時可能要執行兩次 /etc/netstart 才會生效。

[MySQL] 設定檔範例檔位置 in CentOS

在CentOS以yum安裝MySQL後,
設定檔範例會放在:
1. CentOS 5.x: /usr/share/mysql
2. CentOS 4.x: /usr/share/doc/mysql-server-4.1.27 (最後一層目錄名稱依MySQL版本會有所不同)
會有根據主機記憶體大小不同有各個合適的範本可以使用:
my-huge.cnf
my-innodb-heavy-4G.cnf
my-large.cnf
my-medium.cnf
my-small.cnf

像我自己主機的記憶體是2GB,
可以使用my-huge.cnf這個範本,
將它複製到/etc下再更名為my.cnf後重新啟動MySQL即可。

[Apache] log檔分割工具-cronolog

測試環境:CentOS 5.6

CentOS 5.6無法利用yum來安裝cronolog,
要先到官網下載tarball下來編譯,
如果沒有編譯的工具須先行安裝。
[cc theme=”blackboard” width=”600″]yum install gcc make[/cc]
以下用cronolog-1.6.2.tar.gz為例子:
[cc_bash theme=”blackboard” width=”600″]tar zxf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install[/cc_bash]

然後可以在httpd.conf的VirtualHost設定部份利用cronolog來分割log檔,例如:
[cc]CustomLog “|/usr/local/sbin/cronolog /home/test/public_html/logs/testlog.%Y%m%d.log” combined
ErrorLog “|/usr/local/sbin/cronolog /home/test/public_html/logs/test_errorlog.%Y%m%d.log”
[/cc]

[CentOS] 安裝圖形介面

測試環境 CentOS 5.6

1. 安裝X Window
yum groupinstall ‘X Window System’ -y

2. 安裝Gnome Desktop
yum gropuinstall ‘GNOME Desktop Environment’ -y

3. 編輯 /etc/inittab 將以下內容:

id:3:initdefault:

改為:

id:5:initdefualt:

4. 安裝並設置中文環境
yum groupinstall ‘chinese support’ -y
編輯/etc/sysconfig/i18n將以下內容:

LANG="en_US.UTF-8"

改為:

LANG="zh_TW.UTF-8"

5. 重新開機
reboot