wordpress迁移

在新站点上安装wordpress

LAMP环境(linux+apache2+mysql+php7.4)
参考教程

注意事项

由于linux的文件系统权限,wordpress更新有两种方式

  1. 是将wp所在目录设置为777,wp设置为直接访问linux文件系统

  2. 配置ftp服务器,wp使用配置好的ftp账号访问linux文件系统(更安全也更麻烦)

    apache2服务器记得开启伪静态,否则会出现只能访问首页,无法访问详情页的情况

    概念理解

vim /etc/apache2/apache2.conf
找到如下内容,将None改为ALL,开启伪静态

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

迁移

在新旧wp中都下载插件 All-in-One WP Migration
http://www.seo628.com/2761.html
老站中选择导出为文件
新站则导入
如果文件过大,则还需下载 all-in-one-wp-migration-file-extension

在使用WordPress上传媒体文件时,如果文件的大小过大,就会提示”超过了站点的最大上传限制”,
其实这个限制并不是WordPress设置的,而是服务器配置文件的默认设置,所以说我们真正需要修改的是自己服务器的配置文件

域名配置与ssl证书配置

正常解析到新的服务器ip即可

如果新的wordpress在/var/www/html/wordpress/中
则也需要修改apache2服务器的根地址到/var/www/html/wordpress/
默认的是/var/www/html

在apache2中,只需
将/etc/apache2/sites-available/中的default-ssl.conf复制到
/etc/apache2/sites-enabled/
即表示表示启用ssl模块
并模仿如下修改内容
DocumentRoot一定要为wordpress的路径
SSLCertificateFile,SSLCertificateKeyFile,SSLCertificateChainFile则为证书存放路径

<IfModule mod_ssl.c>

    <VirtualHost _default_:443>
    ServerName   www.cuger.top:443                
    DocumentRoot "/var/www/html/wordpress/"
    SSLEngine on   
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile "/etc/apache2/cert/5687540_cuger.top_public.crt"
    SSLCertificateKeyFile "/etc/apache2/cert/5687540_cuger.top.key"
    SSLCertificateChainFile "/etc/apache2/cert/5687540_cuger.top_chain.crt"
    ServerAdmin webmaster@localhost
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
  <FilesMatch "\.(cgi|shtml|phtml|php)$">
      SSLOptions +StdEnvVars
  </FilesMatch>
    <Directory /usr/lib/cgi-bin>
      SSLOptions +StdEnvVars
    </Directory>
 </VirtualHost> 
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet