On this page:
Follow the steps outlined below to migrate your customized IU Web Framework site from Webserve to the Sitehost service.
If your IU Web Framework website hasn't been customized, see ARCHIVED: Migrate your IU Web Framework site to Sitehost instead.
If your site doesn't use the IU Web Framework, follow the ARCHIVED: Sitehost migration guide instead.
Verify that Two-Step Login (Duo) is enabled for the Group account for which you want to request Sitehost; see Use Two-Step Login (Duo) with a group account.
Your request will be sent to Web Services Support for approval. Once approved, you will receive an email confirming that your Sitehost account has been created.
Some common IU Web Framework customizations to check for are described below.
First, log into your site in the WCMS, and then open each file in the _php
directory. If any files with the .php
extension have code in them other than include(1.x/some-file-name.php
)or include(1.2.x/some-file-name.php
), your site has been customized.
Next, connect to your site on Webserve using SSH or SFTP. If there are any files in your site's published wwws/_php
directory not shown on the list of files and directories included with the IU Web Framework, your site has been customized.
While logged into your site in the WCMS, open each file in the _internal/velocity
directory and its subdirectories. If any of these files have code in them other than #import
statements or Velocity macro calls (which #LookLikeThis()
), your site has been customized.
Connect to your site on Webserve using SSH or SFTP if you haven't already done so. If the .htaccess
file in your site's published wwws
directory does not match the .htaccess file included with the IU Web Framework, your site might have been customized.
You can use an online tool like DiffChecker to see if and how your code is different from that shown in the example .htaccess
file, which can help you spot possible customizations. Be sure to replace {{ ACCOUNT_NAME }}
with your Webserve account name (for example, iuframe
), and {{ URL }}
with the full URL of your website (for example, iuframe.iu.edu
) before comparing with DiffChecker.
Connect to your site on Webserve using SSH or SFTP if you haven't already done so. If your site contains any of the following directories or files, it's been customized:
laravel
.dbconfig
or .apiconfig
If your Webserve account includes a MachForm installation, follow MachForm migration instructions on Github.
Log into your site in the WCMS and review the following types of assets for custom PHP code containing hard-coded Webserve paths:
_internal/velocity
_php
not included with the IU Web Framework_internal/xsl
_internal/templates
If any of the above assets contain custom code with hard-coded Webserve paths, make the following updates, replacing <account>
with your Group account name:
/ip/<account>/www
and /ip/<account>/wwws
with /groups/<account>/web
/ip/<account>/
with /groups/<account>/
www
and wwws
with web
In the _php
folder, edit the .htaccess
file and delete the Satisfy Any
and Allow from all
directives, as they are not used in Apache 2.4.
If your site contains PHP, JavaScript, or other source code files that aren't managed in the WCMS, you'll need to download them from Webserve to your computer using an SFTP client (see SFTP clients recommended for use at IU).
Once you've downloaded any files not managed in the WCMS, make the following updates to the code in each:
/ip/<account>/www
or /ip/<account>/wwws
with /groups/<account>/web
$_SERVER["SCRIPT_URL"]
with $_SERVER["SCRIPT_NAME"]
www.iu.edu/~iunews
to news.iu.edu
AuthType
directives in any .htaccess
files to use the Apache 2.4 syntaxIf you're comfortable with the command line, you can use a bash script to locate files that need to be updated. Run this script in your /groups/<account>/
directory (or in the folder on your computer to which you downloaded your site's files via SFTP). This script will generate a results.txt
file listing source code files that need to be updated using the steps described in this section.
If there are any cron jobs running scheduled tasks for your site, you'll need to make the following updates to the code run by these tasks before recreating them on Sitehost:
/ip/<account>/www
and /ip/<account>/wwws
with /groups/<account>/web
/ip/<account>/
with /groups/<account>/
www
and wwws
with web
Each of your site's Transports must be updated using the WCMS Manager Tools to reflect new Transport names, host names, and server directories.
For the Transport labeled "TEST":
Sitehost – Test
.ssh.sitehost-test.iu.edu
./groups/<account>/
.For the Transport labeled "LIVE" or "PRODUCTION":
Sitehost – Production
.ssh.sitehost.iu.edu
./groups/<account>/
.Each of your site's Destinations must be updated in the WCMS to reflect the new directory paths in Sitehost. You should update current Destinations. Creating new Destinations will require updating Content Types.
For the Destination labeled "TEST":
web
.Sitehost - Test
.For the Destination labeled "LIVE" or "PRODUCTION":
web
.Sitehost - Production
.You'll need to update the staging URL in your site's Settings block in the WCMS. The Settings block is located toward the bottom of your site's root folder.
<account>.sitehost-test.iu.edu
.The IU Web Framework setup script prepares your Sitehost-test and Sitehost account to serve your IU Web Framework website. Follow the directions below to run the setup script.
For your test Sitehost account:
<username>
with your personal IU username (not the Group account name): ssh <username>@ssh.sitehost-test.iu.edu
.<account>
with the Group account name: become <account>
.cd
into the web directory./groups/iuframe/bin/setup_framework
.<account>.sitehost-test.iu.edu
.ls -a
.gwassets/
.htaccess
.user.ini
robots.txt
For your production Sitehost account, follow the steps above, replacing instances of sitehost-test
in URLs with sitehost
. In step 9, replace the URL <account>.sitehost-test.iu.edu
with your virtual URL (for example, iuframe.iu.edu
). If you site does not have a virtual host, enter the following URL, replacing <account>
with the Group account name: <account>.sitehost.iu.edu
.
Publish your site to Sitehost's test server to confirm your site is working as expected before publishing to Sitehost's public-facing production server.
.htaccess
files) that are not managed in the WCMS, you'll need to publish them from your computer to Sitehost-test via SFTP.<account>.sitehost-test.iu.edu
to verify your site is working as expected. Contact Web Services Support if you're unable to get your site to work on Sitehost's test server.To publish your site to Sitehost's production server, follow the steps below:
.htaccess
files) that are not managed in the WCMS, you'll need to publish them from your computer to Sitehost via SFTP.Testing your site on the Sitehost production server requires adding your virtual host to Sitehost without requesting a DNS change. If you are not using a virtual host, then you can view your site on Sitehost by going to <account>.sitehost.iu.edu
.
You will receive a confirmation email when your virtual host request is approved. Allow up to 30 minutes from receiving the confirmation email for the virtual host to be installed on Sitehost.
https://<website_url>/sitehostmigrationtest
, replacing <website_url> with your site's virtual host URL (for example, iuframe.iu.edu
).You will now see your site as rendered by the Sitehost servers. The site title will begin with "Testing - ". Repeat the two steps listed above if clicking the link on the intermediate page does not take you to your site as rendered by the Sitehost servers.
When you've finished migrating your customized IU Web Framework site to Sitehost, request the transfer of your virtual host from Webserve to Sitehost by contacting Web Services Support with the account name and URL of the site you've migrated.
Changes to a virtual host's configuration take time to propagate through the system. In most cases, your transfer will take effect by 8am the business day after you receive confirmation of your transfer request.