Quercus: Wordpress Mu

From Resin 3.0

Revision as of 04:04, 2 July 2008 by Emil (Talk | contribs)
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
  4. Unzip Resin Pro 3.2.0 in /usr/local/share
  5. Run the following within /usr/local/share/resin-pro-3.2.0:
    ./configure; make; make install
  6. Place your Resin license in /usr/local/share/resin-pro-3.2.0/licenses
  7. Copy /usr/local/share/resin-3.2.0/conf/resin.xml to /etc/resin/resin.xml
  8. Edit /etc/resin/resin.xml to listen to port 80:
    <http address="*" port="80"/>
  9. Edit /etc/resin/resin.xml to allow for wildcard virtual hosts by changing the default <host> tag to:
    <host regexp="(.*)example\.com">
    <host-name>${host.regexp[1]}example.com</host-name>
    <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>
  10. Create a virtual host directory for your domain:
    /var/www/hosts/default/webapps/ROOT
  11. Unzip WordPress Mu and copy all files and directories to /var/www/hosts/default/webapps/ROOT
  12. Create the WordPress database:
    mysql -u root
    mysql> CREATE DATABASE wordpress;
  13. Create the directory /var/www/hosts/default/webapps/ROOT/WEB-INF/lib
  14. Download MySQL Connector/J 5.1.6 (http://dev.mysql.com/downloads/connector/j/5.1.html)
  15. 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
  16. 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>
    <!-- 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>
  17. Run
    java -jar /usr/local/share/resin-3.2.0/lib/resin.jar -conf /etc/resin/resin.xml start
  18. Browse to your host and set up WordPress Mu according to the online directions
Personal tools