CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp

http://blog.sina.com.cn/s/blog_459ced7a0102v2ms.html


[题记]CentOS7.0发布过后,发现改了很多新东西,防火墙从iptables改成了firewall,MySQL改成了MariaDB,service已经被systemctl取代,SELinux也有一部分小改动,作为一个“黑客”的我,迫不及待的去对http和ftp服务器技术hack一番(指的是成功驾驭,不是破坏啊),习惯上还是使用minimal版本快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器,在此之前minimal为正常安装的系统,未加入任何其他配置和安装,是最初环境,这一点至关重要。我们的配置目的是使授权用户通过账户登陆到指定目录(如/var/www/html)来上传、下载、修改、更新、删除相关文件。同时又保持SeLinux和firewall防火墙的工作状态,使其得以安全有效的运行。

 

******************************************************安装篇******************************************************

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第1张图片
Step 1:我选择了Test this media & installCentOS7,测试再安装,免得出问题麻烦

 

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第2张图片
Step2:至于你选什么语言和安装位置我就不管了,重要的是这个“网络和主机名(N)”的配置,我曾尝试过安装好再配置,大概有4~5个配置文件,每个有对错2种可能,那么你成功的概率就是1/16~1/25,所以还是在这里图形化配置就好,这里注意的是填写主机名(你可以默认localhost.hostname),开启Ethernet,打开IPv4设置,添加地址、子网掩码、网关、DNS服务器,请勿遗漏。填好之后保存,点左上角“完成”。

 

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第3张图片
然后我们就安装完成了,直接重启

 

****************************************************网卡配置篇****************************************************

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第4张图片
Step 3:重启过后选择第一项我们安装的系统,第二项是恢复系统,出问题时才选它。

 

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第5张图片
Step 4:用你添加的账户登陆进去,查看网卡配置是否正确。主要是以下配置——
编辑网络DNS,不编辑DNS,你只能通过IP才能yum,而不是通过域名

# vi /etc/resolv.conf
# (INSERT)nameserver 8.8.8.8

# (INSERT)表示按INSERT键然后输入后面的字符
# (ESC):wq

 

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第6张图片
Step 5:配置网络

# vi /etc/sysconfig/network
# (INSERT)NETWORKING=yes

# HOSTNAME=your hostname
# GATEWAY=gateway
# (ESC):wq

 

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第7张图片
查看网络信息,绿字active就是正确的

[root@svr ~]# systemctl status network.service

 

****************************************************配置服务器****************************************************

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第8张图片
Step 6:安装HTTP服务器和FTP服务器

# yum install httpd vsftpd


CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第9张图片
Step7:安装MariaDB客户端和服务端,MariaDB本质上还是MySQL,所有用法句法都一样

# yum install mariadb mariadb-server


CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第10张图片
Step8:安装php和相关模块,我选择了gd2、xml和mysql,注意这个php-mysql模块,它对应的就是MariaDB,php的版本是5.4.16

# yum install php php-gd php-xml php-mysql


CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第11张图片
Step 9:启动这些服务

# systemctl start vsftpd.service

# systemctl start httpd.service

# systemctl start mariadb.service

# 这里是mariadb,不是mysql


CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第12张图片
Step10:检查httpd.service、mariadb.service、vsftpd.service有没有enabled(开机自启动),没有就enable

# systemctl list-unit-files | grep enabled

#如果没有enabled,就像下面这样启动

#systemctl enable httpd

 

***************************************************配置授权FTP***************************************************

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第13张图片
Step11:在root组中加入一个htmler账户用来ftp到/var/www/html并给它添加密码

# useradd -g root -M -d /var/www/html -s /sbin/nologinhtmler

# passwd htmler

# 输入密码


CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第14张图片
Step 12:把/var/www/html的所有权给htmler.root

# chown -R htmler.root /var/www/html


CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第15张图片
Step 13:配置vsftpd,禁止匿名用户登陆

# vi /etc/vsftpd/vsftpd.conf

# (INSERT)anonymous_enable=YES 改为 anonymous_enable=NO

# (ESC):wq

 

***************************************************安全配置***************************************************

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第16张图片

Step14:配置防火墙和SELinux

#firewall-cmd --permanent --zone=public --add-service=ftp

#firewall-cmd --permanent --zone=public--add-service=http

#firewall-cmd --permanent --zone=public--add-service=https

# 重新载入

# firewall-cmd --reload

 

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第17张图片
Step 15:查找ftp相关的SELinuxbool值,给ftp访问放行

# getsebool -a | grep ftp

# setsebool -P ftpd_full_access on

# -P写入磁盘,不会重启消失,但耗时较长,耐心等待,这是最后一步了

 

***************************************************测试一下***************************************************

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第18张图片

Dreamweaver测试一下ftp,成功连接


CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第19张图片

编写一个phpinfo文件测试一下

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第20张图片
测试成功,verygood!

HTTP、FTP测试均已成功,而且我们添加的htmler也拥有了对这些文件的有效权限。如果你的网站程序需要某些777的权限,你也可以直接在Dreamweaver远端界面中通过FTP修改的。

**************************************************个性化界面**************************************************

修改环境变量PS1,写入/etc/profile或/etc/bashrc对全部用户生效;写入~/.bash_profile或~/.bashrc只对当前用户生效。在PS1中配置字符序列颜色的格式为:
\[\e[F;Bm\] 需要改变颜色的字符串 \[\e[0m\]
\[\e[F;Bm\]:开始颜色输入
\[\e[0m\]:关闭颜色输入
F:为字体颜色,编号30~37;
B:为背景色,编号40~47,当B为1时,将显示加亮加粗的文字。

颜色表


同一提示行中使用一种颜色:export PS1="\[\e[36;1m\][\u@\h \W]\\$\[\e[0m\]"

-------------------------------------------------

|       前景      |       背景      |       颜色      |

-------------------------------------------------

|       30      |       40      |       黑色      |

|       31      |       41      |       红色      |

|       32      |       42      |       绿色      |

|       33      |       43      |       黄色      |

|       34      |       44      |       蓝色      |

|       35      |       45      |       紫色      |

|       36      |       46      |       青色      |

|       37      |       47      |       白色      |

-------------------------------------------------

-----------------------------------------

|       代码      |       代码意义    |

-----------------------------------------

|       0       |       OFF,关闭颜色        |

|       1       |       高亮显示    |

|       4       |       显示下划线   |

|       5       |       闪烁显示    |

|       7       |       反白显示    |

|       8       |       颜色不可见   |

-----------------------------------------

CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器 linux vsftp_第21张图片
有了这个颜色提示,妈妈再也不担心你找不到上一行命令在哪里了。
同一提示行中使用几种颜色:export PS1="\[\e[34;1m\][\[\e[36;1m\]\u@\[\e[32;1m\]\h\[\e[31;1m\]\W\[\e[34;1m\]]\\$ \[\e[0m\]"

================================================================================================
祝你成功!


你可能感兴趣的:(linux)