單張網卡綁多個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

安裝Apache、MariaDB與PHP於CentOS 5.6

日前將主機系統升級為CentOS 5.6,
想說也順便升級一下Apache、MariaDB與PHP,
由於一些做法與上次不同所以再紀錄一次,
這裡僅紀錄安裝的步驟。

一、先建立好環境,
以下的套件是接下來安裝時會用到,
如果沒有的話先安裝上去:

yum install gcc gcc-c++ make ncurses-devel libpng-devel libmcrypt-devel libxml2-devel

二、安裝MariaDB
先建立mysql使用者與群組(已建過就不用再做一次)

groupadd mysql
useradd -g mysql mysql

開始解壓縮tarball並開始安裝

tar zxf mariadb-5.2.6.tar.gz
cd mariadb-5.2.6
./configure --prefix=/usr/local/mysql --with-charset=utf8
make
make install

修改的權限/usr/local/mysql

[cc_bash theme=”blackboard” width=”600″]chown -R mysql:mysql mysql[/cc_bash]
建立初始的database
[cc_bash theme=”blackboard” width=”600″]/usr/local/mysql/bin/mysql_install_db –user=mysql[/cc_bash]
複製my.cnf範本至/etc
[cc_bash theme=”blackboard” width=”600″]cp mariadb-5.2.6/support-files/my-large.cnf /etc/my.cnf[/cc_bash]
將mysql.server複製到/etc/init.d並更名為mysqld
[cc_bash theme=”blackboard” width=”600″]cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld[/cc_bash]
最後再加入chkconfig
[cc_bash theme=”blackboard” width=”600″]chkconfig –add mysqld[/cc_bash]

三、安裝Apache
[cc_bash theme=”blackboard” width=”600″]tar zxf httpd-2.2.19.tar.gz
cd httpd-2.2.19
./configure –prefix=/usr/local/apache –enable-module=so
make
make install[/cc_bash]
同MariaDB的做法,將啟動Apache的script放到/etc/init.d
[cc_bash theme=”blackboard” width=”600″]cp /usr/local/apache/bin/apachectl /etc/init.d/httpd[/cc_bash]
但apachectl不像mysql.server,需要修改內容才能使用
[cc_bash theme=”blackboard” width=”600″]vim /etc/init.d/httpd[/cc_bash]
加入以下敘述(加在#!/bin/sh之後的行數):
[cc]#chkconfig: 345 61 61
#description:Apache Daemon[/cc]
最後再加入chkconfig
[cc_bash theme=”blackboard” width=”600″]chkconfig –add httpd[/cc_bash]

四、安裝PHP
[cc_bash theme=”blackboard” width=”600″]tar zxf php-5.3.6.tar.gz
cd php-5.3.6
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql \
–enable-mbstring –with-gd –with-gettext –with-mcrypt –with-zlib –enable-zip
make
make test
make install[/cc_bash]
複製php.ini範本到/usr/local/php/lib
[cc_bash theme=”blackboard” width=”600″]cp php.ini-production /usr/local/php/lib/php.ini[/cc_bash]

之後的設定同CentOS 5.4上安裝Apache + PHP + MySQL便不再敘述。
唯啟動Apache和MariaDB的方式改為:
[cc_bash theme=”blackboard” width=”600″]service httpd start
service mysqld start[/cc_bash]
而若要能夠開機執行則只要下:
[cc_bash theme=”blackboard” width=”600″]chkconfig httpd on
chkconfig mysqld on[/cc_bash]
即可完成無需再去修改/etc/rc.local,
這裡也是與之前做法最大的不同。