Site Migration

Moving the site from one directory to another or one machine to another requires a certain attention to detail. The site root sits in a designated /var/www directory. From that directory the site splays out as follows:

  • html/ - resources
    • user/ - user contributed content, symlink to archives/content/user_submitted, used by html editor
    • bwa/ - barry grime's forum redirect, copy from old site
    • webusage/ - current web usage compiled nightly by a cron job running on root. wants to write to '/var/www/www/webusage'. Copy over from the old site.
    • webstats/ - old web usage compiled from BSD machine, copy over.
    • resources/ - old directory to keep code seperate from static elements
      • journal/ - old journals, symlink to /archives/journal
      • repository/ - an old upload spot for staff, symlink to /archives/content/repository
      • images/ - obvious
        • abstract/ - abstract images, link to /archives/content/abstract
        • contents/ - contents images, link to /archives/content/content
        • contacts/ - contacts images, link to /archives/content/contact
    • photos/ - used to hold the photo archive code, now just holds the photos
      • archive/ - holds the photo archive, link to /archives/photo
    • journal/ - used to hold the journal code, now just holds journal directories
      • members/ - oddly named folder for pdfs link to /archives/journal/current/pdf
      • preview/ - pictures of thumbnails and covers of the current journal link to /archives/journal/current/convers
    • toolkit/ - before wiki, this was how stewardship transfered files/knowlege, used a bit to this day by the conacc sftp account, move to new site.
    • wiki/ - dokuwiki, excellent wiki software, most of the static text in the site is now in wiki, checked into SVN
      • data/ - data for dokuwiki, make sure the data is synched, it is checked into svn
    • phorum5/ - phorum 5 software, used for forums, checked into svn, self maintaining
    • cart/ - squirrel cart software, used for store, checked into svn
      • sc_images/ - images of products, make sure this is up-to-date
    • chattooga - special favor to link the chatooga issue to a URL, holds a PHP file that forwards to the wiki page. move over.
  • cgi-bin/ - old-style cgi-bin executables, copy over from old directory/machine. Pray you don't have to reconfigure barry's disucss forums (refered to earlier)
  • code/ - site code, config if required

The following is a list of known data to be checked to make sure it is working:

  • products in the store
  • staff/board bios up-to-date
  • forum posts messages
  • wiki doesn't complain of security
  • security doesn't allow non-admins to edit stuff
  • photos up-to-date
  • users updating nightly
  • gauges updating
  • clubs not expired

Configuration indepenent of the Framework Occurs in:

  • cart/squirlcart/config.php – used to configure admin functions
  • wiki/config/security – some security editing
