CentOS 7.0快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
时间:2015-09-06 11:10 来源:linux.it.net.cn 作者:IT
CentOS 7.0发布过后,发现改了很多新东西,防火墙从iptables改成了firewall,MySQL改成了MariaDB,service已经被systemctl取代,SELinux也有一部分小改动,作为一个“黑客”的我,迫不及待的去对http和ftp服务器技术hack一番(指的是成功驾驭,不是破坏啊),习惯上还是使用minimal版本快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器,在此之前minimal为正常安装的系统,未加入任何其他配置和安装,是最初环境,这一点至关重要。我们的配置目的是使授权用户通过账户登陆到指定目录(如/var/www/html)来上传、下载、修改、更新、删除相关文件。同时又保持SeLinux和firewall防火墙的工作状态,使其得以安全有效的运行。
******************************************************安装篇******************************************************
Step 1:我选择了Test this media & install CentOS7,测试再安装,免得出问题麻烦
Step 2:至于你选什么语言和安装位置我就不管了,重要的是这个“网络和主机名(N)”的配置,我曾尝试过安装好再配置,大概有4~5个配置文件,每个有对错2种可能,那么你成功的概率就是1/16~1/25,所以还是在这里图形化配置就好,这里注意的是填写主机名(你可以默认localhost.hostname),开启Ethernet,打开IPv4设置,添加地址、子网掩码、网关、DNS服务器,请勿遗漏。填好之后保存,点左上角“完成”。
然后我们就安装完成了,直接重启
****************************************************网卡配置篇****************************************************
Step 3:重启过后选择第一项我们安装的系统,第二项是恢复系统,出问题时才选它。
Step 4:用你添加的账户登陆进去,查看网卡配置是否正确。主要是以下配置——
编辑网络DNS,不编辑DNS,你只能通过IP才能yum,而不是通过域名
# vi /etc/resolv.conf
# (INSERT)nameserver 8.8.8.8
# (INSERT)表示按INSERT键然后输入后面的字符
# (ESC):wq
Step 5:配置网络
# vi /etc/sysconfig/network
# (INSERT)NETWORKING=yes
# HOSTNAME=your hostname
# GATEWAY=gateway
# (ESC):wq
查看网络信息,绿字active就是正确的
[root@svr ~]# systemctl status network.service
****************************************************配置服务器****************************************************
Step 6:安装HTTP服务器和FTP服务器
# yum install httpd vsftpd
Step 7:安装MariaDB客户端和服务端,MariaDB本质上还是MySQL,所有用法句法都一样
# yum install mariadb mariadb-server
Step 8:安装php和相关模块,我选择了gd2、xml和mysql,注意这个php-mysql模块,它对应的就是MariaDB,php的版本是5.4.16
# yum install php php-gd php-xml php-mysql
Step 9:启动这些服务
# system start vsftpd.service
# system start httpd.service
# system start mariadb.service
# 这里是mariadb,不是mysql
Step 10:检查httpd.service、mariadb.service、vsftpd.service有没有enabled(开机自启动),没有就enable
# systemctl list-unit-files | grep enabled
#如果没有enabled,就像下面这样启动
#systemctl enable httpd
***************************************************配置授权FTP***************************************************
Step 11:在root组中加入一个htmler账户用来ftp到/var/www/html并给它添加密码
# useradd -g root -M -d /var/www/html -s /sbin/nologin htmler
# passwd htmler
# 输入密码
Step 12:把/var/www/html的所有权给htmler.root
# chown -R htmler.root /var/www/html
Step 13:配置vsftpd,禁止匿名用户登陆
# vi /etc/vsftpd/vsftpd.conf
# (INSERT)anonymous_enable=YES 改为 anonymous_enable=NO
# (ESC):wq
***************************************************安全配置***************************************************
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
Step 15:查找ftp相关的SELinux bool值,给ftp访问放行
# getsebool -a | grep ftp
# setsebool -P ftpd_full_access on
# -P写入磁盘,不会重启消失,但耗时较长,耐心等待,这是最后一步了
***************************************************测试一下***************************************************
Dreamweaver测试一下ftp,成功连接
编写一个phpinfo文件测试一下
测试成功,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 | 颜色不可见 |
-----------------------------------------
有了这个颜色提示,妈妈再也不担心你找不到上一行命令在哪里了。
同一提示行中使用几种颜色:export PS1="\[\e[34;1m\][\[\e[36;1m\]\u@\[\e[32;1m\]\h \[\e[31;1m\]\W\[\e[34;1m\]]\\$ \[\e[0m\]"
(责任编辑:IT)
CentOS 7.0发布过后,发现改了很多新东西,防火墙从iptables改成了firewall,MySQL改成了MariaDB,service已经被systemctl取代,SELinux也有一部分小改动,作为一个“黑客”的我,迫不及待的去对http和ftp服务器技术hack一番(指的是成功驾驭,不是破坏啊),习惯上还是使用minimal版本快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器,在此之前minimal为正常安装的系统,未加入任何其他配置和安装,是最初环境,这一点至关重要。我们的配置目的是使授权用户通过账户登陆到指定目录(如/var/www/html)来上传、下载、修改、更新、删除相关文件。同时又保持SeLinux和firewall防火墙的工作状态,使其得以安全有效的运行。
******************************************************安装篇******************************************************
****************************************************网卡配置篇****************************************************
# vi /etc/resolv.conf
# (INSERT)表示按INSERT键然后输入后面的字符
# vi /etc/sysconfig/network
# HOSTNAME=your hostname
[root@svr ~]# systemctl status network.service
****************************************************配置服务器****************************************************
# yum install httpd vsftpd
# yum install mariadb mariadb-server
# yum install php php-gd php-xml php-mysql
# system start vsftpd.service # system start httpd.service # system start mariadb.service # 这里是mariadb,不是mysql
# systemctl list-unit-files | grep enabled #如果没有enabled,就像下面这样启动 #systemctl enable httpd
***************************************************配置授权FTP***************************************************
# useradd -g root -M -d /var/www/html -s /sbin/nologin htmler # passwd htmler # 输入密码
# chown -R htmler.root /var/www/html
# vi /etc/vsftpd/vsftpd.conf # (INSERT)anonymous_enable=YES 改为 anonymous_enable=NO # (ESC):wq
***************************************************安全配置***************************************************
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
# setsebool -P ftpd_full_access on # -P写入磁盘,不会重启消失,但耗时较长,耐心等待,这是最后一步了
***************************************************测试一下***************************************************
Dreamweaver测试一下ftp,成功连接
编写一个phpinfo文件测试一下 HTTP、FTP测试均已成功,而且我们添加的htmler也拥有了对这些文件的有效权限。如果你的网站程序需要某些777的权限,你也可以直接在Dreamweaver远端界面中通过FTP修改的。 **************************************************个性化界面**************************************************
修改环境变量PS1,写入/etc/profile或/etc/bashrc对全部用户生效;写入~/.bash_profile或~/.bashrc 只对当前用户生效。在PS1中配置字符序列颜色的格式为: ------------------------------------------------- | 前景 | 背景 | 颜色 | ------------------------------------------------- | 30 | 40 | 黑色 | | 31 | 41 | 红色 | | 32 | 42 | 绿色 | | 33 | 43 | 黄色 | | 34 | 44 | 蓝色 | | 35 | 45 | 紫色 | | 36 | 46 | 青色 | | 37 | 47 | 白色 | ------------------------------------------------- ----------------------------------------- | 代码 | 代码意义 | ----------------------------------------- | 0 | OFF,关闭颜色 | | 1 | 高亮显示 | | 4 | 显示下划线 | | 5 | 闪烁显示 | | 7 | 反白显示 | | 8 | 颜色不可见 | -----------------------------------------
|