Quercus: Wordpress Mu

From Resin 3.0

Jump to: navigation, search


Running Wordpress Mu 1.5.1 on Resin 3.2.0

WordPress Mu is a multi-user version of WordPress that allows for several different blogs to be maintained side-by-side in a single deployment. It also offers management capabilities for handling the different blogs. Blogs can appear as different virtual hosts or in sub-paths. This page shows how to install WordPress Mu using virtual hosts.

Requirements

  1. MySQL server
  2. Java 1.5 or higher
  3. Access to your DNS server

Full installation

  1. Add a wildcard entry to your DNS record (usually of the form *.example.com, details here)
  2. Download WordPress Mu 1.5.1 from http://mu.wordpress.org/download/
  3. Download Resin Pro 3.2.0 from http://www.caucho.com/download

Do the following steps as root, either logging in as root or using sudo.

  1. Unzip Resin Pro 3.2.0 in /usr/local/share
  2. Add the user "resin":
    useradd resin
  3. Change the ownership of the Resin Pro directory to "resin":
    chown -R resin:resin /usr/local/share/resin-pro-3.2.0
  4. Create the directory /var/www/hosts
  5. Change the ownership of the directory to "resin":
    chown resin:resin /var/www/hosts
  6. Copy /usr/local/share/resin-3.2.0/conf/resin.xml to /etc/resin/resin.xml
  7. Change the ownership of /etc/resin/resin.xml to "resin":
    chown resin:resin /etc/resin/resin.xml

Do the following as user "resin", unless otherwise specified

  1. Run the following within /usr/local/share/resin-pro-3.2.0:
    ./configure; make; make install
  2. Place your Resin license in /usr/local/share/resin-pro-3.2.0/licenses
  3. Edit /etc/resin/resin.xml:
    1. Change the line
      <http address="*" port="8080"/>
      to
      <http address="*" port="80"/>
    2. Allow for wildcard virtual hosts by changing the default <host> tag to:
      <host host-name="example.com">
      <host-alias-regexp>(.*)\.example\.com</host-alias-regexp>
      <web-app id="/" root-directory="/var/www/hosts/default/webapps/ROOT"/>
      <web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
      <!--
      - Administration application /resin-admin
      -->
      <prologue>
      <resin:set var="resin_admin_external" value="false"/>
      <resin:set var="resin_admin_insecure" value="true"/>
      </prologue>
      </web-app>
      </host>
    3. Make Resin run as user "resin" by uncommenting the following lines:
      <user-name>resin</user-name>
      <group-name>resin</group-name>
    4. Remove the following lines from <host-default>
      <!-- creates the webapps directory for .war expansion -->
      <web-app-deploy path="webapps"/>
  4. Create a virtual host directory for your domain:
    /var/www/hosts/default/webapps/ROOT
  5. Unzip WordPress Mu and copy all files and directories to /var/www/hosts/default/webapps/ROOT
  6. Create the WordPress database:
    mysql -u root
    mysql> CREATE DATABASE wordpress;
  7. Create the directory /var/www/hosts/default/webapps/ROOT/WEB-INF/lib
  8. Download MySQL Connector/J 5.1.6 (http://dev.mysql.com/downloads/connector/j/5.1.html)
  9. Unzip MySQL Connector/J and place the mysql-connector-java-5.1.6-bin.jar in /var/www/hosts/blog.example.com/webapps/ROOT/WEB-INF/lib
  10. Create the file /var/www/hosts/default/webapps/ROOT/WEB-INF/resin-web.xml:
    <?xml version="1.0"?>
    <web-app xmlns="http://caucho.com/ns/resin">
    <servlet-mapping url-pattern="*.php"
    servlet-class="com.caucho.quercus.servlet.QuercusServlet">
    <init>
    <php-ini>
    <display_errors>Off</display_errors>
    </php-ini>
    </init>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.php</welcome-file>
    </welcome-file-list>
    <!-- rewrite-dispatch replaces the mod_rewrite rules included with WordPress Mu -->
    <rewrite-dispatch>
    <!-- uploaded files -->
    <forward full-url-regexp="^(.*/)?files/$"
    target="index.php"/>
    <forward full-url-regexp="^(.*/)?files/(.*)"
    target="wp-content/blogs.php?file=$2"/>
    <!-- pass through requests that go to real files -->
    <dispatch>
    <when exists="$0"/>
    </dispatch>
    <forward full-url-regexp="^([_0-9a-zA-Z-]+/)?(wp-.*)" target="$2"/>
    <forward full-url-regexp="^([_0-9a-zA-Z-]+/)?(.*\.php)$" target="$2"/>
    <!-- send all other requests to index.php -->
    <forward target="/index.php"/>
    </rewrite-dispatch>
    </web-app>
  11. As root, run
    java -jar /usr/local/share/resin-3.2.0/lib/resin.jar -conf /etc/resin/resin.xml start
  12. Browse to your host and set up WordPress Mu according to the online directions
Personal tools