服务器搭建篇
1.镜像选择,CentOS 7.1 minmal.iso
2.yum install net-tools[提供ifconfig工具,我不习惯IP命令]
3.配置静态IP地址58.154.51.31
vi /etc/sysconfig/network-scripts/ifcfg-em1
修改为静态IP
3.配置本机名字
vi /etc/hostname
修改完后,退出当前登陆,然后重新登陆,用echo $HOMENAME查看是否配置成功!
4.配置SSH服务
SSH 即SecureShell,是Linux远程管理的默认协议。SSH是随最小化CentOS服务器安装运行的最重要的软件之一。
检查当前已经安装的SSH版本
命令:ssh -V (注意大小写)使用更安全的SSH协议,而不是默认协议,并更改端口号进一步加强安全。编辑SSH配置文件‘/etc/ssh/ssh_config'。去掉下面注释或者从协议中删除1,ssh v1是过期废弃的不安全协议!
修改端口号为 2200 使用协议v2
安装yuminstall policycoreutils-python(管理Selinux开放端口命令)
先配置Selinux
使用以下命令查看当前Selinux允许的ssh端口
Semanage port -l | grep ssh
添加2200端口到Selinux
Semanage port -a -t ssh_port_t -p tcp 2200
然后确认一下是否添加进去
Semanage port -l | grep ssh
需要使用开启端口
firewall-cmd --zone=public --add-port=2200/tcp --permanent(CentOS7使用firewall管理)
firewall-cmd --zone=public --remove-port=2200/tcp --permanent(关闭端口)
firewall-cmd --reload(重启)
firewall-cmd --list-all(显示所有端口信息)
取消SSH中’root login',只允许普通账号登陆才能使用su切换到root,以进一步加强安全。请打开配置文件/etc/ssh/sshd_config并更改permitRootLogin yes 为PermitRootLogin no.
然后重启服务。
Systemctl restart sshd.service
关闭ssh 22端口
使用
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --reload
总结:
1.看到SSH有公钥和私钥进行验证,免密码登陆,安全性也是可以的,希望以后有时间,可以尝试一下。
5.升级或更新现有系统,可做可不做!最好不做,服务器追求稳定就可以,未必就用最新的软件包!
6.安装命令行web浏览器
yum install links
大部分情况下,尤其是在生产环境中,我们通常没有GUI的命令行安装CentOS,在这种情况下,我们必须通过终端查看网站的命令行浏览工具,为了实现这一功能,我安装了links工具。
1.安装GCC(GNU编译器集)
GCC即GNU编译器集,是一个GNU项目开发的支持多种编程语言。最小化安装的CentOS没有默认安装。运行下面命令安装GCC编译器。
yum install gcc
gcc --version(检验版本)
2.安装Apache HTTP服务器
不管你因为什么原因使用服务器,大部分情况你都需要一个Http服务器运行网站、多媒体、用户端脚本和很多其他的东西。
yum install http(我选择默认端口)
可以配置端口:到配置文件中修改你想要的端口。
允许http服务通过防火墙(永久)
firewall-cmd--add-service=http
firewall-cmd --permanent--add-port=你修改的端口/tcp
firewall-cmd --reload
systemctl restarthttpd.service (启动服务)
注:可以将修改http使用ip4协议
将配置文件中的修改配置文件中的 Listen 0.0.0.0:端口号
3.安装php
php是用于web基础服务器脚本语言。它也经常被用于通用编程语言。(本项目中php+Apache+mysql)
yum installphp
安装php组件,使其支持数据库
yuminstall php-mysql php-gd libjeg* php-ldap php-odbc php-pear php-xml php-xmlrpcphp-mbstring php-bcmath php-mhash
安装完,确认apache服务以便在web浏览器中渲染。
systemctlrestart httpd.service
创建下面文件,检测php是否工作。
到/var/www/html/
创建文件phpinfo.php写入
测试 php /var/www/html/phpinfo.php
4.安装MariaDB数据库
MariaDB是MySQL的一个分支。RHEL以及它的衍生版已经从MySQL迁移到MariaDB.只是一个主流的数据库管理系统,主要原因是MySOL被oracle收购,已经不是开源了,大家都应该选择开源,支持开源。
yum installmariadb-server mariadb
设置为随机启动
systemctl startmariadb.service
systemctl enablemariadb.service
允许matiadb服务通过防火墙(不支持开启,不安全)
firewall-cmd--add-service=mysql
配置mysql执行
/usr/bin/mysql_secure_installation
加入密码,一直y就可以
systemctl restartmariadb.service #重启数据库
后续配置工作:关闭SELINUX
1.临时关闭 setenforce0
临时启用 setenforce1
2.永久编译
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
保存,重启机器
Apache相关配置
vi /etc/httpd/conf/httpd.conf 编辑文件
Options Indexes FollowSymLinks 修改为Options IncludesExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)
#AddHandler cgi-script .cgi #修改为:AddHandler cgi-script.cgi .pl(允许拓展名为pl的脚本)
AllowOverride None #修改为 AllowOverride All(允许.htaccess)
#Options Indexes FollowSymLinks#修改为Options FollowSymLinks(不再浏览器中显示树状目录结构)
DiretoryIndex index.html #修改为:DirectoryIndex index.html index.htmDefault.html Default.htm index.php(设置默认首页文件,添加index.php)
MaxKeepAliveRequests 500 #添加同时连接数500
保存退出
systemctl restarthttpd.service #重启apache
rm -f/etc/httpd/conf.d/welcome.conf #删除默认测试页
php配置
vi /etc/php.ini
data.timezone =PRC #把前面的分号去掉,改为date.timezone = PRC
其中php有禁用函数,如果某些程序需要用到这个函数,需要取消禁用
expose_php = Off#禁止显示版本信息
short_open_tag = ON #支持php短标签
open_basedir = .:/tmp/ #设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/
systemctl restartmariadb.service #重启MariaDB
systemctl restarthttpd.service #重启apache
测试成功!!!
1.安装 Nmap 监视开放端口
Nmap 网络映射器用来分析网络,通过运行它可以发现网络的映射关系。
yum installnmap
列出主机端口命令
nmap 127.0.0.1
你可以看到下面的命令使用“ -v “选项后给出了远程机器更详细的信息。
nmap -v127.0.0.1
还有一些非常实用的命令,可以参考网上的微博。
2.讲解动态防火墙firewalld
firewalld 是动态管理服务器的防火墙服务。(第一次接触防火墙机制,感觉美美哒) firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念。
运行、停止、禁用firewalld
启动:systemctl start firewalld
查看状态:systemctl status firewalld或者 firewall-cmd --state
停用:systemctl disable firewalld
禁用:systemctl stop firewalld
配置firewalld
查看版本:firewall-cmd --version
查看帮助:firewall-cmd --help
更新防火墙规则:firewall-cmd --reload
firewall-cmd--complete-reload
两个命令的区别,一个是无需断开,一个需要断开
查看所有端口到区域:firewall-cmd --zone=dmz --list-ports
加入一个端口到区域:firewall-cmd --zone=dmz --add-port=8080/tcp
永久生效再加上 --permanent 然后reload防火墙
启用防火墙:systemctl enable firewalld
3.安装Wget
Wget是从web服务器获取下载内容的命令行工具。
yuminstall wget
4.安装7-zip工具
在最小化安装CentOS时你并没有获取类似unzip或untar的工具。我们需要选择安装每个工具,或一个能够所有格式的工具。7-zip就是一个能压缩和解压所有已知类型的文件的工具。
yum install p7-zip
5.安装RootkitHunter
是linux系统中扫描rootkits和其他可能有害攻击的程序。
yum installrkhunter
在linux中,以脚本文件以计划作业的形式运行rkhunter或者手动扫描有害攻击。
rkhunter--check
6.可以安装Speedtest-cli测试服务器带宽。安装LMD和ClamAV一起使用作为反病毒引擎。
总结:学习linux要仔细仔细再仔细,细心细心再细心!调试调试再调试!