overnight pharmacy delivery florida movalis amaryl drug dosage flucazole over the counter canada cheap zetia uk very cheap disulphiram buy cialis sublingual online from usa cheap rumalaya gel no prescription liv 52 sublingual dosage hydrocone no prescption canada where to buy glucovance online canada which uk site to buy liv xenical drug oversea online pharmacy uk viagra soft plavix prices on line salvent online in uk how to import windows live contacts to gmail floxin over counter remeron mexico no prescription costco pharmacy bupropion price buy viagra in usa from where is tindamax available on line in canada how to import zyrtec can you buy viagra without prescription in spain cymbalta without prescription overnight cheapest buy altace online ramipril aldactone canada pharmacy atorlip 5 sold over counter toprol xl generic drug pharmacy that sells protonix citalopram online in uk can order fucidin canada florida pamelor indian generics online promethazine endep now paxil drug in germany pharmacy online prandin overnight delivery long time side effects hyaluronic acid aripiprazola no rx dilantin with no perscription rocaltrol capsules 0.25 biaxin in costa rica cheap metocarbamol mg what are the long term side effects of neurontin motilium side effects heart maxalt on line for sale no script albendazole dosage for cats genuine levitra plus best price side effects taking prednisone 20 mg antabuse mexico pharmacy betnovate order in the us zyrtec pills viagra canada shop reviews sertraline hcl 50 mg information cheap augmentin us topic online when to take cialis nolvadex discount code side effects of prednisone 5mg tablets indocin dosage acute gout order erection packs 1 no rx canadian pharmacy lamisilate buy online mexico artane doctors online thyroxin online from usa zentel medicine online safe to buy generic hydrodiuril from uk zyvox buy usa champix how to take them comprar sertralina original en madrid mirtazapine weight gain 15 mg amantadine now co uk liv 52 online in usa risperdal tablets side effects prescription shipping cheap stromectol buy erection packs 1 online pharmacy where do i cymbalta in canada order generic tretinoin 0 025 where to buy adhd meds online order triamterene from lasilix pills online in the india buy genuine female cialis uk arimidex in india buy cozaar pills in the mexico cardura e10 hexion buy ditropan online australia no prescription xenical buy online us voltaren gel manufacturer backorder comprar bupropion original thyrohormone lawsuit vice magazine female viagra cardura overnight shipping non prescription tenormin vardenafilum india pharmacy cheap moduretic 40 mg buy trental online india no prescription anxiety medication lexapro side effects abilify medication weight gain flomax spain buy viagra pharmaceuticals online generic colchicine safe vasotec dosage instructions price of albendazole in cvs buy revatio in uk buy fluoxetina uk private prescription clomid london rio rico pharmacy rogaine 2 noprescrition needed uk online pharmacy cheap azurette disulfiramo lawsuit plavix dosage cats phone in order for seroquel best place buy celadrin pct side effects of voltaren 50 colchicine pill shop discount code how to use benzac 5 trazodone to buy from europe acnetane mg mexico phenergan over counter drug exelon patch starting dose international pharmacies buy abilify online where to buy ovral l with mastercard buy oxybutyninum online india order generic venlor purchase zovirax on line in mexico mail order generic maxaman very cheap effexor fluconazol online india terramycin without a prescription from us fast diabecon delivery where to buy tretinoin 0,025 drugs online mail order wellbutrin sr dutas uk sale trimox mg buy cipralex for sale australia what is antara pills used for over counter medication similar imitrex best price alli uk buy celadrin pills in the india buy trental low cheap price flagyl benzoil prednisone what is it for asthma symptoms toddler buy atorlip 10 tablets mexico is it safe to order capoten where to buy cheap generic vpxl how to take levitra 10 mg can order brafix canada flonase usa cost of baclofen 20 mg best pharmacy to order moduretic tetracycline metallic chelation janumet from canada with no prescription real viagra for cheap walmart pharmacy refill online what is bupropion tablets serevent drug in usa pharmacy no prescription quetiapinum sale best price tindamax buy medrol inhaler canada where to buy anteovin ointment amoxicillin generic for amoxil what does estrace do in fet where do i atarax in canada deltasone to buy in australia mexitil where can i buy generic clonidine overnite shipping yasmin indian restaurant bromley norvasc 10 mg 90 tablet fiyat endep online in uk why has diltiazem been discontinued duprost without a script purchase norvasc in us prandin medication side effects cheap zanaflex india buy caverta 15mg online isotretin over the counter what is colchicine medication which works better xenical or alli best drugstore mineral foundation for acne prone skin buy etabus pills in the uk overseas pharmacy no prescription sertralina doxazosin mg canada suprax and alcohol consumption best place to buy c ratioph where can i buy minocin mg ordering dostinex here in canada stromectol mexico no prescription buy clomid 50 mg lexapro cheap uk purchase cleocin gel lisinopril online bestellen buy combivent online australia no prescription retino a cream lawsuit buy alphagan paypal purchase lasix on line in usa rythmol sr doctors online purchase lexapro pills generic prednisone sales buy inderal online from usa oratane to buy in england purchase tricor in usa disulfiramum phone orders cheap advair diskus free delivery propranolol inderal dosage generic plavix release 2012 where to buy amaryllis plant safe adalat no prescription buying meloxicam enolat using paypal pill pharmacy drugstore chains index elocon mg no prescription how to buy zofran in canada hyzaar without food where to cefixime finpecia birth control online mexico bupropion xl generic vs. wellbutrin rumalaya by mail can we trust reglan online sale hyzaar where to buy albendazole online mexico geriforte delivery uk buy generic levitra no prescription alesse pills missed ordering wellbutrin from canada best site to buy claravis where to get simvastatina pct anastrozolo over the counter uk cialis uk best buy buy liv tickets vermox plus bebidas alcoholicas lotensin medication dogs albuterol inhaler price walgreens order ginette 35 canada proventil drug in fr pharmacy synthroid no prrescription espa super active cellular hydration concentrate citalopram 10mg tablets anxiety buy evecare without a script seroquel xr dosage order indocin lowest price generic extendaquin canada cost of iv phenergan como comprar zestoretic best price dyazide bayer back and body aspirin reviews bactrim buy usa crestor on line in the india best place to buy luvox without a prescription generic childrens motrin recall bupropionum daily use reviews what is prograf level plendil online without prescription can you buy aloprim himcocid fast mexico clomid pregnancy test calculator buy nizagara canadian buy midamor online uk no prescription buy medications online australia can fosamax cause weight gain online arjuna india cialis 40 mg pills stamina rx viagra alternative difference between cozaar and cozaar comp amitriptyline through does ranitidine cause weight gain coreg uses medication funny generic viagra names generic valtrex safe what is the best dosage of topamax for weight loss diovan discount probalan shoppers drug mart buy thyrohormone mg online for to buy ortho tri cyclen amoxil forte 250 mg tretinoin tablets online buy prograf 5 discount femara from usa canadian pharmacy erection packs 16 premarin prescription avodart in canada orlistato buy without confido generic name requip billig kaufen safe to buy generic olistat from canada buy cialis soft no prescription alfa flucon online order generic erection packs 2 switzerland how to take trial erection packs 3 mg where to apcalis sx buy terramycin for chickens procardia 10 mg capsule tizanidina drug schedule purchase indinavir online citalopram medicine depression zyvox pfizer fda approved where to buy erection packs 1 with mastercard ditropan order online where could i buy retin a without prescription yasmin overnight pharmacy best place buy norvasc pct get viagra jelly las vegas can i order allegra online carbozyne price cheap canadian naprosyn no prescription buy ranitidine online us no prescription cheap sarafem uk brafix for men sale in uk requip no prescription compare prices famvir coupon code how much does celebrex cost per pill costco online coupons best place to buy accutane in australia best place to buy cipralex in mexico biaxin extended release tablets snovitra super power tablets buy lamisil generico purchase estradiol valerate in usa what is disulfiramo used for where can i buy albenda tablets ibuprofen and paracetamol alternately children cialis cheapest price decadron daily use reviews cheapest drug protonix celexa dose pack no prescription diflucan generic viagra cyprus roxithromycin overnight shipping cheap how to get off cymbalta cold turkey uk buy permethrinum without prescription getting betnovate in australia where to buy obelit ointment valtrex herpes zoster keratitis cymbalta without insurance cheap famvir usa prilosec dosage instructions medazole to buy from europe buy real effexor xr cane you buy diflucan over the counter in in effexor xr drug schedule urispas cost canadian arimidex online australia american rhinocort buy cleocin online without prescriptions where to buy amoxicillin for dogs what is salvent abana drugs fda buy indocin uk moduretic 10 mg ordering revia india can you buy zestril cheap tricor 100 mg buy genuine wellbutrin uk can i get a tattoo while on aspirin renova for purchase without a prescription no prescription furosemide sale order baclofen on line india brand name atorlip 10 online over the counter rumalaya liniment sale naprosyn caverta refills accutane medicine online prescription metformin used lipitor western australia buy cardizem without rx acheter liv 52 renagel buy uk geriforte to buy best place to buy bupropionum online brand levitra not generic can i make atomoxetin how to buy alti doxycycline in london flagyl in usa lotensin drug in fr pharmacy bactrim for guinea pigs apo furosemida mg uk what is aprovel used for how can i get off zoloft evista generic usa cardizem uk online zofran generic online pharmacy reminyl anacin uk next day delivery allegra winston salem buy dostinex online cheap pharmacy buy drugs glucovance cialis tablets 20mg lotensin cheap digoxin coupons dostinex for purchase without a prescription bystolic dosage for anxiety buy grifulvin v online no prescription uk oxybutyninum no prescription needed canadian online pharmacy amoxiline without a prescription from mexico what drug category is brand amoxil cheap kamagra supplier reviews guaranteed what is phentermine called in mexico i want to pay some renova how does accutane work on acne lady era without a prescription from uk side effects of aciphex 20 mg ortho cyclen delivery us pharmacy online neurontin buy retino a cream 0 025 hong kong tri sprintec generic ortho tri cyclen liv 52 canadian pharmacy zyban discount coupon how to order mentat online lasix drug information how much does xalatan eye drops cost malegra dxt shortage 2012 zyban pct buy cipro without script there generic buspar asacol dosage forms where can i get rogaine 5 from buspar online india buy diamox uk acetazolamide generic brand cialis online mastercard doxycycline 500mg side effects singulair discount medications xenical online from uk comprar minomycin original nitrofurantoin prices cvs best place to buy viagra sublingual why is there no viagra for women cost of allegra d 12 hour yagara to buy in australia best place to buy coversyl in india pill fgr 100 purchase zithromax cheap rx 500mg ranitidine discounted cost of lisinopril can you buy digoxin tdi trimix course standards viagra by phone order generic l tryptophan switzerland zovirax no prescription needed canadian online pharmacy order ampicillin bacterial pneumonia zyvox sales buy drugs prescription medicine on flights prescriptions order vermox online alti doxycycline uk no prescription norvasc with out a prescription permethrin cream boots oratane without script is azitromicina a prescription drug fasigyne prices cvs celadrin online in canada average cost of norvasc pharmacy technician jobs in windsor canada cvs pharmacy acivir pills pharmacies canadian online prescription cabgolin online forum noroxin no prescription needed mirapex noprescrition needed usa online pharmacy seroflo mg canadian rx buy viagra super active online without prescription diprosone where to buy in canada worldwide pharmacy plavix viorele generic mircette buy metformin online no prescription united states order erection packs 11 from drugs buy atacand online reviews cephalexin delivery canadian pharmacy lotrel overnight pharmacy cheap buy abilify online brand levitra in the uk buy acticin australia kamagra now contact us discount exelon cheap combivent usa can i buy drugs from canada research grade dulcolax best drugstore mascara allure medrol next day delivery buy cleocin 15mg online order seroflo uk pharmacy sandoz finasteride c ratioph over the counter canada list of pills that can get you high tamsulozin birth control online canada discount femara terramycin spain over counter can order zertalin canada buy xalatan pills online indocin italiano authentic cialis promethazine vc codeine syrup price fasigyne usa generic strattera for sale on line zoloft side effects in women reviews orlistato mexico no prescription benicar daily use reviews where can i order voveran requip from usa pharmacy maximum naproxen dosage cost of femara at walmart can you only get cabaser on prescription thuoc cefixime tablets usp 200 mg rythmol sr cheap us pharmacy erexor online meds alfa flucon order by phone protonix without prescrip when is zyvox going generic where can i get diclofenac online viagra perth ciprofloxacina without a prescription from mexico viagra vancouver craigslist beconase aq tablets pill rx health retino a cream 0,025 products health canada phenergan can abilify be taken alone without an antidepressant buy clonidine 200 online no prescription uk for lamisil retin a gel 0 1 30 day free trial ranitidine without prescription pills evecare shop net cytotec para abortar venezuela roxithromycin 100mg tablet buy viagra professional online pharmacy protonix generic usa geriforte pills online in the uk metoclopramide mail order india diakof with paypal payment 10 day hoodia diet pills review very cheap oxytrol avapro without prescriptions how to buy suprax in canada buy generic zyprexa with bonus what is bactroban mupirocin ointment used for viagra cialis trial pack online emoquette buy india yasmin overnight shipping mupirocin nasal ointment indication how to insert phenergan suppository mircette pas cher trazodone high yahoo homeopathy medicine lower back pain mirapex order by phone superior parietal lobe function lipothin new zealand there generic procardia xl when will cialis go generic side effects of nitrofurantoin in pregnancy mediven betamethasone ointment how long does it take for metformin to start working for pcos where to buy noroxin in canada safely best place to buy doxi 1 in australia medal of honor allied assault uk version benicar cheap mexico pharmacy propecia tablets australia post cycle therapy beconase aq order tetracycline from mexico without prescription propecia cheap mexico pharmacy order ventolin from australia comprar tamsulozin portugal online no prescription uk for misoprost cialis 2 free viagra cheap meds .com can you take norvasc twice daily otomax for dogs buy my forzest coupons pantoprazole vs omeprazole clopidogrel terramycin from europe zentel side effects long term use order mobic online no prescription with a mastercard retin a 0,025 fda approved to buy without prescription types of narcotic pain pills otc generic viagra what is the dosage for nexium buy januvia online from india oracea without a prescription from india antivert 100mg tablet maxalt prescription cost vente de tadalis sx au quebec minocin purchase in canada no prescription generic estrace patch order advair diskus canadian buy v gel without prescription genuine zyvox best price medrol dose pack and alcohol canadian lamisilate get antibiotics without prescriptions zantac drug canadian pharmacy bactrim ds 800 160 and alcohol where to buy cheap generic janumet where to get propecia in south africa flovent to buy in england dog online antibiotics claritin sales 2009 best ed drug for diabetics zertalin prices cvs albuterol sulfate vs clenbuterol ciprofloxacin tinidazole tablets uses hyzaar tabs buying advair diskus fluconazol canada overnight delivery bentyl without prescription canada doxycycline dosage for periodontal disease usa buy zyprexa without prescription side effects of olfen gel50 what is depakote used to treat buy combivent with paypal cheap canadian disulphiram no prescription ivenox prices at costco vasotec from australia cephalexin without prescription medication how to buy renagel online ordering low dose female cialis selegiline hydrochloride side effects viagra soft without a prescription from uk claravis on line no script buy vasotec from india can you get zestril over the counter doxi 1 fast uk is it illegal to order generic ashwagandha zyban tablets 150 mg purchase hydrochlorothiazide in canada best place to buy emoquette in usa kaiser mail order pharmacy northern california buying triamterenum from canada no prescription altace order in the us buy flea medication online canada generic minipress safe discount pharmacy photo jamaica can you buy renagel online over the counter arimidex buy cheap can you get addicted to ventolin side effect of keppra medication accutane 40 mg to 80 mg comprar prilosec en argentina cipro side effects mayo clinic cytotec tablets australia cheapest tamoxifen to buy prednisone for humans benicar hct rx list female cialis refills what types of flunil are there lozol rxlist does robaxin work better than flexeril lotrisone generico buy vantin tablets us bupron sr without a prescription from mexico drugstore.com alli coupon is it illegal to order generic zydis exelon nuclear plants zebeta from usa pharmacy emsam online mexico can you buy chlamydia test boots prinivil zestril lisinopril swiss medical cialis ciprofloksacin mg mexico shallaki sublingual dosage singulair online buy albenda cheap effexor xr vs effexor standard release paypal kamagra uk comprar apo furosemida original en madrid can we trust salvent online side effects of synthroid weight gain what is amitriptyline hydrochloride used to treat lotensin 100mg cheep asacol generic name what does alesse order zyban online no prescription with a amex orlistatum online in us cheap seroflo no prescription cheapest lipitor tablets uk voltaren gel drug information claritin over counter medicine metronidazole prix en pharmacie en france where to buy serpina mg is it illegal to order generic ginseng buy baridium mg online for where do i apo furosemida in australia cymbalta discount coupons costco pharmacy astelin price pharmacy has best price finpecia what is erythromycin used for in dogs cheap anafranil us buy caprysin have no prescription cheap triamterenum is there a shortage of eltroxin buy viagra online india no prescription cost of mail lamisil order colospa online without rx no prescription moduretic sale aprovel drug schedule avapro australia pharmacy celadrin no prescription compare prices ethionamide from canada myambutol dosage instructions donde puedo comprar citalopram yagara drugs online purchases pharmacy buy drugs isoniazid alphagan to buy in australia buy celebrex online without prescription where can i purchase doksazosin lek where to buy valtrex generic atorlip 10 over counter uk is there a shortage of yasmin purchase tamsulozin in us effects of toradol shot prednisone prescription medication marshall protocol benicar dosage femcare tablets 150 mg citalopram without a prescription from australia where purchase zestoretic over the counter drugs similar to ginette 35 safe buy fluticanose online doxycycline shop online chlamydia torsemide uk no prescription what is the dosage range for depakote betnovate no prescription uk pyridium drug in mexico pharmacy buy kamagra uk nizoral 2 cream for acne motrin order canada xeloda kamagra online kaufen webnews evecare mail order india the chepest salvent drugs like reglan buy calcium carbonate next day erection packs 1 limited india zyprexa use in children minocycline without a prescription from uk retin a 0 05 roche precio argentina can i order pyridium no prescription in the usa order prazosin overnight precose where can i buy it thrift rx buy clopidogrelum uk paxil anxiety children there generic seroquel xr shallaki discount no prescription zoloft pills buy delivery cheap alphagan online prescription buy safe to buy generic trazodone from usa buy nizagara online no prescription usa order alli ship ranitidine cost comparison mg citalopram hbr 20 mg weight gain pastillas anticonceptivas yasmin precio mexico buy l thyroxine have no prescription online pharmacy uk mircette where to confido online desyrel with no prescription buy tizanidina singapore viramune medication side effects where to buy clomiphene citrate 10 mg crestor cost where fluoxetine lowest priced allegra serevent on line in the mexico famvir price australia dilantin online in usa cost of entocort generic generic dyazide buy canada half price cabgolin where do i differin in australia ordering claravis on line mobic online pharmacy uk serophene canadian online buy finax mexican pharmacies can i get antibiotics over the counter in spain buy over the counter lantus online ordering cialis professional mexico can you get high off allegra allergy buspar mail order india cardura side effects uk can you order beconase aq canadian drugstore no script zyrtec mg purchase trimox online no prescription retin a 0 05 free shipping zitromax pills online in the usa cheapest liv 52 nexium from usa purchase generic levitra acheter proscar safe to buy generic zanaflex from usa buy generic levitra professional retin a micro coupon buy disulfiramo with paypal buy over the counter liv 52 online zovirax price india diflucan how to take second pill ordercialis by check what type of depression does celexa treat lipitor discounts coupons colchicina noprescrition needed canada online pharmacy phone in order for prednisona alavert tablets from buy dunster house maxifort frontier para que se usa el dramamine tegretol express canada what is plendil mg used to treat purchase brand cialis in canada buy nizoral online with no prescription grifulvin v in the uk order toradol tablets where to fluoxetine tetracycline online without a prescription allegra d no longer prescription metformin on line in the uk lotensin medication side effects sarafem coupons how to apply erythromycin ophthalmic ointment usp 0.5 best price for real shuddha guggulu all types mentat ds syrup pills current price cialis wigraine mexico no prescription dapoxetine to buy can i make kamagra soft advair diskus capsules reductil sibutramine hydrochloride flagyl max dose hoodia slimming pills side effects typical clomid dosage cytoxan buy canada disulfiramo where can i buy it adios slimming tablets reviews zertalin on line in the usa buy arava online from mexico where do i buy lisinopril national socialist movement wikipedia acheter viagra pfizer belgique what types of dapoxetine are there oracea pills buy online best place to buy buspar in uk sildenafil online store can you buy amaryl over the counter in germany ordering acai india aristocort max dose walmart pharmacy appleton wi calumet bactrim dosage for urinary tract infection buy abilify mexican pharmacies what is pravachol pills used for order plendil online with visa ortho tri cyclen us companies only buy indinavir risperdal online in usa birth control pills zithromax remeron online canadian silagra 100mg cheep generic duphalac usa pharmacy orlistat tablets us online benemid prix en pharmacie en france retino a cream 0,05 india companies only buy cefixime pills in the india bentyl from canada with no prescription buy over the counter singulair online prescription medicines a z where to buy salbutamol online without rx glucotrol xl discount buy sertralina online overnight delivery claritin over counter children artane uk next day delivery order amoxiline online no prescription with a echeck flovent tablets for sale pill rx health cialis sublingual products what is citalopram hydrobromide 40mg what is nizagara tablets for levitra without prescription miami best place to buy capoten tulasi pills can you buy zovirax over the counter discount buy colchicine without a subscription levothroid drug canadian pharmacy fincar online overnight shipping purchase lipothin in uk long term side effects of vagifem proventil overnight delivery buy elocon lotion 0.1 desyrel online australia lasix drug nutrient interactions is generic misoprost effective champix dosage canada cipro online company registration flagyl alcohol reaction for how long very cheap anteovin cost of risperdal order propranolol without rx costco hours canada pharmacies online that sell cefadroxil mexican pharmacy no prescription furosemide can you order allegra generic mail order skelaxin online protonix where to get parlodel medication overnight delivery levothyroxin to buy in the canada without a prescription buy buspar for daily use buy generic clomifene online no prescription how to order retin a ge acquisto asacol sicuro online fml forte rx floxin online no prescription lamisil once mentat online eating tips healthy weight management buy flagyl 500mg yasmin birth control spain viagra online canada no prescription 25mg motrin coupon code sibutramine buy no prescription zetia cost per month thyroxin australia price order amaryl medication by mail order atomoxetin from uk without prescription ordering retino a cream 0,025 on line proscar vs. propecia hair buy diovan hct online from canada indian generics online flagyl protonix medication overnight delivery buy zyrtec pills in the uk buy simvastatina mg buy unisom tablets canada what is the generic brand for benicar arava drug information cialis soft tabs online generic tadalafil can you buy brand levitra in ireland 20mg cialis chloromycetin mg no prescription buy evista online no prescription us mexican pharmacy no prescription calan levitra super active next day shipping cheap lipothin sale uk ayurslim reviews for men normal dosage vardenafil are there legitimate online pharmacies best hoodia prices best place to buy dostinex in uk pulmicort mg buy gravidez usando serophene can you drink alcohol with doxycycline mexican frumil reviews on curacne best price for real cialis professional cost of flunil nolvadex mexico frumil uk no prescription canada drugs proscar with prescription cost bactroban walmart where can i buy levitra plus artane on line purchase indocin online usa where to buy cestex without prescription get depakine chrono toronto viagra in canada viagra costco pharmacy order minocycline no rx canadian pharmacy advair diskus buy online mexico comprare viagra on line opinioni zoloft pills online in the canada fucidin h cream for ringworm buy bactroban online with mastercard why does premarin cost so much difference between cialis professional cialis benadryl where to purchase unisom generic mexico brand mentax buy buy fluticanose mexican pharmacies actonel cheapest rate safe place order cipro use aleve coupon online cheap kytril buy online generic lioresal paypal will there generic abilify estrace for sale usa buy seroquel astrailia vytorin delivery london cheap zetia pills europe drugs statistics aciphex pills generic cheap price disulfiramo buy online ireland discount strattera atomoxetine drugstore viagra prescription drug buy heartworm medicine online no prescription best place to buy glucophage in australia suppliers of yaz in us how to by acticin revatio online bestellen viagra professional sale cheapest 100mg best place to buy levothroid without a prescription premarin without prescription pills how to take furosemide mg what is the correct dosage of rumalaya cheapest viramune lasilix canadian medications without prescription nizoral online without prescription generic curacne switzerland zestoretic pill canadian buy frozen acai uk premarin canada overnight delivery minomycin india no prescription warafin tablets online mail order generic apo furosemida levaquin barato trial erection packs 3 delivery ondansetrona brand positioning aciclovir for sale usa tadacip no prescription overnight delivery acyclovir 800 mg shingles canadian online pharmacy for amoxil remote consultaion for avapro kamagra chewable dose pack no prescription online pharmacy mexico oxycontin can you get minocycline over the counter us pharmacy online aristocort most reliable place to buy brahmi online amoxycillin supplier in uk get flagyl toronto disulfiramo mg uk buy generic januvia online with prescription buy kytril 200 zebeta mg price canadian cialis 20mg aygestin tablets buy buy hoodia online us no prescription donde comprar viagra plus can you buy zyrtec over counter comprar antivert portugal buy cialis jelly online from canada elavil india pharmacy paypal how to buy crestor fast menosan deleviery quibron t cheap mexico pharmacy maxalt online purchase how to order risperdal online where to buy isoptin online india tadapox to purchase without a prescription compazine trusted online drug stores in canada effexor xr in croatia proscar in canada glucotrol xl how to buy can i buy carafate buy levitra online with out prescription what is doxycycline for horses online hoodia purchase anteovin fast mexico what is the best over the counter depression medicine vytorin cheapest rate neo medrol order erec sildenafil brand name robaxin online dyazide birth control online india buy premarin mg online rogaine 5 medication where to buy nizoral shampoo walgreens how to order flovent samonas shipping generic revia uk cheap depakote india elocom birth control online canada finasteride proscar propecia hair loss pharmacy direct pty ltd phone in order for tretinoin 0 05 dapoxetine capsules where can i puchase sibustat where do i phenergan in mexico amlodipine besylate 5mg tamyl best place buy meclizine buy zyvox mexican pharmacies vermox 100mg dosage claravis cost 2013 100 mg promethazine mupirocin side effects for dogs etabus over the counter usa purchase tadalis sx on line in mexico do i need a prescription for seasonique prevacid side effects dry mouth sale rocaltrol frumil with no rx is it illegal to buy pain meds online is aleve available in australia voltaren pct buy motilium suspension for infants how much will periactin cost synthroid discounts codes canadian pharmacy antibiotics antivert online overnight shipping salbumol lawsuit canada luvox in singapore buy key pred without a subscription order anteovin uk pharmacy metformin without prescription medication best generic florinef review celebrex shortage coversyl with no subscription buy prednisolone generic ciprofloxacina usa no prescription fluoxetine pharmacies endep 20mg tab dutas order in the us retin a gel 0,1 canada prescription anafranil online pharmacy shipped to canada tinidazole tablets simplotan buy clopidogrelum online thru paypals remedios caseros naturales para la disfuncion erectil billig sinemet online kaufen acheter tadalis sx purchase novo digoxin in canada chloramphenicol 250 mg xeloda canadian pharmacy uk pharmacies online that sell olistat overseas pharmacy registration canada clindamycin gel 1 buy renagel tablets buy cialis australia seroflo online shipping levoxyl generic drug priligy uk companies only what is flonase nasal spray used for doxycycl hyc acne 100mg methotrexate shortage 2013 code red pills flagyl 400mg tablets alcohol purchase lopid 600 mg combivent from uk alesse where to buy in canada prometrium order canada viagra for men available in india zentel tablets from buy betoptic shoppers drug mart bristol myers squibb foundation grant application where to buy metformin no prescription compare prices azurette prednisolone dose child asthma dostinex price in india tetracycline dose for dogs vistaril shortage where could i buy levaquin without prescription purchase flomax in canada where to buy alli from online drugs order emoquette online no prescription with a visa codeine promethazine cough syrup sale buy shuddha guggulu online hydrochlorothiazide to buy in australia doxazosin without prescription medication where do i coumadin in india buy isotretin online canada rabeprazole tablets use mometasona lowest price discount zitromax from canada do i need a prescription for cialis sublingual order asacol on line mexico alavert daily use reviews cialis non branded what are the side effects of abilify pharmacy buy drugs sinequan proventil from overseas pharmacy no prescription zoloft buy prednisone online in the united states without a prescription where to buy metformin in canada list of antibiotics in canada aloprim lawsuit canada where to buy minipress with visa morning after pill effectiveness after 36 hours ciprofloxacino pensa 250 minocycline acne nhs diovan in italia buy kelnor with paypal best online pharmacy generic cialis jelly purchase caffeine ergotamine in usa where to buy cheap generic minipress viagra side effects viagra vs cialis what drug category is revia where to get cialis sublingual where can i buy bactroban nasal ointment where to get brand levitra cialis viagra or levitra canadian does abra 100 work meclizine price india order cleocin online uk online no prescription uk for dilantin reviews on diclofenac can you buy venlafaxina in ireland buy minocin tablets online why cant i buy alli pills resources for albenza how much will rogaine 5 cost list of tesco stores selling seroquel order actonel on line mexico lasuna paypal order clomifene online no prescription with a echeck buy aricept online amazon buy elimite online overnight delivery bula viagra 50mg pfizer diclofenac tablets 50 mg side effects buy viagra australia no prescription where can i purchase nizoral compare prices protonix find vipps certified pharmacy minipress canada online no prescription ampicilina australia companies only florinef 40 mg dose can buy zocor online zoloft usa cvs prices caffe al ginseng dove comprarlo best natural antibiotics trial erection packs 2 perth australia purchase minocycline on line in the uk voveran sr no prescription needed dogs innopran xl shoppers drug mart retino a cream 0 025 lawsuit nizoral shampoo side effects testosterone eltroxin drug in mexico pharmacy apo furosemida buy mexico can order aceon canada safe buy zertalin online what is a low dose of prednisone for cats combivent prix en pharmacie en france lopid online from india vytorin online canadian atomoxetin online australia viagra oral jelly wiki prevacid tablets for purchase purchasing yagara online uk side effects of zyloprim childrens motrin dose infant amlodipinbesilat supplier in uk aripiprazola pills online in the usa zydis legal in england inderal tablets 40 mg frumil mg canadian rx can we trust rumalaya forte online generic motrin cost buy seroflo tablets online generic form zoloft side effects lloyds pharmacy tens machine review celebrex dosage information how to buy trial erection packs 3 order biaxin medication by mail generic names for erectile dysfunction drugs canadian online pharmacy for glucotrol xl tenormin to buy in the uk without a prescription i want to pay some erection packs 2 buy elocom in india online order serophene pills is it illegal to order generic novo digoxin order tadacip 20 mg generic bupropionum uk paypal what is the difference between estrace and premarin cream zentel tablets take estrofem prices at costco insulin tolerance test diabetes tadapox canada sale how many mg of aspirin to take liposafe noprescrition needed canada online pharmacy purchase coumadin online no prescription lasix 40 mg medicine endep 100 furosemide 40 mg dosage for dogs cheapest buy altace online drug best online canadian pharmacy oristal buy canada generic aleve canada amitriptyline usa sale buy vagifem online without prescription what is ranitidine medication for how to take protonix twice a day how to buy trazodone in canada fluss 40 buy uk medication similar to detrol la flomax generic availability cialis professional tablets us online zovirax user reviews south manchester healthy living network donde comprar tamoxifeno en mexico can we trust cefixime online where do i roaccutan in mexico is nimotop available over the counter code red 7 radio commercial buy finpecia in uk generic indocin canada erexor daily use reviews claritin mg tablet buy acai without a script vasotec canadian pharmacy prescription pain pills without acetaminophen order tadalafil 20mg what does zocor do for the body ortho cyclen over the counter uk canadian pharmacy 24h.com coupon lowest price for bupropion what is exelon used for betnovate online from india what is mentat for buy aciphex pills in the uk adalat newspaper pakistan fast finast delivery aciclovir tablets uk buy cheap lotensin using pay pal best pharmacy to order indocin comprar plavix portugal lopid 40 mg dose best place to buy mentax in canada paroxetine prescription only paxil rythmol sr fast india best pharmacy to order hyzaar seroquel mg uk raciper noprescrition needed canada online pharmacy med cab cialis motilium spain over counter mail order zofran online forest pharmaceuticals bystolic coupons what kind of medication is zoloft buy minocin hong kong to buy astelin in uk arava prescription coupon free coupon for buspar buy seroquel online with no prescription current uk law on drugs buy colchicine 80 mg online colospa canada pharmacy buy phenamax boots order dyazide tablets order ephedraxin on line mexico list of tesco stores selling salbutamol buy beta val online with out prescription buy avalide 40 top 10 online glucovance sites elimite rxlist cardura generic reviews how do you test for chlamydia in your mouth veterinary drugs online uk aspirin zero order elimination current price of live crawfish etodolac discount cheap provera 5mg online accutane interactions other drugs differin mg usa where to buy periactin mg where to buy quetiapinum in canada safely comprar neurontin online dramamine pregnancy drug class order danazol online canada allopurinol during gout flare max daily dose of bactrim buy isotretin pills in the canada olanzapine overdose side effects order aristocort on line india ordering movalis uk buy aspirin online ireland order tadapox online uk deltasone pills online in the australia combivent from canadian pharmacy valtrex tablets purchase on line viagra soft tabs 100mg pills buy generic aviane 28 online no prescription purchase lasix on line in the uk cialis sublingual buy no prescription shallaki no prescription needed canadian online pharmacy can you only get triamterene on prescription diovan 160 mg shortage can you order atarax generic buy torsemide tablets acai online overnight safe mobic no precription best over the counter weight loss pills 2013 nizagara non perscription countries ordering methotrexate canada purchase fucidin in canada provera online in canada ordering retino a cream 0,025 mexico como comprar chloroquine online pharmacy orlistato propecia reviews 2012 methotrexate drug class atarax without a prescription from uk nizoral by mail orlistar drug in canada pharmacy nexium sale uk canadian pharmacy pamelor craigslist usa cars michigan erection packs 2 online purchase amaryllis flower abilify drug card levlen with no rx half price cystone yagara online price amoxicillin no prescription canada what is clomid uk medicine abana himalaya generic pills for pravachol tadapox no prescription needed dogs cheap apo clopidogrel no prescription avalide 100mg cheap roxithromycin why not in usa tretinoin drug in germany pharmacy where to buy cheap generic effexor xr buy entocort 80 mg online aristocort ordering online pharmacy betnovate shopping where can i buy motrin mg best online pharmacy pain meds fosamax without script order olanzapine medication by mail where to buy cheap generic riperdal fincar without prescription pills evecare for men sale in uk safe to buy generic diprosone from canada erythromycin pregnancy first trimester vagifem without prescription medication cafergot generico online buy levaquin hong kong where to purchase allopurinol air max 1 leopard pack pre order buying otomax using paypal buy extendaquin online from india non prescription keflex floxin for men in usa apo furosemida on line no script topamax tablets from buy order medication online safe donde puedo comprar living dead dolls best price for real aciphex aslene diet pill tadacip 5mg tablets zolpidem dosage for dogs comprar zestril pela internet hytrin 40 mg pharmacy ordering trial erection packs 2 india femcare shoppers drug mart acai berry reviews uk 1 cheap aciclovir tablets online metronidazol online order cipro dosage for travelers diarrhea nitrofurantoin mg india seroquel delivery london pharmacy inline with no percription buy malegra dxt online overnight delivery vente de brand cialis au quebec where to buy tenormin ointment get pain meds cheap aricept medication information what does amaryl treat buy chloromycetin online cheap is it legal to buy viagra in australia generic nymphomax in usa allopurinol without a prescription from us prozac withdrawal metformin without a prescription canada generic levitra safety viagra jelly drugstore com pricing metrogel without prescription indomethacin 50 mg suppository duprost generic wikipedia drugs citalopram overnight zoloft dosage 10 mg unisom tablets 40mg erexor next day brand cialis order in the us hyzaar 100 25 hypertension mexican pharmacy no prescription elocon zyrtec online australia uses and side effects of anafranil can you buy zovirax over the counter in the uk prescription best place to buy trial erection packs 3 without a prescription buy ovral l online cheap diclofenac gel mg no prescription trazodone price walgreens buspar 40 mg cost of viagra sublingual without insurance order estradiol valerate online without rx paroxetine hcl generic paxil viagra coupon printable pharmacy has best price claritin buy viagra online cheapest quetiapinum to purchase without a prescription acquisto minipress sicuro online tofranil refills singulair generico discount janumet from canada buy kamagra in ireland buy trazodone 200 no prescription lopressor retin a gel 0,1 order where to get lamisil brand cialis buy no prescription levitra sale no prescription drugstore makeup online uk where to buy baby motrin mycelex g generic equivalent skelaxan no prescription non prescription aripiprazola is pradaxa better than coumadin doxycycline buy on line alli price india where to buy glucotrol xl with mastercard get rumalaya liniment toronto differin price in singapore where can i get phexin pills get anafranil las vegas is there a shortage of abilify azitromicina buy usa buy zestril pills in the australia where can i buy vistaril mg can i make flunil can you get cialis super active mevacor overnight pharmacy sale propranolol treatment of dilantin toxicity best place buy crestor pct injectable methotrexate cost can you buy zentel over the counter in germany order fluoxetina from australia without prescription side effects of ceftin what does sinequan do zetia online mexico indian generics online levothyroxin c ratioph cheap us pharmacy can order metocarbamol canada what is alli simpson middle name montelukast sodium 10mg cost of bupropion at walmart buy amlodipin tablets usa mexico diclofenac care pharmacy does exelon patch help dementia best canadian drugstore makeup cephalexin dosage for uti in women clopidogrelum medicine online buyers of thyrohormone canada buy clomifene boots brand advair diskus generic name prescription pills abana online prednisone over the counter walmart caffeine ergotamine no script pharmaceutical companies uk based buy keppra online safely buy synthroid online from mexico ginseng online canadian what does phenergan suppositories do rectal plendil buy without is there a shortage of levothroid mexican pharmacy no prescription clonidine aleve drug in germany pharmacy buy dramamine online overnight cheap aleve india flucazole birth control online canada apo clopidogrel pills online in the india fast elocom deleviery protonix medication information cost of seroquel 25mg ordering motilium canada buy american ginseng toronto can you get elocom diamox dose altitude sickness is minocycline a prescription drug what does astelin side effects nasal spray atacand fda approved to buy without prescription purchase sumycin on line in canada what works better than zoloft purchase dutasterid online no prescription feldene mg uk viagra super active without insurance clomid comprar eurax australia purchasing esperal online generic prilosec target order lady era online with visa how to use differin lotion how long after taking viagra is it most effective ajanta pharma kamagra review lady era generic mexico buying motilium for dogs atarax without prescrip prednisone medication where to buy online acai overnight delivery diamox next day existe generico do pariet common side effects of fluoxetine lov cost antivert atrovent mail order india can you only get inderal on prescription acquisto viagra paypal list of tesco stores selling celebrex can you get metronidazole gel over the counter epivir hbv drug schedule buy flovent pills in the india i pill lasilix website buy yasmin tablets us german remedies limited website buy cheap avodart without serpina pill forum buy misoprost online with no prescription comprar apcalis sx en argentina pill rx health norvasc products is singulair otc in canada dilantin online canadian zofran order in the us xenical recommended dosage where can you buy liv 52 clomid reviews bodybuilding paroxetine buy uk order lipotrexate pill cefixime tablets usp 400 mg aldactone medication classification revatio prescriptions subsea 7 vigra norway quinine sulphate tablets 300mg cheapest accuran tablets uk innopran xl prices usa cheap flea meds for dogs isoniazid without prescription miami purchase plavix in australia thyrohormone cheap india pharmacy is femara better than clomid for pcos retin a 0 05 cheap uk betnovate without prescrip cialis daily use price drugs buy trandate with a mastercard purchase generic sominex over the counter azurette sominex canada drug store levlen side effects breasts order ovral l online no prescription with a echeck to buy terramycin in uk buy kamagra next day delivery sildenafil citrate how to order propranolol online when does actos go generic in us coversyl plus side effects forum l tryptophan for sale uk can you buy viagra jelly in ireland pharmacy 50mg can you get viagra soft over the counter billig tricor online kaufen buy desyrel online overnight zentel canada prescription american starlix toprol dosage instructions diclofenac no prescription overnight delivery buy fucidin online overnight imitrex generic cost can i buy caprysin in canada canadian pharmacy glyset buy silagra 15mg online liv info new zealand sliding scale insulin pump order zolpidem online amantadine buy online australia bupropionum order in the us can u buy viagra in boots metformin over counter canada apo clopidogrel buy australia side effects of malaria tablets doxycycline what is serevent mg used to treat bulk herbal suppliers possession of prescription drugs indiana the drugstore coupon code how to take dostinex to stop lactation amitriptyline without prescription medication lipitor on line purchase moduretic shoppers drug mart use arava coupon online can i order alesse no prescription in the usa buy lexapro with paypal para que se usa micardis plus ordering erection packs 2 metronidazole dosage for gum infection to buy azulfidine in uk beta val order in the us lanoxin pills online in the australia cipro for sale australia liquid cialis dose rhinocort nasal spray pregnancy can i use generic benadryl for my dog can you buy avalide prescription unisom somalia buy feldene online without prescription canada drugs discount code purchase amlodipinbesilat on line in the uk over the counter medicine diamox how to use terramycin for dogs goodrx crunchbase buy mifepristone misoprostol online uk venlor pill shop discount code buy aricept online discount what does the drug clomid do to help infertility risperdal mg india what is the medication suprax for alli price comparison canadian pharmaceutical companies list order tamsulozin online no prescription with a mastercard prevacid uk buy can you get geriforte american prednisolona buy chloromycetin where to buy cheap generic atorlip 20 low dose prednisone in dogs best drugstore makeup products fall 2012 depakine chrono drug in uk pharmacy buy prandin tablets online costco pharmacy clonidine price decadron iv dose nausea vagifem without a prescription from canada medrol in the uk now proscar online in canada diflucan pharmacy mail order panax red ginseng reviews can you get high off lisinopril 20 mg
Home Blog

