where to buy mentax drugs online brand viagra side effects uk cheap cialis online canadian pharmacy viagra cleocin from canada with no prescription buy viagra professional xr without prescription paroxetine and alcohol purchase aviane 28 in canada where to buy eltroxin without a prescription proventil side effects long term voltaren medication pain paroxetine tablets prednisolone without insurance gasex pas cher beta val roche precio argentina compare prices avodart ordering ciprofloksacin mexico percocet women buy get tretinoin 0 05 las vegas how to get obelit in australia pfizer diflucan partnership buy nizoral next day lidocaine mechanism of action ppt reglan mexico pharmacy buy isoniazid boots pharmacy prednisone in dogs treatment amaryl drugs oral side effects prevacid pharmacy mail order buy misoprost pills in the us remeron online pharmacy shipped to canada cefixime cost in canada imdur pills shop canadian pharmacy selling prevacid propecia from canada where thebest place to apply testerone gel? buy albuterol online safely drugs similar to albuterol trandate order by phone generic colchicine fda benadryl for dogs side effects diarrhea generic name for dipyridamole anafranil otc europe side effects doxycycline hyclate 100mg acne vardenafilum online pharmacies with out prescription purchase revia online speman shortage 2012 best place to buy sominex online albenza no prescription compare prices what enzyme does allopurinol inhibit atacand prices at costco pravachol spain cheapest glucotrol xl tablets uk where do i renova in canada celapram buy without olistat daily use reviews ranitidine over counter the online drugstore actos suhagra shopping what is skelaxin prescribed for how long does 100mg seroquel stay in your system viagra from canada cheap does luvox have a generic dutasterid uk brand name where do i risperdal in uk lopid patient reviews trial erection packs 2 without a prescription from uk pioglitazone and metformin side effects fucidin generic uk walgreens do doxycycline side effects ampicilina mg buy albenza tapeworm dosage doxycycline hyclate for dogs uses what is ciprofloxacina made of buy zyprexa online from mexico generic cialis 20mg uk genuine pariet 100mg amlodipinbesilat pills sweat where hydrochlorothiazide pure hyaluronic acid price mexican pharmacy.com review is there a generic for cozaar retino a cream 0,05 for purchase without a prescription birth control pills tetracycline generic confido no prescription retino a cream 0,025 usa no prescription buy prednisone in singapore hydroxycut 100 pure premium hoodia reviews generic youth online store how to order bactrim online order depakine chrono uk pharmacy zestril discontinued where to buy rumalaya mexico online abana purchase emsam cheap viagra professional 100 review order roxithromycin overnight buy online trial erection packs 3 generic plavix over the counter uk trusted rx city hytrin with american express purchase zestril online online avapro india buy eltroxin online safely cialis jelly generic uk erection packs 11 drugs viagra water supplies buy albendazole with a mastercard can you buy voltaren over the counter generic uk paypal eltroxin online generic levitra professional nizoral shampoo 2 amazon reviews on nolvadex propranolol medication side effects elimite generic equivalent cialis online pharmacy prescription levaquin drug canadian pharmacy fertomid 20mg tab venlor order online malaseb wipes pets health express online pharmacy aceon canada prescription side effects of mobic 7.5 mg where to buy tizanidina with amex generic tretinoin switzerland buy vasotec without a prescription from canadian pharmacy capoten western australia online prescription drugs without rx cheapest living expenses in europe order levitra plus uk pharmacy fluticanose coupon code para que se usa el lasix lopressor where can i buy it raciper medicine children generic claravis for sale on line best place to buy metformin without a prescription order alli tablets purchase hytrin on line in usa apo salvent cfc free side effects what does a neurontin pill look like over the counter medicine riperdal revia online pharmacies with out prescription quiero comprar albendazole viagra jelly order online janumet india pharmacy citalopram hbr 20 mg side effects is it legal to buy nolvadex in australia where can i get tizanidinum order bactroban online where to get keftab phexin online uk venlafaxina uk no prescription bupropion er 150 mg tablets dr. rudolf zentel amantadine paypal what is flagyl used for in kittens suppliers of medazole in us what is duetact mg used to treat buy diarex capsules target allegra coupons side effects of plavix mayo clinic overseas pharmacy no prescription zofran best site to buy meloxicam enolat microzide lowest price online omifin para embarazo multiple cialis online bestellen tipps order diclofenac rx tadalis birth control online us buy over the counter keftab online how to order depakine chrono what is the generic name for erythromycin lidocaine spray for tattoos how often to use advair diskus order nitroglycerin 0.3 mg where to buy keftab with mastercard olanzapine online from usa levitra super active free shipping buy brand viagra capsules what types of arzomicin are there can i order prometrium no prescription in the usa cheap ovral l pills where can i get cytotec over the counter aceon discontinued how to order estrace online buy biaxin xr without prescription cost of mail mevacor non prescription proventil rhinathiol 2 dosage ponstel limited india buy brand obelit tetracycline for sale philippines does clomid work in women over 40 zofran usa sale seroquel prescription savings where can i get cafergot from www.online canadameds.com can you prescription required buy singulair online can you buy kamagra oral jelly in ireland generic hyaluronic acid uk paypal buy clomid online canada no prescription online generic dilantin side effects of brahmi vati order lotrisone without prescription how long did it take for propecia to work amlodipin shelf life diclofenac tablets used for what mevacor supplier in uk where can you get ginseng buy aricept online without can order venlafaxina canada buy albendazole 100 buy generic diovan with bonus cost of lamisil where to buy dapoxetine online canada purchase zitromax lowest price mail order generic viagra plendil visa india pharmacies online that sell celadrin safe to buy generic clomifene from usa diprolene drug canadian pharmacy long time side effects protonix order avalide online no presctiption is celapram a prescription drug canadian adalat cc cheapest cilas malafaia get ceftin las vegas baby aspirin australia qsymia online purchase buy periactin cheap anafranil for ocd in children generic from cialis jelly ceftin australia price cytotec birth control online canada order lamisil from erythromycin from canadian pharmacy midamor purchase in canada no prescription what is clomifene for bupron sr order canada prescriptions tablets generic ceftin order novo digoxin online no prescription with a mastercard endep 5mg tablets clozaril generic usa sale actos florinef overnight order revia overnight generic uk paypal baclofen cheap clomid us cabergoline pregnancy rates i pill blopress website antibiotics in pregnancy for chest infection mail order cipro online unisom reviews for men trental noprescrition needed uk online pharmacy can i get an inhaler over the counter uk retino a cream 0 025 online ordering glucophage noprescrition needed uk online pharmacy janumet to buy in the canada without a prescription exelon overnight delivery my isotretin coupons pravachol best online non prescription pharmacy valaciclovir canadian medications without prescription what is metformin medicine is mail order finax safe discount diovan from usa bentyl uses anxiety suppliers of kelnor in us can you buy adalat online retin a prescription coupon chlamydia treatment 4 tablets no prescription requip aleve online with out prescription order mircette online uk ginette 35 prices where can i get frumil pills canadian pharmacy sustiva thyrox to buy in the canada without a prescription provera 10 mg tablet why has colospa been discontinued zyvox lowest price can you buy diflucan over the counter in ireland discount fluss 40 where to get name of medicine for abortion in india topamax 25 mg 60 film tablet ortho tri cyclen reviews rogaine 5 to buy buy cleocin online mexico no prescription luvox canadian online overnight pharmacy what does apo paroxetine do aldactone delivery generic can i buy propranolol online order acivir pills medication by mail purchase avalide on line in india buy carbozyne online buy doksazosin lek singapore buy sominex pills in the india order tenormin online no prescription with a echeck avapro fast usa aprovel india zyrtec breastfeeding supply buy vytorin online from mexico caffeine ergotamine mg no prescription phenamax from mexico cheapest prednisona tablets uk atorlip 10 no prescription cozaar without a script original levitra plus online wellbutrin sr medication online comprar levaquin pela internet cipralex drug in germany pharmacy buy digoxin pills in the india buy online prevacid generic ashwagandha no prescription canada what is clincin biaxin and cold medicine non persciption digoxin furacin express shipping shuddha guggulu where can i purchase clomid in the u.k generic from detrol amlodipinbesilat with paypal payment wellbutrin dosage too high order flomax from usa without prescription where to buy online for cheap generic clomid safe place order zebeta cefixime dosage in typhoid are injectables better than clomid orlistatum drug in mexico pharmacy viagra cialis sample free usa azithromycin 250mg dosage for adults cialis sale australia pill shop buying wellbutrin for dogs drugs similar to vpxl coumadin toxicity guidelines diabetes tablets metformin side effects synthroid medicine with buy torsemide with e check bupropion sr weight loss where to buy esperal online usa no prescription suprax generic plan b cost lamisil without a prescription from australia stopping depo provera symptoms colchicine medicine children cealis purchase metronidazol on line in india purchase erection packs 1 in uk zithromax shipping overseas best place to buy generic viagra brand cialis generic how to buy cialis soft online mevacor birth control online uk nizoral on line in the india free coupon for adalat tindamax online pharmacy uk medicine called bentyl hydrochlorothiazide uses medication what drug category is pyridium buy cheap effexor xr online generic prozac safe online no prescription uk for tretinoin 0,05 feldene medication where to buy unisom mg canadian rx actos spc buy periactin hong kong without antiallergic what does lamisil do cost of levothyroid without insurance side effects of chlamydia pills buy silagra tablets australia to buy wigraine yagara online canadian propecia uses medication pharmacies amoxil mg tegretol over counter uk buy anafranil with no script rumalaya forte paypal nitroglycerin medication heart pharmacy that sells lasix what does furosemide mean buy renova online mexico no prescription order roaccutane per pill cheap zoloft no rx what is ciprofloksacin used for online generic lady era anafranil ships from india order trazodone online canada where hydrea where to buy chloramphenicol ointment billig arimidex online kaufen order snovitra super power tablets stromectol delivery uk coversyl lowest price online professional no prescription discounts buy levitra buy periactin next day ovral l online no prescription comprar astelin original buy online alti doxycycline generic what does promethazine 25 mg do canada and etodolac order augmentin pills como usar aciclovir crema aprovel order by phone purchase yagara on line in usa the online drugstore beconase aq best place to buy zyloprim in australia online pharmacy uk diflucan levlen weight gain can you buy clomid online overseas pharmacy no prescription diarex cheapest calan to buy buy remeron online from uk simvastatina to purchase without a prescription buy plendil greece what is estrace tablets is it illegal to order generic biaxin erythromycin gel buy online best etabus prices proscar pricing canada pharmacies online that sell biaxin viagra plus from usa where to buy prednisona online without rx alli perth australia buy florinef greece discount amantadine mg is antivert otc lozol online overnight albendazole for purchase without a prescription generic claritin d 24 aspirin max dose daily i pill lioresal website sominex by mail 24 hours xenical discontinued micronase cost comparison levothroid india sale buy frusemide online canada tenormin canada pharmacy trazodone for men sale in uk order lantus online uk sony xperia s tablet buy cephalexin 10 best place to order trental in us buy cleocin online without a prescription release of generic lipitor is delayed how to get medrol on line order revia online no prescription with a amex pharmacie de garde bruxelles ixelles buy viagra sublingual online australia no prescription buy haldol online australia no prescription cipro canada head office my synthroid dosage too high toradol australia price my dutas coupons albendazole buy online india meclizine cheap buy cheap synthroid no prescription citalopram dosage anxiety depression order lotrisone online no prescription with a echeck buy depakine chrono online india levitra plus buy no prescription brand viagra non perscription countries tadalis weight gain walmart pharmacy cost cymbalta doksazosin lek on line in the usa how to buy paroxetine in canada purchase citalopram lowest price bupron online canadian cheap tadacip usa benadryl prescription coupon can you buy orlistatum over the counter in germany cephalexin medication antibiotic purchase acnetane online no prescription trandate refills albenza pct buy levitra plus supplier in uk buy retino a cream 0,025 capsules order sildenafil citrate from canada without prescription suhagra tablets us online zoloft reviews for panic disorder purchase zebeta in us how to buy erexin v in canada ordering prednisona uk can you buy mestinon in ireland joe walsh oregon state fair best prescription pills get high off cleocin rx genuine hytrin best price dutas daily use reviews fastest omnicef uk delivery quiero comprar zithromax order cialis jelly uk pharmacy top 10 online venlor sites buying requip using paypal cheapest glucofage tablets uk order depakote from uk without prescription midamor shelf life liquid premarin review what is phenamax for nombre generico del viagra ecuador what is prinivil taken for buy zantac online uk no prescription albuterol without insurance yaz birth control from canada where can i puchase benemid glyset to buy from europe buy female cialis with a mastercard calan drug in germany pharmacy buy antivert online from usa buying elocon from canada no prescription comprar demadex original calcium carbonate limited india buy mirapex online india no prescription buy hydrocodone online mexico luvox online without rx c ratioph from canada with no prescription does levitra make you bigger hydrochlorothiazide coupon code lopid drugstore.com what does propranolol do to the heart mupirocin nasal mrsa actos medication pioglitazone best price yagara compra levitra generico contra rembolso can we trust bactrim online zithromax cheap net liv contract of sale levothroid spain tulasi movie online megavideo where can i get some mircette where to buy calcium carbonate for pools now foods acai review terramycin ophthalmic ointment for cats dosage how to buy himcolin in london cymbalta mais barato pharmacy has best price diclofenac gel tape worm tabs praziquantel dosage raiz de ginseng comprar how much is lozol tablets fucidin impetigo buy avodart bulk how long does it take prilosec to get out of your system what is the side effect of xalatan cheapest wellbutrin xl kamagra now co uk eriacta tablets buy brand viagra online with mastercard sex tablets for men morning after pill boots sominex lowest price diovan prices canada carafate medication information use etabus coupon online side effects of proscar 5 mg stediril order by phone cialis professional us companies only is there a generic form of ortho tri cyclen lo current price anacin synthroid online canada buy tomtom go live 1005 world order bactrim generic purinethol switzerland where to buy raloxifeno with visa arthritis treatment uk ajanta pharma share price female viagra without subscription evecare tablets uk discover scotland brave when did lipitor go generic in canada torsemide 20 mg online buy mometasona online amazon buy keflex pills in the australia medrol dose pack generic purchasing xbox live gold online doxi 1 online no prescription order topamax on line uk bentyl online store olanzapine without prescription medication buy aprovel with no script vermox over the counter australia what is depakine chrono pills used for what is the generic name of the drug augmentin what does phenergan do cialis sales 2008 zanaflex generic cost diprolene mg buy ranitidine with out a prescription yasmin without a prescription glycomet max dose cialis soft medication online ciprofloxacina birth control online australia alesse on line in the uk can i buy prescription drugs in mexico where can i get some propecia coming off prozac 20mg buy prednisolone hong kong buy levothyroxine non prescription procardia delivery uk biaxin drugs interactions where can i get starlix pills cheap albuterol inhalers no prescription buy arzomicin boots pharmacy medrol shop net buy paroxetine paypal accepted generic plavix overnite shipping fluoxetina fast uk buy paxil singapore orlistat 120mg does work nootropil birth control online mexico where do i frumil in india depakine chrono fast india cheap tadalis free delivery detrol cheap us pharmacy cheap deltasone 40 mg desyrel india cabaser over the counter drugs buy caffeine ergotamine perth australia imitrex on line purchase is generic zydis effective viagra discount card emsam to purchase without a prescription avapro generic for buy suprax online duphalac canada cheap canadian brand cialis no prescription order generic venlafaxina purchase feldene on line in mexico order avalide 300 25mg salbutamol uk pharmacy haridra online bestellen is viagra available over the counter in spain imuran perth australia alli buy india generic etodolac india plavix 75 mg online kaufen betnovate c medicine discount propecia of canada best place to buy augmentin in india when cialis and viagra dont work mycelex g dosage too high aspirin over counter tulasi online shipping where to buy fluticanose with visa how long does differin take to work pastillas alli precio en mexico purchase disulfiramum in uk canadian caffeine ergotamine proscar from europe can order ephedraxin canada generic flonase cost target donde comprar serophene best place to buy claravis in usa piracetam where to buy cheap generic celadrin buy lamisil online diflucan glucotrol xl trusted online drug stores in canada order minipress pill food that works like viagra low cost rogaine 2 klipal codeine australia pharmacy generic mobic cost aprovel to buy in the canada without a prescription isotretin without prescription medication thyroxine for sale finpecia tablets review cialis super active for sale uk serevent canada companies only premarin online bestellen buy tegretol canada what does cipro hc do viagra plus medication buy procardia tablets buy kamagra paypal uk cialis kamagra uk co promotion what is meloxicam enolat used for can order propranolol online moduretic pills online in the india toprol no prescription needed what is terramycin used for safe drugs for depression and anxiety unisom non perscription countries valacyclovir 1000 mg tablets pharmacy 365 limited over the counter medicine that acts as micardis zantac discount voucher snovitra super power pharmacy buy coreg online from usa what is dutasteride uk buy norvasc without prescription brand viagra by mail order zoloft purchase in canada no prescription flunil supplier in uk chloromycetin with no rx arzomicin canada drug store cordarone roche precio argentina abilify australia price tinidazole longer duration of action where to buy hoodia gordonii in stores asian ginseng extract 100 mg maximum meclizine dose safe to buy generic moduretic from uk buy minocycline generic yagara express canada hoodia pills australia snovitra super power overseas clozaril uk sale where to buy actoplus met online without rx ginette 35 online canada acai optimum in the uk low price estro uk how much does depo medrol injection cost antabuse maximum dosage pharmacy that sells albenza mirapex dosage recommended haldol mg india amantadine overdose house wigraine to buy in the canada without a prescription canadian cialis cost best place to buy salbutamol in canada prednisone uses and sinus infection paroxetine online cheap cheap roxithromycin free delivery haldol antipsychotic medicine buy ciplactin weight gain voveran sr buy without lamictal pills online in the usa zanaflex india muscle spasms order rogaine 2 online no presctiption cipla generic levitra discount relafen phenergan dosage instructions elavil generic usa acquisto wellbutrin sr sicuro online harga salep bactroban can you buy diflucan over the counter in in prescription aceon through perindopril tricor malaysia service sdn bhd buy tegretol australia what are the side effects of stopping coumadin extendaquin legal us to buy advair diskus in uk esperal over the counter ortho tri cyclen generic price no prescription canada buy lasix frusemide pharmacy mail order sarafem delivery london amoxycillin for dogs buy viagra prescription australia drug store keflex from india buy levitra plus canada mentat without a prescription from canada apcalis sx 20mg tab topamax 2011 sales online pharmacy uk levothyroid canada and atacand name brand viagra sale prescription buying ginette 35 order cephalexin online no prescription with a amex 10 cent viagra buy online trial erection packs 1 where can i buy order allegra lowest price purchase viagra super active in us benadryl dose for dogs chart indinavir discount voucher ordering cialis professional tadalafil canadian pharmacy metoclopramide online pharmacy shipped to canada rimadyl dogs overdose lithium generic wikipedia drugs microzide on line in the mexico amantadine side effects ms medrol online india is hydrea legal in uk yagara buy india effexor xr sale i pill cardizem website 20mg of prednisone levitra medicine online buy venlor with paypal buy accutane without where do i diamox in uk buy fluoxetine tablets online what is ventolin what is phenergan 25 mg used for cheap pharmacy buy amantadine buy flovent pills online flunil drug in canada pharmacy us pharmacies online that sell cardura nicotinell canada drugs viagra sublingual price lexapro coming off patent acquisto florinef sicuro online lithium uk online order vistaril from usa without prescription prednisolone side effects long term use etodolac western australia allegra discount shoes buy capoten mg online how to buy methotrexate in canada brafix for dogs buy what are the side effects of doxycycline in dogs cialis sublingual sale 5mg zebeta over the counter order exelon pill pharmacy has best price cialis jelly can you buy clomifene in ireland quick delivery viagra online pariet in singapore when will generic revatio be available cheap glucotrol xl 5 mg generic dipyridamole in usa buying suhagra in manchester is accutane over the counter overnight lisinopril no prescription needed generic buy triamterene online no prescription canada why has indocin been discontinued beat way to order sumycin nova school of pharmacy tuition endep tablets for pain relief trileptal tablets online buy ginseng tea bags propecia birth control online canada meloxicam enolat buy canada erexin v not generic purchase wigraine pills order lipitor online without rx buy zenegra mexican pharmacies methotrexate dosage for ectopic pregnancy calculator long time side effects seroflo ordering bactroban uk liv 52 in the uk brand name ponstel online no rx cialis in canada and paying with mastercard buying tretinoin in manchester orlistatum no prescription fedex ups klipal codeine generic wikipedia drugs buy abana bulk order vistaril online canada how to buy generic levitra buy cheap avodart without generic quanto costa prometrium 200 mg bupron dosage too high generic medazole buy canada estagio bayern 2013 low price aloprim uk zenegra no prrescription buy minipress 10 proscar pharmacy online canada order flomax american levothroid flovent online in us benemid from usa how to get vagifem in australia best price flucazole tretinoin 0 05 buy online ireland como comprar da revista hermes pela internet canada drugs bupron sr with prescription slow release metformin levaquin uses pneumonia what does phenergan dot to dogs digoxin on line with no prescription buy cabgolin inhaler canada lopid online uk metoclopramide generic canada zydis prices cvs kamagra over the counter uk buy cilest canada best antifungal medication for ringworm sildenafil citrate discount where to buy alli without a prescription celapram shoppers drug mart zovirax dosage for genital herpes zithromax cheap genuine actonel best price prandin daily use reviews acticin tablets buy medication online plavix fentanyl fluconazole interactions atacand not generic tamsulozin online from canada generic cialis trial pack order plavix online from canada pharmacy for purchases of prednisone ciprofloxacina canadian online overnight pharmacy order fucidin online no prescription with a echeck alli 120 ct refill arjuna birth control online canada periactin medication where to buy dyazide in canada safely erection packs 1 without long time side effects tretinoin 0,025 carafate suspension price brand cialis on line for sale no script order coreg online no prescription with a visa how to buy estrace online arjuna generic reviews buy bactroban no prescription lopid mist canada cialis soft uk companies only how long to use terramycin fluss 40 on line in the canada best place to buy hoodia in mexico voltaren gel shortage may 2012 rocaltrol reviews and dosage thyrohormone delivery womens viagra uk buy user reviews lipitor oral where can you buy viagra online safely do i need a prescription for erythromycin digoxin pills online in the usa doxycycline buy online india buy himcolin mg online fastest carafate uk delivery viagra professional generic cheap costs prednisone tablets uses nootropil online meds buy starlix uk raquel allegra shopping prescription valtrex 1gm generic speman for sale on line where to buy cleocin gel worldwide pharmacy levitra super active online generic norvasc doxycycline hyclate canada tricor doctors online torsemide over the counter canada can your buy cialis professional in ireland canadian pharmacy best place to buy cialis super active online where can i buy dyazide online without a prescription himcolin max dose lexapro noprescrition needed uk online pharmacy mestinon overnight delivery ampicillin lowest price online pharmacy technician online certification training how to use alli in spanish average cost of actonel cheap percocet mg mps viagra lawsuit can you only get valtrex on prescription atomoxetin from canada with no prescription buy zyban mg online for valtrex 500 mg once a day where can i buy clomid online in australia cheapest benicar tablets uk buy mircette inhaler canada quetiapinum pills online in the canada best levitra prices pharmacy where to buy frusemide with mastercard actos cheap uk stieva a shelf life whats in aleve medication cleocin gel tablets uses high cholesterol medicine zocor diarex without rx zedd medication on line zithromax 50mg tablets do i need a prescription for fluconazol walgreens premarin prices protonix medication order can you order acai is ceftin used for sinus infections canada pharmacy review online what happens if you take your birth control pills out of order pill rx health zoloft products buy lady era paypal buy robaxin online india best time to take nexium 40 mg cheapest snovitra super power to buy benzac tablets 150 mg where to buy glucovance with mastercard comprar predalone en argentina how to take ranitidine for babies where to buy vardenafilum online mexico zocor discount coupon avapro tablets used doxycycline 100 mg treatment for what wholesale drugstore suppliers antara lawsuit habana himalaya alternative medicine raloxifeno canadian medications without prescription buspar buspirone topamax class action lawsuit canada where to buy bupropion online uk can order thyrox canada antara canada no prescription online no prescription uk for ceftin legal buy januvia online canada fluoxetina from canada without rx what is baclofen 10 mg tablets cheap oracea uk ordering cephalexin uk luvox dosage for children albenza albendazole fast delivery view topic amerimedrx pharmacy zopiclone vs zolpidem bluelight can you get a blood clot while on plavix sinequan tablets uk triamterenum pill shortage diflucan with american express terramycin to buy canadian medicine wheel what is requip xl cheap zyprexa canada olanzapine can you buy drug order benicar best site get zofran rhine inc india riperdal tablets side effects buy olistat tablets canada tricor price medrol buy online mexico is it illegal to sell viagra on ebay prozac fast uk para que sirve la clorfenamina maleato 4 mg xenical in stock can you buy retin a ge order dilantin cheap alfa flucon online in us anafranil prices cvs caffeine ergotamine birth control online mexico where can i buy acticin tablets what does the xl mean in toprol xl trental buy usa femara without a prescription can order buspar canada best place to buy amitriptyline in uk getting viagra plus in australia voveran emulgel price canadian pharmacy nizoral 2 bupropion without prescription canada letrozole cancer medication buy avana in australia long term side effects of taking prevacid how to tell if viagra is real ponstel no prrescription betnovate from europe online pharmacy aleve liv 52 syrup online cheap voveran sr sale uk medrol side effects long term use online pharmacies no prescription vicodin doxycycline 100mg twice a day for acne mifepristone buy london kytril overnight pharmacy what is tretinoin drugs amitriptyline without prescription miami how to order brafix online ivenox online from usa purchase here cheapest malegra fxt januvia discount card ginseng indiana prices zyrtec looking for dipyridamole uk brand name increasing testosterone diet alesse maximum dosage nitroglycerin overnight overnight pharmacy viagra soft lisinopril pills pictures side effects of prednisone long term mail order generic amoxycillin albuterol steroid profile what does entocort ec do where to buy aygestin with mastercard side effects of minipress toprol xl cheap uk pharmacy order neurontin from australia without prescription buy plavix cheapest non prescription triamterene buy zyloprim 100mg online side effects of naprosyn 375 mg a good web page to buy luvox with no script allegra rockledge florida cialis online canada paypal when was alli launched in the uk reviews on benicar order seroflo from uk without prescription ordering retino a cream 0 025 glucophage tablets weight loss reviews on wellbutrin and weight loss how long does it take for glucophage to work premarin fda approved to buy without prescription name brand nitroglycerin online sildenafil citrate with paypal payment brand levitra from canada health canada tricor discount asacol mg ciprofloxacin milk calcium non prescription aciphex buy ranitidine with e check prescription solutions pharmacy help desk buy apo clopidogrel with a mastercard kamagra now safe buy risperdal in australia to buy pyridium in uk fincar maximum dosage vytorin pills buy promethazine mail order india buy over the counter mevacor online oestrogel without a script how to buy viagra with debit trileptal purchase in india where viagra is available plavix from china discount caffeine ergotamine from canada brand rumalaya forte buy diflucan now non prescription pyridium where can i buy medazole online without a prescription micardis no prescription needed wellbutrin 100 mg weight loss discount voltaren over counter dutas purchase asacol on line in australia sale keppra buy medrol tablets usa triamcinolone 1 cream for acne use online ortho tri cyclen purchase indian generics online diarex what is renagel tablets what is thyroxin for sale adalat buy duprost pills in the uk sepibest online with out prescription where do i artane in uk medicine aldactone used lipitor dose size levitra super active sale prescription 10mg clomifene online pharmacy shipped to canada where to buy adalat ointment azithromycin tablets ip 500mg dosage pill rx health permethrinum products keppra where can i buy it protonix vs nexium which is better exelon refills isoptin overnight shipping what does prednisolone canada buy sepibest without prescription mirapex us companies only where to purchase aciphex order levitra lowest price isotretin on line no script benicar pills online in the mexico non prescription advair diskus pharmacy clozaril refills myambutol precio mexico seroquel now generic lisinopril tablets from buy cytotec visa side effects of tamsulosin in women buy generic levaquin online with prescription prescription topical testosterone cream for men flomax uses medication omnicef sale albuterol sulfate inhaler instructions acquisto pulmicort sicuro online buy vytorin tablets canada can plavix cause weight gain online no prescription cheap price generic antibiotics diltiazem daily use reviews aldactone mg tablet cost of aspirin to nhs erection packs 20 drugs cialis what does aygestin do where to buy keflex online usa estradiol valerate buy online canada non prescription pilex singulair low dose birth control ordering alli canada why has dutasterid been discontinued why has sinequan been discontinued cheap kamagra gold no prescription best place to buy tofranil in canada elimite pill shop discount code no prescription ponstel best site for lasilix viagra professional cost canadian anteovin fast uk disulfiramum legal us sex during pill free week yasmin is betapace available over the counter buy menosan bulk super active overnight delivery professional buy cialis amaryl pas cher buy astelin from mexico online use norvasc coupon online permethrinum for men sale in uk isoptin max dose riperdal canada prescription tamoxifen shortage 2012 how long citalopram take to work epivir hbv online uk can you get floxin where to buy tamoxifen online uk duprost without a prescription from us glyset rxlist order warafin from india without prescription buy hydrodiuril mg online erythromycin legal in england kamagra oral jelly mexico pharmacy order coversyl on line canada zerit pharmacy coupons buy cheap accutane online pills buying purinethol in manchester is generic eltroxin effective lopressor non perscription countries ginseng plant for sale philippines does generic macrobid look like hyzaar mexico coupon what is lioresal prescribed for mentax online in canada buy hydrochlorothiazide triamterene online best wellbutrin sr prices what is vytorin 10 40 what does d look like buy allegra online prandin billig kaufen research grade acivir pills tadacip prices can we trust luvox online is warafin available on line in canada best place to order suprax in us prandin generic india discount l thyroxine from usa where can i get lamictal pills trial erection packs 1 prices cvs ordering medazole uk buy avapro astrailia xenical echeck western drug compazine benolaxe venlafaxina 75 mg en linea mail order generic cystone order desyrel online uk levitra plus over the counter drugs depo provera dose for dogs where can you get clomid pills lowest priced cialis soft us pharmacies online that sell elocon co diovan 160 mg order glucotrol online uk best drugstore brand foundation primer digoxin recommended dosage cystone tablets 60 actos discounts coupons treat the chepest antabuse buy viagra soft tablets mexico venlor sent to spain trazodone insomnia etodolac pills buy best place to buy cardizem in india buy predalone pills in the mexico retin a 0 05 no prescription needed order flomax online without rx canadian adalat generic view topic neurontin codeine is shatavari legal in uk publix pharmacy metformin vermox over the counter drugs minomycin in singapore urispas usa cvs prices buy azurette pills in the india over the counter sertralina low price zofran uk online minomycin purchase duphalac canada overnight delivery dipyridamole 50 mg tablet buy antabuse without rx effexor xr from canadian pharmacy female cialis generic name no prescription roaccutane where to get morning after pill free no prescription overnight doxycycline online buy micardis new zealand online order provera from australia without prescription pharmacy has best price diprosone prevacid in germany usa buy amoxycillin without prescription triamterene over the couter buy minocin paypal accepted frumil online coupon code imovane price in canada beat way to order naprosyn can you buy permethrin 5 over the counter safe buy quibron t online where to buy cozaar online india isoniazid from wikipedia can cardizem cause weight gain lopressor tablets on line to buy where to buy tadalis online mexico order elimite on line usa can i make prednisona capoten uk pharmacy buy nexium 100mg online is generic depakote effective pill rx health order erexin v products my boyfriend uses viagra indian pharmacy predalone buy diclofenac gel tablets mexico minocycline online canada metformin fast mexico buy movalis cheap cipralex overdose how much buy kelnor online safely drugs similar to proventil order propecia from india without prescription online forum buy astelin view topic tinidazolum pills online in the australia female cialis mexico is lipitor a class c medication buy brand dutas prescription lotrisone cream where to buy exelon online canada brand name pilex online lowest priced moduretic brand kamagra buy what is the correct dosage of colospa cheap betnovate no prescription glucotrol xl online in usa i pill carafate website prozac cheap india pharmacy buy brand levitra online uk no prescription buy stieva a have no prescription cephalexin shop net disulfiramo cheap mexico pharmacy buy olanzapine 10 predalone prices cvs where to buy vistaril drugs online where can you buy acai optimum vasotec roche precio argentina aspirin dosage for angina flovent coupons 2012 canada pharmacy 24 hours order proscar from australia without prescription claritin canada prescription hyzaar no prescription arimidex vs nolvadex vs clomid buy online reviews accutane cheap tadapox prices celebrex dosage sciatica genuine salvent best price can you buy grifulvin v fungal scalp pfizer viagra patent case china zovirax oral medication purchase levothyroid pills riperdal brands india how to purchase allopurinol brand levitra over the counter canada testosterone anadoil reviews famciclovir dosage for suppression voltaren gel shoppers drug mart buy amantadine 80 mg online movalis buy uk nitrofurantoin 100 mg safe during pregnancy where to purchase coreg montelukast asthma side effects lamictal birth control online canada my glucofage coupons ordering liposafe uk procardia pill canadian what is retin a cream 0.05 pfizer coupons for viagra nizagara india sale how to buy geriforte syrup in london purchase diflucan pills trandate low cost us pharmacies online that sell emsam canadian drug company zithromax best over the counter erectile dysfunction treatment diclofenac sodium paracetamol tablets india oratane uk next day delivery where can i order bactroban nimotop prescription only fincar drug in fr pharmacy buy cialis canada pharmacy ciproxin 500mg italiano fasigyn non perscription countries combivent for sale philippines celapram lowest price malegra fxt shoppers drug mart celexa lawsuit settlements aleve over the counter dose generic avapro in irbesartan dosage efectos sertralina 50 mg alcohol healthy weight range for man 5 11 coreg mexico companies only bystolic tablets 10mg grifulvin v canada sale buy luvox new zealand online movalis india sale discount rythmol of canada nolvadex medication on line side effects of fexofenadine hydrochloride 120 mg generic dipyridamole buy canada keftab pills online in the australia buy viagra online uk next day delivery buy crestor xr without prescription us pharmacies online that sell norvasc where to buy levitra super active online canada skelaxin 800 mg what is it for lowest price fluoxetine celexa and alcohol interactions renova tablets uses quetiapinum over the counter drugs orlistat online ordering discount sominex from canada use cytotec abortion pill is plavix generic in usa getting tegretol in australia side effects of phenergan iv where can i buy raloxifeno online without a prescription cheapest mentat free coupon for singulair side effects of seroquel xr withdrawal buy ventolin 100 canada drugs starlix with prescription tinidazole discount no prescription memory enhancement prescription drugs purchase cialis jelly in australia azulfidine suppositories buy how to use stediril get zithromax las vegas champix price aldactone prescription effects interactions where can i get some tamsulozin buy prednisolona online no prescription usa order pulmicort from uk without prescription lasuna buy on line side effects of depakine chrono unicure remedies levitra order stromectol online no presctiption nitrofurantoin uti malegra fxt express canada accutane class action lawsuit california where to buy wellbutrin sr without a prescription purchase unisom in uk can you buy vasotec online canadian claravis user reviews xenical orlistat in stock where purchase duphalac where do i yaz in mexico amoxicilina on line no script quibron t medicine children online sale of lopressor methotrexate 2.5mg tablets toprol buy usa can you get addicted to keppra citalopram cost cvs flagyl online forum buy cefixime online cheap how to search facebook all types metronidazol pills buy sepibest online from usa can you buy duetact online can we trust combivent online use shallaki coupon online buyers of apo furosemida canada how to use cytotec 200 mcg for abortion ordering viagra super active 100mg order shuddha guggulu from canada without prescription over counter acai chloromycetin limited india what type of medication is prazosin synthroid canadian source cheap clavamox free delivery valaciclovir canada prescription where to buy ampicilina quibron t cheap us pharmacy amoxil where can i buy buy aricept usa canadian citalopram weight gain 10mg ordering coumadin on line ordering exelon canada anafranil 10 mg yan etkileri overnight augmentin delivery flucazole mexico companies only buy generic metformin with bonus sildenafila brands india lasix italiano birth control pills norvasc best site for actoplus met where to buy bactrim without a prescription moduretic without a prescription how long after accutane for side effects champix wikipedia francais fertomid shipping overseas canadian online pharmacy checker cardura shipping overseas buy amoxil 10 where can i get motrin 800 meds india discount code capoten pill shop discount code how long does it take for alesse 28 to work list of tesco stores selling seroflo buy glucofage online no prescription prednisone usa pharmacy cost of pamelor pantoprazole vs prilosec otc where can i buy seasonique indian pharmacy beta val mevacor prix en pharmacie en france cleocin gel with american express how to take vasodilan mg where to buy alli from pharmacies nitrofurantoin 100mg price can you get avapro over the counter where to buy mycelex g purchase cabgolin in uk where do i zyloprim in usa order abilify online uk cost comparison canada propecia purchase arjuna on line in india voltaren dosage side effects of estradiol valerate lasuna in croatia reglan without a prescription from mexico plavix de 75 mg. tabs university of florida pharmacy online course what is siberian ginseng root extract used for lipitor comprare azathioprine and allopurinol the price of an avoidable drug interaction benadryl rx flagyl metronidazole 0.75 gel cheap vardenafilum minocycline australia pharmacy walmart alliston ontario walk in clinic tizanidinum pills online in the australia cheap minomycin delivered overnight buy sustiva online provera from canada where is allianz stadium address where can i buy carvedilolo online without a prescription cardura shoppers drug mart pamelor next day delivery lasix prescription fedex order ciprofloksacin from mexico without prescription order cozaar online no prescription with a visa triamterenum medication overnight delivery western drug celexa safe to buy generic hytrin from uk desyrel uk companies only etodolac fast india
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