Currently building automated installation package.
Below is the manual process until the package is operational.
Contents |
FTP The entire site file content to the target root of the web site
Call your Hosting ISP for specific instructions on how to set up DNS for your web site. You can setup your local HOSTS file (located in c:\windows\system32\drivers\etc on a windows client) so that your web browser will resolve the domain to the web server until DNS is set and propigated. Follow instructions in the HOSTS file to add a line for your domain / web server IP address.
mysqldump -u username -p iproductsbase > iproductsbase.m.d.y.sql
Create database databasename;
mysql -u username -p databasename < iproductsbase.m.d.y.sql
GRANT CREATE TEMPORARY TABLES, DELETE, INSERT, LOCK TABLES, SELECT, UPDATE ON databasename.* TO 'newusername'@'localhost' identified by 'password';
$iProducts['dbUser'] = "username"; $iProducts['dbPassword'] = "password"; $iProducts['dbDatabase'] = "databasename";
All core scheduled tasks are executed by the following file located in the root of the website: /taskScheduler.php
Setup the below cron jobs:
* * * * * /usr/bin/lynx -source http://www.websitedomainname.com/taskScheduler.php * 1 * * * root ntpdate 0.pool.ntp.org
*/10 * * * * . /path/to/website/root/folder/ebo/xmlExporter.sh >> /dev/null 2>&1 # TEM XML Exporter
Replace "/path/to/website/root/folder/" with the path to the website root folder on your server
Create a root folder for the images and files to be used by the image and file management libraries. They can be in root of the website (/images, /files), in a common directory (/library/images, /library/files) or even within each other (/files, /files/images). These folders will need to be entered into the site settings when later configuring the website via the administration console.
If integrating with MOM (Mail Order Manager), a scheduled task needs to be setup on the windows server that is hosting MOM.
First set up the import environment. Do this by creating the following directory structure (location doesnt matter, so long as the following structure exists): /MOM_INT/ /MOM_INT/logs/ /MOM_INT/imports/ /MOM_INT/importBackups/ /MOM_INT/exports/ /MOM_INT/exceptionreports/ /MOM_INT/orderImportIncremental.vbs
Ensure BOTH MOM and the scheduled task running "orderImportIncremental.vbs" have ALL access rights to /MOM_INT and all subfolders.
Place the following visual basic code into the /MOM_INT/orderImportIncremental.vbs file (Change the "URL" attribute to use the domain name of your web site):
' init attribs Dim fileName Dim URL ' set the URL of your web site here!!!!! URL = "http://www.yourwebsitedomain.com/index.php?fa=ORDER.orderExportMOM_5_4&dBug=0&onlyNotSent=1&markAsSent=1" ' increase timeout for script processing WScript.Timeout = 270 ' access file system Set fso = CreateObject("Scripting.FileSystemObject") ' open (create) the master import log that will list ALL import attempts set f = fso.OpenTextFile("orderImportLog.txt",8,True) ' create the TEMPORARY in process file. This will automatically be deleted at the end of this script. If this file remains, the import process stalled. importInProg = "logs/importInProgress." & DatePart("yyyy",Now) & "_" & DatePart("m",Now) & "_" & DatePart("d",Now) & "_" & DatePart("h",Now) & "_" & DatePart("n",Now) & "_" & DatePart("s",Now) & ".txt" set fl = fso.OpenTextFile(importInProg,2,True) fl.Write "running file" fl.Close ' append the master import log f.Write vbcrlf & "-------------" &vbcrlf & "starting Import " & DatePart("yyyy",Now) & "-" & DatePart("m",Now) & "-" & DatePart("d",Now) & " " & DatePart("h",Now) & ":" & DatePart("n",Now) & ":" & DatePart("s",Now) ' create name for import file fileName = "MOMIMPORT.INCR." & DatePart("yyyy",Now) & "_" & DatePart("m",Now) & "_" & DatePart("d",Now) & "_" & DatePart("h",Now) & "_" & DatePart("n",Now) & "_" & DatePart("s",Now) & ".XML" ' get web page data Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") WinHttpReq.Open "GET",URL,False WinHttpReq.Send ' append master import log f.Write vbcrlf & "data retrieved" ' save to file If(trim(WinHttpReq.ResponseText) <> "") then f.Write vbcrlf & "data not empty. writing files..." ' save the import file in BOTH the imports directory (for MOM to pull) AND the importBackups directory (to keep an archive) set f1 = fso.OpenTextFile("imports/" & fileName,2,True) f1.Write WinHttpReq.ResponseText set f2 = fso.OpenTextFile("importBackups/" & fileName & ".bak",2,True) f2.Write WinHttpReq.ResponseText f.Write vbcrlf & "file writing complete" End If ' append the master import log f.Write vbcrlf & "ending import " & DatePart("yyyy",Now) & "-" & DatePart("m",Now) & "-" & DatePart("d",Now) & " " & DatePart("h",Now) & ":" & DatePart("n",Now) & ":" & DatePart("s",Now) ' Delete the TEMPORARY importInProg file fso.DeleteFile(importInProg)
On linux run the following to fix the case of the table names.
This is necessary because Windows makes the table names lower case, regardless of specifying upper case letters in the table names. Since the starting database is being transferred from a windows box, the table names will be set to lower case by windows. The linux file system is case sensitive, meaning that if a script calls for the table using any upper case letters where the table name is stored as lower case, it will not find the table. To correct this, the below commands need to be run in order to change the table names to their correct case.
The following commands need to be run in mysql. This can be done by logging on to SSH for the server housing the database than logging into mysql on that server. The below commands can all be run by copying the entire command list and pasting it into your ssh session while in the mysql prompt.
alter table customfields rename customFields; alter table customfieldvalues rename customFieldValues; alter table customlibraries rename customLibraries; alter table customlibraryitems rename customLibraryItems; alter table page_forumpostagree rename page_forumPostAgree; alter table page_forumposts rename page_forumPosts; alter table page_pollanswers rename page_pollAnswers; alter table page_pollquestions rename page_pollQuestions; alter table page_searchgroup_languages rename page_searchGroup_languages; alter table page_searchgroups rename page_searchGroups; alter table page_searchoption_languages rename page_searchOption_languages; alter table page_searchoptions rename page_searchOptions; alter table page_send2friend rename page_send2Friend; alter table pendingapproval rename pendingApproval; alter table prod_optiongroups rename prod_optionGroups; alter table prod_optiongroup_link rename prod_optionGroup_link; alter table prod_pricegroups rename prod_priceGroups; alter table stat_pageviews rename stat_pageViews; alter table user_groupaccess rename user_groupAccess; alter table user_loginsessions rename user_loginSessions; alter table user_usersingroups rename user_usersINgroups; alter table user_wishlist rename user_wishList; alter table lk_zipcodes rename lk_zipCodes; alter table lk_fedexzipstozones rename lk_fedexZipsToZones; alter table lk_paytypes rename lk_payTypes;
The following settings will allow emails sent from the server to avoid spam filters. This is to fulfill the three-way mail check. To do this we need the name the server identifies itself as (258258-web1.greatgardenplants.com) to resolve both forward and backward. That is, the IP address of the server needs to resolve to 258258-web1.greatgardenplants.com and the name 258258-web1.greatgardenplants.com resolves to the IP address of the server (204.232.239.36). From linux shell type the following to see what the server identified itself as:
First, create a PTR record with the server hosting company pointing the IP address used to send email to the server name subdomain.
Second, a subdomain has to be created with the domain name registrar. This subdomain needs to match the server name (#hostname) and resolve to the IP address that will be sending outbound mail.