一、安装jdk
1、下载jdk7安装包:jdk-7u21-linux-x64.tar.gz
2、将其通过优盘(移动硬盘太大、可能不支持)拷贝到linux机器的home目录上;插上后,linux机会自动弹出u盘内容的浏览界面,若没有,则尝试机器的其他usb口。
3、在terminal终端上,进入home目录,运行命令 tar zxvf jdk-7u21-linux-x64.tar.gz,会出现一系列解压缩信息;完毕后,在当前home目录出现jdk.1.7.0_21文件夹。
cd /home
tar zxvf jdk-7u21-linux-x64.tar.gz
注:rpm安装包运行如下命令安装(举例):
rpm -ivh linuxqq-v1.0.2-beta1.i386.rpm
rpm.bin或者.bin安装包安装命令如下:
./jdk-6u7-linux-i586.bin
4、配置jdk环境变量:
terminal终端输入:gedit ~/.bashrc ,将下面的设置添加到文件末尾(一般在fi后面)
export JAVA_HOME=/home/jdk.1.7.0_21
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
注意:假如在windows上使用记事本保存上述配置,不能直接拷贝到linux的bashrc用户环境变量中,使用gedit编辑器看不出区别,使用vi编辑即可看出每行最后有意外的字符(^M);将该字符删除,在linux的任意文本编辑器里重新换行即可。
若上述问题不解决,当运行tomcat时在其日志里会报错:no such file or directory...
5、测试:重新打开终端,输入javac,及java均出现一系列输出即表示jdk安装好了。
二、安装tomcat
1、下载tomcat:apache-tomcat-6.0.39.tar.gz
2、将其拷贝到home目录下,运行解压缩 命令进行解压缩,命令如下:
cd /home/
tar zxvf apache-tomcat-6.0.39.tar.gz
3、测试:打开终端,启动tomcat,命令如下:
cd /home/apache-tomcat-6.0.39/bin
./startup.sh
和windows不同,不会打印信息,直接结束,此时需要进入logs目录,查看日志,命令如下:
cd /home/apache-tomcat-6.0.39/logs
tail -100f catalina.out
若无异常信息输出,且最后一行为Server startup in
xxx
ms
则为启动成功。
4、如何设置tomcat开机自启动
命令行编辑配置文件,命令如下:
gedit /etc/rc.d/rc.local
在文件最后添加如下命令,注意windows换行符与linux的差异
export JAVA_HOME=/usr/java/jdk.1.7.0_21
/app/local/tomcat6.0/bin/startup.sh start
保存,终端输入命令,查看该文件是否可执行:
ll /etc/rc.d/rc.local
若出现rwxr-xr-x ....,则表示当前root用户有执行(rwx中的x)权限。
若无,则输入以下命令添加执行权限:
chmod +x /etc/rc.d/rc.local
即可。
三、使用smb设置文件共享
1、查看是否安装了smb,运行如下命令:
rpm -qa samba | grep 'samba'
若输出smb的版本信息,则说明安装成功,否则没安装,需要单独下载smb及其依赖的安装包(http://download.csdn.net/detail/zxnlmj/7041499/),进行安装。
2、若已安装,则执行启动命令,启动smb服务:
service smb start
3、设置共享文件夹,修改smb的配置文件,设置共享,具体如下:
打开配置文件:
vi /etc/samba/smb.conf
或者使用gedit打开:
gedit /etc/samba/smb.conf
在其share definitons下面添加如下配置:
[request]
path = /request
browseable = yes
writeable = yes
guest ok = yes
[response]
path = /response
browseable = yes
writeable = yes
guest ok = yes
path:要共享的文件夹,browseable:是否可读,writeable:是否可写,guest ok:允许guest访问
添加smb账户,即为共享文件夹添加用户名、密码验证(随意取):
smbpasswd -a smbuser
提示输入密码,及确认密码,输入即可。
注意:若出现failed to add entry..,则表示添加失败:需要先建立组和用户:如下:
groupadd smbuser -g 6000
useradd smbuser -u 6000 -g 6000
-g与-u表示组合用户的识别码,组识别码位>=500,用户识别码>=1000,useradd后的-g表示该用户添加到哪个群组
然后,再次执行
smbpasswd -a smbuser
即可成功添加smb用户。
4、测试
终端输入:
smbclient //172.16.130.89/request -U smbuser
若出现 “tree connect failed: NT_STATUS_
BAD_NETWORK_NAME“错误,可从两个原因入手:
(1)、设置的共享文件夹不存在,或者名称不对应。
(2)、seLinux:安全增强式Linux(SELinux, Security-Enhanced Linux)是一种强制存取控制(mandatory access control)的实现
可能是seLinux设置阻碍访问。
终端输入:
getenforce
若输出enforcing=1,则表示seLinux为enforcing模式(违反了策略,你就无法继续操作下去);
需要设置为permissive=0模式(即使你违反了策略的话它让你继续操作,但是会记录违反的内容)
setenforce 0
然后,再次测试:
smbclient //172.16.130.89/request -U smbuser
即可成功进行访问。
(3)、如何设置seLinux开机即为permissive模式:
gedit /etc/sysconfig/seLinux
将SELINUX = Enforcing (默认) 改为Permissive ,保存即可。
5、设置smb服务开机自启动
chkconfig smb --level 345 on
设置smb服务以在等级3、4和5中为开机启动服务状态。
该命令是根据/etc/init.d/smbd文件在/etc/rc.d/rc3.d/和/etc/rc.d/rc4.d/和/etc/rc.d/rc5.d/的目录下建立链接,达到在3,4,5启动级别时开机自动启动的目的。
chkconfig smb on 所有启动级别启动时服务都开机自动启动。
chkconfig smb off 所有启动级别时开机,服务都不自动启动。 chkconfig --level 345 smb off 服务是在3,4,5启动级别时开机不自动启动。
level说明:
--level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
on和off开关,系统默认只对运行级3,4,5有效
6、如何从windows计算机访问linux通过smb设置的共享
windows计算机-》开始-》运行,输入\\ip地址,举例如下:
\\10.103.1.89
若是能够访问,直接会弹出窗口,提示输入用户名、密码(linux上通过smb添加的用户名、密码,非linux计算机的用户名、密码)。
若无法访问,可通过如下思路解决:
(1)、在linux上本机上,通过smbclient,如下命令
smbclient //172.16.130.89/request -U smbuser
是否能够访问,若不能,按照前面介绍解决;若不能,则尝试关闭linux计算机的防火墙,关闭后,应该能够访问。
操作linux防火墙相关命令:
查看防火墙服务状态
service iptables status
关闭防火墙
service iptables stop
重启防火墙
service iptables restart
设置开机不再自动启动防火墙,即开机默认防火墙关闭
chkconfig --level 345 iptables off
或者直接所有情况下都不开启防火墙
chkconfig iptables off
7、对linux通过smb共享的文件夹无写权限?
比如在linux上通过smb共享文件夹/home/request,访问者无写权限,是因为该文件夹没有赋予组或者其他用户的写权限。
ll /home/request
会出现-drmxr-xr-x...,这说明只有linux的root用户有写权限,其他用户和组无写权限。
解决:
chmod -R go+w /home/request
-R:表示对该文件夹下的子文件夹做同样的权限修改。
go+w:g,group;o:other;+w:添加write权限;