Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
litespeed_wiki:cache:lscache:vbseo [2017/01/03 21:39]
Michael Alegre removed
litespeed_wiki:cache:lscache:vbseo [2017/01/03 21:39] (current)
Michael Alegre Added Redirect.
Line 1: Line 1:
-====== LSCache + vBSEO (Guest Cache) ====== +~~REDIRECT>litespeed_wiki:​cache:​no-plugin-vbseo~~
- +
-===== Summary ===== +
-LSCache can be setup for vBSEO with vB cache plugin for guest cache.  +
- +
- +
- +
- +
-===== Perquisites ===== +
- +
-  vBulletin 3/4 +
-  vBSEO 3.6.0 +
-  LiteSpeed WebServer 4.0+ (supports public cache) +
- +
- +
- +
- +
-===== Procedures ===== +
-1. Save the following Cache plugin for vBulletin 3/4 to a file say litespeed_cache.xml +
-<code> +
-<?xml version="​1.0"​ encoding="​ISO-8859-1"?>​ +
- +
-<product productid="​lswscache"​ active="​1">​ +
-        <​title>​Litespeed Caching</​title>​ +
-        <​description>​settings to make Litespeed page cache working right</​description>​ +
-        <​version>​1.0</​version>​ +
-        <url /> +
-        <​versioncheckurl /> +
-        <​dependencies>​ +
-        </​dependencies>​ +
-        <​codes>​ +
-        </​codes>​ +
-        <​templates>​ +
-        </​templates>​ +
-        <​plugins>​ +
-                <plugin active="​1"​ executionorder="​1">​ +
-                        <​title>​Unset session id for guest users</​title>​ +
-                        <​hookname>​global_start</​hookname>​ +
-                        <​phpcode><​![CDATA[if($vbulletin->​userinfo['​userid'​] <= 0) +
-+
-$vbulletin->​session->​vars['​sessionurl'​] ​ = '';​ +
-$vbulletin->​session->​vars['​sessionurl_q'​] ​ = '';​ +
-}]]></​phpcode>​ +
-                </​plugin>​ +
-                <plugin active="​1"​ executionorder="​1">​ +
-                        <​title>​SET COOKIE FOR LOGGED IN USERS</​title>​ +
-                        <​hookname>​login_verify_success</​hookname>​ +
-                        <​phpcode><​![CDATA[if ($send_cookies AND $cookieuser) +
-+
-// Cookie user +
-vbsetcookie('​imloggedin',​ '​yes',​ true, true, true); +
-+
-else +
-+
-// Not permanent +
-vbsetcookie('​imloggedin',​ '​yes',​ false, true, true); +
-}]]></​phpcode>​ +
-                </​plugin>​ +
-                <plugin active="​1"​ executionorder="​1">​ +
-                        <​title>​Send X-LiteSpeed-Cache-Control header for logged in users</​title>​ +
-                        <​hookname>​style_fetch</​hookname>​ +
-                        <​phpcode><​![CDATA[//​ Do not cache logged in user pages +
-if ( $vbulletin->​userinfo['​userid'​] ) +
-+
-        header('​X-LiteSpeed-Cache-Control: no-cache'​);​ +
-};​]]></​phpcode>​ +
-                </plugin+
-        </​plugins>​ +
-        <​phrases>​ +
-        </​phrases>​ +
-        <​options>​ +
-        </​options>​ +
-        <​helptopics>​ +
-        </​helptopics>​ +
-        <​cronentries>​ +
-        </​cronentries>​ +
-        <​faqentries>​ +
-        </​faqentries>​ +
-</​product>​ +
-</​code>​ +
- +
- +
-2. Add the xml in 1. to vBulletin +
- +
-   Log into Admin Console Panel (http://​site/​forum/​admincp) +
-      Plugins & Products => Add/Import Product) +
- +
-3. Modify rewrite rules in .htaccess  +
- +
-Rewrite Rules: on the very beginning, maybe just after  +
-<​code>​ +
-RewriteEngine On +
-</​code>​ +
-add +
-<​code>​ +
-#rules for litespeed cache: begin +
-RewriteCond %{HTTP_COOKIE} !vbseo_loggedin=yes +
-RewriteCond %{HTTP_COOKIE} !bbuserid= +
-RewriteCond %{HTTP_COOKIE} !bbpassword= +
-#​RewriteCond %{ORG_REQ_URI} ^/​(index\.php|)$ +
-RewriteCond %{REQUEST_METHOD} ^HEAD|GET$ +
-RewriteCond %{QUERY_STRING} ^$ +
-RewriteRule (.*) [E=Cache-Control:​max-age=60] +
-#rules for litespeed cache: end +
-</​code>​ +
-There is no need to change any other rewrite rules that come from vBSEO or other sources. +
- +
-4. Enable and Set up Cache Policy in LSWS +
- +
-In LiteSpeed (v4.1.2 or later) Admin CP -> Configuration -> Server -> Cache +
-<​code>​ +
-Storage Path: /​diskcache +
-Max Object Size: 128K +
- +
-Cache Policy +
-Enable Cache: ​   No +
-Cache Expire Time (seconds): ​   Not Set +
-Cache Request with Query String: ​   Yes +
-Cache Request with Cookie: ​   Yes +
-Cache Response with Cookie: ​   Yes +
-Ignore Request Cache-Control: ​   Yes +
-Ignore Response Cache-Control: ​   Yes +
-Enable Private Cache: ​   No +
-Private Cache Expire Time (seconds): ​    +
-Do-Not-Cache URL(s): +
-</​code>​ +
-**Note:**  +
- +
-   - Cache storage can be set to /​dev/​shm/​diskcache to avoid disk I/O wait if enough memory can be spared. +
-   - Cache resource with size less than 128KB. +
-   - your vB's coookie name may vary, for example my_userid instead of bbuserid, depends on your vB configuration. +
-   - For cached request, "​X-LiteSpeed-Cache:​ hit" response header should be seen. IOW, if no such entry in the response header, the response is not cached by LSWS. +
- +
- +
- +
-===== Crate a cronjob to clean up stale cache ===== +
- +
-<​code>​ +
-*/10 * * * * find /diskcache -type f -mmin +10 –delete +
-</​code>​ +
- +
-**Note:** This cron job cleans up stale cache storage every 10 minutes. +
- +
- +
-==== Add entries to /​etc/​rc.local ==== +
-  +
- +
-     echo "mkdir /diskcache && chmod nobody.lsadm"​ >> /​etc/​rc.local +
-     echo "/​diskcache && chmod 770 /​diskcache"​ >> /​etc/​rc.local +
-     +
-**Note:** this is to make sure cache directory gets created when server is booted up.+
  • Admin
  • Last modified: 2017/01/03 21:39
  • by Michael Alegre