04

linux服务器管理–防火墙设置命令iptables

如果我们想新开一个端口给别人访问,我们就需要设置防火墙,比如我想开3838端口给shiny程序使用,下面我重点讲解这个实例,其余开放端口,关闭端口大家继续学习就好。
如果你使用的是ssh远程,而又不能直接操作本机,那么建议你慎重,慎重,再慎重!(一旦你把22端口给搞死了,你就无法登陆你的服务器了!!!)
通过iptables我们可以为我们的Linux服务器配置有动态的防火墙,能够指定并记住为发送或接收信息包所建立的连接的状态,是一套用来设置、维护和检查Linux内核的IP包过滤规则的命令包。
首先配置好防火墙 sudo vim /etc/sysconfig/iptables 让该端口可以被访问
3
然后进去修改即可,上面红圈出来的那句话就是我添加的,意思是开放3838端口给用户使用。
修改之后并不是防火墙规则马上生效,还需要一个步骤,我搜索了一些资料,里面是这样讲的,我发现它的教程太旧了
这里很多人会想到/etc/rc.d/init.d/iptables save指令
但是一旦你这么干了你刚才的修改内容就白做了。。。
只修改/etc/sysconfig/iptables 使其生效的办法是修改好后先service iptables restart
然后才调用/etc/rc.d/init.d/iptables save
因为/etc/rc.d/init.d/iptables save会在iptables服务启动时重新加载,要是在重启之前直接先调用了/etc/rc.d/init.d/iptables save那么你的/etc/sysconfig/iptables 配置就回滚到上次启动服务的配置了,这点必须注意!!!

因为我是新的系统(RedHat 7, Ubuntu 15.04+, SLES 12+) ,结合我对该教程的理解。所以我用的是

sudo systemctl restart iptables  命令,果然,马上3838端口就可以被访问了,我的shiny程序也可以完整的使用啦。
再简单解释一下刚才修改的防火墙配置文件 /etc/sysconfig/iptables 的那句话的意义:
  1. -A:指定链名
  2. -p:指定协议类型
  3. -d:指定目标地址
  4. --dport:指定目标端口(destination port 目的端口)
  5. --sport:指定源端口(source port 源端口)
  6. -j:指定动作类型
我还查了好多其它资料,开始好像暂时用不着,就先不学习了,但是那些资料大多太陈旧了,请睁大你的慧眼,消化了它人的指导,再来自己运行。
也可以不去打开那个文件进行修改,而且命令行形式一条条记录的添加
  1. 例如我给SSH加放行的语句:
  2. 添加input记录: iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  3. 添加output记录: iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
  4. 最后注意需要再执行一下 /etc/init.d/iptables save,这样这两条语句就保存到刚才那个/etc/sysconfig/iptables 文件中了。
删除端口就非常简单了:
可能有时候需要删除规则,最简单就是修改一下/etc/sysconfig/iptables然后service iptables restart,最后/etc/rc.d/init.d/iptables save即可。
还可以彻底禁止某IP访问:
  1. #屏蔽单个IP的命令是
  2. iptables -I INPUT -s 123.45.6.7 -j DROP
  3. #封整个段即从123.0.0.1到123.255.255.254的命令
  4. iptables -I INPUT -s 123.0.0.0/8 -j DROP
  5. #封IP段即从123.45.0.1到123.45.255.254的命令
  6. iptables -I INPUT -s 124.45.0.0/16 -j DROP
  7. #封IP段即从123.45.6.1到123.45.6.254的命令是
  8. iptables -I INPUT -s 123.45.6.0/24 -j DROP
  9. 指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加 载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可
在linux关闭防火墙可以这样:
1. 重启系统生效
开启: chkconfig iptables on
关闭: chkconfig iptables off2. 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop

04

linux服务器管理–系统服务设置命令systemctl