Join AW and support river stewardship nationwide!
7.4.3PHP Version1.37sRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (131ms)
    • Application (1.24s)
    • 1 x Application (90.43%)
      1.24s
      1 x Booting (9.57%)
      131ms
      14 templates were rendered
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • app::layout.gadget (resources/views/layout/gadget.blade.php)2blade
        Params
        0
        contents
        1
        formRenderService
      • layout.columnstyle.one (resources/views/layout/columnstyle/one.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.columnstyle.componentstack (resources/views/layout/columnstyle/componentstack.blade.php)9blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        stack
        8
        component
      • layout.main (resources/views/layout/main.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._headers (resources/views/layout/_headers.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.header (resources/views/layout/header.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._scripts (resources/views/layout/_scripts.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.navigation (resources/views/layout/navigation.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • includes.alert.membership (resources/views/includes/alert/membership.blade.php)17blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
        15
        shouldNotifyUser
        16
        user
      • navigation.menu.static (resources/views/navigation/menu/static.blade.php)15blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
      • includes.footer (resources/views/includes/footer.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • layout.pagemap (resources/views/layout/pagemap.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      uri
      GET content/{url}
      middleware
      web
      controller
      App\Http\Controllers\Wh2oController@content
      namespace
      App\Http\Controllers
      where
      as
      generated::Os9R4mqMKRF5ktoI
      file
      app/Http/Controllers/Wh2oController.php:34-68
      6 statements were executed, 4 of which were duplicated, 2 unique23.52ms
      • select * from security where domain in ('ScriptLibraryGadget') and area is null;
        136μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        5.9ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        8.62ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        6.68ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        2.05ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from security_defaults where domain in ('MembershipGadget');
        135μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:134
        • 9. /app/Legacy/Security/BaseSecurity.php:200
          _token
          TI2iCq2RS2KWciEaJVUp77m0L5adEoE11BsGVljJ
          page
          array:1 [ "count" => -1 ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /content/Wiki/developer:site_migration
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:15 [ "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "host" => array:1 [ 0 => "beta.americanwhitewater.org" ] ]
          request_server
          0 of 0
          array:42 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_PRIORITY" => "u=0, i" "HTTP_ACCEPT_ENCODING" => "gzip, deflate, br, zstd" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_HOST" => "beta.americanwhitewater.org" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "beta.americanwhitewater.org" "SERVER_PORT" => "443" "SERVER_ADDR" => "172.31.18.125" "REMOTE_PORT" => "8962" "REMOTE_ADDR" => "18.191.166.195" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => true "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/opt/americanwhitewater.org/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/content/Wiki/developer:site_migration" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "PHP_VALUE" => "post_max_size=20M" "SCRIPT_FILENAME" => "/opt/americanwhitewater.org/public/index.php" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1743748717.9809 "REQUEST_TIME" => 1743748717 ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Fri, 04 Apr 2025 06:38:38 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjV4MTJEN0pnaEJXTDBWMHZhMU5JWkE9PSIsInZhbHVlIjoiZCt1VUhuUlVEa2tuVjZFR0RKeHZDVFROOGIxTWlVdjgwcS9DTEYyd1pOSlEzb0xLaEprWkZnNW5FUlJMbmI3eDhkM1dJR1hiWTYxM2xqeFpNRi9tL2JWU0dvcWZ3Yk1NT2srV3RKWWJjczJCNVhNWWFibm11RE82a3lyTnRsbGkiLCJtYWMiOiIyMTc3Yjc1NmM2M2QxY2VkMjM5NWJjZjMxNjE1YTZjZTgxZWM4MWM3ZTY1YWQ1MmNiYTEyYzViYTg0MTNhMTAyIn0%3D; expires=Fri, 04-Apr-2025 08:38:39 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6IjV4MTJEN0pnaEJXTDBWMHZhMU5JWkE9PSIsInZhbHVlIjoiZCt1VUhuUlVEa2tuVjZFR0RKeHZDVFROOGIxTWlVdjgwcS9DTEYyd1pOSlEzb0xLaEprWkZnNW5FUlJMbmI3eDhkM1dJR" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldneG13QW12M2IwUnUyb0tpSnhqbGc9PSIsInZhbHVlIjoia09nV3RWZy9PNHZlejhqOE5MbnFYNEVSS1l4aGRnYVE2YzNJVnlyNGtBVU1IYW5aY0orOFdjMkE5dW5ieVBIbCIsIm1hYyI6ImMyNjQxMjU1MGZjYjU3NTNhZmQ3ZGY1NTc3ZTEzOGQ5OTEwNmE1Mzk3MmNiODE2ZGI5NWY4NzU4NTA3OTcwNmUifQ%3D%3D; expires=Fri, 04-Apr-2025 06:37:38 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldneG13QW12M2IwUnUyb0tpSnhqbGc9PSIsInZhbHVlIjoia09nV3RWZy9PNHZlejhqOE5MbnFYNEVSS1l4aGRnYVE2YzNJVnlyNGtBVU1IYW5aY0orO" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjV4MTJEN0pnaEJXTDBWMHZhMU5JWkE9PSIsInZhbHVlIjoiZCt1VUhuUlVEa2tuVjZFR0RKeHZDVFROOGIxTWlVdjgwcS9DTEYyd1pOSlEzb0xLaEprWkZnNW5FUlJMbmI3eDhkM1dJR1hiWTYxM2xqeFpNRi9tL2JWU0dvcWZ3Yk1NT2srV3RKWWJjczJCNVhNWWFibm11RE82a3lyTnRsbGkiLCJtYWMiOiIyMTc3Yjc1NmM2M2QxY2VkMjM5NWJjZjMxNjE1YTZjZTgxZWM4MWM3ZTY1YWQ1MmNiYTEyYzViYTg0MTNhMTAyIn0%3D; expires=Fri, 04-Apr-2025 08:38:39 GMT; path=/XSRF-TOKEN=eyJpdiI6IjV4MTJEN0pnaEJXTDBWMHZhMU5JWkE9PSIsInZhbHVlIjoiZCt1VUhuUlVEa2tuVjZFR0RKeHZDVFROOGIxTWlVdjgwcS9DTEYyd1pOSlEzb0xLaEprWkZnNW5FUlJMbmI3eDhkM1dJR" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldneG13QW12M2IwUnUyb0tpSnhqbGc9PSIsInZhbHVlIjoia09nV3RWZy9PNHZlejhqOE5MbnFYNEVSS1l4aGRnYVE2YzNJVnlyNGtBVU1IYW5aY0orOFdjMkE5dW5ieVBIbCIsIm1hYyI6ImMyNjQxMjU1MGZjYjU3NTNhZmQ3ZGY1NTc3ZTEzOGQ5OTEwNmE1Mzk3MmNiODE2ZGI5NWY4NzU4NTA3OTcwNmUifQ%3D%3D; expires=Fri, 04-Apr-2025 06:37:38 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IldneG13QW12M2IwUnUyb0tpSnhqbGc9PSIsInZhbHVlIjoia09nV3RWZy9PNHZlejhqOE5MbnFYNEVSS1l4aGRnYVE2YzNJVnlyNGtBVU1IYW5aY0orO" ] ]
          session_attributes
          0 of 0
          array:3 [ "_token" => "TI2iCq2RS2KWciEaJVUp77m0L5adEoE11BsGVljJ" "page" => array:1 [ "count" => -1 ] "PHPDEBUGBAR_STACK_DATA" => [] ]