您的位置:首页 > 运维架构 > Tomcat

Linux+Tomcat建站笔记(JDK,Mysql,Vsftpd,Iptables等配置)

2013-11-20 17:29 627 查看

Linux+Tomcat建站笔记(JDK,Mysql,Vsftpd,Iptables等配置)

1、安装Linux,偶安装的是Linux Enterprise As 4,不多说了,网上教程有很多.
注:偶在安装时防火墙级别选择“中”
安装后,需要设置下服务器使用的语言环境,这根据你的个人需要来调整。方法:
vi /etc/sysconfig/i18n
将 其中的zh_CN改为en_US
保存后 init 6重启
输入locale 查看系统当前语言,确认无误后再继续下面配置。
以下是偶修改过的例子:
#####################################################
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
####################################################
1、下面安装JDK
最新JDK版本为5.0可以从http://java.sun.com下载最新版本。
下载来的文件为:jdk-1_5_0_06-linux-i586-rpm.bin,放到/usr/locale/下
chmod a+x jdk-1_5_0_06-linux-i586-rpm.bin
./jdk-1_5_0_06-linux-i586-rpm.bin
敲几次空格就OK了。还有一个是否接受协议,输入YES就可以了。
得到jdk-1_5_0_06-linux-i586-rpm包
rpm -ivh jdk-1_5_0_06-linux-i586-rpm
安装JDK成功后,下面就要配置环境变量了。修改/etc/profile加入以下变量
export JAVA_HOME=/usr/local/java/jdk-1_5_0_06
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
export PATH=$JAVA_HOME/bin:$PATH
保存后重启系统。
输入java -version查看
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)表示JDK已成功安装。
注:我在配置JAVA环境变量的时候,运行java -version得到的却是
java version "1.4.2"
gcj (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
这说明系统中的gcj所带的JAVA的环境变量优先获得执行权。解决方法就是像上面的设置
export PATH=$JAVA_HOME/bin:$PATH,注意将$PATH放到最后。(如果放到最前,则会出现上述问题)
2、安装TOMCAT
下载jakarta-tomcat-5.0.28.tar.gz到/opt
tar -zxvf jakarta-tomcat-5.0.28.tar.gz
ln -s jakarta-tomcat-5.0.28 tomcat (创建一个软链接tomcat使之指向jakarta-tomcat-5.0.28目录,这样访问tomcat就达到了访问jakarta-tomcat-5.0.28目录的目的,使用起来比较方便)
vi /etc/profile
添加:export CATALINA_HOME=/opt/tomcat
重启机器后,/opt/tomcat/bin/startup.sh
提示:
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TEMDIR: /opt/tomcat/temp
Using JAVA_HOME: /opt/jdk5.0

以下是偶在profile文件中最后添加的代码 
##########################################################
#set env varaible
JAVA_HOME=/usr/java/jdk1.5.0_06
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
set USERNAME
export CATALINA_HOME=/opt/tomcat
export BASEDIR=/opt/tomcat
export JAVA_HOME CLASSPATH PATH
/opt/tomcat/bin/startup.sh #开机自动启动tomcat
####################################################
启动成功后打开浏览器:http://localhost:8080
可是此时期望中的小猫并没有出现,后来发现是系统的防火墙的问题,偶将tomcat的端口改为80就没有问题了。
下面说说 tomcat中虚拟主机的配置,tomcat中主机配置文件在tomcat/conf/server.xml
以下是创建www.test.com的主机,因为我想test.com也指向到同一个地址,所以作了个别名,当然如果域名多的话,可以以此类推。
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="www.abc.com">
</Host>
<!-- 创建虚拟主机 -->
<Host appBase="webapps" autoDeploy="false" liveDeploy="false" name="www.test.com">
<Alias>test.com</Alias>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="test_log." suffix=".txt" timestamp="true"/>
</Host>
然后重启tomcat
cd /opt/tomcat/bin
./shutdown.sh
./statup.sh
上面仅仅是将在服务器上配置了域名主机,如果将域名解析到服务器后,访问www.test.com其实是访问tomcat的默认主目录,这个原因是我们没有
为www.tes.com 这个主机配置默认主目录的原因,下面说明一下:
在tomcat/conf/Catalina/找到目录www.test.com(如果没有就新建个)
vi ROOT.xml
<?xml version=’1.0’ encoding=’utf-8’?>
<Context docBase="ROOT/test" path="" workDir="work/Catalina/www.test.com/_">
</Context>
:wq
这样在www.test.com目录下创建ROOT.xml文件,它是虚拟主机www.test.com的默认上下文配置文件。
当访问www.test.com时系统会自动访问tomcat/webapps/ROOT/test文件夹的内容了。
注:关于虚拟主机上下文件的设置,也可以在Server.xml中配置.这个可以根据个人习惯来定。
例:
<Host appBase="webapps" autoDeploy="false" liveDeploy="false" name="www.test.com">
<Alias>test.com</Alias>
<Context docBase="ROOT/test" path="" workDir="work/Catalina/www.test.com/_"></Context>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="test_log." suffix=".txt" timestamp="true"/>
</Host>
4、由于系统中已经自带了Mysql,所以就不需要在安装了。默认用户是root 密码为空,下面我们将添加个新的管理用户,并为root设置密码。
添加新用户:
grant all privileges on *.* to abcd@localhost identified by ’123456’ with grant option;
flush privileges;

这样我们就成功添加了拥有所有权限用户名为:abcd密码为123456并且拥有创建新用户权力的用户了。
查看Mysql用户表:
use mysql
select * from user;
可以看到刚刚添加的abcd用户已经在数据库中了。
下面为root用户更改密码。方法有很多,下面使用一种比较简单的方法:
use mysql;
update user set Password =password(’1341234’) where User=’root’;
这样 root 的密码就已经更改了.
退出mysql重新登录试试:
mysql -u root -p
输入密码,OK!
现在我们只能在服务器上访问mysql,如果是这样那就太不方便了,下面我们就配置允许外部用户访问的账号
grant select,insert,update on *.* to abcde@’%’ identified by ’123456’;
flush privileges;
现在从外部还是不能访问,因为此时Linux的防火墙是不允许Mysql的端口3306开放的。
修改防火墙配置文件:
vi /etc/sysconfig/iptables
增加下面一行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
如果想开通21等端口,只需要将3306换成21等要开放的端口就可以了。
附:iptables
==============================================
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
================================================
配置后,重新启动iptable
service iptables restart
这时就可以从外网访问Mysql了。
mysql -h 你服务器的IP地址,-u root -p
输入密码,OK!
注:Mysql默认的最大连接数是100,这一般是不够的,所以需要调整下。
如果仅想在本次有效,可以:
mysql> set GLOBAL max_connections=200
如果想一直有效:
vi /etc/my.cnf
在socket=/var/lib/mysql/mysql.sock下:增加下面一行
set-variable=max_connections=200
下面在简单说一下vsftpd的配置,因为vsftpd使用系统的用户作为FTP用户,首先我们要添加系统用户。
useradd -d /opt/tomcat -s /sbin/nologin ftpuser1
passwd ftpuser1
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

vsftpd的配置文件在/etc/vsftpd/vsftpd.conf中以下是摘要说明:
anonymous_enable=NO #匿名不能登录
local_enable=YES #本地用户可以登录
write_enable=YES #开通写的权限
anon_upload_enable=NO #匿名不能上传
为了将用户锁定在它的主目录中,需要以下设置:
chroot_list_enable=YES #将用户锁定在它的主目录中
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list #锁定用户名单的文件(即/etc/vsftpd.chroot_list中的用户将会被锁定在其主目录中)
vi /etc/vsftpd.chroot_list
testftp1
testftp2
:wq
重启vsftpd
service vsftpd restart
此时FTP已经可以连接了.
以上仅是关于服务器基本的设置,其中每一项(tomcat、iptables、vsftpd)配置都是复杂而漫长的过程,请查阅相关资料。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux mysql iptables