因为买过一个超算云服务器,所以前面我讲过Ubuntu服务器管理系列知识,正好最近要搞了个阿里云,用来做shiny服务器,发现服务器管理居然进化了好多,以前的知识都过时了,再记录一笔吧,真的是学习如逆水行舟,不进则退呀!

我的阿里云服务器版本是CentOS 6.5.,属于(RedHat 7, Ubuntu 15.04+, SLES 12+)  系列,是目前最新版本的服务器管理,所以大家重点是记住这个systemctl 即可:

Continue reading

01

ubuntu服务器解决方案第十讲–虚拟机屏幕及联网设置

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。
ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

很多人可能并没有自己的服务器,那么就只能通过虚拟机来试试ubuntu啦

我想起来我以前玩虚拟机的时候遇到过一些困难,记录了一些,分享给大家,

虚拟机vmare全屏

vmare下安装了ubuntu, Ctrl+Alt+Enter将虚拟机全屏显示后,系统只能占据屏幕的一部分,

百度之,原因五花八门,解决方法各式各样, 依个人之间就是系统显示率的问题嘛!

Ctrl+Alt+Enter后,虚拟机倒是全屏了,但因为linux的显示率太小,所以只能占据屏幕的一部分!

故调整linux显示率即可:

右上角->系统设置-display>显示,将分辨率调整成显示器的分辨率就ok了!

注意:

分辨率大于显示器建议分辨率,则系统只能显示一部分,右侧或底部会出现滚动条,

而当分辨率设置太小时,当然就不能占据整个屏幕了!

调整分辨率后,Ctrl+Alt+Enter将虚拟机全屏显示,ok,linux也全屏了!

虚拟机vmare联网

把你虚拟机中操作系统的“本地连接”也设置为自动获得IP、自动获得DNS服务器。

本例中:

System -> Preferences -> Network Connections -> wired -> Add.

然后填写connection name, 勾选Connect automatically,

其他的选择默认即可

最后登录网页查看是否可以上网,

PS: 要确保VMware 可以上网,具体操作如下:

开始---设置--控制面板---管理工具---服务

确保 VMware DHCP Service 和VMware NAT Service 服务已经启动

01

ubuntu服务器解决方案第八讲–网络服务器配置lamp

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。
ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

主流的网络服务器配置就是linux+apache+mysql+php咯,简称LAMP

在ubuntu系统里面安装这个是非常easy的

sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql

由于LAMP大部分操作与/var/www目录相关,为了方便,修改该目录的权限为普通用户可访问。

sudo chmod 777 /var/www/

  1. phpmyadmin 安装

sudo apt-get install phpmyadmin

在安装过程中会要求选择Web server:apache2或lighttpd,选择apache2,按tab键然后确定。然后会要求输入设置的Mysql数据库密码连接密码 Password of the database's administrative user。

然后将phpmyadmin与apache2建立连接,以我的为例:www目录在/var/www,phpmyadmin在/usr/share /phpmyadmin目录,所以就用命令:sudo ln -s /usr/share/phpmyadmin /var/www 建立连接。

 

phpmyadmin测试:在浏览器地址栏中打开http://localhost/phpmyadmin。

  1. Apache 配置

(1)启用 mod_rewrite 模块

终端命令:sudo a2enmod rewrite

(2)重启Apache服务器:sudo /etc/init.d/apache2 restart

Apache重启后可以测试一下,在/var/www目录下新建文件test.php,写入代码: 保存,在地址栏输入http://127.0.0.1/test.php 或 http://localhost/test.php ,如果正确出现了Mysql已经正确配置,表明Apache和mysql都正常了。(记得重启Apache服务器后再测试)。

 

  1. 浏览器PHP中文乱码问题

上面在FireFox浏览器中打开test.php测试时,如果出现了中文乱码,则是默认语言设置问题,解决方法如下:

打开apache配置文件: udo gedit /etc/apache2/apache2.conf,在最后面加上:AddDefaultCharset UTF-8,如果还是乱码的,再将UTF-8改用gb2312。

