Quercus: Wordpress Mu
From Resin 3.0
(Difference between revisions)
(added resin user) |
(resin.xml organization) |
||
Line 19: | Line 19: | ||
# Place your Resin license in /usr/local/share/resin-pro-3.2.0/licenses | # Place your Resin license in /usr/local/share/resin-pro-3.2.0/licenses | ||
# Copy /usr/local/share/resin-3.2.0/conf/resin.xml to /etc/resin/resin.xml | # Copy /usr/local/share/resin-3.2.0/conf/resin.xml to /etc/resin/resin.xml | ||
− | # Edit /etc/resin/resin.xml | + | # Edit /etc/resin/resin.xml: |
− | #:<pre><http address="*" port=" | + | ## Change the line |
− | # | + | ##:<pre><http address="*" port="8080"/></pre> |
− | #:<pre> | + | ##:to |
− | #:<host regexp="(.*)example\.com"> | + | ##:<pre><http address="*" port="80"/></pre> |
− | #: <host-name>${host.regexp[1]}example.com</host-name> | + | ## Allow for wildcard virtual hosts by changing the default <host> tag to: |
− | #: | + | ##:<pre> |
− | #: <web-app id="/" root-directory="/var/www/hosts/default/webapps/ROOT"/> | + | ##:<host regexp="(.*)example\.com"> |
− | #: | + | ##: <host-name>${host.regexp[1]}example.com</host-name> |
− | #: <web-app id="/resin-admin" root-directory="${resin.home}/php/admin"> | + | ##: |
− | #: <!-- | + | ##: <web-app id="/" root-directory="/var/www/hosts/default/webapps/ROOT"/> |
− | #: - Administration application /resin-admin | + | ##: |
− | #: --> | + | ##: <web-app id="/resin-admin" root-directory="${resin.home}/php/admin"> |
− | #: <prologue> | + | ##: <!-- |
− | #: <resin:set var="resin_admin_external" value="false"/> | + | ##: - Administration application /resin-admin |
− | #: <resin:set var="resin_admin_insecure" value="true"/> | + | ##: --> |
− | #: </prologue> | + | ##: <prologue> |
− | #: </web-app> | + | ##: <resin:set var="resin_admin_external" value="false"/> |
− | #:</host></pre> | + | ##: <resin:set var="resin_admin_insecure" value="true"/> |
− | # | + | ##: </prologue> |
− | #:<pre> | + | ##: </web-app> |
− | #:<user-name>resin</user-name> | + | ##:</host></pre> |
− | #:<group-name>resin</group-name></pre> | + | ## Make Resin run as user "resin" by uncommenting the following lines: |
+ | ##:<pre> | ||
+ | ##:<user-name>resin</user-name> | ||
+ | ##:<group-name>resin</group-name></pre> | ||
+ | ## Remove the following lines from <host-default> | ||
+ | ##:<pre> | ||
+ | ##:<!-- creates the webapps directory for .war expansion --> | ||
+ | ##:<web-app-deploy path="webapps"/></pre> | ||
# Create a virtual host directory for your domain:<pre>/var/www/hosts/default/webapps/ROOT</pre> | # Create a virtual host directory for your domain:<pre>/var/www/hosts/default/webapps/ROOT</pre> | ||
# Unzip WordPress Mu and copy all files and directories to /var/www/hosts/default/webapps/ROOT | # Unzip WordPress Mu and copy all files and directories to /var/www/hosts/default/webapps/ROOT |
Revision as of 04:28, 2 July 2008
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
- MySQL server
- Java 1.5 or higher
- Access to your DNS server
Full installation
- Add a wildcard entry to your DNS record (usually of the form *.example.com, details here)
- Download WordPress Mu 1.5.1 from http://mu.wordpress.org/download/
- 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.
- Unzip Resin Pro 3.2.0 in /usr/local/share
- Run the following within /usr/local/share/resin-pro-3.2.0:
./configure; make; make install
- Place your Resin license in /usr/local/share/resin-pro-3.2.0/licenses
- Copy /usr/local/share/resin-3.2.0/conf/resin.xml to /etc/resin/resin.xml
- Edit /etc/resin/resin.xml:
- Change the line
<http address="*" port="8080"/>
- to
<http address="*" port="80"/>
- 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>
- Make Resin run as user "resin" by uncommenting the following lines:
- <user-name>resin</user-name>
- <group-name>resin</group-name>
- Remove the following lines from <host-default>
- <!-- creates the webapps directory for .war expansion -->
- <web-app-deploy path="webapps"/>
- Change the line
- Create a virtual host directory for your domain:
/var/www/hosts/default/webapps/ROOT
- Unzip WordPress Mu and copy all files and directories to /var/www/hosts/default/webapps/ROOT
- Create the WordPress database:
mysql -u root
mysql> CREATE DATABASE wordpress;
- Add the user "resin":
useradd resin
- Create the directory /var/www/hosts
- Change the ownership of the directory to "resin":
chown resin:resin /var/www/hosts
- Do the following as user "resin"
- Create the directory /var/www/hosts/default/webapps/ROOT/WEB-INF/lib
- Download MySQL Connector/J 5.1.6 (http://dev.mysql.com/downloads/connector/j/5.1.html)
- 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
- 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>
- As root, run
java -jar /usr/local/share/resin-3.2.0/lib/resin.jar -conf /etc/resin/resin.xml start
- Browse to your host and set up WordPress Mu according to the online directions