prescription drugs from india safe viagra why has femara been discontinued zanaflex prescription assistance lasix on line in the uk viagra jet precio en mexico zovirax 800 mg tablets buy betapace discount florinef tablets 0.1 mg motrin where can i buy actos to buy in australia mail order l thyroxine online buy cytotec in malaysia levothyroxin without subscription buy sumycin lowest price prescription acne medication differin how to get ethionamide drug cefadroxil rxlist is generic danazol available in usa otc ringworm medication for dogs lithium pills sweat cefixime oral suspension ip buy dilantin 100 mg online pharmacy support staff responsibilities purchase nordette in mexico no rx betnovate online minoxidil and propecia reviews retin a 0.1 cream diclofenac 100mg suppositories suppliers of mircette in us buy retin a 0,05 tablets usa janumet online usa no prescription order generic fertomid best time to take celexa medication how to buy coversyl online novo digoxin online uk ventolin to buy from europe buy trial erection packs 1 100mg online indomethacin generic for indocin can you buy cefixime in ireland cipro delivery 3 days usa buy cleocin gel without prescription no prescription micronase sale mircette medicine children discount code for crestor diflucan from china otomax from australia cialis jelly rx paxil pills sweat aarp medicare rx preferred mail order pharmacy low price etodolac uk is mail order digoxin safe buy carafate without prescription isotretin uses medication free samples of cialis online tizanidinum online from usa what is doxycycline used for in ivf compazine cost venda alli internet just mail order minipress how much is carbozyne tablets relafen without a prescription from australia what is claritin 10mg used for carafate noprescrition needed canada online pharmacy medrol pharmacies buspar brand online pharmacy where citalopram antidepressant serotonin canadian drug company erection packs 2 coreg no prescription fedex ups canada buy cabaser without prescription buying cymbalta how long to take allegra d kamagra oral jelly pills online in the mexico side effects of prevacid otc celexa without a prescription from us remeron orally disintegrating tablets buy cheap clonazepam no prescription thyrohormone canada sale buy salbumol new zealand online buy trazodone pills in the australia can diclofenac be bought over the counter cheap liverpool hotels apartments lidocaine spray for waxing do you need rx capoten order acticin online with visa sildenafila medicine children i pill keppra website order augmentin from mexico without prescription retin a gel 0,1 buy online uk 40 for 99 no rx viagra online what is minocycline mg used to treat med cab aricept wellbutrin sr prices drug market order finax buy levothroid with vistaril canada prescription liquid benzac review cheapest place to buy real viagra beta val uk sale where do i rosuvastatin in india how to get viagra new zealand no rx medrol online pill rx health terramycin products albuterol where to get purchase protonix in usa zanaflex prescriptions where to buy ceftin with amex pyridium on line in the canada cephalexin over the counter buy naproxen 500 mg what is the generic brand for prilosec generic cialis soft canadian pharmacy proventil hfa inhaler price flomax delivery uk better than etodolac buy diltiazem 100mg online trial erection packs 2 limited india genuine glucophage 100mg voltaren pharmacy prices list online pharmacy meclizine what is ataraxia epicurus is generic tretinoin 0,025 available in usa buy cefadroxil cheap purchase levothyroxin in australia yasmin on line for sale no script cheapest chloroquine in the uk rhinocort canadian pharmacy how to purchase lotrel is it illegal to order generic dyazide half price thyrox cialis sublingual without prescription where do i cafergot in india how to buy meloxicam enolat in canada tetracycline availability 2012 etodolac generic 2013 drugs chloramphenicol pharmacy medicine what is valtrex made of zocor india lopressor hct side effects finpecia no rx cost of azithromycin uk overnight pharmacy zyvox feldene para que se usa generic diabecon uk paypal prilosec no prescription needed dogs cheap viagra uk do you need rx topamax phone in order for prometrium danazol buy online india order altace rx most common side effects of levaquin how long does it take for propranolol to work for migraines lopid without a script colchicine pills buy online atarax overnight delivery which uk site to buy hyzaar do i need a prescription for danazol lipitor 100mg buy order seroquel on line usa side effects of green tea extract with hoodia cheap genuine starlix online terramycin tablets buy cialis c800 aricept online without prescription frusemide for men in usa tenormin 100 mg nebenwirkungen precose roche precio argentina is it safe to split diovan pills zovirax generic price where to buy pilex drugs online where to get metoclopramide what is female viagra used for buy levitra online from usa generic rogaine 2 cost chloromycetin medication side effects aceon without a script fedex combivent in croatia long term side effects of sinemet thyroxin mail order voltaren schmerzgel online kaufen caprysin from china walmart pharmacy online pharmacy home delivery canon zoom pack 1000 canada what are the side effects of arava isoniazid cheap uk pharmacy estrace for purchase without a prescription amitriptyline discontinued albuterol order in the us best price tadapox prednisolone maximum dosage what does erythromycin look like vytorin 10 80 mg tablet do you need rx c ratioph buy zebeta online from uk riomont tablets 150 mg cordarone discount medications skelaxin pharmacy arzomicin pharmacy prices list buy oristal online overnight delivery how do i get free samples of viagra how much will generic actos cost baclofene et sevrage tabagique acticin without prescription pills buy viagra in south korea reminyl no prescription needed dogs is buspar legal in uk zanaflex india buy zocor online mexico no prescription orlistato online canada c ratioph over counter uk the chepest raciper is there a drug comparative to aceon purchase aprovel in australia valtrex rx sig minocin to buy buy clavamox inhaler canada us pharmacies online that sell confido billig citalopram online kaufen how many bupropion 150 mg to get high tretinoin 0 025 in croatia indinavir without script otc asthma inhaler walmart cheap biaxin pills fast mirapex delivery zyvox side effects uk frumil dose zetia sale cymbalta reviews uk can i make erection packs 2 is it illegal to order generic didronel albuterol birth control online canada meclizine phone orders avalide results forum buy letrozole without prescription xenical 120 mg dosage current price rumalaya liniment buy generic albuterol online buy hydrodiuril tablets us antivert for sale australia prograf mail order india switching from zoloft to prozac anxiety where to buy levitra online without rx stilnox overdose effects cytotec where i can buy it brand amoxil by mail order price increase aricept anacin coupon code where can i get caffeine ergotamine inderal shortage in australia where to purchase isoniazid long term effects of prednisone psychosis hydrea from usa best place to buy metrogel in canada brand viagra pill shop discount code buy hytrin capsules where can i buy ventolin in canada purchase maxaman lowest price is there a drug comparative to viagra orlistat sublingual dosage where to buy albendazole online levitra expiration date avalide usa buy antivert tablets australia diovan sold over counter ordering naprosyn uk buy levothyroxin online overnight where to buy flovent without a prescription buy bupropionum online canada purchase hyzaar in usa minocycline prescription acne medication claritin d uk cheap oratane free delivery what is metformin hcl er used for cafergot prescriptions buy voltaren online without a prescription canadian rx drugs acheter methotrexate pas cher strattera 20mg tab drugs similar to kelnor lamisil generic uk danazol for men in usa allegra on line purchase ginseng no prescription overnight delivery will meloxicam 15 mg get you high how much ivermectin for guinea pigs tenormin us companies only zanaflex 100 review zyvox 100mg cheep luvox canadian pharmacy antara australia pharmacy buy elocon online india current price prilosec how to buy anxiety medication online can you buy himcocid online buy sominex fast shipping elocom online pharmacy uk generic disulfiramo usa pharmacy where to buy citalopram with amex buy starlix online usa buy diprolene with a mastercard is mail order ceftin safe order fosamax topamax medication class my alli coupons free coupons percentage serious side effects accutane phenergan drugs for sale deltasone without a prescription from india sarafem online coupon code disulfiramum pills canadian adalat 30mg drugs v gel shelf life health canada sildenafila order zyban from mexico without prescription when will there be a generic for xalatan can order innopran xl online generic norvasc side effects quickest toradol abilify depot pdufa buy altace inhaler canada how to get propranolol discount celapram mg sumycin canada suppliers of frusemide in us buy accutane in uk with mastercard cytotec supplier in uk reminyl overnight delivery is canadian healthcare good acheter prednisone pas cher what is the dose for cardizem alli weight loss price increase actos pharmacy type diabetes carvedilolo perth australia buy yasmin online no prescription uk who are mexico allies buy trental pills prevacid over the counter recall isoniazid dosage duration doxi 1 without prescription medication lithium generic canada buy tetracycline online without price discounts whats better cialis levitra or viagra is relafen legal in uk beta blockers online pharmacy sample order free viagra amoxil order medicine similar to cymbalta quiero comprar toradol medrol dosepak cost in canada buy cialis in australia online nolvadex generic for tetracycline dogs use 100mg clomid success pcos super kamagra reviews where to purchase eurax buy effexor have no prescription do you need rx yagara buy trial erection packs 2 online from usa how to get levitra professional best place buy nexium pct citalopram common side effects weight lotrisone australia companies only buy obelit online with out prescription buy levlen birth control medication buy plavix in australia buying bonnispaz express what is viagra sublingual for buy domperidone canada order viagra no prescription approved purchase doxycycline on line in india disulfiram reaction management where to get flagyl er pct buy doxycycline in uk elocom uses medication is it legal to buy prescriptions online makers of actos medicine purchase avalide 300 25mg mirapex reviews for men can you buy promethazine codeine cough syrup online buy depakine chrono canada zanaflex pills buy maxaman legal in england bactroban cream used for plendil price side effects of nexium and prilosec styplon benefits zofran generic equivalent brand name raloxifeno online ordering triamterene mexico order diarex canadian deltasone shop net genuine colchicine 100mg ephedraxin uk pharmacy buy zofran 200 comprar hytrin portugal biaxin online canadian purchase premarin lowest price buy pills from canada purchase diclofenac sodium 50mg uk viagra professional metformin australia companies only ordering zyban canada terramycin canada head office buy topamax online from uk cheap benicar buy online cialis overnight us delivery buy naprosyn no prescription fast delivery geriforte for dogs buy dapoxetine india emcure medrol dosepak without prescription azithromycin buy canada lamisil discount what is ashwagandha pills used for voltaren gel uk is saw palmetto better than propecia very cheap thyrohormone buy amoxycillin online no prescription uk buy vermox uk long time side effects lady era effexor xr cheap uk pharmacy buy kamagra uk reviews generic ashwagandha online cheap vasotec prices usa order duprost tablets buy trial erection packs 2 without rx can you take actoplus daily canada buy zoloft without prescription better than proscar cheap confido no prescription order promethazine from uk without prescription fucidin acne scars where do i acai in canada where can i buy proscar online without a prescription voltaren online meds betnovate dose himcolin uk buy safe lexapro buy order azurette online no prescription with a mastercard cheap genuine alti doxycycline online noroxin without rx tretinoin coupons purchase generic mevacor isoniazid 300 mg price buy stediril online overnight delivery buy keppra online no prescription uk what happens if you take too many aleve pills antara no prescription needed aristocort shop net buy prednisolone online ireland allegra over the couter purchase doxi 1 online no prescription without pharmacy amaryl online buy kamagra without prescription what is doxycycline hydrochloride 100mg used for purchase zyvox cheap prescription mycelex g mail order what is atomoxetin made of synthroid prices usa sumycin non perscription countries zyprexa for dogs buy cheap fashion rx sunglasses buy cheap bystolic pills anti anxiety medicine buspar buy atorlip 5 from mexico online buy buspar online no prescription us order cheap atacand online long time side effects arjuna canadian pharmacy oratane order viagra jelly medication by mail canadian pharmacy online wigraine erectile dysfunction under age 30 triamterene tablets buy abilify online prescription ordering isotretin on line ro accutane price glucovance not generic sertralina hcl 50mg bula a good web page to buy cymbalta with no script cilest pills online in the australia buy cheapest kamagra uk eldepryl online uk movalis noprescrition needed uk online pharmacy glucophage medicine online is it illegal to order generic trandate order avalide uk pharmacy what is diflucan tablets used for diamox coupon code quetiapinum spain what is compazine 10 mg for kebaikan pil perancang diane 35 achat viagra en ligne canada predalone from canada brahmi cheap uk buy colchicine have no prescription is 40mg of lexapro too much doxycycline monohydrate uses buy zanaflex pills in the mexico viagra prijs apotheek belgie sumycin fast india bupropion fast uk ordering diclofenac gel uk buy canadian serevent sustiva brand positioning is vasotec available on line in canada side effects of prograf medication imitrex on line in the usa bactroban nasal ointment rx list purchase levothyroxin on line in uk menosan generic reviews ivenox side effects uk buy aceon new zealand online buy nitroglycerin visa how long does it take for minocycline to clear up acne trial erection packs 3 online forum klipal codeine mail order buy mobic with no script antivert uk brand name where to apply testosterone cream for women where can i buy paxil online without a prescription yagara from australia doxycycline monohydrate 100mg uses safe place order antivert lisinopril 20 mg hctz 12.5mg cardizem brands india order ashwagandha pill viagra soft tablets 40mg entocort roche precio argentina coreg prescription coupon reviews on cialis 20 mg generic uk paypal famvir buy v gel online overnight prometrium overnight shipping cheap amlodipine dosage hytrin tablets us online salbumol india pharmacy what types of levoxyl are there how to get diakof in australia tamoxifen reviews for men ofloxacin tinidazole side effects januvia generic india do i need a prescription for nizoral shampoo price of januvia 100 mg best cialis soft prices discount cheapest sublingual drugs for erectile dysfunction celapram italiano cheap zyprexa delivered overnight overnight abana cod fedex bupropionum pills buy online where can i buy pyridium mg arjuna on line in the usa lanoxin dose in children over counter imitrex bentyl pill identifier roxithromycin over the counter india us pharmacy online seroflo buy amoxiline without a subscription effect does viagra have women doxazosin australia price frusemide buy online mexico can use cytotec abortion what is asacol prescribed for zestril ships from india omaggio sopot order mentax from canada without prescription buy caffeine ergotamine online india doxycycline malaria reviews cymbalta online in uk nolvadex gyno cheapest place to buy finpecia levitra soft or generic dutas prices at costco buy ayurslim tablets india 6 benadryl pills ropinirole xl package insert noroxin cheap mexico pharmacy rx one pharmacy canada side effects of amaryl weight gain can you buy eulexin over the counter canadian drug company leukeran generic for casodex probalan over the couter what is naproxen 250mg purchase cabaser in india cytoxan mg tablet avapro uk online can you get clomid online tesco pharmacy online cealis buy diflucan generic online buy minocycline without a prescription from canadian pharmacy buy keftab overseas buy propranolol online reviews sex pills for men online propranolol woldwide shipping canadian cozaar penegra express canada can you buy mentax prescription order tadacip on line canada cytotec costo levitra professional birth control online australia generic himcocid vermox plus suspension dosis probalan where can i buy it how much will ashwagandha cost reviews on bupropion hcl xl astelin coupon code buyers of motrin canada coupon for nexium from astrazeneca universities offering masters in pharmacy in canada alesse buy india i pill c ratioph website is there a shortage of priligy canada brand levitra tablets online online zertalin purchase over the counter bactroban nasal ointment augmentin drugstore.com can you order skelaxin best generic antabuse sites clozaril coupon code atacand tablets 40mg order diclofenac from mexico without prescription safe place order retin a gel 0,1 can you buy desyrel in ireland exelon ceo deal with emissions now over the counter drugs for genital herpes purchase elimite on line in canada buy cytotec online canada no prescription snovitra super power pct buy nimotop shortage 2012 meclizine mexican pharmacies low cost amitriptyline brand terramycin for sale can you take prilosec on a daily basis asthma ventolin overdose publix pharmacy free metformin himplasia without prescription canada tretinoin cream usp .025 can i buy nexium in canada brafix from mexico buy cipro tablets usa buy pravachol next day ventolin atrovent side effects zyloprim overnight shipping speman online ordering proscar buy online ireland uk pharmacies online that sell thyroxine acne medication retin a purchase viagra professional 100mg buy imitrex greece mail order generic oxytrol symptoms your synthroid dose too high safe tadacip no precription over the counter medicine zithromax mirapex canada online no prescription generic levitra professional ordering colchicine india costco prilosec prices viagra jelly to purchase without a prescription erythromycin 1000 mg db do you need rx geriforte us pharmacy online glucotrol xl flagyl 500mg antibiotics dose cheapest fluss 40 paypal buy lopid online in the united states without a prescription risperdal noprescrition needed uk online pharmacy maxaman pills online in the uk the online drugstore lynoral online amoxiline india rumalaya for purchase vet medicines online uk can you order pulmicort budesonide asthma what types of anafranil are there buy cleocin gel online amazon oracea canada overnight delivery what does depo provera contain biaxin generic cost what type of medication is clonidine acheter confidor j comprar levitra mexico torsemide without a perscription fertomid order viagra professional for purchase prednisolone mg canada florida emoquette order zyrtec from canada without prescription motilium rx 10 emsam us companies only no rx viagra sublingual online sale beta val where can i get desyrel pills leukeran refills online pharmacy viagra review order kytril online with visa celapram non perscription countries crestor medication side effects com diovan price walmart merck proscar online discount drugstore cosmetics snovitra super power where can i buy alphagan online buy valtrex 1000 mg online price of arimidex in canada promethazine buy online uk canada and benicar what is ropinirole hydrochloride buy copegus with no rx ampicillin sulbactam coverage buy erection packs 2 overseas comprar ralista original en madrid buy vermox online without prescription non prescription tinidazolum atomoxetin uk sale order clomifene from canada without prescription frumil for sale australia where to get prednisolona pct eldepryl pill shop discount code order geriforte pills clopidogrelum to purchase without a prescription fincar next day buy medrol online australia no prescription canadian health act mental health order nizoral from india without prescription cost of cipralex carvedilolo online pharmacies with out prescription propranolol hydrochloride generic name where to find lamisil clomifene australia pharmacy feldene 10mg tablets femcare order by phone pharmacy council of india mumbai kroger pharmacy hyde park midamor online australia where to buy trandate mg cheap otomax sale uk doxycycline where to get tamoxifen reviews eldepryl shelf life compare prices calan cipralex medicine online legal buy zyloprim online canada is mail order brand levitra safe buy biaxin cheap generic resources for living independently philadelphia what do compazine pills look like will propecia generic available zocor online canadian quinoa salad is good to lose finpecia online with out prescription generic prozac fluoxetine hcl albenza 400mg levitra in singapore innopran xl without insurance max mendoza alleman cyklokapron online uk shallaki pills online in the uk cymbalta mexican pharmacies lamisilate online ordering where to buy aloprim online canada xenical and diabetes medications buy maxalt mexico ordering cialis sublingual usa decadron 10 mg injection probalan mg canadian rx over the counter drugs similar to benicar very cheap lipitor delivery cheap buy actos celexa pricing arimidex medication order frusemide overnight pharmacy brand levitra buy canada best pharmacy to order accutane what does flomax cost stromectol online coupon code how to order flunil albuterol sulfate uses children limon onlain film is stieva a available over the counter buy hytrin online mexico no prescription diclofenaco sodico 50mg bula bentyl india sale purchasing geriforte online uk reviews on actoplus met buy cefixime online india purchase doxycycline in uk metformin 500 mg twice a day side effects mentat no prescription overnight delivery wellbutrin sr online overnight shipping low cost eldepryl sominex prix en pharmacie en france azurette delivery female viagra doctors online bactrim online how to purchase levitra professional online best place to buy shuddha guggulu in usa what are the side effects of the antibiotic bactrim where is lapland map canadian tizanidinum disulphiram online pharmacies with out prescription viagra best price online actos drugstore com pricing how to order fucidin glucofage fast uk can take expired alli pills requip legal us wellbutrin sr brand order lynoral prices at costco zoloft online meds buy brand tadacip the chepest cabgolin avodart no prescription overnight delivery etabus pills online in the mexico how to use carbozyne kamagra oral jelly for sale order dilantin online overnight synthroid weight gain bloating depakine chrono pills sweat bentyl over the counter usa what dosage does levothroid come in endep spain buy isoniazid in uk buy starlix inhaler canada prescription solutions by optumrx formulary most reliable place to buy lotensin online prescription free drugs online iui with or without clomid cheapest lamictal in the uk cephalexin 500 over the counter van you buy coreg canadian canada pharmacies online that sell zestoretic shallaki delivery uk discount vpxl from usa fastest flovent uk delivery depakote canada drug store zyrtec side effects children behavior manchester united supporters clubs uk order generic serophene atorlip 10 sublingual dosage celebrex pas cher zetia online in canada low cost atorlip 5 buying medazole in manchester buy medazole online reviews kamagra next day delivery in uk strattera roche precio argentina canadian pharmacy mentat ds syrup can i still get pregnant while taking provera ovulation cycle while clomid health canada medrol dosepak where v gel alli slimming pills free trial brahmi women buy clozaril india sale alesse pharmacy cod doctors online pharmacy etodolac 12.5 mg promethazine tablets lamictal fast uk estrace vag cream reviews order prescription drugs without script buy lasuna discount erection packs 4 by mail viagra floxin drug store online wellbutrin sr barato buspar low dose birth control is paxil a good medication for anxiety diarex to buy in the usa without a prescription amitriptyline no prescription needed canadian online pharmacy rogaine 2 australia pharmacy how to take anafranil shelf life of cialis digoxin mexico no prescription trial erection packs 3 from china best place to order evista in us safe acticin no precription aceon over the counter drugs comprar kamagra oral jelly portugal maxaman from uk trimox buy india harder erection pills for men pill rx health order revia products childrens motrin cost propecia online price uses betnovate c cream what is protonix medicine is mentax legal in uk how many eggs a week to be healthy what does procardia do in pregnancy cabana by mail medrol buy mexico clincin uk companies only renagel online pharmacy uk can you buy cleocin over counter mail order innopran xl online buy disulphiram online with no prescription best drugstore mineral foundation 2010 best place to buy zyvox in canada abilify wiki where can i buy lipothin online without a prescription comprar betapace pela internet propranolol overnight shipping cheap what are the best pills to get you high thambi arjuna movie online youtube any problems with generic lexapro buying periactin in manchester viagra.co.uk where to buy cheap generic cialis sublingual does target have cheap prescriptions lamisil generic wikipedia drugs pill rx health order aciphex products prometrium pharmacy order prednisone over the counter which uk site to buy micardis buy geriforte hong kong order online viagra why is canadian healthcare so good coreg max dose buy carvedilolo cheap buy cheap neurontin pills metronidazol online in usa liquid atorlip 10 review viagara men without ed zyprexa weight gain dose dependent purchase abilify 15mg prescription mirtazapine 30mg side effects viagra cialis canadian pharmacy lanoxin drug in germany pharmacy brand viagra women buy buy c ratioph have no prescription cialis bill me later can i buy pravachol in canada coversyl plus in australia buy cheap viagra online canada misoprost non perscription countries paxil sold over counter is kamagra chewable a prescription drug doxazosin without a prescription from mexico micardis drug in uk pharmacy much does viagra cost walgreens how to buy riperdal in london buy penegra mg atomoxetin online order purchase citalopram on line in mexico minomycin lawsuit buy cephalexin low cheap price where can i get some salbutamol buy indinavir in australia anafranil shortage 2012 arzomicin without a perscription tadalafil tablets 20 mg side effects buy fincar mg online for can you buy proventil albuterol canadian pharmacy cipro for bronchitis dosage pharmacy rx 1 coupon glucovance reviews can you buy haridra over the counter in germany buy micronase without a subscription buy flagyl er without prescription para hyzaar forte plendil pharmacy mail order dramamine women buy order non generic micardis calcium carbonate and vitamin d3 tablets uses what does flovent cost buy norvasc online no prescription usa danazol doctors online cleocin buy online us comprar viagra original sin receta clomid side effects on men alesse birth control pill generic online no prescription order lamisil skelaxin drug oversea salvent mg uk coreg suppliers overseas cost of dyazide without insurance a good web page to buy glucofage with no script dilantin generic drug disulfiramo dose what is fluoxetine hydrochloride mobic prescription medicine what drug category is clomifene where to buy clopidogrelum in canada safely diakof drugstore.com cozaar prices at costco where to buy glucovance mg aciphex suppositories buy elocon online without prescription uk buy kelnor without prescription acheter starlix pas cher best non aspirin migraine medicine what is yagara made of side effects indigestion viagra oral generic from retin a 0 05 why has ciprofloxacina been discontinued betnovate brand positioning kamagra canada companies only order combivent online canada how to take maxalt disintegrating tablets viagra professional medicine children buy tamsulozin uk where do i buy zithromax buy duetact pills in the australia nizoral 40 mg dose sarafem 50mg tablets indian pharmacy klipal codeine tricor sublingual dosage canadian pharmacy gasex us online pharmacy no prescription fluoxetine boots amoxil london pharmacy propecia northern ireland aricept off patent uk slimming tablets sale boots what is the generic for diflucan cheap synthroid uk alesse pills buy tesco pharmacy opening times aylesbury buy coreg 50 licensed pharmacy revatio indian generics online vistaril serophene discount medications purchase tetracycline no prescription best place to buy betnovate online fluoxetine drug canadian pharmacy is carbozyne available on line in canada generic micardis availability buy hoodia overseas phenamax no prescription fedex ups brand viagra generic uk the chepest aceon zovirax drug in usa pharmacy buy oracea online from mexico low cost zerit delta cortef australia pharmacy over the counter flucazole altace hct side effects diprolene from australia emsam precio mexico buy antara online india depakote bipolar ii ortho cyclen delivery london order elocon ointment prescription predalone order online erection packs 2 without a prescription from australia amoxil no prescription needed can you buy cialis super active in ireland 5mg 20mg canadian pharmacy tadalafil no prescription celexa buy online mexico cardura generic release date zithromax purchase in canada no prescription order riperdal pills order thyrohormone online no prescription with a amex doxycycline replacement for dogs generic dulcolax in usa evista with american express buy bystolic tablets uk what does levitra pills look like buy micardis 100mg online do you need rx periactin can you get high off cozaar billig retin a 0,025 online kaufen zantac next day buy sildenafila singapore shop flagyl singulair sales generics buy cialis jelly australia clincin india pharmacy generic pills for liv 52 dramamine usa cipla medpro durban lanoxin online no prescription plendil comparison 5mg low cost where can you buy voltaren over the counter what is doxycycline hyclate 100mg prescribed for celapram no rx order lotrel overnight a good web page to buy diclofenac with no script online no prescription uk for albendazole phexin tablets uses finast mg tablet ranitidine online shipping januvia side effects itching how to purchase fluconazol xenical forum.hr yasmin low dose buy innopran xl tablets usa lowest priced grifulvin v dyazide online pharmacy shipped to canada buy online lamisilate generic thyroid medication missed dose is it safe to order alesse ranitidine brand positioning half price doksazosin lek is it safe to order rogaine 2 clomiphene citrate pregnancy success kamagra without prescrip decadron generico italiano low cost pletal buy actos without a prescription comprar oratane original buy voltaren cream brand cialis 50mg tablets very cheap ceftin legal to buy trazodone alesse without prescription miami what is bupron sr made of asthma uk cymru glucovance 500 order aciclovir online med cab lotrel where to buy cheap generic retin a gel 0,1 generic viagra sublingual sales similar to inderal manufacturers of ranitidine capsules and the strengths available generic dostinex no prescription is aloprim legal in uk how long does levlen apo clopidogrel pills online in the uk order differin 0.3 atacand no prescription needed best pharmacy to order yasmin valtrex birth control online mexico can a healthy man use viagra lopid for sale australia relafen uk sale taking propranolol for migraines midamor without prescription miami vistaril pills online in the india aldactone 25 mg tablets is beta val a prescription drug do you need rx ampicilina cheapest seroquel tablets uk tamoxifen drugstore what is the generic for flovent diclofenac potassium 50 mg tablet buy methotrexate australia acheter rogaine 5 pas cher buy accutane canada prescription overnight delivery xeloda and alcohol consumption canada online pharmacy reviews viagra dose young men ditropan noprescrition needed usa online pharmacy buy prednisone online no prescription usa discount requip from canada buy himplasia fast shipping generic from shuddha guggulu what is flovent hfa buy fluoxetina pills in the australia cefadroxil coupon code relafen buy australia tinidazolum online usa estrace order in the us bupropionum noprescrition needed canada online pharmacy what types of furosemide are there revatio drug in usa pharmacy free phone number search cheap premarin sale uk generic yagara switzerland is albenza a prescription drug purchase avodart on line in india buy amoxycillin with no script order tofranil online without rx canadian non prescription viagra 20mg prozac side effects cheap lamictal drug orlistatum usa no prescription buy tetracycline online moduretic discount voucher buy ginseng have no prescription over the counter erectile dysfunction pills cvs zerit where to purchase how to buy unisom in london innopran xl fda approved to buy without prescription isoniazid rx apo furosemida results forum vistaril online in uk where can i buy floxin tablets cipralex order online doxi 1 roche precio argentina order digoxin tablets why has dostinex been discontinued actos dosering keflex dosage 1000 mg med express pharmacy salisbury nc acquistare cardura in italia can i buy benicar in canada buy amitriptyline without prescription cheapviagraovernightshipping buy celexa online india no prescription purchase trimox on line in mexico generic pyridium can you purchase viagra online online cafergot india nexium cost canada what kind of medicine is avapro buy terramycin cats keflex online no prescription where do i actos in canada metformin canada head office discount canadian pharmacy paxil order non generic liv l tryptophan online ordering tadacip fast canada order dostinex from usa without prescription viagra spray for men over the counter medicine that acts as flomax buy clomifene with paypal acivir pills mexico no prescription diprosone pills oratane uk no prescription buy paroxetine online without a prescription most reliable place to buy benicar online avandamet in croatia pink pill bayer 20 trimox for sale online what drug class is micronase order flucazole uk pharmacy safe place order viagra professional pill rx health order provera products diltiazem pills sweat is it illegal to order generic avalide ordering fertility drugs online detrol results forum albenza online india cheap kamagra supplier citrate mail order sominex online accuran mail order best price celapram hydrocortisone cream side effects babies how long does it take to get used to lopressor where to buy bupropionum in canada safely crestor rosuvastatin wiki is it safe to order clopidogrelum purchase fincar on line in the uk prednisolone online ordering lantus insulin side effects altace for men sale in uk buy etabus mg buy tenormin boots where to get atarax nolvadex over the couter microzide online forum side effects of diclofenac injection flagyl fast mexico where do i lamisilate in india cialis online buy buy cardura in ireland can you buy viagra soft in ireland pharmacy buy hytrin inhaler canada non prescription tetracycline pharmacy valacyclovir hcl and alcohol cheap raloxifeno buy ondansetrona pills in the australia subscribe to viagra newsletter roche xenical map avodart uk buy lotrisone not generic hyzaar online in us mobic uk companies only para que se usa antivert ordering femara canada cheap pills buy diamox acetazolamide order fluss 40 online without rx yagara on line in the mexico what does ashwagandha do for you purchase coreg in india lotensin where can i buy it avapro from uk buy ethionamide tablets online prednisone online new zealand order xenical uk cheap speman sale uk doksazosin lek to buy in the usa without a prescription a good web page to buy novo digoxin with no script lozol pills online in the canada malaseb spray ingredients cardura uk pharmacy buy atacand for daily use cilest buy online uk anafranil cheap price order amoxiline on line usa what does combivent do buy clonidine canada cytotec tablets 150 mg where to buy chloroquine order keppra uk pharmacy viagra professional birth control online australia to buy metocarbamol in uk buy rhinocort online amazon suppliers of aprovel in us can you get addicted to tegretol sumycin on line in the uk naprosyn buy online canada cardura canada companies only isotretin weight gain buy bactroban online thru paypals proscar no prescription fedex ups mestinon drug price side effects of long term diflucan use where to buy cheap order zyprexa buy cheap augmentin online nexium mg india enema periactin online without rx depakine chrono weight gain didronel supplier in uk zyrtec d buying restrictions is zantac a prescription drug augmentin 1000 mg fiyat 14 fastest zitromax uk delivery brand levitra medicine online order acnetane without rx novo digoxin lawsuit canada united pharmacies uk zopiclone crestor pills online in the uk wikipedia advair hfa how much will allegra over the counter cost comprar fucidin en argentina haridra prices at costco cymbalta pharmacy order can you buy lasix oristal tablets side effects januvia for sale uk where can you get hoodia voltaren gel 1 over the counter beta val online forum best place to buy mevacor in usa retino a cream 0,05 canada head office suhagra order on web orlistat side effects alcohol voveran brand positioning can we trust atomoxetin online recommended iv dose for haldol furosemide 20 mg price dapoxetine purchase in india buy micardis online from india overnight order flomax aspirin pills legal to buy clomid comprar neurontin original en madrid buy seroxat paroxetine low cost viagra sublingual antidote for baclofen overdose combivent usa no prescription augmentin tablets uk usa buy diprosone without prescription buy lozol inhaler canada glycomet drugstore.com price increase glycomet trental generico italiano benadryl capsules ingredients ventolin hfa discount coupon skelaxin 50mg tablets over the counter without order allopurinol frumil brands india lasuna usa cvs prices canadian drug store lakeland fl buy riomont online ireland how to buy renova online buy eurax online no prescription united states rogaine uk foam plavix use in cats bupron sr with prescription buspar mg canadian rx alfa flucon over the counter over the counter medicine that acts as delta cortef walmart generic drug list birth control buy bupropionum tablets australia viagra super active where to buy in canada penegra side effects anteovin next day delivery emoquette no prescription needed furosemide for dogs 40 mg buy glucovance tablets us codeine cough syrup addiction is it illegal to order generic viagra professional all types prednisone pills is effexor xr generic available medication generic equivalent for levaquin azithromycin 250mg tablets 6 pack dosage luvox legal in england finast max dose order flagyl online no prescription with a amex best site to buy benadryl buy lozol online with no prescription cardizem dose atrial fibrillation anti anxiety medication luvox tindamax usa pharmacy clomid and nolvadex pct side effects generic fincar switzerland buying fincar generic for zoloft reviews lipitor on line in the mexico no prescription needed buy augmentin online dostinex to buy from europe how to take neurontin to get high betapace 20 mg antabuse italiano periactin pills for cheap can you get pregnant while taking erythromycin motrin online canada fast delivery ortho cyclen order by phone order betnovate from usa without prescription depo provera discounts mircette order post cycle therapy albendazole rogaine 5 without a prescription from uk retin a 0,05 perth australia cheapest altace online tablets hctz without prescription viagra plus online usa no prescription betoptic s generic equivalent orlistat no prescription needed comprar atorlip 10 portugal real viagra online sales fosamax tablets uses how to use zyban to stop smoking best weight loss pills australia 2013 imitrex 50 mg tablets how do i get prescription drugs from canada tretinoin 0 025 overnight no rx female viagra no prescription overnight delivery buy tofranil without a script liquid trial erection packs 1 review can i make robaxin citalopram canada bactroban supplier in uk cost of mail advair diskus purchase mobic on line in usa order nitroglycerin no rx canadian pharmacy cheap ivenox uk buy flagyl mg online for lipitor pills price cabaser online pay paypal florinef buy uk lipothin buy online uk eulexin generico online buy over the counter seasonique online where to buy accutane online topix carvedilolo usa cvs prices eurax no prescription fedex ups buy online pharmacy tadalafil australia plavix low cost can you take anacin daily buy anafranil 200 is sarafem available on line in canada finast doctors online albenza reviews original doksazosin lek online zoloft to buy from europe is generic cabgolin available in usa buy danazol fast shipping beautiful canadian laser and skincare clinic reviews lotensin medication prices where can i buy aristocort mg what is dipyridamole comprar stediril original arava 10 mg efectos secundarios buy amantadine from canada health canada warning propecia generic pills for lipothin buy baridium online no prescription usa buy my alli canada what is meclizine best aciclovir prices buyers of flucazole canada buy cheap actos cheapest clavamox tablets uk doxycycline dose for lyme disease treatment order vytorin from india without prescription the chepest diamox buy fucidin pills in the mexico order rx online pharmacy toradol medication guide ondansetrona pharmacy prices list what is valacyclovir hydrochloride used for stediril legal us medazole buy canada what is tadalis sx pills used for buy generic prandin online no prescription buy roaccutan pills in the mexico ordering ginseng seed viagra jelly from canada with no prescription can you only get tamsulozin on prescription ordering low dose vpxl proscar tablets 40mg levitra deutsch generic actonel us brand cialis canada drugs metformin drug schedule buying caverta in india best android launchers los algodones pharmacy prices generic maxaman in usa avapro generic uk buying antibiotics online in australia valtrex 500 mg 10 mupirocin boots furosemide generic side effects anafranil pills sweat order non generic rumalaya buy allopurinol without rx is thyrohormone a prescription drug wellbutrin prices generic purchase retin a 0,025 in canada salvent for sale philippines brahmi capsules benefits isotretin no rx herbal viagra for men in india levaquin online in canada order cabaser on line mexico generic orlistat philippines maximum dosage of furosemide for dogs thyroxine cheap australia pharmacy craigslist usa california turlock buy procardia pills in the mexico dapoxetine without a script otomax lawsuit asacol to buy in england buy prescription water pills can you buy hydrodiuril over the counter online no prescription uk for atomoxetin how to buy prandin in canada natural water pills walmart buy isoniazid pills in the mexico genuine voveran sr best price
Home Blog General Migrating websites from dedicated cpanel servers to Rackspace Cloud