Migrating websites from dedicated cpanel servers to Rackspace Cloud

General

Written by WinWorld Wednesday, 21 March 2012 19:56

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.

   

Using Eggdrop App as a virtual yard sale

General

Written by WinWorld Tuesday, 20 September 2011 14:17

eggdropI've sold my stuff on a number of yard sales throughout my life as I'm sure many have. One thing I never liked was all the effort involved. It don't like how you have to pick everything up and take it outside and potentially tag it. Then if it doesn't sell, you bring it back inside or take it to the thrift shop or dump. Or worse yet, if it rains you run around like crazy with tarps, etc. All this to make a couple hundred bucks (depending on what you're selling).

If you don't want to have a yard sale, there's always eBay. To me, eBay only seems to be for certain things. If you have something unique, valuable and shippable, then eBay is the way to go. A custom guitar for example. If it's a keyboard and mouse combo for $2.50 then eBay is not the way to go since there are 1000s of other sellers and you won't sell your item. The alternative is craigslist. You get to deal locally. To their credit, craigslist has kept things simple. You put in a title, price, description, place and pictures. To me this still seems a little harder than it needs to be. You've got to verify who you are and there are all these rules for posting stuff. A drawback of craigslist is that it seems you only have network marketers and dating services on there any more. They have not evolved.

Here's what I want...

I want a mobile app where all I have to do is take a picture of what I'm selling. That is litterally it. One step. If I want to title and price it, fine, its easy enough to do that quickly. Mobile phones have camera's built in so it just seems like the most logical decision to use them to make it easier to sell stuff. Recently the app "Eggdrop" came out. It seems to be pretty close to what I want. This article is a review of the app plus some things that I did to extend it's functionality into what I wanted.

   

Creating branching logic in multi-page RS Form Pro

Joomla

Written by WinWorld Friday, 26 August 2011 15:35

RS Forms is a great component. Its got all the hooks in the admin to be able to add any kind of advanced dynamic functionality that you want. A recent version of RS Form introduced the concept of 'pagination' or - breaking your form onto seperate pages. This can be a handy feature if you feel that your form is too ominous in it's entireity.

What we wanted to do however was build special logic into the sequencing of the pages. So based on how the user answers a question in RS Form, we direct them to the next question we want them to see. In the form builder world, this is sometimes refered to as branching logic. Understandably, the makers of RS Forms have not added this feature because it's possibly hard to administer. However by adding some jquery to the form, we can add the functionality we need.

Here's how you do it...

   

Processing Credit Card Payments with RS Form Pro

Joomla

Written by WinWorld Friday, 26 August 2011 14:20

RS Forms is a great component. It lets you build forms on your website by adding the fields you want. There are a number of default layouts for the form but what I like is that you can do your own layout for the form by moving {tags} around in HTML and putting the fields where you want them. you can also add attributes to fields for JavaScript actions and CSS styling. This is the first of two new tutorials I'm doing for RS Form. I have done  previous tutorials that you can find here. .

How to setup RS Forms Pro for Authorize.net payments

1. SSL in place

The first thing you have to do is get yourself an SSL certificate and make sure that is configured. Then you have to make sure that when you send people to the form, that the link is HTTPS. It is possible to PHP code in the form to sense this and automatically redirect but we have not bothered with this.

   

How to compare us to other web firms: what's not included

General

Written by WinWorld Tuesday, 16 August 2011 14:22

focusWhen shopping for a new web provider, it can be difficult to compare apples to apples. There are so many variables. One of the main points of comparison is price. With web development however there could be so many things included or not included.

Take house building for example, will the builder also landscape your yard? Will they also furnish and decorate the new house?

With websites, there are services that some firms throw into the package deal that we feel should be priced seperately (analogous to the house example in landscapers and interior decorators).

   

Page 1 of 9

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