> CentOS > CentOS服务器 > 环境配置 >

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

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

 

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

CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 1:我选择了Test this media & install CentOS7,测试再安装,免得出问题麻烦

 

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

 

CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
然后我们就安装完成了,直接重启

 

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

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

 

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

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

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

 

CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 5:配置网络

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

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

 

CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
查看网络信息,绿字active就是正确的

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

 

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

CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 6:安装HTTP服务器和FTP服务器

# yum install httpd vsftpd


CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 7:安装MariaDB客户端和服务端,MariaDB本质上还是MySQL,所有用法句法都一样

# yum install mariadb mariadb-server


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

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


CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 9:启动这些服务

# system start vsftpd.service

# system start httpd.service

# system start mariadb.service

# 这里是mariadb,不是mysql


CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 10:检查httpd.service、mariadb.service、vsftpd.service有没有enabled(开机自启动),没有就enable

# systemctl list-unit-files | grep enabled

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

#systemctl enable httpd

 

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

CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 11:在root组中加入一个htmler账户用来ftp到/var/www/html并给它添加密码

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

# passwd htmler

# 输入密码


CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 12:把/var/www/html的所有权给htmler.root

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


CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 13:配置vsftpd,禁止匿名用户登陆

# vi /etc/vsftpd/vsftpd.conf

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

# (ESC):wq

 

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

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

Step 14:配置防火墙和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 <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
Step 15:查找ftp相关的SELinux bool值,给ftp访问放行

# getsebool -a | grep ftp

# setsebool -P ftpd_full_access on

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

 

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

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

Dreamweaver测试一下ftp,成功连接


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

编写一个phpinfo文件测试一下

CentOS <wbr>7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
测试成功,very good!

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

(责任编辑:IT)