centos7 服务器基本的安全设置步骤
记得PHP默认没有开启GD库的支持,需要自行开启。于是就打开PHP安装目录/phpini配置文件,找到如下内容:
;extension=php_gd2dll
按照网上搜索得来的方法,去掉前面表示注释的符号";",然后重新启动Apache,结果发现还是不行,通过phpinfo()函数仍然无法看到任何与GD库相关的信息。看到网上很多关于「PHP开启GD库」的文章,都是直接说一句「去掉xxx前面的分号」,就没有下文了。事实证明,仅仅这么做明显是不行的,至少官方zip版本的php这么配置是不行的。
于是就只好自己检查phpini的配置内容,最后发现其中有如下一行:
;extension_dir = "ext" //这里是windows的
linux的好像是 ;extension_dir = "/"
很明显,extension_dir指令被注释掉了,导致php连扩展库的ext都找不到,自然不可能找到扩展库中的php_gd2dll了,gd库支持自然也没有开启。
于是,照猫画虎地去掉extension_dir指令前面的注释符号";",再次重启服务器,结果……还是不行。这不科学啊,难道extension_dir指令的值"ext"有问题?
PHP官方说,PHP5搜索扩展库的默认位置为C:\php5,于是尝试着按照官方的说法,仍然让extension_dir保持被注释掉的现状,在C盘下新建了一个php5文件夹,然后将php_gd2dll复制进去,再次重新启动服务器,结果……还是不行。
此时,通过phpinfo()函数查看得知,在phpini中没有开启extension_dir指令时,phpinfo()上的extension_dir显示的值居然是C:\php——难道官方的说明文档也出错了,或者说PHP 54这个版本已经作了变更、而官方文档还没有及时更新?其他的先不管那么多了,先试试C:\php行不行,于是将php5重命名为php,其他一切照旧,接着重新启动,然后通过phpinfo()函数查看到gd库已经开启了。——这至少证明,在PHP 5419中,扩展库的默认搜索位置为C:\php。
当然,众所周知,extension_dir指令是支持绝对路径的,上面折腾半天,主要是为了搞明白extension_dir指令的作用与影响。最后还是将extension_dir前面的注释符号";"去掉,然后将其值改为ext的绝对路径,详细代码如下:
extension_dir = "F:/419/ext" //windows写法。。。因情而定
综上所述,对于php官方版而言,要开启gd库支持,不仅要去掉extension=_gd2dll前的注释符号,还要去掉extension_dir指令前的注释符号,并将其值作对应修改。当然,不仅仅是gd库,如果需要开启其他PHP扩展库,例如php_mysql、php_mysqli,方法也是类似的。
考虑到中小型网站中Dedecms使用概率较高,今天我们特地邀请了百度站长社区版主—洪石陈来为大家做Dedecms移动适配分享。
第一步:安装Dedecms移动站点的两种方式
(1)下载新版本直接安装使用,Dedecms版本:V57SP1正式版(2015-06-18)该版本包含旧版本所没有的移动站点功能。
(2)老版本升级(仅针对增加移动站点功能),下载最新版本(注意网站编码需与原站一致),复制压缩包中以下文件到原站对应目录下:
注意:如果原站有非默认模板,如某栏目模板为/templets/defaultst_default_newshtm,可将/templets/defaultst_default_mhtm复制一份改名为list_default_news_mhtm。
即:pc端网站模板需有对应的移动端网站模板,后者文件名为前者文件名后“_m”。
安装或升级dedecms完成,此时应该就可以进行移动跳转适配了,但,dedecms20150618版本提供的移动站点功能在使用过程中发现一些问题,需要进行修改后才可正常使用,所以有了下面的dedecms修改步骤…
第二步:修改Dedecms
(1)原站如做了将DATA移到根目录外的安全设置,需修改/m/indexphp代码:
if(!file_exists(dirname(__FILE__)'//data/commonincphp'))
{
header('Location:install/indexphp');
exit();
}
将其中//data/commonincphp改为///data/commonincphp,或直接将以上5行代码删除。
(2) 移动站点首页在会第一次访问时自动生成首页静态文件,前提是/m/目录需设置为可写权限,否则将无法正常更新。之后更新首页静态文件需登陆后台手动更新:在“更新主页HTML”中将“选择主页模板”改为“default/index_mhtm”,将“主页位置”改为“/m/indexhtml”,再生成主页静态文件。
注:该版本号称“自动生成HTML版”,但默认移动站模板里却有<ahref="indexphp">的动态首页链接,需替换为<ahref="indexhtml">静态链接形式。
※如觉得使用静态页面麻烦,想将首页设置为动态浏览,可修改/m/indexphp:
$row['showmod']= isset($row['showmod']) $row['showmod'] : 0;
if ($row['showmod'] == 1)
{
$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');
include(dirname(__FILE__)'/indexhtml');
exit();
}
else {
$pv->Display();
exit();
}
以上代码替换为一行:$pv->Display();
第三步:首页“图文资讯”部分的url为pc端链接,修改为移动端链接:
搜索模板/templets/default/index_mhtm中所有<a href="[field:arcurl/]"> ,替换为<ahref="viewphpaid=[field:id/]">
第四步:通用头部含有搜索框,搜索跳转至pc端搜索页面,建议删除:
在/templets/default/header_mhtm中删除以下代码:
<form class="am-topbar-form am-topbar-leftam-form-inline am-topbar-right" role="search"action="{dede:globalcfg_cmsurl/}/plus/searchphp">
<input type="hidden" name="mobile"value="1" />
<input type="hidden" name="kwtype"value="0" />
<div class="am-form-group">
<input name="q" type="text"class="am-form-field am-input-sm" placeholder="输入关键词">
</div>
<button type="submit" class="am-btnam-btn-default am-btn-sm">搜索</button>
</form>
第五步: 移动站点默认使用二级目录,但目前移动适配需要使用二级域名(前段时间是可以使用二级目录的,但目前已调整,不能再提交二级目录),所以我们要设置移动站可通过二级域名访问,解析二级域名至网站所在服务器ip,并在服务器/空间上将二级域名绑定到/m/目录。
成功设置二级域名后,通过二级域名浏览网站会发现均无法显示,原因是路径有误——路径为“/uploads/x/yjpg”
相对根目录路径形式,在pc站页面中显示正常,因为pc站域名下存在该目录,而二级域名绑定的是二级目录,其中并不存在该目录,
所以访问会返回 404错误。对此,有多种解决方案,下面提供两个思路(示例pc站:wwwnt090com;移动站:mnt090com):
(1)URL 重写(推荐)
将对http://mnt090com/uploads/的访问重写 至http://wwwnt090com/uploads/,apache环境下,在/m/目录中的htaccess(如无则需新建)中增加以下代码即可:
RewriteEngine on
RewriteCond %{http_host} ^mnt090com [NC]
RewriteRule ^uploads/()$ http://wwwnt090com/uploads/$1 [L]
iis环境下类似规则。
(2)修改模板路径
在所有移动端模板中的<head></head>中增加:
<base href="http://wwwnt090com" />
再将代码中的
“<a href="listphp”改为完整路径“<a href="http://mnt090com/listphp”
“<a href="viewphp”改为完整路径“<a href="http://mnt090com/viewphp”
另:需将根目录下的/images/defaultpicgif(缩略图默认)复制到/m/目录下,否则列表页中如存在无缩略图的文章,对应缩略图位置会无法正常显示。
其他:
1、如有栏目不想在首页下方列表区域或通用头部显示,可在后台对应的栏目管理/常规选项中设置隐藏。
2、为了更好的实现pc端和移动端匹配效果,可在pc端模板增加类似如下代码:
首页
<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/">
<scripttype="text/javascript">
if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}
</script>
栏目页
<metahttp-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}">
<scripttype="text/javascript">
if(windowlocationtoString()indexOf('pref=padindex')!= -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/listphptid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}
</script>
文章页
<meta http-equiv="mobile-agent"content="format=xhtml;url={dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}">
<script type="text/javascript">
if(windowlocationtoString()indexOf('pref=padindex') !=-1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) ||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|WindowsPhone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="{dede:globalcfg_mobileurl/}/viewphpaid={dede:fieldid/}";}elseif(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}
</script>
代码中的{dede:globalcfg_mobileurl/}部分要替换为包含“http://”的二级域名(即:http://mnt090com),如不想修改模板里的相关代码,也可修改/include/commonincphp中的$cfg_mobileurl变量赋值为二级域名。
以上代码为dedecms新版模板所使用,第一行<meta>标签代码为百度发现跳转适配关系的方式(可同时使用)之一——“Meta标记”,下面几行javascript代码的功能是识别是否移动端设备访问,如是则将当前pc端页面自动跳转到匹配的移动端页面。
另外,还可使用<link>标签以便于百度更好地发现PC站和移动站的移动适配关系,在模板的<head></head>标签内加入如下代码:
PC站首页模板:
<link rel="alternate" media="only screen and(max-width: 640px)" href="http://mnt090com" >
PC站栏目页模板:
<link rel="alternate" media="only screen and(max-width: 640px)"href="http://mnt090com/listphptid={dede:fieldid/}" >
PC站文章页模板:
<link rel="alternate" media="only screen and(max-width: 640px)" href=" http://mnt090com/viewphpaid={dede:fieldid/}">
移动站首页模板:
<link rel="canonical"href="http://wwwnt090com/ "/>
栏目页模板:
<link rel="canonical"href="http://wwwnt090com{dede:type typeid='0' row=1}[field:typelink/]{/dede:type}"/>
文章页模板:
<link rel="canonical"href="http://wwwnt090com/{dede:fieldidrunphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:fieldid}"/>
至此,移动站架设基本成型。
提交移动跳转适配
URL对应关系示例:
关闭ping扫描,虽然没什么卵用
先切换到root
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
1代表关闭
0代表开启
用iptables
iptables -I INPUT -p icmp -j DROP
简单介绍下基本的 dedecms _aq/' target='_blank'>安全设置
一、创建普通用户,禁止root登录,只允许普通用户使用su命令切换到root
这样做的好处是双重密码保护,黑客就算知道了普通用户的密码,如果没有root密码,对服务器上攻击也比较有限
以下是具体做法(需要在root下)
添加普通用户
useradd xxx
设置密码
passwd xxx
这样就创建好了一个普通用户
禁止root登录
vi /etc/ssh/sshd_config
PermitRootLogin no
Systemctl restart sshd
这样就完成了第一步,之后root就无法登录服务器只能通过普通用户su切换
二、修改ssh的默认端口22,因为ssh的端口是22,我们如果修改了该端口,他们就需要花费一点时间来扫描,稍微增加了点难度
以下将端口改为51866可以根据需要自己更改,最好选择10000-65535内的端口
step1 修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22 //这行去掉#号
Port 51866 //下面添加这一行
为什么不先删除22,以防其他端口没配置成功,而又把22的删除了,无法再次进入服务器
step2 修改SELinux
安装semanage
$ yum provides semanage
$ yum -y install policycoreutils-python
使用以下命令查看当前SElinux 允许的ssh端口:
semanage port -l | grep ssh
添加51866端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 51866
注:操作不成功,可以参考:https://sebastianbladecom/how-to-modify-ssh-port-in-centos7/
失败了话应该是selinux没有打开
然后确认一下是否添加进去
semanage port -l | grep ssh
如果成功会输出
ssh_port_t tcp 51866, 22
step3 重启ssh
systemctl restart sshdservice
查看下ssh是否监听51866端口
netstat -tuln
Step4 防火墙开放51866端口
firewall-cmd --permanent --zone=public --add-port=51866/tcp
firewall-cmd --reload
然后测试试试,能不能通过51866登录,若能登录进来,说明成功,接着删除22端口
vi /etc/ssh/sshd_config
删除22端口 wq
systemctl restart sshdservice
同时防火墙也关闭22端口
firewall-cmd --permanent --zone=public --remove-port=22/tcp
注意如果是使用阿里的服务器需要到阿里里面的安全组添加新的入站规则(应该是因为阿里的服务器是用的内网,需要做端口映射)
三、使用一些类似DenyHosts预防SSH暴力破解的软件(不详细介绍)
其实就是一个python脚本,查看非法的登录,次数超过设置的次数自动将ip加入黑名单。
四、使用云锁(不详细介绍)
参考自http://tim-flyiteyecom/blog/2308234
总的来说做好了前两步能够减少至少百分之五十的入侵,在做好第三步之后,基本可以杜绝百分之八十以上的入侵。当然最重要的还是自己要有安全意识,要多学习一些安全知识和linux的知识。
第三第四其中都有稍微提到一点,感兴趣可以看看
织梦dedecms网站管理系统是目前最主流的开源网站管理系统之一,它以简单易用、功能强大、二次开发效率高等特点为广大站长朋友所推崇。本文详细介绍如何利用APMServ在本地搭建织梦所需要的PHP环境,并安装织梦系统的过程。希望新手站长朋友喜欢。
1、软件准备:
分别百度下载APMServ
526与织梦系统57
sp1。
2、安装并配置织梦安装所需要的php环境
使用APMServ可以非常方便的安装与配置织梦官方所需要的织梦环境。虽然织梦官方也有配置织梦环境的套件,但是总体来讲,APMServ还是安装织梦PHP环境的首选。
1)解压安装APMServ
526。
解压APMServ
526后,会有三个文件APMServ526_zipexe、APMServ解压缩说明txt与Readme-说明htm。
双击运行APMServ526_zipexe,出现自解压对话框。这里有一个要点是:解压目录必须是全英文或数字,解压目标文件夹中不能有中文,否则会导致配置织梦环境失败。建议大家,解压到C盘或D盘根目录。我把它释放到D盘根目录,如下图。点击“释放”按钮。
2)运行并配置APMServ
打开“我的电脑”,找到D:APMServ526文件夹,双击APMServexe这个文件,出现配置织梦环境软件界面。如下图:
点击启动APMServ那个绿色按钮,软件自动安装配置织梦安装必须的PHP环境。
如果PHP环境安装配置正常,APMServ配置窗口底部会出现提示,Apache已启动,MySQL51已启动,如下图:
如果其中某一项提示启动失败,则可以点击窗口右边的按钮“解决软件冲突问题”,可以看到这样的提示框,如下图,按照提示更改相关设置即可解决冲突问题。
3)验证配置织梦环境是否成功
在浏览器地址栏中输入地址:http://localhost/phpinfophp,如果出现出现如下图类似的界面,说明在本地配置织梦环境成功完成。
3、安装织梦dedecms网站管理系统:
1)解压dedecms57压缩包,你会发现docs与uploads两个文件夹,其中uploads文件夹是我们需要织梦源文件。将uploads文件夹里面的文件(不包括uploads本身)复制到文件夹D:APMServ526。
2)打开浏览器,在地址栏输入地址http://localhost/install/indexphp并回车,出现如下界面,选择同意协议,点击“继续”。
3)织梦环境检测:
在如下图界面中,织梦系统会对本地计算机的PHP环境进行检测,如果检测通过,点击“继续”按钮,进行下一步。
4)织梦参数设置:
这里是织梦网站管理系统的核心配置,在本地安装织梦系统一般可以保留默认设置即可。这里需要注意的是,织梦管理员默认的用户与密码都是“admin”。直接点击“继续”,进行下一步。
5)织梦dedecms管理系统安装完成。
6)织梦网站管理系统使用说明:
织梦网站管理系统安装完毕后,默认的织梦后台是:http://localhost/dede/,用户名与密码都是admin。
织梦网站管理系统前台可以使用http://localhost/访问。
在本地安装织梦dedecms网站管理系统图文教程到这里就结束了。当然,如果想要真正搭建一个织梦网站,还需要对织梦的安全进行一些必要的配置。大家可以参考爱易设计网站建设工作室的其他文章。本文爱易设计原创发布,原文地址:http://wwwieshejicom/News
/news_286html转载清保留爱易设计链接。
使用DEDECMS织梦57系统,在后台发表文章直接上传提示”缺少图像源文件地址”后来修改 /include/uploadsafeincphp 第45行
$imtypes = array 改成 $imgtypes = array缓存更新以后上传不在提示”缺少图像源文件地址”的问题
重要提示:
1、不能正常上传,也可能是由于后台链接的域名地址和网站的设置的域名地址不符,最常见的就是多了www,或少了www
解决方法很简单:访问后台的地址时,需要和网站设置域名保持一直就行(带www或者不带www,取决于你后台设置的域名,)
2、也可能是服务器环境phpini设置问题(如果是虚拟主机空间请联系空间商客服):
步骤:1。在安装PHP环境的目录下面,找到 phpini文件。
2 打开phpini ,查找upload_tmp_dir ,把这个词前面的“;”号去掉,使其生效,然后在“=”号后面加上临时文件夹的目录,比如: c:/windows/temp,这个可以自设。
3在这个文件夹的安全属性里添加 "everyone"用户,赋予读写权限。
0条评论