Migrating websites from dedicated cpanel servers to Rackspace Cloud

General

Background

As many in the web design industry would know, if you're in the web design or development business, you're also defacto in the hosting/domain business. Some web companies choose to pass that role back on the client, advising them where to buy hosting. Other web design agencies will get a reseller account with a control panel host (e.g. Plesk or cPanel) such as Hostgator or Bluehost. That was our story many years ago - we got a reseller account at a cpanel host. What we ran into with that was a lack of control. We weren't able to install the php packages to suit our needs and had to dance around server config such as upload limits. One day we had a huge fiasco with a shared ip address that was directly linked into a newsletter mailing and we couldn't get the ip address back. That stress was enough for us and shared cpanel hosting.

So we moved to dedicated hosting. That brought a whole other set of challenges. We had to learn all about full administration of a linux server. For a while we continued to use cpanel but eventually even got frustrated with cpanel's limitations and just went to manual configuration. When we surveyed clients we found that the majority of our clients didn't even use the control panel and even found it a hassle. So in order to make changes to hosting config, clients would just submit tickets and we'd take care of it. We did find a very small percentage though that did still want a control panel so we always had bringing that back somehow in the back of our minds.

Another issue with dedicated hosting (where you rent a full box at a data center) is having a single point of failure. We had single disk servers to start with and then felt it would be better to move to raid systems. We had raid systems with Layered Tech and that was a nightmare. They seemed to just continuously reuse old hard drives. We had a major windows server crash three times in six months. That was enough for us there. We also had dedicated servers with Server Beach. Their support was better but unfortunately we had more hardware failures on raid5 that we did on single disk servers.

The hardware was the main aspect that prompted us to investigate cloud hosting. In the cloud sites serving load is spread across hundreds of servers. If one goes down it can easily be replaced without downtime. With dedicated servers we had to know and depend on our backup mechanisms as our life depended on it. If a server went down it certainly meant 48 hours doing a complete reload of all files and sites on the server. So being able to rest a bit more peacefully in regards to downtime was alluring to us.

Cloud hosting would also reintroduce a limited control panel for those clients who wanted one but would still give us the ability to manage advanced settings at a higher level. Even though we had staff in house that knew how to admin linux servers, having a control panel also meant that folks in admin could setup accounts or delete accounts if needed.

How to migrate from linux/cpanel to rackspace

This isn't meant to be a definitive guide on how to move websites to rackspace cloudsites but it is a compilation of suggestions we accumulated along the way. This guide is also a bit high-level / not detailed. You need a base of knowledge to do this. If you can't make these suggestions work then you may want to hire a more experienced technician to do this for you.

To us it seemed that there would be phased migration.

  • Step One: Migrate all DNS to zones to Rackspace AS THEY ARE. This means that you can repoint your hosting company's name servers to Rackspace's nameserver IPs and then all your clients DNS will also be performed from Rackspace BUT this is before you've moved ANY of the sites over. The DNS will actually point all of the domains BACK to your current main cpanel/dedicated servers.
  • Step Two: After migrate all the actual site files and databases.
  • Step Three: Switch the A record IP address for each website over from your old dedicated server IP to the Rackspace IP, essentially taking the site live.

If you manage DNS through a third party like your domain registrar then you can probably skip the whole DNS phase.

Migrating DNS

If you have a bare dedicated server or a cpanel dedicated server, chances are you have one of your dedicated servers also serving as your primary name server. If you're running cpanel, you're probably using bind (even if you don't know it) or if you don't have cpanel then you know you're running bind (because you have to manually edit named.conf to add domains).

So why do the DNS first? We use ns1/2.ourhostingcompany.com as our name servers. We have hundreds of domains registered. We've registered most of them but 10-20% are registered by the clients themselves. They all are pointed at ns1/2.ourhostingcompany.com though. We control that domain and we get to set the IP addresses of the name servers for ns1/2.ourhostingcompany.com. With moving to rackspace we could spend countless hours going and updating all the domains to point to ns1/2.stabletransit.com or we could just leave them and reroute the traffic to rackspace's nameservers.

We actually wanted to migrate all websites files and databases themselves first and then the DNS. The first way we tried this essentially failed. We went into our named.conf and made our nameserver an open forwarder. We set forward {any;}. The plan was to move the site files and database and make sure the website was working at Rackspace, then after we'd confirmed that each site had successfully migrated to Rackspace just go in their zone file on our name server and say "forward all DNS requests for this domain to Rackspace." This failed because when we did that rackspace's name servers thought they were authoritative yet our name servers were still thinking they were authoritative so there was confusion.

The next step seemed to be to ensure all our domain zones were replicated at rackspace and then completely repoint ns1/2.ourhostingcompany.com to rackspace's nameserver's IP addresses. And THEN we'd move the sites.

Getting ready

This was a huge task. Again we have 100s of accounts. The first thing we had to do was get someone to manually set up a client in Rackspace for each client we had. Rackspace, if you're reading this, please create an API that lets you programmatically add clients and websites to rackspace cloudsites. It would have sped things up for us massively. Having our admin staff do this in their spare time probably took 2-3 weeks. They would create the client, then create the website under the client, and then they would create the database, the username for the database, the database password and even take note of the ip address and hostname for the database. Most of our site's have databases so we needed to do this.

There's a control panel in Rackspace for all of this and it doesn't need much explaining. Once all that groundwork was laid we had to figure out how to transfer all the custom records in our DNS server to Rackspace's nameserver.

For example, some of our client have their MX records set to Google apps mail, some use paid 3rd party mail services. Some clients have custom cnames, etc. We didn't want human beings to have to sit there and manually copy and paste 1000s of domain record entries from our nameserver over to Rackspace's control panel (its slow if you're doing this type of repetitive task). Luckily Rackspace DOES have a DNS API. It's not hugely documented.

The actual code to migrate DNS from bind to rackspace via the api

The coolgeex one provides the rackDNS.php class and also a sample.php to show how to interact with the API. Using the sample.php we wrote our own script to do what we wanted. The coolgeex one didn't work immediately for us. We found there was some issue with curl and https. We had to set a curl parameter to ignore https problems and then it worked fine.

The idea was to essentially go through each domain, delete the default zone created by Rackspace and replace it with our zonefile. Of course if you run bind, all your zonefiles are located in /var/named or /var/named/chroot/var/named. The problem is that Rackspace only accepts FQDN format zone files as input so if some of your zone files are relative, it won't work. E.g., bind will let you point multiple domains at one zone file and just say

A xx.xx.xx.xx
sub CNAME whatever.domain.com ;subdomain

But Rackspace needs absolute zone files like this:

Domain.com A xx.xx.xx.xx
sub.domain.com CNAME whatever.domain.com

If you have a mixture of relative zone files there is a way to get bind to spit all the zone files back out as absolute zones. Here's a link on how to do that: http://ubuntuforums.org/showthread.php?t=903651

Basically it creates all your nameserver's domain zones in one file. You can then use PHP to loop through those zones and work with the Rackspace DNS API.

The second issue we had was account IDs. If you create a subclient in RS and then a domain under that client, if you connect to the DNS API and then say "show me all the domains" it will only show ones in YOUR account, not sub-client domains. In order to see sub-client domains, you have to connect to the api using the sub-client's ID number. There's more info on this topic at the donetexec link above. So consequently, what we needed was another file that mapped all our domains to client id's at rackspace.

Once we had these two pieces we could have a php script

  1. Read in all the domains from the bind dump and start looping through them
  2. For each domain connect to the dns api using the client's id
    1. Wipe what RS had there by default
    2. Load our zone file

I've provided the code that we ran with the coolgeex rackDNS.php.

<?php
/**
*
* Rackspace DNS PHP API sample.php
* @author Alon Ben David
* @copyright CoolGeex.com
*/
require_once "rackDNS.php";
//credentials
$rs_user = 'YOURRSUSERNAME';
$rs_api_key = 'YOURRSAPIKEY';
 
//first load all the codes we have for domains
$codes = array();
include('codes.php');
include('domain-dump.php');
 
//now lets load the zones into an array
$temp = explode(";", $tempstring);
unset($tempstring);
$zones=array();
 
//now lets rework the array with the key as domains
foreach($temp AS $zone)
{
//get the domain name from the first bit
$domain = substr($zone,0,strpos($zone," "));
$domain = str_replace(array(" ","\t","\n","\r"),"",$domain);
$domain = substr($domain,0,-1);
$zones[$domain]=$zone;
}
unset($temp);
$domainsdone = array();
$domainsmissingcode = array();
$domainserror = array();
if ( isset( $_COOKIE["domainsdone"] ) ) { $domainsdone = explode("|",$_COOKIE["domainsdone"]); }
if ( isset( $_COOKIE["domainsmissingcode"] ) ) { $domainsmissingcode = explode("|",$_COOKIE["domainsmissingcode"]); }
if ( isset( $_COOKIE["domainserror"] ) ) { $domainserror = explode("|",$_COOKIE["domainserror"]); }
 
//now lets loop through the zones and see which domains we have codes for.
//if we have a code, clear all records in that zone and load the zone file we have
$count = 0;
foreach($zones AS $domain => $zone)
{
if( $codes[$domain]!="" AND !in_array($domain,$domainsdone) AND !in_array($domain,$domainserror) )
{
//we've got the code, now lets do this.
$count++;
//establish connection
$dns = new rackDNS($rs_user,$rs_api_key,'US',$codes[$domain]); //($user, $key, $endpoint = 'US') $endpoint can be UK or US
//echo "Working with ".$domain." which has a code of ".$codes[$domain]."\n\r";
//get the domain for this code
$tempdomains = $dns->list_domains(50,0);
$domainslist = $tempdomains['domains'];
//print_r($tempdomains);
//unset($tempdomains);
//loop through the domains for this account and ensure we grab the right info for the right domain
foreach($domainslist AS $theirdomain)
{
if (strtolower($theirdomain['name']) == strtolower($domain))
{
$domainID = $theirdomain['id'];
$domainName = $theirdomain['name'];
}
}
//if (!$domainID) die("domain missmatch for ".$domain." and code ".$codes[$domain].". Halting.");
//should probalby check if $domain and $domainName matches
//if so we just delete it
if( strtolower($domain) == strtolower($domainName) ) $delete = $dns->delete_domains($domainID);
//wait a bit because deleting takes a while
sleep(3);
//now lets import it according to our zone
$import = $dns->domain_import($zone);
sleep(3);
if($import['status']=='COMPLETED' OR $import['status']=='RUNNING') {$domainsdone[] = $domain; }
else {
$domainserror[]=$domain;
if(!isset($_GET['dontshowerror']))
{
echo "<pre>Working with ".$domain." whose client has a code of ".$codes[$domain]."
and whose ID is ".$domainID."\n\r";
echo "All of their domains are:\n\r";
print_r($tempdomains);
echo "This is the result of the delete:\n\r";
print_r($delete);
echo "This is the result of the import:\n\r";
print_r($import);
die;
}
}
if ($count >=500) break;
} elseif (!in_array($domain,$domainsmissingcode) AND !in_array($domain,$domainsdone) AND !in_array($domain,$domainserror) ) {
$domainsmissingcode[] = $domain;
}
}
setcookie("domainsdone", implode("|",$domainsdone), time()+86400);
setcookie("domainsmissingcode",implode("|",$domainsmissingcode), time()+86400);
setcookie("domainserror",implode("|",$domainserror), time()+86400);
echo '<html><head><meta http-equiv="refresh" content="30"></head><body>';
echo "<pre>";
print_r($import);
echo "Domains that are done:\n";
print_r($domainsdone);
echo "\n";
echo "No codes for these domains:\n";
print_r($domainsmissingcode);
echo "Error occured when importing zones for these domains:\n";
print_r($domainserror);
?>

Note that you will have to modify to suit you. I'm not going to provide a copy of our domain dump from bind because that is a very standard format of file, but I will show a sample of how we loaded the "codes" (or client id numbers corresponding to each domain).

<?php
$codes["domain1.com"] =123123;
$codes["domain2.com"] =123124;
?>

We wrote the script to be executed by browser but it could be executed by cron. We wrote it to process X domains per run and then stop. We also wrote it to meta-refresh to keep running until all the domains had been processed. We decided to store the domains that had been processed in a cookie. We just didn't want to mess around with writing files to the server or setting up a database just for this one function.

One thing to note here. RS still gave errors on trying to import some of our domains even though they were in absolute format. What we found was that TTL times below 300 seconds would be rejected. So where we'd set TTLs on our server very low, those domain imports failed until we manually updated the domain dump file with higher TTLs. RS DNS imports failed for other reasons too. We modified the rackDNS.php file to show more detailed error results back from the RS DNS API to help diagnose this. It doesn't do it by default. See "show detail" in the RS DNS API documentation for more info.

Now that DNS had been migrated, essentially what we had was a complete mirror of our DNS server at Rackspace. All the domains pointed back to our current hosting server, not to rackspace itself. We then logged into our registrar, went under "register nameserver" and updated the IP addresses of our nameserver to those IPs of Rackspace's nameservers instead of ours. Everything kept running without a hitch.

Step two: move the files, databases and update config files

This part should be a little easier for most folks who have done a bit of hosting reselling to understand. The simple process is to use FTP to upload sites, use MySQL to upload databases and then update config files so sites at RS connect to RS's mysql servers.

We also chose to script this into one step. If you run cpanel there is some consistency in the way your accounts are setup, even if you don't, you have some consistency.

This is the basic perl script we used:

#!/bin/bash
#push an account to rackspace, files, database, etc. 
#NOTE THAT YOU have to update your server paths correspondingly
if [ -z "${11}" ]; then
echo 'Please supply arcuments after the script name in the following order'
echo '$1 = name of the home folder locally'
echo '$2 = username at rackspace'
echo '$3 = password at rackspace'
echo '$4 = the domain name' 
echo '$5 = the local database'
echo '$6 = the remote database hostIP'
echo '$7 = the remote database username'
echo '$8 = the remote database password' 
echo '$9 = the remote database name'
echo '$10 = the user number at rackspace'
echo '$11 = the remote database hostNAME'
exit
fi
#dump the database 
mysqldump -uroot -pYOURMYSQLROOTPASS $5 > /home/$1/$5.sql
#upload the database
mysql -h$6 -u$7 -p$8 $9 < /home/$1/$5.sql
#compress everything
cd /home/$1/public_html/
tar cvf /home/$1/thesite.tar *
#upload it
ncftpput -u $2 -p $3 ftp2.ftptoyoursite.com /$4/web/content /home/$1/thesite.tar
#we need to make sure a 'decompress' php file makes it up
ncftpput -u $2 -p $3 ftp2.ftptoyoursite.com /$4/web/content /home/PATHTOWHEREYOURESTORINGTHISFILE/unpack.php
#now run it so the site is decompressed (this also removes the tar and index.html file)
wget <a href="http://$4.php5-22.dfw1-1.websitetestlink.com/unpack.php">http://$4.php5-22.dfw1-1.websitetestlink.com/unpack.php</a>

 

You need to install ncftpput on your server for this to work. Try yum install ncftpput or google.

The script needs you to supply all the details as command line parameters. So what we did was we had a spreadsheet of all the websites along with columns for things like ftp username, password, database name, mysql hostname, etc.

At first we just did an ncftpput -r, which would recursively upload all the files one by one. We then found this not to be working too well for speed so we moved to uploading a TAR file. We got a little creative and wrote a php file that we could also upload to the hosting space at rackspace and then trigger it remotely from the script using wget. The script would basically unpack the tar at rackspace.

 

<?php
exec("rm index.html",$out,$retval);
exec("tar --keep-old-files -xvf thesite.tar",$out1,$retval1);
exec("rm thesite.tar",$out2,$retval2);
?>

 

If the site is large the tar fails to fully unpack within the 30 second timeout that rackspace allows. No worries though. Just --keep-old-files parameter. Wget will keep hitting the unpack.php and each time the untar happens, it will get further, finally unpacking all the files. Some large sites took 11-12 tries to fully unpack but they did work.

Also note in the script where it says "wget…" You'll have to edit that line to what ever websitetestlink.com address RS is generating for you. You could make the whole domain a command line parameter.

As I noted in the subheading above, the third part of this phase is to update all the config files. It's likely you're running a lot of wordpress, maybe some joomla, magento, drupal, etc. We got creative and actually included the edits for the config files in the script that was migrating.

Here's some sample code that edits a Joomla configuration.php (caution, your mileage may vary):

 

cp /home/$1/public_html/configuration.php /home/$1/public_html/tmp/configuration.php
#edit configuration.php
sed -i "/\$log_path/s/'.*'/'\/mnt\/stor3-wc1-dfw1\/MASTERRSACCOUNTID\/${10}\/$4\/web\/content\/logs'/" /home/$1/public_html/tmp/configuration.php
sed -i "/\$tmp_path/s/'.*'/'\/mnt\/stor3-wc1-dfw1\/MASTERRSACCOUNTID\/${10}\/$4\/web\/content\/tmp'/" /home/$1/public_html/tmp/configuration.php
sed -i "/\$host/s/'.*'/'${11}'/" /home/$1/public_html/tmp/configuration.php
sed -i "/\$user/s/'.*'/'$7'/" /home/$1/public_html/tmp/configuration.php
sed -i "/\$password/s/'.*'/'$8'/" /home/$1/public_html/tmp/configuration.php
sed -i "/\$db /s/'.*'/'$9'/" /home/$1/public_html/tmp/configuration.php
#upload config files because we customized those and need to overwrite remote old with new
ncftpput -u $2 -p $3 ftp2.ftptoyoursite.com /$4/web/content /home/$1/public_html/tmp/configuration.php

 

We're using sed to edit the config file on the fly and then upload the version that correctly configured for RS to RS. Note that we put this at the end of the script after all the other stuff is done. There's probably a more graceful way to do the sed but we did what we could. This approach could be adapted for any type of config for "insert your open source script here."

Testing

The last thing to do after all this was to simply test the sites work. Just visit the websitetestlink in your browser. The thing about this whole process is that you'll hit various snags along the way. For example with the DNS migration various zones got stuck and we had to fix them. Then with transferring files, sometimes the write permissions on the configuration.php would be wrong and we'd have to fix that. It's just troubleshooting at that point.

A special note on SSL. Some sites of course will require SSL. There's no need to generate a new CSR from rackspace and get a new cert. Just simply copy the certificate files from the old server. You'll have to do a bit of research to find out where they are. First you'll have to find your httpd.conf. On a cpanel server it may be difficult to know where that actually is. It's been a while since I've worked with cpanel so I can't recall exactly. A common place is /etc/httpd/conf/httpd.conf. Once you're in that file check to see if the virtual host entry for the domain is in there. Or else check at the bottom of the file for the include statement. Its generally going to include a block of files like /etc/httpd/conf/vhosts/*.conf. Once you find where the actual vhost file is you can look at that. Look for an entry for "SSLCertificateKeyFile". Note the location of that file. Go and open the file and copy and paste the key over to Rackspace. Then also copy and paste the "SSLCertificateFile" over. Note that when you save the SSL at rackspace, based on the methodology described in this guide, it WILL take the site live immediately - because it's updating the A record for the domain.

Beware of HTACCESS. If you're site such as Joomla or Magento is using SEF urls with htaccess rewrite - you MUST set the RewriteBase in htaccess. If you don't the site will not show. You also may find it extremely valuable to add the following values to the end of the htaccess file. It will enable your clients to upload larger files via their admins. 

php_value upload_max_filesize 50M
php_value post_max_size 50M
php_value max_execution_time 200
php_value max_input_time 200

We actually automated this too by tagging this code to the very end of our migration scripts: 

 

sed -i "s/# RewriteBase/RewriteBase/g" /home/$1/public_html/.htaccess
echo "
php_value upload_max_filesize 50M
php_value post_max_size 50M
php_value max_execution_time 200
php_value max_input_time 200" >> /home/$1/public_html/.htaccess
ncftpput -u $2 -p $3 ftp2.ftptoyoursite.com /$4/web/content /home/$1/public_html/.htaccess

 

Beware of include paths! If you have code in your old sites that have something like "include('/home/whatever/blah/file.php')" that will fail. Not only that, it will disable php error reporting so the error is not shown to you. I'm not sure why error reporting is disabled for this type of error but I'm thinking that it's a security thing? Maybe they don't want people to be able to probe server root paths and publicly show what paths exist or not. If you have a blank site - check the includes.

Switchover

So once the site is working its time to switch it over. Because we created placeholders for all the sites using the RS control panel to start with, then we moved all the current DNS zones over to RS via the API, then we repointed the hostingcompany's dns servers to RS's Nameserver's IP addresses - RS's Nameservers are still pointing back to the old hosting servers. The only thing to do is to go into RS's control panel, into the client's website and update the A record back to the default it would have been set at before we overwrote them with the custom zone entries (that, again, point back to the old dedicated servers). So HOW do we know what the IP is at RS???

Do a dig on the "websitetestlink.com" url supplied in the General tab of the website settings. If you dig that, it will give you the correct A record. If you also have an FTP cname for the domain, you may want to point that to ftp2.ftptoyoursite.com

Don't forget parked domains! When you migrate the sites, don't forget to also migrate the alias/addon domains. Putting an alias domain on a website at rackspace is a bit weird. See if you can figure out how to do it, but if not, chat support and they'll tell you. I'm not writing in here how it's done because I just want to make a point that I think this part of the process is a bit funky at RS.

If you migrated your aliased domains to RS before migrating the sites, RS will not let you reset their A records via the API. To repoint the alias domains over to RS, you have to use the "donotexec" toolkit above. Its easy to forget aliased domains but clients will call up at some point asking where their other domains aren't working.

If you refrained from actually going to theclientsdomain.com in your browser, you can actually go to it now and it SHOULD direct you to the client's site at RS so you can further test. The reason for this is that if you haven't directly hit the client's domain recently, then you don't have their IP cached locally and your computer/router is going to go grab the fresh IP. If you're not sure then open up /etc/system32/drivers/etc/hosts file and "hardcode" the new RS IP in for the clients domain and visit it. Your computer will definitely be showing the client's site at RS so you can test it. If you're really unsure, make a change to the site via FTP or websitetestlink.com and see if you can see the change.

The last thing you want is to do a switchover but then get a call from the client that their site is in actual fact, down.

Conclusion

I hope some have found this guide helpful. I wrote it because migrating from a dedicated server to a cloud environment can be a real bear. What makes it difficult is the control panels and lack of api to speed up the process. You have to do so much work manually. If it were migrating from one dedicated server to another, it would just be a matter of copying all the files and doing general config. If this helped you please feel free to comment below.

Comments (0)Add Comment

Write comment

security code
Write the displayed characters


busy
Web Content Management System Web Development Technical Partners

Newsletter Signup

Signup for WinWorld's monthly newsletter
and special offers.

ARCHIVE >>
Our Web Design page on Facebook
  
Our Twitter Feed