重启Apache:sudo /etc/init.d/apache2 restart 再刷新test.php 中文乱码没有了

01

ubuntu服务器解决方案第七讲-perl安装模块

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。
ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

前面我简单写了一个perl的cpan安装模块,但是前些天突然发现有些perl模块在cpan里面找不到,所以又总结了一下不同的perl模块安装方法。

一 Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。

第一种方法是从CPAN上下载您需要的模块,手工编译、安装。第二种方法是使用CPAN模块自动完成下载、编译、安装的全过程。

A、手工安装的步骤:

从 CPAN(http://search.cpan.org/)下载了Net-Server模块0.97版的压缩文件Net-Server-0.97.tar.gz,假设放在/usr/local/src/下。

cd /usr/local/src

tar xvzf Net-Server-0.97.tar.gz

cd Net-Server-0.97

perl Makefile.PL

make test

如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。

安装模块前,先要确保您对 perl5 安装目录有可写权限(通常以 su 命令获得),执行:

make install

现在,试试 DBI 模块吧。如果下面的命令没有给出任何输出,那就没问题。

$>perl -MNet::Server -e1

上述步骤适合于 Linux/Unix下绝大多数的Perl模块。可能还有少数模块的安装方法略有差别,所以最好先看看安装目录里的 README 或 INSTALL。

有的时候如果是build.pl的需要以下安装步骤:(需要Module::Build模块支持)

perl Build.PL

./Build

./Build test

./Build install

B、使用CPAN模块自动安装方法一:

安装前需要先联上网,并且您需要取得root权限。

perl -MCPAN -e shell

初次运行CPAN时需要做一些设置,如果您的机器是直接与因特网相联(拨号上网、专线,etc.),那么一路回车就行了,只需要在最后一步选一个离您最近的 CPAN 镜像站点。例如我选的是位于国内的http://www.cnblogs.com/itech/admin/ftp://www.perl87.cn/CPAN/ 。否则,如果您的机器位于防火墙之后,还需要设置ftp代理或http代理。下面是常用 cpan 命令。

cpan>help

cpan>m

cpan>install Net::Server

cpan>quit

C、使用CPAN模块自动安装方法二:

cpan -i 模块名

例如:cpan -i Net::Server

先下载tar.gz ...然後手动安装..default 安装到/usr/local/目录下..

然後修改/usr/bin/perl的symbolic link到/usr/local/bin/perl

01

ubuntu服务器解决方案第六讲-添加环境变量

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。
ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

在我的第一讲里面,对JAVA的安装,其实就需要添加环境变量,大家可以回头看看!

添加PATH环境变量,第1种方法:

[root@lx_web_s1 ~]# export PATH=/usr/local/webserver/mysql/bin:$PATH

再次查看:

[root@lx_web_s1 ~]# echo $PATH

/usr/local/webserver/mysql/bin:/usr/local/webserver/mysql/bin/:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

说明添加PATH成功。

上述方法的PATH 在终端关闭 后就会消失。所以还是建议通过编辑/etc/profile来改PATH,也可以修改家目录下的.bashrc(即:~/.bashrc)。

第2种方法:需要管理员权限。

# vim /etc/profile

在最后,添加:

export PATH="/usr/local/webserver/mysql/bin:$PATH"

保存,退出,然后运行:

#source /etc/profile,不报错则成功。

01

ubuntu服务器解决方案第五讲-配置ssh供远程登录

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。
ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

同样,这个ssh也非常简单

sudo apt-get install openssh-server

SSH分客户端openssh-client和openssh-server

如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo

apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server

sudo apt-get install openssh-server

然后确认sshserver是否启动了:

ps -e |grep ssh

如果看到sshd那说明ssh-server已经启动了。

如果没有则可以这样启动:sudo /etc/init.d/ssh start 或者 service ssh start

ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。

然后重启SSH服务:

sudo

/etc/init.d/ssh stop

sudo /etc/init.d/ssh start

然后使用以下方式登陆SSH:

ssh username@192.168.1.112 username为192.168.1.112 机器上的用户,需要输入密码。

我给七八个虚拟机都配置成功了,但是呢,偏偏别人的一个我始终不能解决,感觉linux里面的学问还是蛮多的

01

ubuntu服务器解决方案第四讲-输入法-中文

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。
ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

这个主要是针对有界面的服务器来说的,不是我们通常意义的ssh登陆,一般ssh登陆的可以把中文复制张贴进去即可。

Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。

在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。

安装输入法的第一步,是安装语言包。我们选择System Settings-->Language Support-->Install/Remove Languages,这里面可以选择简体中文

输入密码后,系统会安装简体中文语言包。

第二步,安装完毕后切换到终端,安装IBus框架,在终端输入以下命令:

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

启动IBus框架,在终端输入:

im-switch -s ibus

安装完IBus框架后注销系统,保证更改立即生效。

第三步:安装拼音引擎

有下面几种常用选择:

IBus拼音:sudo apt-get install ibus-pinyin

IBUS五笔:sudo apt-get install ibus-table-wubi

谷歌拼音输入法:sudo apt-get install ibus-googlepinyin

Sun拼音输入法:sudo apt-get install ibus-sunpinyin

第四步:设置IBus框架

终端输入ibus-setup 此时,IBus Preference设置被打开。我们在Input Method选项卡中,选择自己喜欢的输入方式,并配置自己喜欢的快捷键即可。

第五步:通常情况下,IBus图标(一个小键盘)会出现在桌面右上角的任务栏中。有时候这个图标会自行消失,可使用以下命令,找回消失的IBus图标:

ibus-daemon –drx

01

ubuntu服务器解决方案第三讲-perl最新版的安装

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。
ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

理论上perl是不需要更新,但是我就不巧碰到了这个情况,所以也记录一下

linux下升级系统默认安装的perl版本,不建议先rm

先下载tar.gz ...然後手动安装..default 安装到/usr/local/目录下..

然後修改/usr/bin/perl的symbolic link到/usr/local/bin/perl

下载方式不用说了吧,各显神通,笔者习惯用wget.

所以wget[url]http://www.cpan.org/src/perl-5.10.0.tar.gz[/url] .现在最新是5.20

下载完以后解压安装

#tar zxvf perl-5.10.0.tar.gz

#cd perl-5.10.0

#./Configure -des -Dprefix=/usr/local/perl

参数-Dprefix指定安装目录为/usr/local/perl

#make

#make test

#make install

如果这个过程没有错误的话,那么恭喜你安装完成了.是不是很简单?

接下来替换系统原有的perl,有最新的了咱就用嘛.

#mv /usr/bin/perl/ usr/bin/perl.bak

#ln -s /usr/local/perl/bin/perl/ usr/bin/perl

#perl –v

然后就可以了用它来安装一些其它你需要的perl模块了

#perl -MCPAN-e shell

第一次执行的话,会提示安装cpan并要求连接网络下载最新的模块列表.然后就可以安装东西了

cpan[1]> install DBI

01

ubuntu服务器解决方案第二讲-R程序包最新版的安装

发现自己搞服务器遇到的困难还是蛮多的,所以记录了一下,给菜鸟们指个路。

ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

首先,如果你的服务器里面有旧的R,那么删除Linux Ubuntu系统中原有的R软件包,代码如下:

sudo apt-get autoremove r-base-core  # 删除系统中原有的R软件包

接下来,找到一个Ubuntu的软件源镜像(http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu/ ),Linux Ubuntu 12.04对应的名字是precise,

进入到precise/目录,找到r-base-core相关的文件,发现有多个R的版本。把这个软件源,增加到apt的sources.list文件中,代码如下:

deb http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu precise/

但是如果是ubuntu14.04,那么就应该是

deb http://mirror.ustc.edu.cn/CRAN/bin/linux/ubuntu/ trusty/

具体说明见R的详细介绍,可能有些人看到这个的时候ubuntu又更新换代了

http://cran.rstudio.com/

To obtain the latest R packages, add an entry like

   deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu utopic/

or

   deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu trusty/

or

   deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu precise/

or

   deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu lucid/

在/etc/apt/sources.list文件最下面,新加一行

~ sudo apt-get update  # 更新源

~ sudo apt-get install r-base-core  # 再次安装R语言软件包

~ R –version  # 检查R的版本

这时我们就安装了最新的R语言版本—3.0.3版。

require(ggplot2)

Loading required package: ggplot2

Failed with error: ‘package ‘ggplot2’ was built before R 3.0.0: please re-install it’

这个失败原因是怎么回事?R 3.0.0 的问题吗?怎么解决?

R 2.x 升级 3.x 需要重新(编译)安装所有包:

update.packages(checkBuilt = TRUE, ask = FALSE)

当然如果你不是在R里面用install.package来安装包的话

你还需要

sudo apt-get install r-base-dev
这样你才能从源代码编译R的包

但是如果你导入的R源被你的服务器拒绝,你就惨了
The following signatures couldn't be verified because the public key is not

以下签名不能因为公钥未验证

01

ubuntu服务器解决方案第一讲-java安装

ubuntu对生信菜鸟来说是最好用的linux服务器,没有之一,因为它有apt-get。

1、JDK官网上http://www.oracle.com/technetwork/java/javase/downloads/index.html选择:

但是,如果你的服务器是64位的,请不要选择i586,选择你自己的机器对应的!

2、将打开终端,建立目录:

Sudo mkdir /usr/lib/java

3、将下载的 jdk-7u3-linux-i586.tar.gz移到这个文件夹下面并进行解压,改名字:

sudo mv jdk-7u3-linux-i586.tar.gz /usr/lib/java

sudo tar –xvf jdk-7u3-linux-i586.tar.gz

mv jdk1.7.0_03java-7-sun

4、修改环境变量:

在终端输入:vim /etc/profile

然后添加以下代码:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_25

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

保存之后,再运行下面命令更新电脑的配置文件

source /etc/profile  这个千万要记得!!!!

5、在终端中输入 java –version,显示:

jeydragon@jeydragon-VirtualBox:~$ java -version

java version "1.7.0_03"

Java(TM) SE Runtime Environment (build 1.7.0_03-b04)

Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode)

