移植WordPress到Ubuntu16.04

新建
模板
小书匠

移植WordPress到Ubuntu16.04

搭建好LAMP环境后,可以按照以下方法,将本地站点移植到服务器上。

以WordPress为例,假设:

  • 站点根目录为/var/www/wordpress

  • MySQL数据库为wp

  • 表前缀为wp_

  • 访问URL为http://172.22.109.203:8000


配置Apache监听端口

1. 添加监听的端口

vim /etc/apache2/ports.conf

添加一行:Listen 8000

2. 添加虚拟主机

vim /etc/apache2/sites-enabled/000-default.conf

添加如下内容:

<VirtualHost *:8000>
# ServerAdmin webmaster@localhost
DocumentRoot /var/www/wordpress
ServerName localhost
ServerAlias localhost
<Directory "/var/www/wordpress">
AllowOverride all
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>
  • 将端口号替换为需要的8000

  • 将DocumentRoot、Directory、ErrorLog、CustomLog文件路径改为站点的路径

3. 重启Apache

service apache2 restart

4. 配置Iptables

Ubuntu的防火墙可能会屏蔽外网对服务器端口对访问。因此需要打开8000端口

  • 查看防火墙配置信息

    iptables -L

    Ubuntu16.04默认开放了80端口,没有开放8000等端口。

  • 配置Iptables规则

    vim /etc/iptables.up.rules

  • 添加一行

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8000 -j ACCEPT

  • 应用防火墙规则

    iptables-restore < /etc/iptables.up.rules

  • 查看防火墙配置信息

    iptables -L

    若出现ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8000,则防火墙配置成功。


移植WordPress

1. 上传站点目录

使用FTP工具,将本地等站点目录,上传到服务器/var/www/

2. 导入数据库

  • 使用phpMyAdmin或其他MySQL管理工具,将本地MySQL中WordPress数据库导出为.sql文件。

  • .sql文件导入到服务器的MySQL。

3. 修改WordPress配置

vim /var/www/wordpress/wp-config.php

更正数据库的名称、用户名、密码、表前缀等。

4. 修改链接

修改MySQL中wp_options数据表,将site_urlhomeoption_value更正为:

http://172.22.109.203:8000


常见问题

1. 解决链接失效

移植WordPress后,首页可以显示出来了。但是点击菜单、文章、页面、目录等,会显示404

  • 为Apache2开启mod_rewrite模块

  • 查看是否开启mod_rewrite:

    find /etc/apache2/mods-enabled/ -name rewrite.load

  • 若没有,将 rewrite.load 添加到 /etc/apache2/mods-enabled

    sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

  • WordPress根目录内新建.htaccess文件

  • vim /var/www/wordpress/.htaccess

  • 文件内容如下:

    # BEGIN WordPress

    <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule> # END WordPress

2.解决后台登录界面的403 Forbidden

这是由于Apache2的安全模块对访问做了限制。

  • vim /var/www/wordpress/.htaccess

  • 在开头添加如下内容:

    <Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from all
</Files>

移植WordPress到Ubuntu16.04的更多相关文章

  1. ubuntu16.04安装wordpress

    ubuntu16.04安装wordpress和centos7安装wordpress存在一定的差异. 当然共性大于差异. 共性是lamp环境. wordpress的必备环境. 先共性再差异. 一.搭建l ...

  2. Elasticsearch-5.0.0移植到ubuntu16.04

    旧环境: windows10 elasticsearch-5.0.0(含elasticsearch-head插件) 新环境: ubuntu16.04 由于环境换成了ubuntu,之前windows10 ...

  3. [Ubuntu] 移植Ubuntu16.04根文件系统到嵌入式平台

    CPU:RK3288 1.通过 ubuntu cdimage 下载 ubuntu16.04 内核,以下两种方式都可以 在 windows 系统网页中下载 http://cdimage.ubuntu.c ...

  4. Ubuntu16.04交叉工具链安装

    前言: 开发环境是64位的ubuntu16.04,交叉工具链是通过sudo apt-get install ....安装的,移植uboot2014.10,但是很奇怪,按照网上的介绍在start.s里面 ...

  5. ubuntu16.04 运行elasticfusion

    环境:Ubuntu16.04 64bit    Kinect V1 XBOX 360 1.安装OpenNI2并试运行 https://fredfire1.wordpress.com/2016/09/2 ...

  6. ubuntu16.04 安装OpenNI并运行kinnectfusion

    由于OpenNI是ubuntu12.04以前使用的驱动kinnect的库,现在用起来有很多的不便,用心的系统运行旧的设备,有诸多问题.现总结流程如下: 环境:Ubuntu16.04 64bit Kin ...

  7. 使用win10远程控制ubuntu16.04

    使用win10远程控制ubuntu16.04,网上很多需要安装xfce桌面的.今天介绍一下,不需要安装其他桌面,使用Ubuntu16.04自带桌面,漂亮美观. Ubuntu16.04端: 1.打开终端 ...

  8. Ubuntu16.04 LTS下apt安装WireShark

    Ubuntu16.04 LTS下apt安装WireShark 安装与配置 首先通过apt安装WireShark: $ sudo apt install wireshark 会同时安装许多的依赖包,其中 ...

  9. ubuntu16.04配置py-faster-rcnn

    在ubuntu16.04下编译安装了py-faster-rcnn. 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faste ...

随机推荐

  1. hibernate和mybatis的之CRUD封装差别

    hibernate和mybatis的之CRUD封装差别 以下讲的是基于MVC三层架构. 由于设计架构的差别,hibernate在实际编程中可以把基础的CRUD封装,比如BaseDao类.其它类只要去继 ...

  2. BZOJ 2669 CQOI2012 局部极小值 状压dp+容斥原理

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2669 题意概述:实际上原题意很简洁了我就不写了吧.... 二话不说先观察一下性质,首先棋盘 ...

  3. python 调用RESTFul接口

    本周需要将爬虫爬下来的数据入库,因为之前已经写好PHP的接口的,可以直接通过python调用PHP接口来实现,所以把方法总结一下. //python编码问题,因为好久用,所以很容易出现 # -*- c ...

  4. beta版本冲刺三

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  5. 接触到的一些数据结构: LIST_ENTRY, TAILQ

    双链表: LIST_ENTRY: typedef struct _LIST_ENTRY { struct _LIST_ENTRY  *Flink; follow: next entry, header ...

  6. Android 多屏幕适配 dp和px的关系

    一直以来别人经常问我,android的多屏幕适配到底是怎么弄,我也不知道如何讲解清楚,或许自己也是挺迷糊. 以下得出的结论主要是结合官方文档进行分析的https://developer.android ...

  7. servletContext的定义

  8. Java的sql语句 写关键字不需要添加单引号

    Java的sql语句 写关键字不需要添加单引号

  9. RDMA

    什么是RDMA? 来源 https://blog.csdn.net/u011459120/article/details/78469098 1. 概述 RDMA是Remote Direct Memor ...

  10. 网络编程:listen函数

    listen函数仅由TCP服务器调用,它做两件事: 当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect发起连接的客户套接字.listen函数把一个未连 ...