阿里云服务器安装调试记录
时间: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
以下为完整设置脚本
三、新建用户
为什么好说的,总不能事事都麻烦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)
服务器操作系统: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
以下为完整设置脚本
三、新建用户 为什么好说的,总不能事事都麻烦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; } |