zoukankan      html  css  js  c++  java
  • 在SAE上搭建自定义版本WordPress, 并用SAE Storage代替WordPress Uploads

    问题由来:

    1. SAE中默认的WP for SAE版本太低, 导致某些基于新版本WordPress的插件不能使用.

    2. SAE中单个APP的代码空间仅有100M. 将WordPress中uploads目录替换为SAE的Storage, 可提供10G的存储空间用以存放图片等数据.

    安装配置步骤:

    1. 创建新SAE应用, 选择空白php模板, e.g, 新应用ID: stormrider.

    2. 点击管理应用.


    3. 在服务管理中, 开启MySql服务.


    4. 在服务管理中, 点击Storage, 新建一个Domain. (domain name将会在config中用到, 这里取名为stormrider)


    5. 在应用管理中点击代码管理, 创建代码版本, 用svn下载到本地.


    6. 下载需要的WordPress版本, 比如4.2.2, 解压, 拷贝WordPress文件夹中的内容到本地代码目录. 覆盖index.php.

    7. 重命名wp-config-sample.php为wp-config.php. 内容修改为: 
        1 <?php
        2 /** 
        3  * WordPress 基础配置文件。
        4  *
        5  * 本文件包含以下配置选项: MySQL 设置、数据库表名前缀、
        6  * 密匙、WordPress 语言设定以及 ABSPATH。如需更多信息,请访问
        7  * {@link http://codex.wordpress.org/Editing_wp-config.php 编辑
        8  * wp-config.php} Codex 页面。MySQL 设置具体信息请咨询您的空间提供商。
        9  *
       10  * 这个文件用在于安装程序自动生成 wp-config.php 配置文件,
       11  * 您可以手动复制这个文件,并重命名为 wp-config.php,然后输入相关信息。
       12  *
       13  * @Author Elmer Zhang <freeboy6716@gmail.com>
       14  * @package WordPress
       15  */
       16 
       17 // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
       18 /** WordPress 数据库的名称 */
       19 define('DB_NAME', SAE_MYSQL_DB);
       20 
       21 /** MySQL 数据库用户名 */
       22 define('DB_USER', SAE_MYSQL_USER);
       23 
       24 /** MySQL 数据库密码 */
       25 define('DB_PASSWORD', SAE_MYSQL_PASS);
       26 
       27 /** MySQL 主机 */
       28 define('DB_HOST', SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT);
       29 
       30 /** 创建数据表时默认的文字编码 */
       31 define('DB_CHARSET', 'utf8');
       32 
       33 /** 数据库整理类型。如不确定请勿更改 */
       34 define('DB_COLLATE', '');
       35 
       36 define('WP_USE_MULTIPLE_DB', true);
       37 
       38 $db_list = array(
       39         'write'=> array(
       40             array(
       41                 'db_host' => SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,
       42                 'db_user'=> SAE_MYSQL_USER,
       43                 'db_password'=> SAE_MYSQL_PASS,
       44                 'db_name'=> SAE_MYSQL_DB,
       45                 'db_charset'=> 'utf8'
       46                 )
       47             ),
       48         'read'=> array(
       49             array(
       50                 'db_host' => SAE_MYSQL_HOST_S.':'.SAE_MYSQL_PORT,
       51                 'db_user'=> SAE_MYSQL_USER,
       52                 'db_password'=> SAE_MYSQL_PASS,
       53                 'db_name'=> SAE_MYSQL_DB,
       54                 'db_charset'=> 'utf8'
       55                 )
       56             ),
       57         );
       58 $global_db_list = $db_list['write'];
       59 
       60 /** replace default wordpress upload URL & DIR with customized storage */
       61 define('SAE_STORAGE', 'stormrider');
       62 define('SAE_DIR', 'saestor://'.SAE_STORAGE.'/uploads');
       63 define('SAE_URL', 'http://'.$_SERVER['HTTP_APPNAME'].'-'.SAE_STORAGE.'.stor.sinaapp.com/uploads');
       64 
       65 /**#@+
       66  * 身份密匙设定。
       67  *
       68  * 您可以随意写一些字符
       69  * 或者直接访问 {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 私钥生成服务},
       70  * 任何修改都会导致 cookie 失效,所有用户必须重新登录。
       71  *
       72  * @since 2.6.0
       73  */
       74 define('AUTH_KEY',         hash_hmac('sha1', SAE_ACCESSKEY . 'AUTH_KEY', SAE_SECRETKEY ));
       75 define('SECURE_AUTH_KEY',  hash_hmac('sha1', SAE_ACCESSKEY . 'SECURE_AUTH_KEY', SAE_SECRETKEY ));
       76 define('LOGGED_IN_KEY',    hash_hmac('sha1', SAE_ACCESSKEY . 'LOGGED_IN_KEY', SAE_SECRETKEY ));
       77 define('NONCE_KEY',        hash_hmac('sha1', SAE_ACCESSKEY . 'NONCE_KEY', SAE_SECRETKEY ));
       78 define('AUTH_SALT',        hash_hmac('sha1', SAE_ACCESSKEY . 'AUTH_SALT', SAE_SECRETKEY ));
       79 define('SECURE_AUTH_SALT', hash_hmac('sha1', SAE_ACCESSKEY . 'SECURE_AUTH_SALT', SAE_SECRETKEY ));
       80 define('LOGGED_IN_SALT',   hash_hmac('sha1', SAE_ACCESSKEY . 'LOGGED_IN_SALT', SAE_SECRETKEY ));
       81 define('NONCE_SALT',       hash_hmac('sha1', SAE_ACCESSKEY . 'NONCE_SALT', SAE_SECRETKEY ));
       82 
       83 /**#@-*/
       84 
       85 /**
       86  * WordPress 数据表前缀。
       87  *
       88  * 如果您有在同一数据库内安装多个 WordPress 的需求,请为每个 WordPress 设置不同的数据表前缀。
       89  * 前缀名只能为数字、字母加下划线。
       90  */
       91 $table_prefix  = 'wp_';
       92 
       93 /**
       94  * WordPress 语言设置,默认为英语。
       95  *
       96  * 本项设定能够让 WordPress 显示您需要的语言。
       97  * wp-content/languages 内应放置同名的 .mo 语言文件。
       98  * 要使用 WordPress 简体中文界面,只需填入 zh_CN。
       99  */
      100 define ('WPLANG', 'zh_CN');
      101 
      102 /**
      103  * 开发者专用:WordPress 调试模式。
      104  *
      105  * 将这个值改为“true”,WordPress 将显示所有开发过程中的提示。
      106  * 强烈建议插件开发者在开发环境中启用本功能。
      107  */
      108 define('WP_DEBUG', true);
      109 
      110 /* 好了!请不要再继续编辑。请保存该文件。 */
      111 
      112 /** WordPress 目录的绝对路径。 */
      113 if ( !defined('ABSPATH') )
      114     define('ABSPATH', dirname(__FILE__) . '/');
      115 
      116 /** 设置 WordPress 变量和包含文件。 */
      117 require_once(ABSPATH . 'wp-settings.php');
      wp-config.php
    8. 注意, 必须在config中添加下列定义, 用来启用自定义Storage: (SAE_STORAGE的值 = 步骤4中创建的domain名字)


    9. 修改wp-includesfunctions.php
      1. 替换$target赋值部分代码

      2. 设置dir和url

      3. encoding转换


    10. 修改wp-admin/includes/file.php文件
    11. 通过SVN上传代码, 打开应用链接, 进入WordPress初始化页面, 开始配置站点.
  • 相关阅读:
    python 继承与组合
    google浏览器安装不上的绝望经历
    python 类,对象
    Javascript学习笔记——闭包
    面试小结:html/css实现元素居中
    @清晰掉 qsort()
    @清晰掉 sprintf sscanf双胞胎
    @清晰掉 GDB调试器中的战斗机
    @大脑练习: 计算两个矩阵的乘积
    js测试用
  • 原文地址:https://www.cnblogs.com/haibinyuan/p/4578767.html
Copyright © 2011-2022 走看看