CentOS 7搭建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 7搭建HTTP服务及FTP服务器
Step 1:我选择了Test this media & install CentOS7,测试再安装,免得出问题麻烦

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

CentOS 7搭建HTTP服务及FTP服务器
然后我们就安装完成了,直接重启

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

CentOS 7搭建HTTP服务及FTP服务器
Step 3:重启过后选择第一项我们安装的系统,第二项是恢复系统,出问题时才选它。

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

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

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

CentOS 7搭建HTTP服务及FTP服务器
Step 5:配置网络

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

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

CentOS 7搭建HTTP服务及FTP服务器
查看网络信息,绿字active就是正确的

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

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

CentOS 7搭建HTTP服务及FTP服务器
Step 6:安装HTTP服务器和FTP服务器

# yum install httpd vsftpd
CentOS 7搭建HTTP服务及FTP服务器
Step 7:安装MariaDB客户端和服务端,MariaDB本质上还是MySQL,所有用法句法都一样

# yum install mariadb mariadb-server
CentOS 7搭建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 7搭建HTTP服务及FTP服务器
Step 9:启动这些服务

# systemctl start vsftpd.service

# systemctl start httpd.service

# systemctl start mariadb.service

# 这里是mariadb,不是mysql
CentOS 7搭建HTTP服务及FTP服务器
Step 10:检查httpd.service、mariadb.service、vsftpd.service有没有enabled(开机自启动),没有就enable

# systemctl list-unit-files | grep enabled

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

#systemctl enable httpd

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

CentOS 7搭建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 7搭建HTTP服务及FTP服务器
Step 12:把/var/www/html的所有权给htmler.root

# chown -R htmler.root /var/www/html
CentOS 7搭建HTTP服务及FTP服务器
Step 13:配置vsftpd,禁止匿名用户登陆

# vi /etc/vsftpd/vsftpd.conf

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

# (ESC):wq

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

CentOS 7搭建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 7搭建HTTP服务及FTP服务器
Step 15:查找ftp相关的SELinux bool值,给ftp访问放行

# getsebool -a | grep ftp

# setsebool -P ftpd_full_access on

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

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

CentOS 7搭建HTTP服务及FTP服务器

Dreamweaver测试一下ftp,成功连接


CentOS 7搭建HTTP服务及FTP服务器

编写一个phpinfo文件测试一下

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

  • 版权声明: 本文源自互联网,由整理发表,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请自行核实相关内容,如果侵犯,请及时通知我们,我们将在第一时间删除; 于10个月前发布,共 3870字。

发表评论

您必须 登录 才能发表留言!