防火墙配置
下面是云天河在腾讯云上配置防火墙的过程,
目前只配置INPUT
、OUTPUT
和FORWORD
都是ACCEPT
的规则
一、检查iptables服务状态
首先检查iptables
服务的状态
service iptables status
如果显示
iptables: Firewall is not running
说明iptables
服务是有安装的,但是没有启动服务
如果没有安装的话可以直接yum
安装
yum install -y iptables
启动iptables
service iptables start
如果显示
iptables: Applying firewall rules: [ OK ]
再看一下当前iptables
的配置情况
iptables -L -n
二、清除默认的防火墙规则
# 首先在清除前要将policy INPUT改成ACCEPT,表示接受一切请求。
# 这个一定要先做,不然清空后可能会悲剧
iptables -P INPUT ACCEPT
# 清空默认所有规则
iptables -F
# 清空自定义的所有规则
iptables -X
# 计数器置0
iptables -Z
三、配置规则
# 允许来自于lo接口的数据包
# 如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1
iptables -A INPUT -i lo -j ACCEPT
# ssh端口22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# FTP端口21
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# web服务端口80
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# tomcat
iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
# mysql
iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
# 允许icmp包通过,也就是允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# 允许所有对外请求的返回包
# 本机对外请求相当于OUTPUT,对于返回数据包必须接收啊,这相当于INPUT了
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
# 如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
# 过滤所有非以上规则的请求
iptables -P INPUT DROP
# 要封停一个IP,使用下面这条命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
# 要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
四、保存
首先
iptables -L -n
看一下配置是否正确
没问题后,先不要急着保存,因为没保存只是当前有效,重启后就不生效,
这样万一有什么问题,可以后台强制重启服务器恢复设置
另外开一个ssh
连接,确保可以登陆
确保没问题之后保存
# 保存
service iptables save
# 添加到自启动chkconfig
chkconfig iptables on
修改防火墙端口:修改 /etc/sysconfig/iptables
文件
配置 LAMP 环境
搭建
Linux
+Apache
+Mysql
+PHP
+Redis
环境
LAMP
一键安装包我们使用的是
https://lamp.sh/download.html
一般来说下载在线安装包即可,完整安装包太大了
下载好了通过SecureFXPortable
上传至root
根目录,
然后打开SecureCRTPortable
,依次输入以下命令安装 wget
、screen
、unzip
yum -y install wget screen unzip
# 创建 lamp screen 会话
screen -S lamp
# 解压刚刚上传的.zip文件。注意,你的安装包有可能名字和的不一样
# unzip lamp-master.zip
# 授予刚刚解压出来的所有文件夹中的文件执行权限。注意,有可能你的文件夹名字和云天河的不一样
chmod -R 777 lamp-master
# 打开进入目录
cd lamp-master
# 启动安装程序
# ./lamp.sh 2>&1 | tee lamp.log
接下来选择安装的版本,尽量接近如下配置,如果没有正好的可以高一些,尽量不要低
Apache 2.4
PHP 5.6不建议7.0
MySQL
中间会提示要求创建密码,输入的密码一定要牢记,如果遇到选择位置的时候,默认即可,具体参考参见
https://teddysun.com/lamp
最终确认完毕,输入回车键开始安装,安装大概要半小时
安装完毕后检查是否成功,重启Apache服务器。SSH输入
service httpd restart
如果启动失败,提示错误,导致Apache无法启动,那么有可能是因为你所使用的系统版本太低,
推荐CentOS6.6【如果是学生类服务器建议32位,企业类64位】
如果启动成功,在本机Windows下打开浏览器,输入Linux的IP地址,查看是否能够访问
至此,Lamp环境配置完毕
云天河的Lamp安装包百度云链接:http://pan.baidu.com/s/1eSx1Fqy 密码:2pkf 或者去https://teddysun.com/lamp
安装Git
yum -y install git
网站上线配置
一、apache
第一步:linux中输入下面命令
vi /usr/local/apache/conf/httpd.conf
打开后在里面直接输入[这是vi编译器的搜索命令,按n继续往下查找,N继续往上搜索]
/Directory
找到
<Directory "/data/www/default">
将其改为
<Directory "/data/www/">
之后你的项目直接存在www
目录下就行了【如果不这样设置,可能会出现无法访问的问题,因为Directory
是设置访问权限的】
如果你不太了解其中的权限控制,而且你的项目使用了第三方框架,那么请将对应项目目录设置为777权限,因为框架需要写操作
如,www
下的项目名为mall
,则
chmod 775 /data/www/mall/ -R
第二步:linux中输入下面命令
vi /usr/local/apache/conf/extra/httpd-vhosts.conf
将改为
<VirtualHost *:80>
## 这个是个人博客的
### 如果服务器出错,发送错误信息到指定的邮箱地址
ServerAdmin myboyli4@163.com
### 你所绑定的域名
ServerName www.hlzblog.top
### 如果对应多级域名搜索不到,则指向到这个域名
ServerAlias hlzblog.top
### DocumentRoot常量
DocumentRoot "/data/www/blog"
### 按从左到右的优先次序自动读取默认主页面,例如index.php在当前目录不存在,再去读取index.html
DirectoryIndex index.php index.html index.htm
### 这个是重定向404页面
ErrorDocument 404 http://www.hlzblog.top/default.html
## 关闭apache报错
php_flag display_errors off
## 伪静态配置
## 开启重写引擎
RewriteEngine on
## 如果原本就存在这个目录或文件,则不会用重写
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
## 重写规则,正则匹配左边[伪静态的网站],得到的是对应右边的[实际的内容],NC表示不区分大小写,因为linux会区分
RewriteRule ^/type/([023456789]+).html$ /index.php?type=$1 [NC]
RewriteRule ^/article/id/([\d]+).html$ /index.php?type=8&id=$1 [NC]
## 图片防盗链
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !hlzblog.top [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !mall.hlzblog.top [NC]
RewriteCond %{HTTP_REFERER} !bbs.hlzblog.top [NC]
## 防盗链的占位图片得指向站外
RewriteRule ^\.(jpg|gif|png|bmp|swf|jpeg)$ https://i.loli.net/2018/02/14/5a83ba42d1397.png [R,NC,L]
### 权限设置
<Directory />
Options FollowSymLinks
## 这是是否允许.htaccess文件读取的,一般设置为None,
## 因为.htaccess每次打开都会在目录下去查找.htaccess文件,会耗性能
AllowOverride None
Order deny,allow
### 访问页面的IP权限,这里表示允许所有IP的都允许访问
### 如果要拒绝某IP的访问,例如,拒绝IP为210.10.56.32 的访问
### deny from 210.10.56.32
### 拒绝某个IP字段的访问
### deny from 219.5.45.0 ~ 219.5.45.255
Allow from all
### 这个是跟文件是否设置密码相关的
### 例如,一个目录启用了密码保护,想单独开放它的一个子目录,
### 让这个子目录无须密码即可访问,那么需要相关设置
Satisfy all
</Directory>
</VirtualHost>
让服务器读取对应目录下类似的配置文件,实现虚拟多站点
Include /usr/local/apache/conf/vhost/*.conf
二、phpmyadmin
因为之前我们在安装phpadmin
的时候,它叫我们输入过数据库密码,所以我们记得密码就行
我们现在因为把文件默认在www目录下的,所以我们给个二级域名给phpmyadmin就可以了,操作如下:
阿里云 => 域名管理 => 添加二级域名
再添加一个虚拟站点指向phpmyadmin
的目录就行,现在登陆,用之前的密码就行
如果平时不用它,记得把访问权限设置为
deny from all;
三、关于php默认配置
大多情况下默认报告错误信息是关闭的,但有时候有例外,我们在这里讲下吧
在我们找到php.ini
文件然后再修改里面的内容搜索 display_errors
,应该会找到这样一行
display_errors = On
你把On
设置为Off
就行了