2010年1月25日 星期一

linux postfix 問題修正

今天在server 重開機後遇到Mail 無法寄出的狀況,
大概的狀況如下

1.tomcat 回報的訊息為
javax.mail.MessagingException: Could not connect to SMTP host: ftpx.mogan.com.tw, port: 25;
2.使用telnet連線測試,使用localhost可以開啟連線,使用domain則無法連上

原因
在postfix的設定檔(/etc/postfix/main.cf)中的inet_interfaces設定為localhost所以在telnet只能用locatlhost連上

解決方法
將inet_interfaces的值設為all就可以了:)

2010年1月7日 星期四

linux fedora 安全性相關設定

安裝fedora時直接使用預設的設定,在架設server時可能會因為一些安全性的設定導致部分的網路功能無法啟用。

設定可以參考鳥哥的網站
http://linux.vbird.org/linux_server/0240network-secure-1.php#packet_flow_protect

以下截取部分內容

由於 SELinux 主要是進行檔案系統的細部權限設定,所以想要使用 SELinux 的配置時, 需要對 Linux 的檔案系統以及基礎的作業系統概念要很清楚,否則將會使得很多的網路服務無法正確的啟用系統資源, 導致你的主機很多服務無法存取系統資料!因此,對於我們剛接觸到 Linux 架站的朋友來說, 建議你先關閉 SELinux ,等到兩三年後對於 Linux 有很深的概念後, 再來嘗試配置 SELinux 這個有趣的咚咚!

2010年1月5日 星期二

設置tomcat用jsvc啟動-轉

  1. 原文出處-http://blog.c1gstudio.com/archives/324
  2. http://www.eit.name/blog/read.php?424

根據tomcat官方的document說明,linux下設置開機自啟動可以使用jsvc(tomcat包裡自帶)
設置tomcat以獨立的用戶運行(防止以root運行,權限太大)

shell>sudo useradd -d /opt/tomcat -s /usr/sbin/nologin tomcat
上邊的這個命令是添加一個系統用戶tomcat,並且設置為不可登錄系統。
設置用戶tomcat 對tomcat6的訪問權限

shell>sudo chown -R tomcat:website /opt/tomcat
安裝jsvc,前提需要系統安裝了gcc(系統一般默認安裝),autoconf,libc6-dev

解壓jsvc.tar.g
shell>cd /opt/tomcat/bin
shell>sudo tar zxvf jsvc.tar.gz
準備編譯配置文件
shell>cd jsvc-src
shell>sudo sh support/buildconf.sh
如果成功,命令終端會打出:
support/buildconf.sh: configure script generated successfully
為configure添加執行權限
shell>sudo chmod 755 configure
編譯
shell>sudo ./configure –with-java=/usr/java/jdk1.6.0_10(java的安裝路徑)
shell>sudo make
如果沒有出現錯誤,jsvc就安裝成功了。
設置啟動腳本

#!/bin/sh
# chkconfig: 2345 10 90
# description: Starts and Stops the Tomcat daemon.
##############################################################################
#
# Copyright 2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##############################################################################
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
#
#
#
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
#
# Adapt the following lines to your configuration
JAVA_HOME=/usr/java/default
CATALINA_HOME=/usr/local/tomcat
DAEMON_HOME=/usr/local/tomcat/bin/jsvc
TOMCAT_USER=webadmin
JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=64M"

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/usr/local/tomcat

CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile '&1' \
$JAVA_OPTS \
$CATALINA_OPTS \
-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;

stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc \
-stop \
-pidfile $PID_FILE \
org.apache.catalina.startup.Bootstrap
exit $?
;;

*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac

在tomcat文件的頭兩行的註釋語句中,需要包含chkconfig和description兩部分內容(確認不要拼寫錯誤,),否則在執行「chkconfig --add tomcat」時,會出現「tomcat服務不支持chkconfig」的錯誤提示。

chkconfig這行表示缺省啟動的運行級別以及啟動和停止的優先級,如該服務缺省不再任何運行級啟動,則以 - 代替運行級別。在tomcat中表示腳本在運行級2、3、4、5啟動,啟動優先權為10,停止優先權為90。

description行對服務進行描述,可以用 「\」 跨行註釋。