当前位置: > Linux教程 > 系统运维 >

阿里云服务器安装调试记录

时间:2015-06-20 12:55来源:linux.it.net.cn 作者:IT

服务器操作系统:CentOS7

一、挂载数据盘

如果没有买额外的数据盘,就跳过这步吧。不过估计很少有人不买吧。

阿里云有完整的挂载教程,直接照做就可以了,不再赘述

适用系统:Linux(Redhat , CentOS,Debian,Ubuntu)

*  Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作。

下面的操作将会把数据盘划分为一个分区来使用。

 
1、查看数据盘
在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。如下图:


友情提示:若您执行fdisk -l命令,发现没有 /dev/xvdb 表明您的云服务无数据盘,那么您无需进行挂载,此时该教程对您不适用

 


2、 对数据盘进行分区
执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区;
根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。

 


3、 查看新的分区
使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了。




 


 4、格式化新分区
以ext3为例:使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。
(也可自主决定选用其它文件格式,如ext4等)

 

 

 


 5、添加分区信息
使用“echo '/dev/xvdb1  /mnt ext3    defaults    0  0' >> /etc/fstab”(不含引号)命令写入新分区信息。
然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。
注:ubuntu12.04不支持barrier,所以正确写法是:echo '/dev/xvdb1  /mnt ext3    barrier=0  0  0' >> /etc/fstab
*  如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,可以修改以上命令中的/mnt部分


 
6、挂载新分区
使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。


需要说明的是,如果你想挂载在自己的某个目录下,那么,先mkdir新建好目录,才能使用mount -a正确挂载

 

二、配置防火墙

虽然阿里方面声称他们有无敌安全防火墙--云盾,但是自己的服务器不弄个防火墙,就绝对不会踏实。

CentOS7默认的防火墙不是iptables,而是firewalle.

安装iptable iptable-service

 
#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables 
#安装iptables-services
yum install iptables-services
 

禁用/停止自带的firewalld服务

#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld

设置现有规则

 
#查看iptables现有规则
iptables -L -n
#先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
#清空所有默认规则
iptables -F
#清空所有自定义规则
iptables -X
#所有计数器归0
iptables -Z
#允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
#开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开放80端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
#其他入站一律丢弃
iptables -P INPUT DROP
#所有出站一律绿灯
iptables -P OUTPUT ACCEPT
#所有转发一律丢弃
iptables -P FORWARD DROP
 

其他规则设定

 
#如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
#过滤所有非以上规则的请求
iptables -P INPUT DROP
#要封停一个IP,使用下面这条命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
#要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
 

保存规则设定

#保存上述规则
service iptables save

开启iptables服务

 
#注册iptables服务
#相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service
 

 

解决vsftpd在iptables开启后,无法使用被动模式的问题

1.首先在/etc/sysconfig/iptables-config中修改或者添加以下内容

#添加以下内容,注意顺序不能调换
IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp"

2.重新设置iptables设置

iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT

 

以下为完整设置脚本

#!/bin/sh
iptables -P INPUT ACCEPT
iptables
-F
iptables
-X
iptables
-Z
iptables
-A INPUT -i lo -j ACCEPT
iptables
-A INPUT -p tcp --dport 22 -j ACCEPT
iptables
-A INPUT -p tcp --dport 21 -j ACCEPT
iptables
-A INPUT -p tcp --dport 80 -j ACCEPT
iptables
-A INPUT -p tcp --dport 443 -j ACCEPT
iptables
-A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables
-P INPUT DROP
iptables
-P OUTPUT ACCEPT
iptables
-P FORWARD DROP
service iptables save
systemctl restart iptables.service

 

三、新建用户

为什么好说的,总不能事事都麻烦root大神吧!人家很忙的。

#不要用useradd,那个不会自动建立用户目录
adduser www
#设置www用户的密码
passwd www

 

四、安装配置FTP服务器 vsftpd

Linux下安装vsftpd

一.安装vsftpd及相关依赖包

#vsftpd安装程序
yum install vsftpd
#vsftpd虚拟登陆账户必要依赖包
yum install pam* db4*

安装完之后,vsftpd默认在/etc/vsftpd目录下 

 

二.修改vsftpd.conf (/etc/vsftpd/vsftpd.conf)

#建立相关文件和文件夹
touch /etc/vsftpd/chroot_list
mkdir /etc/vsftpd/ftplogin
#修改vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
 
#原有配置的修改
anonymous_enable=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vvsftpd    
#新增配置
guest_enable=YES
guest_username=www
user_config_dir=/etc/vsftpd/ftplogin
 

完整配置如下(伸手党福音),直接覆盖即可,千万不要忘记备份原文件

 
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=www
user_config_dir=/etc/vsftpd/ftplogin
pam_service_name=vvsftpd
 

 

三.建立FTP虚拟登陆账户

1.创建密码明文文件

touch /etc/vsftpd/vuser
vi /etc/vsftpd/vuser

格式为:

用户名1
用户名1密码
用户名2
用户名2密码
...........

2.生成pam校验数据库文件

db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db

为了安全期间,建议在生成校验数据库之后,删除vuser文件

或者修改vuser权限,不让别的用户读(root大神如果被攻陷,那就没什么好说的了)

chmod 600 /etc/vsftpd/vuser

3.添加新的pam service

touch /etc/pam.d/vvsftpd
vim /etc/pam.d/vvsftpd

 内容如下(注意如果是32位系统,那就用32位的校验,本例是64位的):

#%PAM-1.0
#auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
#account required /lib/security/pam_userdb.so db=/etc/vsftpd/login
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

4.给FTP虚拟用户赋权(增加权限配置文件)

配置文件存放路径,就是conf中的user_config_dir,本文就是/etc/vsftpd/ftplogin,文件名必须和用户名相同

文件配置详解,默认路径需要提前用mkdir建立好,目录拥有者设置为conf中的guest_username,本文为www

 
#有上传/下载/修改权限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/u01/ftpb/upload/

#只有上传/修改权限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/u01/ftpb/upload/

#只有下载权限
anon_world_readable_only=NO
local_root=/u01/ftpb/upload/

 

四、安装配置WEB服务器 ngnix

Linux下安装nginx

一.安装依赖包

每次安装软件都必须,默认会少几个包,必须安装

yum install autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc

 

二.下载nginx和相关模块

nginx:可以去官网 http://nginx.org/ 下载最新版

wget http://nginx.org/download/nginx-1.7.8.tar.gz

 缓存模块ngx_cache_purge:可以去 http://labs.frickle.com/nginx_ngx_cache_purge/ 下载最新版本

wget http://labs.frickle.com/files/ngx_cache_purge-2.2.tar.gz
#解压
tar zxvf nginx-1.7.8.tar.gz
tar zxvf ngx_cache_purge-2.2.tar.gz

 

三.编译安装 

 
./configure --user=www --group=www \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-mail \
--with-mail_ssl_module \
--add-module=../ngx_cache_purge-2.2
make & make install
 

安装好之后,默认的nginx根目录为 /usr/local/nginx  

 

四.缓存配置例子

nginx配置的例子很多,就不赘述,直接问度娘吧.

举个使用缓存的例子:

proxy_cache_path   /tmp/cache   keys_zone=tmpcache:10m;
location / {
  proxy_pass        http://127.0.0.1:8000;
  proxy_cache        tmpcache;    proxy_cache_key        $uri$is_args$args;
  proxy_cache_purge    PURGE from 127.0.0.1;
}



(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容