wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
#更改yum镜像源
1 服务器端操作
yum install -y nfs-utils #安装nfs和rpcbind
yum install -y rpcbind
systemctl status nfs-server #查看nfs-server的运行状态
systemctl status rpcbind #查看rpcbind的运行状态
firewall-cmd --add-service=nfs --permanent #将nfs-server添加到防火墙
firewall-cmd --add-service=rpc-bind --permanent #将rpc-bind添加到防火墙
firewall-cmd --reload #重新加载配置
vim /etc/exports #编辑配置文件
/share *(rw) #设置 /share目录为可读可写,允许任何主机访问,详解请见下面图片
图片来自中国MOOC大学
systemctl enable nfs-server rpcbind #将服务设为开机启动
systemctl start nfs-server rpc-bind #启动服务
2 客户端操作
showmount -e 服务器IP地址 #列出共享目录
mount IP地址:/share /mnt/dir1 #客户端进行挂载
yum install dhcp # 安装DHCP服务
vim /etc/dhcp/dhcpd.conf #编辑配置文件
subnet 192.168.1.0 netmask 255.255.255.0 { #//创建网络,设置网络地址和掩码
range 192.168.1.70 192.168.1.80; #//设置地址池
option domain-name-servers 180.76.76.76; #//默认DNS
option routers 192.168.1.1; #//默认网关
default-lease-time 86400; #//默认租期,单位是秒
}
host a{
#设置静态IP
hardware ethernet xx:xx:xx:xx:xx:xx ; #后面的xx:xx……是客户机的网卡mac地址
fixed-address 192.168.1.50; #设置客户机的静态IP地址
}
systemctl start dhcpd #启动DHCPD服务
systemctl stop firewalld #关闭防火墙
yum install vsftpd
firewall-cmd --add-port=21/tcp #添加21,20两个端口到防火墙(这样操作貌似有点多余)
firewall-cmd --add-port=21/udp
firewall-cmd --add-port=20/tcp
firewall-cmd --add-port=20/udp
firewall-cmd --add-service=ftp
setenforce 0 #暂时关闭SELinux
#执行命令getsebool -a | grep ftpd ,查看与vsftp有关的项
[root@localhost ftp]getsebool -a|grep ftpd
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
#————————————————
#其中,ftpd_anon_write和ftpd_full_access必须为on才能使vsftpd具有访问ftp根目录,以及文件传输等权限。
[root@localhost ftp]# setsebool -P ftpd_anon_write 1 #添加ftp匿名写权限
[root@localhost ftp]# setsebool -P ftpd_full-access 1 #添加ftp存取权限
#————————————————
#我们再重新恢复SELinux进入Enforcing模式。
setenforce 1 #重新开启SElinux
chmod 777 -R /var/ftp/pub #这个目录是匿名用户的目录,设置后有读写删除权限
chmod 后面的权限掩码(777)的含义如下
其为三位八进制数字,第一位代表所有者权限,第二位代表所属组权限,第三位代表其他权限
对于每一位八进制的掩码,可以看作是三位二进制的掩码,在这个二进制的掩码中,第一位代表读取权限,第二位代表写入权限,第三位代表执行权限
二进制掩码中,对应位上为1即代表允许的权限
如下图,对应的二进制掩码就是 111 110 101
对应的八进制是 7 6 5
[root@localhost ~] vim /etc/vsftpd/vsftpd.conf #用vim 编辑配置文件
anonymous_enable=YES #允许匿名访问
anon_umask=777 #设置匿名用户掩码777,允许读取写入和执行
anon_upload_enable=YES #允许匿名用户上载
anon_mkdir_write_enable=YES #允许匿名用户创建文件夹
anon_other_write_enable=YES #允许匿名用户删除文件夹
anon_world_readable_only=NO #这个我也不知道。。。。
no_anon_password=YES #禁止输入匿名用户密码,超级重要 超级重要 超级重要
#没有上面这一句就炸了,会进入登录死循环的
#其他保持默认
#anon_root = /var/ftp
local_enable=YES
write_enable=YES
local_umask=777
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
yum install httpd -y #yum 安装Apache
firewall-cmd --add-service=http #添加到防火墙
firewall-cmd --reload #重新加载防火墙配置
systemctl enable httpd #设置开机启动
/etc/httpd/conf #主配置文件目录,主配置文件里用include *.conf来包含从配置文件
/etc/httpd/conf.d #子配置目录
/etc/httpd/conf.modules.d #子配置目录
/var/log/httpd #httpd的日志存放目录
<RequireAll>
Require not ip 192.168.10.1#逐条扫描配置
Require all granted #此句不能省略,因为默认拒绝所有主机访问
<RequireAll>
AuthName "test" #名称可以任意设置
AuthType Basic #设置类型为基本类型
AuthUserFile "/htuwer" #设置用户文件,该文件用于存放可以访问HTTP的用户名和密码
<RequireAll>
Require valid-user#允许合法用户访问
<RequireAll>
执行以下命令创建可访问用户
htppasswd -c /htuser user1 #创建一个用户,并立即配置密码
Alias /user1 "/vdir"#带引号的为真实目录
<Directory "/vdir">
Require all granted
<Directory>
useradd use1#新建用户
passwd user1#设置用户密码
chmod 711 /home/user1#开放所有用户的执行权限
mkdir public_html#创建用于存放主页的文件夹,并将主页复制到这里
<VirtualHost *:80>#侦听80号端口,可以创建多个
DocumentRoot /var/www/html#设置虚拟主机网站子目录
ServerName 域名 #设置域名
</VirtualHost>#虚拟主机结束表示
<VirtualHost *:80>#第二个虚拟主机,第三台依次类推
DocumentRoot /var/www/html2
ServerName 域名 #设置域名
<Directory "/var/www/html2">
Require all granted
</Directory>
</VirtualHost>#虚拟主机结束表示
mkdir /var/www/html2#创建虚拟主机的页面保存目录
#复制主页文件到目录中
yum install php* #自动安装
systemctl restart httpd #重启httpd服务
[root@localhost ~]vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0 #描述网卡对应的设备别名
BOOTPROTO=static #设置网卡获得ip地址的方式,选项可以为为static,dhcp或bootp
BROADCAST=192.168.44.255 #对应的子网广播地址
HWADDR="00:0C:29:6B:2E:7B" #对应的网卡物理地址
IPADDR=192.168.44.137 #只有网卡设置成static时,才需要此字段
NETMASK=255.255.255.0 #网卡对应的网络掩码
NETWORK=192.168.44.0 #网卡对应的网络地址,也就是所属的网段
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
systemctl restart network
文件 | 作用 |
---|---|
/etc/network | 网络配置 |
/etc/hostname | 主机域名 |
/etc/yum.repos.d/ | yum源 |
/etc/passwd | |
/etc/shadow | |
/etc/group | – |
/etc/exports | NFS服务配置 |
/etc/dhcp/dhcpd.conf | DHCP服务器配置 |
/etc/httpd/conf/httpd.conf | Apache配置文件 |
/etc/sysconfig/network-scripts/ifcfg-eth0 | 网卡配置文件 |
/etc/vsftpd/vsftpd.conf | vsftpd配置文件 |
– | – |