在本文中,您将会了解到关于介绍WordPress站点安装安全相关注意事项的新资讯,同时我们还将为您解释介绍wordpress站点安装安全相关注意事项有哪些的相关在本文中,我们将带你探索介绍WordPr
在本文中,您将会了解到关于介绍WordPress站点安装安全相关注意事项的新资讯,同时我们还将为您解释介绍wordpress站点安装安全相关注意事项有哪些的相关在本文中,我们将带你探索介绍WordPress站点安装安全相关注意事项的奥秘,分析介绍wordpress站点安装安全相关注意事项有哪些的特点,并给出一些关于Linux-利用LNMP 实现wordpress站点搭建、linux下搭建wordpress站点、nginx – 通过备用域访问WordPress站点、Nginx 转发到局域网wordpress站点的实用技巧。
本文目录一览:- 介绍WordPress站点安装安全相关注意事项(介绍wordpress站点安装安全相关注意事项有哪些)
- Linux-利用LNMP 实现wordpress站点搭建
- linux下搭建wordpress站点
- nginx – 通过备用域访问WordPress站点
- Nginx 转发到局域网wordpress站点
介绍WordPress站点安装安全相关注意事项(介绍wordpress站点安装安全相关注意事项有哪些)
我们知道WordPress是一个CMS系统,在**上有相当多的用户。同时,它每天也面临着大量的黑客攻击。因此,对于WordPress网站,在正式开展相关业务之前,我们应该提高WordPress网站的安全意识。
那么,如何提高WordPress站点的安全性呢?
基于之前的工作经验,总结了一些WordPress网站安全相关的注意事项,仅供参考:
1、域名主机选择
虽然域名和主机的选择并不特定于WordPress程序本身,但是服务器性能监控对于网站安全来说是一个特别重要的数据指标。因此,您需要:
(1)选择有名主机商,并可提供WordPress主机监控相关数据分析及IDC服务。
(2)加强域名帐号安全,避免域名帐号丢失,对作弊网站进行泛分析。
2、网站程序配置
为了加强WordPress的网站安全,我们可以在网站刚上线的时候从网站安全的角度进一步做一些基本的配置,比如:
(1)修改管理员登录地址,禁用管理员帐号,作为管理员用户名,使用特殊符号作为密码。
(2)创建假帐号,只使用编辑权限帐号,对于文章发表和编辑,让黑客误以为这是管理员帐号。
(3)隐藏wp-config。PHP和。Htaccess,限制管理员登录IP。
(4)禁用在线编辑模板,修改特定文件的权限。
(5)实时更新,确保WordPress程序,在新版本。
3、站点插件选择
我们知道,就像WordPress模板一样,web上仍然有很多WordPress插件。当制作插件使用时,我们试图确保:
网站插件由正规网络开发公司提供。
尽量选择,比较有名的插件使用,如果可以的话可以尝试选择相同开发人员的插件。
4、使用网站CDN
我们知道对于不使用CDN的网站,你的网站的原始IP会被暴露,这大大降低了黑客扫描网站的成本,尤其是对于WordPress一些有效的漏洞。
因此,在必要的情况下,你可以选择支付网站CDN加速服务,提高网站安全性,当然,这是一个小细节与你分享,你需要合理配置服务器,所以在网站日志,可以有效地识别真正的站点IP,以阻止非法收集和镜像IP。
Linux-利用LNMP 实现wordpress站点搭建
LNMP项目实战环境说明
L:Linux(CentOS7)https://mirrors.aliyun.com/centos/7/isos/x86_64/ N:Nginx(1.18.0) https://Nginx.org/en/download.html M:MysqL(8.0.19) https://dev.MysqL.com/downloads/MysqL/ P:PHP(7.4.10) http://PHP.net/downloads.PHP wordpress(5.4.2) https://cn.wordpress.org/download/
设备
centos7 10.0.0.27 : Nginx PHP-fpm 运行web服务
centos7 10.0.0.37 :运行MysqL数据库,redis服务
centos7 10.0.0.37 安装数据库
[root@client ~]#ll total 473716 -rw-------. 1 root root 1580 Apr 18 18:20 anaconda-ks.cfg -rw-r--r-- 1 root root 1780 Jun 11 14:53 install_MysqL5.7or8.0_centos.sh -rw-r--r-- 1 root root 485074552 Dec 10 2019 mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
脚本安装MysqL
[root@client ~]#bash install_MysqL5.7or8.0_centos.sh 开始安装MysqL数据库... useradd: user 'MysqL' already exists 创建myslq用户 [ OK ] Enter password: #确认密码123456 数据库安装完成 [ OK ]
[root@client ~]#cat install_MysqL5.7or8.0_centos.sh #!/bin/bash # # #liyanjin . /etc/init.d/functions SRC_DIR=`pwd` MysqL='mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz' COLOR='echo -e \E[01:31m' END='\E[0m' MysqL_ROOT_PASSWORD='123456' check () { if [ $UID -ne 0 ];then action "当前用户不是root,安装失败" false exit 1 fi cd $SRC_DIR if [ ! -e $MysqL ];then $COLOR"缺少${MysqL}文件"$END $COLOR"请将相关软件放在${SRC_DIR}目录下"$END exit elif [ -e /usr/local/MysqL ];then action "数据库已存在,安装失败" false exit else return fi } install_MysqL(){ $COLOR"开始安装MysqL数据库..."$END yum -y -q install libaio numactl-libs libaio &> /dev/null cd $SRC_DIR tar xf $MysqL -C /usr/local/ MysqL_DIR=`echo $MysqL| sed -nr 's/^(.*[0-9]).*/\1/p'` ln -s /usr/local/$MysqL_DIR /usr/local/MysqL chown -R root.root /usr/local/MysqL/ id MysqL &> /dev/full || { useradd -s /sbin/nologin -r MysqL ; action "创建myslq用户"; } echo 'PATH=/usr/local/MysqL/bin/:$PATH' > /etc/profile.d/MysqL.sh . /etc/profile.d/MysqL.sh ln -s /usr/local/MysqL/bin/* /usr/bin/ cat > /etc/my.cnf <<-EOF [MysqLd] server-id=`hostname -I|cut -d. -f4` log-bin datadir=/data/MysqL socket=/data/MysqL/MysqL.sock log-error=/data/MysqL/MysqL.log pid-file=/data/MysqL/MysqL.pid [client] socket=/data/MysqL/MysqL.sock EOF cp /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqLd chkconfig --add MysqLd chkconfig MysqLd on systemctl start MysqLd [ $? -ne 0 ] && { $COLOR"数据库启动失败,退出!"$END;exit; } MysqL_OLDPASSWORD= `awk '/A temporary password/{print $NF}' /data/MysqL/MysqL.log` MysqLadmin -uroot -p$MysqL_OLDPASSWORD password $MysqL_ROOT_PASSWORD &> /dev/null action "数据库安装完成" } check install_MysqL脚本
创建wordpress 数据库和用户授权
[root@client ~]#MysqL -uroot -p123456 MysqL: [Warning] Using a password on the command line interface can be insecure. Welcome to the MysqL monitor. Commands end with ; or \g. Your MysqL connection id is 19 Server version: 8.0.28 MysqL Community Server - GPL copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered Trademark of Oracle Corporation and/or its affiliates. Other names may be Trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MysqL> create database wordpress; #创建数据库 Query OK, 1 row affected (0.01 sec) MysqL> create user wordpress@'10.0.0.%' identified by '123456'; 创建用户wordpress Query OK, 0 rows affected (0.01 sec) MysqL> grant all on wordpress.* to wordpress@'10.0.0.%'; 授权用户访问wordpress库所有表 Query OK, 0 rows affected (0.00 sec)
10.0.0.27 主机编译 PHP-fpm
[root@lnpw ~]#yum -y install gcc openssl-devel libxml2-devel bzip2-devel sqlite-devel #安装依赖关系 [root@lnpw ~]#wget https://www.PHP.net/distributions/PHP-7.4.11.tar.xz #下载PHP编译包 [root@lnpw ~]#tar xfv PHP-7.4.11.tar.xz -C /usr/local/src/ #解压文件
进入目录编译安装
[root@lnpw ~]#cd /usr/local/src/PHP-7.4.11/ [root@lnpw /usr/local/src/PHP-7.4.11]#ls appveyor buildconf.bat docs NEWS README.REdisT.BINS travis Zend azure CODING_STANDARDS.md ext pear run-tests.PHP TSRM azure-pipelines.yml configure EXTENSIONS PHP.ini-development sapi UPGRADING build configure.ac LICENSE PHP.ini-production scripts UPGRADING.INTERNALS buildconf CONTRIBUTING.md main README.md tests win32
[root@lnpw /usr/local/src/PHP-7.4.11]#./configure --prefix=/usr/local/PHP74 --enable-MysqLnd --with-MysqLi=MysqLnd --with-pdo-MysqL=MysqLnd --with-openssl
--with-zlib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/PHP.d --enable-ablembstring --enable-xml --enable-sockets --enable-fpm
--enable-maintainer-zts --disable-fileinfo
[root@lnpw /usr/local/src/PHP-7.4.11]#make -j 2 && make install
准备配置文件
生成配置文件
[root@lnpw /usr/local/src/PHP-7.4.11]#cp /usr/local/src/PHP-7.4.11/PHP.ini-production /etc/PHP.ini [root@lnpw /usr/local/src/PHP-7.4.11]#cd /usr/local/PHP74/etc/ [root@lnpw /usr/local/PHP74/etc]#ls PHP-fpm.conf.default PHP-fpm.d [root@lnpw /usr/local/PHP74/etc]#cp PHP-fpm.conf.default PHP-fpm.conf [root@lnpw /usr/local/PHP74/etc]#ls PHP-fpm.conf PHP-fpm.conf.default PHP-fpm.d [root@lnpw /usr/local/PHP74/etc]# [root@lnpw /usr/local/PHP74/etc/PHP-fpm.d]#vim www.conf [root@lnpw /usr/local/PHP74/etc/PHP-fpm.d]#grep '^[^;]' www.conf
[root@lnpw /usr/local/PHP74/etc/PHP-fpm.d]#grep '^[^;]' www.conf
[www]
user = www
group = www
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.status_path = /pm_status
ping.path = /ping
access.log = log/$pool.access.log
slowlog = log/$pool.log.slow
[root@lnpw /usr/local/PHP74/etc/PHP-fpm.d]#useradd -r -s /sbin/nologin www #创建用户 [root@lnpw /usr/local/PHP74/etc/PHP-fpm.d]#mkdir /usr/local/log #创建访问日志文件路径
[root@centos7-liyj ~]#vim /usr/local/PHP74/etc/PHP-fpm.conf [global] ; Error log file ; If it's set to "syslog", log is sent to syslogd instead of being written ; into a local file. ; Note: the default prefix is /usr/local/PHP74/var ; Default Value: log/PHP-fpm.log error_log = log/PHP-fpm.log #启用PHP-fpm.log日志
启动并验证 PHP-fpm服务
[root@lnpw ~]#/usr/local/PHP74/sbin/PHP-fpm -t [11-Jun-2022 18:26:12] NOTICE: configuration file /usr/local/PHP74/etc/PHP-fpm.conf test is successful [root@lnpw ~]#cp /usr/local/src/PHP-7.4.11/sapi/fpm/PHP-fpm.service /usr/lib/systemd/system/
[root@centos7-liyj ~]#vim /usr/lib/systemd/system/PHP-fpm.service # Mounts the /usr, /boot, and /etc directories read-only for processes invoked by this unit. #调用的进程装载只读的/usr、/boot和/etc目录
#ProtectSystem=full #注释此行
ProtectSystem=false #复制值改为 false ,否则PHP-fpm启动失败
Jun 11 22:16:09 centos7-liyj systemd: Started The PHP FastCGI Process Manager. Jun 11 22:16:09 centos7-liyj PHP-fpm: [11-Jun-2022 22:16:09] ERROR: Failed to open error_log (/usr/local/PHP74/var/log/PHP-fpm.log): Read-only file system (30) Jun 11 22:16:09 centos7-liyj PHP-fpm: [11-Jun-2022 22:16:09] ERROR: Failed to post process the configuration Jun 11 22:16:09 centos7-liyj PHP-fpm: [11-Jun-2022 22:16:09] ERROR: FPM initialization Failed Jun 11 22:16:09 centos7-liyj systemd: PHP-fpm.service: main process exited, code=exited, status=78/n/a Jun 11 22:16:09 centos7-liyj systemd: Unit PHP-fpm.service entered Failed state. Jun 11 22:16:09 centos7-liyj systemd: PHP-fpm.service Failed.ProtectSystem=full时错误日志
重新加载日志并设置开机启动
[root@lnpw ~]#systemctl daemon-reload [root@lnpw ~]#systemctl enable --Now PHP-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/PHP-fpm.service to /usr/lib/systemd/system/PHP-fpm.service. [root@lnpw ~]#
准备测试页
[root@centos7-liyj ~]#mkdir -p /data/Nginx/wordpress [root@centos7-liyj ~]#vim /data/Nginx/wordpress/test.PHP [root@centos7-liyj ~]#cat /data/Nginx/wordpress/test.PHP <?PHP PHPinfo(); ?>
验证测试页
部署wordpress
10.0.0.27主机
[root@centos7-liyj ~]#wget https://cn.wordpress.org/latest-zh_CN.tar.gz #下载wordpresss --2022-06-11 22:33:52-- https://cn.wordpress.org/latest-zh_CN.tar.gz Resolving cn.wordpress.org (cn.wordpress.org)... 198.143.164.252 Connecting to cn.wordpress.org (cn.wordpress.org)|198.143.164.252|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 21871609 (21M) [application/octet-stream] Saving to: ‘latest-zh_CN.tar.gz’ 100%[===============================================================================>] 21,871,609 4.88MB/s in 5.3s 2022-06-11 22:33:59 (3.96 MB/s) - ‘latest-zh_CN.tar.gz’ saved [21871609/21871609] [root@centos7-liyj ~]#ll total 21364 -rw-------. 1 root root 1580 Apr 18 18:20 anaconda-ks.cfg -rw-r--r-- 1 root root 21871609 Jun 11 20:00 latest-zh_CN.tar.gz [root@centos7-liyj ~]#tar xf latest-zh_CN.tar.gz #解压缩 [root@centos7-liyj ~]#ll total 21368 -rw-------. 1 root root 1580 Apr 18 18:20 anaconda-ks.cfg -rw-r--r-- 1 root root 21871609 Jun 11 20:00 latest-zh_CN.tar.gz drwxr-xr-x 5 1006 1006 4096 Jun 11 20:00 wordpress
递归复制到/data/Nginx/wordpress目录下
[root@centos7-liyj ~]#cp -r wordpress/* /data/Nginx/wordpress/ [root@centos7-liyj ~]#chown -R www.www /data/Nginx/wordpress/ [root@centos7-liyj ~]#ll /data/Nginx/wordpress/ total 216 -rw-r--r-- 1 www www 405 Jun 11 22:41 index.PHP -rw-r--r-- 1 www www 19915 Jun 11 22:41 license.txt -rw-r--r-- 1 www www 7401 Jun 11 22:41 readme.html -rw-r--r-- 1 www www 20 Jun 11 22:28 test.PHP -rw-r--r-- 1 www www 7165 Jun 11 22:41 wp-activate.PHP drwxr-xr-x 9 www www 4096 Jun 11 22:41 wp-admin -rw-r--r-- 1 www www 351 Jun 11 22:41 wp-blog-header.PHP -rw-r--r-- 1 www www 2338 Jun 11 22:41 wp-comments-post.PHP -rw-r--r-- 1 www www 3001 Jun 11 22:41 wp-config-sample.PHP drwxr-xr-x 5 www www 69 Jun 11 22:41 wp-content -rw-r--r-- 1 www www 3943 Jun 11 22:41 wp-cron.php drwxr-xr-x 26 www www 12288 Jun 11 22:41 wp-includes -rw-r--r-- 1 www www 2494 Jun 11 22:41 wp-links-opml.PHP -rw-r--r-- 1 www www 3973 Jun 11 22:41 wp-load.PHP -rw-r--r-- 1 www www 48498 Jun 11 22:41 wp-login.PHP -rw-r--r-- 1 www www 8577 Jun 11 22:41 wp-mail.PHP -rw-r--r-- 1 www www 23706 Jun 11 22:41 wp-settings.PHP -rw-r--r-- 1 www www 32051 Jun 11 22:41 wp-signup.PHP -rw-r--r-- 1 www www 4748 Jun 11 22:41 wp-trackback.PHP -rw-r--r-- 1 www www 3236 Jun 11 22:41 xmlrpc.PHP
初始化web页面
打开浏览器输入以下连接
www.lyj.org
linux下搭建wordpress站点
搭建php站点
安装并启动 apache | mysql | php
yum install -y httpd mysql mysql-server php php-mysql
#启动apache mysql
service httpd start
service mysqld start
#让apache mysql开机启动
chkconfig httpd on
chkconfig mysqld on
#若mysql报sock错误启动失败
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
查看是否站点是否搭建成功:
#建个php文件,写入以下内容
vim /var/www/html/info.php
<?php
phpinfo();
?>
访问如果能看到php相关信息就说明php站点搭建成功了。
http://localhost/info.php
安装wordpress
下载解压后将wordpress目录放到 /var/www/html/
wordpress运行需要一个数据库,在mysql中建一个
#新建一个数据库
mysql -uroot -p
create database wordpress
详细安装过程访问: http://localhost/wordpress/readme.html ,以下是主要内容:
- 访问:http://localhost/wordpress/wp-admin/install.php 填写数据库信息,它会把数据库连接信息写入到wordpress/wp-config.php文件中。如果失败,手动创建wp-config.php:将wp-config-sample.php改名为wp-config.php然后修改里面关于数据库的配置,然后再访问wp-admin/install.php填写用户名密码安装。
- 登录:http://localhost/wordpress/wp-login.php
安装插件
安装插件时若要求输入ftp用户名密码,可以在wp-config.php配置文件里加入以下内容取消:
define(''FS_METHOD'',''direct'');
WP QuickLaTeX插件能够支持mathjax语法编辑数学公式,需要在文章里加入[latexpage]
内容起效
若出现权限问题可以尝试将workpress目录权限修改下(具体要看apache用户组和用户名,以下是默认):
chown -R apache:root ./wordpress
修改apache服务器默认根目录:
vim /etc/httpd/conf/httpd.conf
#修改下面的:
DocumentRoot "/var/www/html/wordpress"
<Directory "/var/www/html/wordpress">
nginx – 通过备用域访问WordPress站点
我们正在开发几个wordpress站点.为了让我们的客户了解进度,我们必须修改客户本地计算机的hosts文件.这不是最好的方法…另一个问题:wordpress总是将调用重定向到设置中设置的域,因此使用备用域(Nginx:server_name)不起作用.
那么,Nginx是否有办法将所有customer.com请求路由到development.com?
示例:客户呼叫customer.com,其DNS指向开发服务器.然后,Nginx将所有请求从customer.com路由到development.com,以便wordpress永远不会与customer.com联系,客户只能在浏览器中看到customer.com.
根据我的经验,此值不需要包含URL的方案或域名部分,因此/ blog可以很好地工作,并允许使用任何方案和任何域名访问该站点.
经过OP的测试和评论:
对于托管在/的站点,仪表板将不接受合适的值,因此必须使用wp-config.php文件.该值应设置为空字符串. OP还评论说也可以使用$_SERVER [‘HTTP_HOST’].
Nginx 转发到局域网wordpress站点
在主机 192.168.10.2上运行WordPress: docker run --name wordpress -p 8080:80 -d wordpress
在主机 192.168.10.3上通过Nginx转发到站点始终不成功
server {
listen 80;
server_name xxx.com;
location / {
proxy_pass http://192.168.10.2:8080;
}
}
有大佬知道怎么配置么?
今天关于介绍WordPress站点安装安全相关注意事项和介绍wordpress站点安装安全相关注意事项有哪些的介绍到此结束,谢谢您的阅读,有关Linux-利用LNMP 实现wordpress站点搭建、linux下搭建wordpress站点、nginx – 通过备用域访问WordPress站点、Nginx 转发到局域网wordpress站点等更多相关知识的信息可以在本站进行查询。
本文标签: