doxycycline mg mexico cialis dubai uae discount colchicine from canada levoxyl online lipitor from cholesterol atorvastatin beta sitosterol better than saw palmetto cialis jelly to buy from europe cialis professional drugstore.com exelon generic launch prednisona sublingual dosage soft cialis bupropion 100 mg tab mylan skelaxin brands india zyrtec for sale online genuine trileptal 100mg where to buy paroxetine online canada viagra originale online italia cyklokapron prix en pharmacie en france l thyroxine canada online no prescription adalat xl 30 mg tablets can you order emsam buy generic erexin online no prescription altace dosage forms lipitor atorvastatin 40 mg side effects order abilify one mg canadian allies in ww2 rosuvastatin on line in the uk provera de 2.5 mg aripiprazola tablets price rogaine 5 buy without nizoral spain over counter terramycin precio mexico sertralina emagrece quantos quilos por mes vasotec no prescription fedex ups brand levitra buy india comprar plavix en argentina allopurinol side effects gout attacks over counter micronase mevacor shop net canadian pharmacy for tretinoin cream usp 0.05% erectile dysfunction prescription jpg glucotrol xl canada companies only brand amoxil usa no prescription buy prevacid with no rx staxyn discount coupon cape fear discount drugs almetec fast canada my atarax coupons clomid cheap uk meclizine on line purchase much does zyvox cost where can i get vasodilan ordering plavix canada purchase florinef in us cialis soft review what is the generic name for hydrochlorothiazide ibd crohns prescription drugs med prednisone buy cheap lasix using pay pal cozaar from canada with no prescription kamagra gold generic equivalent tinidazolum without a prescription from australia suhagra for purchase purchase sarafem lowest price flagyl er online from usa quibron t refills celexa tablets pictures buy accutane online with mastercard can i buy zyrtec d online purchase starlix cheap medrol dosepak generic reviews buy unisom mg online post cycle therapy endep buy meloxicam enolat in ireland should i increase my dose of cymbalta cluster headache medication imitrex prednisone 100mg cheap shuddha guggulu mg buy altace india blood suhagra online usa what is promethazine 25mg billig terramycin online kaufen buy amoxil pills benzac online in usa alti doxycycline over the counter uk levitra low cost prednisone lowest cost drug acheter amoxicilline how many years can i take cialas is liquid paxil available in canada tricor pills drugstore cheapest atacand tablets uk purchase pyridium on line in usa glucotrol canada overnight delivery where coumadin initial appropriate frumil noprescrition needed canada online pharmacy claritin side effects blood pressure cheapest percocet paypal pharmacy buy drugs ginette 35 safe accuran no prescription buy lynoral online from usa amitriptyline over the counter depressant caffeine ergotamine online canadian propecia dosage hair loss cleocin gel online no prescription what is the dose for valtrex for herpes ginseng usa no prescription bentyl drug in canada pharmacy list of all monophasic birth control pills hyaluronic acid cheap uk can you buy valtrex over the counter approved lansoprazol pct buy doxycycline tablets 100mg for dogs cleocin phosphate iv xenical update celebrex without prescriptions diarex where to get no prescription order buy medrol online zyrtec roche precio argentina buy amoxil bencard pharmacy citalopram generic mexico buy doxazosin 5 buy prednisone norx order clonidine lowest price himcocid online usa no prescription buy erexin v fluconazol trusted online drug stores in canada goes u buy viagra over the counter in canada fluoxetine drugs test safe to buy generic atarax from usa keftab online with out prescription buy genuine rocaltrol uk buy fincar tablets usa mirapex shopping list of tesco stores selling nitrofurantoin depakote india order procardia medication by mail purchase remeron on line in australia clincin over counter uk dose of propranolol for test anxiety best place to buy prandin how long does paxil take to work for social anxiety what types of metocarbamol are there lamisilate uk pharmacy does pariet cause weight gain over the counter medicine trileptal salbumol order online do i need a prescription for aldactone augmentin es dosage pediatrics zyprexa dosage for sleep what is the antibiotic doxycycline hyclate used for eltroxin pharmacy mail order can taking provera help you get pregnant cheap colchicine usa prozac pills online in the mexico legal buy sominex online canada generic starlix sales how long does paroxetine withdrawal last shallaki order canada brahmi coupon code youtube stats by country comprar toprol xl original clomid mg order what is ciprofloksacin drugs robaxin buy online us where to buy biaxin how much does maxalt cost mail order generic kelnor can i buy antibiotics over the counter uk etodolac buy usa buy valtrex canada order generic toprol xl how to buy amaryl online levothroid vs generic tadalis buy india viagra women studies glucotrol usa sale remeron drugstore com pricing tretinoin 0,05 doctors online safe to buy generic beta val from usa minomycin for dogs costo del orlistat can we trust retin a 0 05 online comprar viagra em portugal walgreens cialis 20 mg effexor xr 75 mg. reviews nitroglycerin no prescription fedex ups buy generic clomid no prescription retin a micro gel uses zetia delivery seroflo medicine children legal buy medication online uk caverta in croatia non prescription alesse pharmacy amoxil to purchase without a prescription what is arthritis of the spine cialis super active comprare how to get viagra in uk promethazine buy online india fast cefadroxil deleviery buy claravis pills in the india purchase generic duetact buy remeron online no prescription usa differin drug in germany pharmacy vagifem daily use reviews online lotrisone purchase where can i get free samples of viagra where to buy viagra plus online usa clonidine medicine online clomid cheap india pharmacy acquistare aldactone in italia buy myambutol online buy brand zitromax estrofem online india american medrol buy astelin mexican pharmacies generic voltaren overnite shipping safe to buy generic elocom from usa generic mevacor usa purchasing ephedraxin online uk order emoquette online canada online pharmacy uk liv 52 did generic levaquin become available erythromycin cost how to order lithium online order terramycin online uk bystolic usa best place to buy celexa in usa uk version of ventolin ordering antabuse uk prednisolona delivered to your home lamisil cheap uk pharmacy buy gabapentine tablets mexico generic cefadroxil usa mirapex with paypal payment canada pharmacies online that sell celebrex order zyprexa from india without prescription buying dapoxetine online legal buy skelaxin 800 prednisone dosage for dogs with addisons vet meds with no prescription generic pills for cabaser cost of lotrisone clonidine hydrochloride for hot flushes buy alli uk pharmacy discount cheap pills coupon code over counter methotrexate safe buy tofranil online buy viagra sublingual lowest price healthy man viagra scam buy glucophage from canada comprar prazosin original can you buy unisom in ireland pastillas cialis y alcohol buy orlistatum low cheap price pyridium prix en pharmacie en france tadalis canada companies only buy stieva a low cheap price pariet pharmacy coupons renova uses medication discount levothyroid mg rythmol sr to buy cobra 120 sildenafil citrate tablets medication called augmentin side effects of finax tablet buy keftab generic cymbalta lawsuit withdrawal buy tablets aciclovir herpes generic allopurinol prescription zyloprim how safe is mobic to take buy fluoxetine tablets uk buy amoxycillin online pharmacy where prednisolone is manufactured prednisolona generico italiano where to buy aldactone cialis generic uk motrin mexico no prescription can i buy arimidex in canada albenza pills online in the australia compazine side effects long term use thyrox pharmacy prices list buy prandin tablets canada purchasing trazodone online uk is zofran generic zedd spain generic prozac tablets buy allopurinol pills in the mexico can you buy acivir pills online pharmacy imitrex online pay paypal over counter femara kamagra suppliers finasteride cost generic name for kytril prednisone 20mg short term side effects lamisil cream for ringworm buy bactrim cheap pharmacy order ampicilina overnight cheap ciprofloksacin free delivery online kamagra gold purchase how to buy emsam trial erection packs 3 india no prescription buy lexapro quick no prescription needed pharmacy canada canada ginseng tablets online buy celapram online us no prescription prazosin online lamisil online terbinafine antifungals buy imuran online with mastercard avapro in buy generic zyloprim canadian online clozaril ships from india luvox online canada zovirax suppositories buy retino a cream no rx keflex birth control online australia safe place order antabuse purchase thyroxin lowest price endep without subscription billig atomoxetin online kaufen thyrohormone pharmacy order roxithromycin to buy in the uk without a prescription ginseng costco canada free samples of viagra by mail liv standard form contract of sale vpxl mg buy order generic aricept lipitor generic release date 2011 cheapest place to buy suhagra puerto rico pharmacy residency triamterene without prescrip hoodia online cheap aciclovir tablets 800 mg alcohol buy cardizem mg zyvox cost 2012 how long does it take for nizoral tablets to work diflucan 150 mg tabletas minomycin 50mg acne flagyl er from europe pfizer dilantin coupon synthroid where to buy cialis super active drug in usa pharmacy herbal pills social anxiety florida zyrtec how to import methotrexate order exelon tablets oestrogel cheap uk pharmacy buy nitrofurantoin online with mastercard clomid 50mg success stories 2012 januvia 100 mg best prices amlodipinbesilat canada pharmacy starlix brand pills for sale safe apo furosemida no precription combivent australia what is bactroban cream used for estrace medication order grifulvin v where can i buy prednisone prescription poison oak buy stieva a mg buy betamethasone drops tinidazole online from usa augmentin antibiotics side effects us online pharmacy no prescription doxazosin buying canadian pharmacies illegal metoclopramide dosage forms where to buy cheap generic zaditor albendazole otc uk fosamax price india celapram over the counter drugs buy strattera online from canada prometrium side effects constipation buy cipro for daily use buy celadrin in australia anteovin pct buy ventolin 100mcg inhaler carafate from usa pharmacy what is mobic medication for buy dilantin next day uroxatral online bestellen doryx medication reviews terramycin online uk phenergan suppository child dosage buy tetracycline 20 venlor no prrescription medication for anxiety buspar fluoxetine without a prescription what are the side effects of tegretol xr how to get avapro in australia kamagra birth control online us how to take benadryl allergy alli pill availability buy ampicilina inhaler canada where do i prometrium in mexico mometasona results forum citalopram 10 mg uses zyrtec side effects in men buy zestril online canada no prescription ordering plavix india tofranil canada drug store asacol no prescription needed canadian online pharmacy can order acnetane canada no script glucofage mg valtrex prescription zestril online uk buy wigraine online pharmacy albenda non perscription countries pharmacy has best price pilex a good web page to buy ditropan with no script viagra jelly costco safe to buy generic riperdal from usa drugs similar to ampicilina over the counter drugs similar to coreg buy brand viagra without prescription vpxl where to get buy coumadin pills in the australia flomax dosage medication capsule aricept medication doctor inderal 80 mg actos medication on line beat way to order slimex buy precose uk buy brand cialis canada online trazodone online in usa adalat la 60 diarex tablets side effects discount keflex where can i get amoxiline maxalt drugs low alesse estradiol birth control pill can buy microzide online florida trandate is there a drug comparative to minocin minocin new zealand viagra order in the us canada buy rosuvastatin without prescription how to buy arzomicin in london ovral l mg no prescription is it safe to buy the abortion pill online maxalt rpd canada accuran birth control online mexico atomoxetine strattera wikipedia warafin drugstore.com clomifene online bestellen haldol side effects in men buy clincin capsules pill rx health acai products buy cabergoline no prescription research grade ephedraxin tegretol cheap uk where can i purchase nitrofurantoin discount ray ban rx eyeglasses safe place order geriforte syrup buy ovral l online from usa buy alesse contraception herbal viagra does it work viagra dosage for men eldepryl without prescription miami cheap pharmaceuticals online ordering low dose xeloda buying valaciclovir actonel sold over counter buy kamagra jelly online buy abilify online safely where to buy ginette 35 online uk amlodipin buy australia acivir pills lawsuit purinethol overnight pharmacy order brand cialis from mexico without prescription elavil tablets 10 mg indian pharmacy avodart buy micardis tablets unisom overnight pharmacy where does acai berry come from how to order stieva a online cafergot uk buy tadalis pharmacy mail order my tinidazolum coupons parlodel mg canadian rx brand levitra online india lexapro medication anxiety florida viagra professional detrol discount card buy erection packs 1 pills in the uk fincar online mexico does generic work gel tab viagra benfotiamine mg tablet buy oestrogel pills in the uk order lozol on line usa valtrex medicinenet order januvia lowest price buy renova cream botanical slimming tablets ireland prednisone alcohol webmd fluconazole canadian pharmacy where is it safe to buy prescription drugs online bystolic 20 mg coupon how to take triamterene mg oratane prices at costco how to order propecia metronidazole wiki fr non prescription kamagra soft pharmacy tadifil 20 robaxin medication classification where to buy simvastatina without a prescription venlafaxina limited india very cheap l tryptophan uk pharmacies online that sell lady era trazodone from europe isoretinoin online mastercard payment ordering ivenox uk estradiol valerate fast mexico trandate birth control online australia yagara prices usa cialis prescription australia safe to buy generic arava from canada how much will topamax cost indocin canadian medications without prescription cheap female viagra sale uk signs ovulation 100mg clomid rythmol sr pills sweat what does atarax make you feel like side effects kamagranow co uk review ordering clomifene usa buy beta val online uk no prescription zyprexa medication dosage asacol tablet sale pletal over counter erection pills walgreens lasix injection use is there a generic for viagra in the u s phexin lawsuit best place to buy movalis in australia no prescription snovitra super power lisinopril price bupron express canada safe dose of benadryl for adults silagra shop net neurontin without a prescription from india order lexapro online without rx buy hoodia gordonii stores how much does generic prevacid cost buy prometrium no prescription toprol xl woldwide shipping can i buy clomid online in the uk how to buy bisoprololi fumaras will pulmicort cause weight gain suppliers of retino a cream 0,05 in us how to buy percocet in london iv decadron dose lopid pills online in the mexico generic for lamictal xr periactin order online order mometasona from australia without prescription is there a drug comparative to mircette atrovent prices use probalan coupon online buy cardura have no prescription where to buy bupropionum mg fast eurax deleviery pariet 10 mg rabeprazole sodium purchase tegretol in uk non generic retino a cream 0 025 online can viagra bought over counter boots paroxetine from india buy rumalaya pills to buy paxil in uk buy diclofenac gel usa is stediril a prescription drug zithromax drugstore.com buy bactroban online in usa what does synthroid 75 mcg look like dieta culturismo y fitness buy benicar online no prescription canada fertomid discontinued buy delta cortef with no script what does clomid do for men on steroids lexapro store what is lansoprazol pills used for nootropil medication order buy nizoral without a prescription oestrogel mg canada prometrium delivery uk cheap prednisone pills el viagra se vende con receta yahoo buy diarex in ireland can i buy eldepryl in canada purchase viagra super active on line in mexico buy genuine keflex uk caprysin online uk canadian aciphex antiulcer esophagus purchase abilify medication pharmacy cheapest eltroxin tablets uk reviews on carafate canadian pharmacy maxalt 10mg buy cafergot online overnight what does trental medicine coumadin side effects where is protonix manufacturer coumadin fast canada what is reminyl medication uk drugs strategy 2010 discount microzide mg american prozac how long does it take for olanzapine to take effect amoxycillin online legally differin generic there generic aleve albuterol sulfate inhalation solution 0.083 price buy sertraline online no prescription we are david bailey pictures buy menosan boots pharmacy sinemet barato buy isoniazid without a prescription from canadian pharmacy extendaquin to buy from europe c ratioph india sale generic meloxicam enolat usa buy australia generic accutane toprol xl canada no prescription lexapro canada generic best over the counter sex pills for women disulphiram noprescrition needed usa online pharmacy buy ponstel online overnight delivery cheap genuine wellbutrin sr online pill rx health order parlodel products doxycycl hyc 100mg side effects janumet without a prescription from india online pharmacy uk kamagra oral jelly finasteride over the counter uk does clomid affect ovulation predictor kits unisom daily use reviews norvasc online store estro for dogs buy online pharmacy no prescription accepts paypal legal online trial erection packs 1 cheap stromectol buy online buy online order actos generic clomifene us buy viagra sublingual online without a prescription estrofem prices usa ventolin syrup for babies buy citalopram in singapore purchase ceftin mg tadalis delivery uk crestor india companies only prednisone side effects in women short term buy ciprofloksacin pills in the uk mirtazapine 15mg for cats what is ciprofloxacin hcl 250 mg prescribed for buy viagra online at canada pharmacy fastest way to get pregnant on clomid side effects of betnovate scalp lotion yasmin birth control lawsuit canada pilex no prescription needed diclofenac stada 25 mg magensaftresistente tabletten best online sites to buy prescription drugs lowest priced chloramphenicol buy rogaine 2 pills in the uk nymphomax in the uk where do i curacne in canada lowest priced cialis professional what is the generic name for doxycycline hyclate what does hoodia do for you buy crestor patch ventolin fast uk can you buy prandin over the counter in germany orlistato online purchase lotensin delivery uk cheapest brand cialis to buy what is l thyroxine pills used for order dapoxetine pill order augmentin online uk india pharmacies online that sell trazodone how long should differin take to work buy allopurinol online from usa salvent prices cipla ltd company minocin where to purchase sarafem over the counter india cialis sublingual india no prescription how to use lisinopril what does fluconazol best online pharmacy generic stediril over the counter medicine baridium what is clomid and how does it work for men hydroxyzine dosage for dogs buy cialis online amazon clozaril pill shortage zestril online pharmacies with out prescription buy nolvadex online overnight delivery side effects of lamisil pills mometasona drugstore com pricing ordering low dose celebrex safe to buy generic avodart from usa plavix canadian source aldactone generic release date what is viagra like effects viagra jelly delivered to your home nitrofurantoin without rx hoodia buy australia serophene buy online uk midamor pills buy aspirin tablets during pregnancy prednisone order online fexofenadine uk name robaxin without a prescription from us bentyl without prescription overnight delivery viagra para hombres sirve para mujeres viagra usage young men cheap forzest rythmol sr usa sale que ginseng comprar lopid website pill identifier cheap price what is the side effects of the drug buspar can i order kamagra oral jelly no prescription in the usa where to buy prandin online canada can order trazodone online overstock drugstore promo code casodex canadian pharmacy online abilify purchase emoquette in usa prandin on line no script motrin mg best viagra professional prices sildenafil pill what is ramipril 2.5mg fish cycline forte for dogs nitrofurantoin canadian online bentyl canadian medications without prescription buy coversyl online canada januvia dosage too high trial erection packs 3 now half price antivert buy rosuvastatin usa parlodel on the internet buy strattera online no prescription united states evecare wanted online review retin a wrinkles under eyes prilosec precio mexico generic drug methotrexate accutane results patients lanoxin india nizoral 2 percent shampoo reviews is there a generic form of fosamax buy grifulvin v with no rx buy ortho tri cyclen inhaler canada zocor prices cvs fluoxetine 20 mg every other day seroflo 125 long time side effects premarin prinivil limited india best online pharmacy generic diamox clincin without script fincar next day delivery zyvox no prescription required ambilfy without a prescription how much does levaquin cost at walgreens requip maximum dose restless legs carvedilolo no rx when is diovan hct going generic skelaxin order online no prescription levitra professional online from usa buy delta cortef perth australia metformin shortage generic didronel no prescription what is bactrim ds tablets hermana lucy y el padre chelo discount pulmicort from usa side effects of aspirin in pregnancy yasmin mg no prescription dutas india suppliers cheap rx 8 exhaust order glucophage on line india comprar levaquin original the chepest levitra plus eldepryl over the counter drugs where can i buy terbinafine tablets what is the dosage for actos how to use viagra spray for men my ralista coupons where to buy allopurinol tablets online erection packs 2 without prescriptions original almetec online generic clozaril safe buy viagra soft in india online can i get high off of cephalexin billig obelit online kaufen piroxicam cream viagra for men price in kolkata where to buy livestrong bracelets in philippines can men take clomid for fertility coumadin brand vs generic triamterenum buy india haridra from europe prescription solutions jobs overland park ks comprar zyloprim original ciprofloxacino 500 mg capsulas voveran sr fast uk luvox overseas order nexium on line usa generic salvent us mens dysfunction purchase crestor in canada what is suhagra used for lopid generic india buy bactroban 200 terramycin from china aricept overseas albuterol usa sale lukol daily use reviews birth control pills caverta how to use pravachol where can you buy over the counter diflucan without cymbalta no prescription reviews is symbicort better than ventolin lisinopril hctz side effects sunlight lipitor on line in the india fluoxetine hcl 40 mg caps buy prinivil pills online what is demadex made of purchase depakine chrono in mexico brand aleve for sale buy abilify online without script overnight delivery suppliers of oratane in us pilex on line in the canada can you get nitroglycerin cheap adalat 10 mg where to buy almetec mg buy zyprexa astrailia buy viagra professional online with mastercard how to buy midamor in london promethazine 25mg tablets get you high generic drugs today brand names fda recommended dose of azithromycin for chlamydia crestor cheap price side effects of lexapro 10 mg in women what does motilium generic diabecon fincar with prescription should sildenafil be available over the counter rosuvastatin over the counter drugs non generic beconase aq anastrozolo cost in canada where is metformin absorbed what dosage does zanaflex come in pyridium pharmacy vendita levitra order zanaflex on line usa suhagra 100 dosage average cost of imitrex buy aricept 23 mg trial erection packs 2 mg no prescription buy ditropan online with mastercard isotretin for men sale in uk side effects of zofran in pregnancy purchase colchicine 0.5 mg cheap premarin 40 mg terramycin cheap uk bactrim uk brand name zetia online forum retino a cream fast uk nitroglycerin generic usa shop lasix what are the side effects of the medication seroquel ceftin now astelin without rx lexapro online in us glucotrol xl without prescrip olistat for purchase without a prescription amoxil and birth control pills dipyridamole uk sale zetia 10 mg dosage online pharmacy no prescription needed alphagan brand name alti doxycycline online clonidine without a prescription from australia prednisolona results forum protonix in croatia amoxicilina over the counter buy vermox capsules clozaril from canadian pharmacy mail order generic medazole how long does dulcolax amitriptyline interactions with other drugs can you get pletal cheap proventil mg kwikmed discount code sarafem tablets propranolol without prescription miami discount effexor xr mg acai beere online shop 100 mg kamagra gold buy zetia tablets canada buy clonidine hydrochloride online buy dramamine with no script starlix worldwide shipping comprar viagra en irlanda aricept price comparison canadian drug company thyroxin metrogel brands india what side effects does micardis have buy generic viagra gell acai order in the us viramune package insert what is ic metronidazole 500 mg used for best price orlistatum wellbutrin sr ships from india generic macrobid cilest order acticin over counter nizoral legal us buy over the counter glucotrol online viagra from uk pharmacies order mentax online with visa buy tofranil pills in the mexico purchase cozaar pills brand lisinopril for sale aciclovir canada drug store fertomid australia price buy celapram perth australia depakote delivery side effects of calcium carbonate percocet from usa pharmacy over counter claritin western drug lioresal cheap cialis jelly uk is it illegal to order generic menosan fluconazol canadian online online detrol with no prescription acquistare astelin in italia lanoxin mg canadian rx allegra eating out in the uk obelit prescription coupon shingles medication valtrex side effects diflucan from usa liquid lariam review amlodipin over counter uk kamagra oral jelly.co.uk snorting skelaxin 800 mg hong kong buy combivent without phexin to buy in england naprosyn best price lansoprazol online pay paypal purchase actoplus pills buy atacand online uk no prescription elimite 5 percent fincar from china buy citalopram online in usa orlistat 120 mg buy asacol mr tablets 400mg what is the proper dosage when taking viagra percocet non perscription countries purchase wigraine on line in mexico watson 540 flonase tablets uses use valaciclovir coupon online cheap crestor mg venlor on line for sale no script celexa 5mg tablets motilium side effects breastfeeding strong painkillers online uk metronidazole tablets online generics4u buy alli canada online buy tinidazole online uk buy trial erection packs 1 online overnight buy alli tablets prescription lov cost shuddha guggulu buy tamoxifen without a script buy retin a 0,025 tablets usa generic wellbutrin xl not working suprax sold over counter claritin dosage for 1 year old prednisona generic india good purim costume ideas zoloft 100 mg street value sarafem from australia pill identifier with pictures lortab purchase exelon on line in australia order cipro on line uk buy kamagra online reviews buy suhagra online at canada pharmacy minocycline 40 mg pharmacy how long does it take for risperdal to get out of system generic substitute for tricor buying plavix online buy lopid in australia where to buy zestril online canada half price himcocid novo digoxin uk buy top 10 online bactroban sites dapoxetine online pay paypal over the counter brand amoxil metrogel on line in the usa zantac over the counter uk very cheap venlor what is glucofage for why has cholestoplex been discontinued half price ciplox buy chloromycetin pills in the canada is danazol a prescription drug purim online coupon code no prescription remeron deltasone online coupon code cheap nizagara pills vermox without prescription pills orlistat over the counter drugs buy depakote 80 mg online i want to pay some dyazide birth control pills provera ordering prandin india benicar on line no script where can i buy renagel online without a prescription rumalaya gel online usa neurontin buy no prescription discount rx seroquel sales 2008 purchase haldol on line in mexico thuoc adalat la 30 aciclovir tablets to buy uk 200mg tretinoin 0,05 usa no prescription acticin in croatia how to get olanzapine in australia suppliers of acivir pills in us cheap singulair drug safest online pharmacies to buy viagra where can i get some alfa flucon buy rosuvastatin uk hydrochlorothiazide combination propecia cost new zealand generic name for femcare aviane 28 over the counter india deltasone canada prescription fluoxetina to purchase without a prescription how much does generic risperdal cost zyvox 5mg tablets order bupron sr from usa without prescription what is hydrochlorothiazide used for do you need a doctors prescription for propecia alesse usa no prescription buy levitra super active new zealand online sale doxi 1 generic super avana sales estradiol valerate prix en pharmacie en france how much does synthroid cost clozapine no prescription fertomid from india adalat medication order generic diprolene safe order tadapox uk pharmacy viagra tijuana prices best price for real tizanidina oratane buy no prescription purchase ampicilina pills mexican pharmacy no prescription zedd www.periactin tablets ephedraxin pill shop discount code buying citalopram online uk buy lipitor online ireland buy ephedraxin astrailia lopid roche precio argentina revia side effects uk order clomifene online no prescription with a mastercard buy meclizine online without a prescription wellbutrin sr weight gain or loss cialis sublingual birth control online australia buy terramycin boots fluoxetina no prescription fedex ups buy sumycin 200 glucotrol purchase buy generic retino a cream 0 05 online pharmacy diprosone alesse uk brand name doxycycline from mexico naprosyn ec pilex india sale best place to buy micardis in india what does levitra contain buy alesse tablets usa generic lozol uk paypal buy trial erection packs 2 online without a prescription pariet 20 mg quanto costa levitra super active india online warafin india do you need rx beconase aq keflex delivery london best price for isoniazid doxi 1 prices usa purchase aldactone 25mg what are the side effects of keflex antibiotic what is the drug renagel used to treat zofran price safe actoplus no precription buy shallaki 80 mg online elimite over the counter australia levitra online pharmacy online generic accutane canada drugs tadapox with prescription singulair pediatric 4mg cost of albenza stromectol max dose diclofenac with paypal payment buy albenza for daily use azurette medication pill rx health order antara products ordering without generic actos glycomet worldwide shipping cialis original online kaufen robaxin on line in the uk probalan thailand order orlistato from mexico without prescription ventolin online meds augmentin generic brand online quetiapinum india can we trust duetact online amoxicillin clavulanate potassium 875 mg alcohol what is indinavir valaciclovir online pharmacies with out prescription how to buy aripiprazola safe brand amoxil no prescription where do i orlistar in usa generic antara switzerland allopurinol interactions other drugs purchase antabuse 200mg nordette discount no prescription prescription medicine for acne treatment buy generic antabuse online with prescription como se usan las cytotec para abortar valsartan diovan side effects where can i buy saw palmetto in india erection packs 1 shopping early onset arthritis knee comprar stromectol original generic combivent no prescription overnight aciphex online consultation can i get cialis super active phenamax doctors online mexican pharmacy no prescription hydrodiuril buy gabapentine low cheap price cheap generic minomycin differin gel price philippines tretinoin 0 025 pharmacy prices list buy doksazosin lek greece malegra dxt pills online in the canada order geriforte cheap probalan from india order generic vagifem levothyroid billig kaufen metformin maximum dosage daily order zocor online without rx omnicef to buy what is vermox worldwide pharmacy nitroglycerin buy terbinafine cream aloprim uk companies only online generic ciplox where to get viagra in cape town mexico coupon cafergot online buy priligy online from india buy canada no prescription for estrace generic equivalent for abilify order seasonique from uk without prescription side effects of ranitidine viagra sublingual discount amoxicillin no prescription dog switching from paxil to zoloft panic cialis online scam olanzapine what is it for where can i get living steel buy mentat paypal accepted european pharmacy online tadacip 20 ordering salbutamol canada coversyl amlodipine ciprofloxacin hydrochloride 500 mg tablets oestrogel drug class femara complications side effects digoxin trusted online drug stores in canada buy over the counter colchicine online cephalexin where can i buy tegretol prix en pharmacie en france buy tadapox online mexico no prescription buy trial erection packs 3 online us no prescription side effects of pantoprazole domperidone fluss 40 online from india diamox online price ya venden pastillas alli en mexico where could i buy retino a cream 0,05 without prescription cleocin t topical solution reviews how to buy cabaser in canada can i buy viagra over the counter canada metformin to buy cheap requip pills sominex generic cefadroxil price purinase allopurinol medications discount toprol xl for sale philippines xalatan prix en pharmacie en france ponstel pills online in the uk ophthacare best price buy trazzadone online no script antara where can i buy flomax online canada hyzaar medicine children discount code for flonase over the counter medicine that acts as levitra plus bactroban no prescription needed canadian online pharmacy buy altace online usa ondansetrona perth australia viagra mexico online side effects of proscar medication over counter substitute lasix clomid 100mg success over 40 daily cialis coupons daily levitra dose what is the dosage for premarin buy triamterene in india online tenormin for sale uk what is code red 7 diflucan dosage for yeast infection in women losartan potassium hydrochlorothiazide dosage what is the best website to buy viagra discount mircette mg western drug famvir reviews on salbutamol ordering flonase india medrol dose pack medication cheap cialis online pharmacy brand viagra without insurance antivert otc walgreens buying kamagra gold for dogs cheap pariet 40 mg mupirocin ointment boots salvent shortage benicar online overnight cost of propecia australia brahmi discontinued where do i retino a cream 0,025 in usa eulexin cost comparison costco pharmacy cialis sublingual price order abana 11 pharmacy order retin a online without rx crestor for sale best place buy venlor purchasing lukol online uk viagra 25mg side effects can i drink alcohol while taking ciprobay buy yagara quick arthritis in fingers exercises how to buy cabgolin where to purchase azitromicina buy cephalexin online uk wellbutrin sr cheap price buy flonase online without prescription diclofenac 50mg how many to take order cheap doxycycline without ceftin trusted online drug stores in canada elavil store flagyl er medication overnight delivery arimidex uk online lethal dose of benadryl for dogs eurax generic india paroxetine 40 mg pharmacy thyrox cheap mexico pharmacy trial erection packs 2 pricing buy prednisone for dogs online generic estro india where to buy kamagra gold what is vardenafil levitra pills buy online can you buy levitra super active in ireland 30mg uk where can i get effexor xr from fasigyne spain what is trazodone medication used for cephalexin on line in the mexico rocaltrol reviews for men kytril cheap uk lamisilate online pharmacy shipped to canada ordering low dose zoloft online meclizine purchase compare prices fluoxetine allie brosh reddit depression how to take effexor xr buy xenical online without prescription order lipothin from australia without prescription over the counter drugs similar to glucophage what are the side effects of taking lasix comprar silagra online how often to use benadryl cream feldene buy online us where to buy cozaar mg asacol tablets and alcohol buy ditropan online in the united states without a prescription canada drugs requip with prescription cheapest place to buy zithromax is requip available over the counter ginette 35 canadian online overnight pharmacy deltasone drug in mexico pharmacy prozac nation quotes goodreads paxil 40 mg dose vermox shop net buy celebrex online in the united states without a prescription sinequan over the counter drugs mirapex cheap price sumycin in costa rica canadian buy acticin generic nexium availability cialis generic release date cheap bupropionum buy prazosin 100mg online discount mentax mg cymbalta cost canada how much does flonase nasal spray cost order tadalis sx on line uk coumadin australia companies only albuterol mdi sominex for daily use canada floating drug delivery system of metformin phenergan cost comparison drugs where to buy bupropion online usa retin a 0,05 no prescription compare prices alli mg usa get cymbalta cheaper brafix on line in the india cabgolin drug in germany pharmacy side effects of fluoxetine prozac levitra super active medication what is finpecia drugs ordering nizoral india buy tegretol 50 what is the normal dosage for neurontin order motilium online no prescription with a amex valtrex drug in germany pharmacy bupropion over the counter canada vantin dose cialis and viagra differences mexican pharmacy no prescription vardenafilum how to use keflex evista generic australia flagyl er online in canada best place to buy allegra prescription valacyclovir hydrochloride tablets usp over the counter lady era femara for men in usa viagra japan ship long after eating can you take viagra purchase motilium in australia clomid generic vs brand name what types of rosuvastatin are there can buy zenegra online altace cheap australia pharmacy order hytrin online no prescription with a visa actos generic name overnight buy clomid prescription needed where can i get predalone phone in order for yasmin diamox fast uk amaryl buy without comprar promethazine original where to get alesse pct finax lawsuit settlements artane for sale australia haldol use in hospice acheter pas cher clozaril purchase erythromycin 250mg tablets purchase lorazepam online no prescription generic compazine overnite shipping comprar cialis soft viagra building in toronto canada side effects of robaxin muscle relaxer donde comprar amantadine how much does carafate cost best price hyzaar yagara purchase in canada no prescription zestoretic medication online prednisona online from usa cheap ditropan mg .05 tretinoin where to buy caffeine ergotamine online usa is lipitor generic available buy clozaril pills in the us vpxl for sale online uk pharmacies online that sell finpecia is wellbutrin sr available over the counter reglan without there drug cheapest purinethol tablets uk over the counter medicine coversyl ketoconazole shampoo boots uk long term side effects of xalatan roaccutan tablets buy buy cleocin gel tablets wellbutrin sr birth control online mexico viagra saling store in toronto buy minocin online no prescription canada buy levitra plus online no prescription us where to purchase requip where to buy acai in australia benadryl next day cialis soft wanted online review benicar 20 mg prices top 10 online valtrex sites cialis australia price order beconase aq online uk cheapest atarax paypal order antabuse online no prescription with a visa canadian drug company tindamax kamagra 50mg jelly carafate over counter medication levaquin purchase where to buy desyrel without a prescription ephedraxin without a prescription from australia zovirax pills cost claravis on line in the mexico online sale of medrol cheap grifulvin v buy online order depakine chrono on line india suppliers of starlix in us better than precose buy mircette online india paroxetine 10 mg en espanol aleve coupons canada 100mg seroquel high cabaser drug in uk pharmacy buy atarax online with mastercard femara online coupon code missed two doses levoxyl buy coumadin pills in the mexico torsemide tablets 100mg buy ciproxin tablets canada cipro drugs buy cheap venlor using pay pal drug enhancement of cognitive performance generic uk paypal fluticanose mircette birth control pills order flovent rx order wellbutrin online no prescription with a mastercard bystolic drugs online purchases nizoral shampoo como usarlo remeron anxiety when will zyprexa generic be available purchase elimite on line in australia where to buy trial erection packs 3 with amex pletal perth australia maxaman canada prescription order hydrea online buy paxil 40 mg bactroban ointment dosage and administration can i order cialis online ivenox on line in the mexico buy fasigyn online with no prescription online yasmin purchase low cost casodex order coversyl 10mg glyset online pharmacy uk canada wellbutrin tablets online life brand green tea pills tenormin drug info zolpidem tartrate 5mg ambien salvent mg canada purchase prednisolona on line in usa dramamine online pharmacy shipped to canada hydrodiuril without script unisom sleep tabs over counter apo clopidogrel drug schedule luvox maximum dosage ramipril dosage forms cheap lasix free delivery periactin over the counter usa buy toprol xl generic alavert india companies only ciproxin 500mg side effects better than epivir hbv safe beta val no precription buy bupron sr mg exelon patch free coupons brand tenormin buy pharmacy online uk no prescription abilify medication guide etabus tablets salbumol lowest price diovan now co uk use pay pal for generic viagra will lasix help pass drug test buy rogaine 2 online thru paypals ciplactin weight gain challenge how to take carafate how much will protonix cost cheapest liverpool football kit generic alesse cost acquistare serophene in italia astelin mg usa ordering levitra plus uk himcolin prescription coupon weight loss and water retention pills betnovate cream wiki lamisil 20 mg cordarone rx medrol without prescription medication seroquel for sale uk benadryl tablets dosage for children purchase eltroxin on line in australia no script amoxil mg ordering rythmol sr india keppra canadian online overnight pharmacy yagara buy no prescription discount cipro mg buy mobic uk is it safe to order ethionamide online otomax with no prescription buy doxycycline online australia can you buy zebeta online cheap topical spironolactone s5 cream reviews cleocin gel prices at costco buy suhagra australia purchase januvia 100 mg c ratioph generic canada purchase generic percocet purchase diflucan cheap copegus online pay paypal elavil discount voucher revia mg buy noroxin no prescription canada where do i warafin in india long time side effects glyset emsam brand positioning best generic revatio sites does nexium work better than prilosec ovral l over the counter usa can i legally order medicine from canada dilantin delivery london buy proventil mexican pharmacies zolpidem 10mg tablets buy synthroid online without perscription prevacid solutab cheap order norvasc online no prescription with a amex buy amoxicilina tablets uk best no script online pharmacy is there generic crestor online viagra super active purchase plavix generic in usa plavix legal us yasmin online pharmacies with out prescription where to buy fluss 40 with visa minipress buy online canada order provera tablets buying presciption pain killers online fucidin side effects tamsulozin maximum dosage buy retin a 0,05 online no prescription uk how to buy curacne in canada nitroglycerin 40 mg pharmacy ephedraxin western australia nexium canada sale bactrim compuesto activo purchase florinef in india my benzac coupons danazol on line in the mexico discount tricor from lipitor diprosone order by phone what is differin mg used to treat billig lisinopril online kaufen generic viagra mexico buy dyazide online reviews citalopram weight loss what is voltaren ec 75 mg tretinoin uk buy prandin online canada lisinopril pill shortage how much is viagra at walgreens can i buy azitromicina in canada canada pharmacies online that sell cafergot periactin generic uk tinidazole uk companies only risperdal mg mexico cost of promethazine codeine erection packs 1 fast canada glucophage pcos reviews viagra sublingual online canadian zenegra no prescription reviews liquid benadryl cost rogaine 5 drug in fr pharmacy menstrual cycle length clomiphene wegmans pharmacy select generic drug price list minocycline online australia premarin pills color canadian pharmacy aristocort order diprosone on line uk med cab mentat thyroxin without a prescription from india calcium carbonate suppliers in usa can buy anafranil online zaditor prescription only alti doxycycline pharmacy prices list voveran generic release date pharmacy one source jobs how to use lincocin valtrex prescription prices where can i buy tofranil in canada zydis tablets from buy trial erection packs 2 drug class ginseng indian buy thyrohormone have no prescription cheapest cardura tablets uk robaxin 750 vs soma order amantadine pill viagra soft online overnight purchase nitroglycerin in mexico acheter brahmi lasilix shelf life orlistat reviews 2011 ampicilina not generic buy benicar usa comprar yasmin portugal lipothin germany orlistat fda alert buy pulmicort online usa antivert canada head office do one direction have chlamydia cat allergy symptoms nhs oristal prices at costco innopran xl canadian pharmacy cipa certified canadian pharmacies side effects of warfarin in pregnancy where to buy stieva a with echeck brand meclizine buy best place to buy zocor in australia rheumatoid arthritis medications arava doxycycline hyclate no prescription how to order simvastatina can you buy acai berries at publix buy yagara mg online what can you buy with paypal balance tricor brand order mexican pharmacy no prescription floxin order evista uk pharmacy doxycycline pills online in the mexico buy pyridium plus imiquimod cream 5 application how to order nordette how many pills of trazodone does it take to overdose what drug category is ciprofloxacin ampicillin labor and delivery proventil tablets dosage revista visao lages where to triamterene drugs diuretic canada order elavil reminyl online pay paypal get zoloft toronto where to buy innopran xl online india non persciption aldactone where to buy levoxyl online india percocet withdrawal wiki can you buy discount lotrisone cream retin a ge legal us quickest tamoxifen buy dostinex visa bestrxonlinepharmacy website double dose of cialis topiramate 25mg tablets generic topamax generic name dipyridamole purchase generic viagra professional buy prozac mexican pharmacies avodart combination with flomax pills buy mirapex new zealand online buy amaryl online australia no prescription finasteride mercadolibre colombia viagra plus comprar celebrex looking for cilest online australia amaryl drug action discount suhagra of canada buy codeine cough syrup no prescription cialis sales online canada discount legal buy zetia online canada do i need a prescription for chloroquine overseas pharmacy no prescription benfotiamine valtrex price in india strattera medication overnight delivery generic viagra online with no prescription mechanism of action of tetracycline on e.coli medrol from china order himcolin cheap the best online pharmacy schools buy roxithromycin online canada no prescription
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