表示安装成功

30

云服务器试用报告

刚买了一个空的云服务器,所以就试用体验了一下!

一.硬盘容量,系统盘很小,就30个G,但是有一个1T的空盘,自己格式化安装并挂载即可。

云服务器试用报告53

 

二.内存状况,11G

云服务器试用报告67

三。Cup数量,12核

 

云服务器试用报告79

四.磁盘文件状况

云服务器试用报告90

 

五.开通其它账号

adduser

六.服务器其它信息

云服务器试用报告119

 

七.测试下载速度

云服务器试用报告130

 

八.磁盘分区管理

 

首先看到的是32.2GB的系统盘,是标示符是xvda盘,被分成了三个区

云服务器试用报告141

然后是一个1T的硬盘,需要分区然后挂载

云服务器试用报告199

我分区后,分割成两个盘,一个给各个用户,还有一个放公共数据

apt-get install nfs-common

mkfs -t ext4 /dev/xvdd

mkfs.ext4 /dev/xvdd1

mount -t ext4 /dev/xvdd1 /home/

mount -t ext4 /dev/xvdd2  /data

云服务器试用报告366

 

九.脚本环境

This is perl 5, version 18, subversion 2 (v5.18.2)

/usr/lib/python2.7/site.pyc matches /usr/lib/python2.7/site.py

十.库文件状况

apt-get install unzip

apt-get install make

apt-get install gcc

十一.软件安装状况

云服务器试用报告570

 

常用生物信息学软件都可以自己安装,并且可以使用。