阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 16.04部署 WordPress

119次阅读
没有评论

共计 2038 个字符,预计需要花费 6 分钟才能阅读完成。

Ubuntu 16.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>

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136328.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2038字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中