<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/rss.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>def.am</title>
    <description>այս կայքն անկախ սպասարկիչ ունենալու, այն կառավարելու, հոսանքից անջատելու եւ միացնելու մասին է։</description>
    <link>https://def.am/</link>
    <pubDate>Wed, 24 Dec 2025 01:33:13 +0400</pubDate>
    <lastBuildDate>Wed, 24 Dec 2025 01:33:13 +0400</lastBuildDate>
    <generator>Jekyll v4.3.2</generator>
    <language>hy</language>
    <atom:link href="https://def.am/feed.xml" rel="self" type="application/rss+xml"/>
    <copyright> © 2025 Tigran Simonyan </copyright>
    
      
      <item>
        <title>միակողմանի աւիացիոն անվտանգութիւն</title>
        <link>https://def.am/միակողմանի-աւիացիոն-անվտանգութիւն/</link>
        <description>&lt;p&gt;Ընկերս անցած տարի UniFi Dream Router էր նուիրել։&lt;/p&gt;

&lt;p&gt;Մի տարի անց սկսեց վատ աշխատել։ Խօսեցի UniFi-ի սպասարկման բաժնի հետ, պայմանաւորուեցինք, որ ռաութերը կուղարկեմ ԱՄՆ եւ փոխարէնը նոր ռաութեր կստանամ։&lt;/p&gt;

&lt;p&gt;ՀայՓոստում դժուարութեամբ ընդունեցին առաքանին, զի հրաման կայ, որը արգելում ա ՀՀ-ից տեխնիկայ արտահանել։ Բացատրեցի, որ հետ եմ վերադարձնում, անսարք ա, ու մի քանի անգամ նշեցի որ մարտկոց չունի։ ՀայՓոստի աշխատակիցը իրենից կախուած ամէն ինչ արեց, որ ծանրոցը ուղարկուի։ Բայց էսօր իմացայ որ «Աւիացիոն անվտանգութեան» բաժինը մերժել ա առաքել ծանրոցը։ Մաքսայինից ասեցին, որ ռաութերի մեջ մարտկոց են տեսել։&lt;/p&gt;

&lt;p&gt;Խնդիրը այն ա, որ ռաութերի մեջ մարտկոց չկայ, ու հնարաւոր չի տեսնել չեղած բանը։ Ուղղակի մարդիկ չեն կարողանում պատասխանատւութեամբ անել իրենց գործը։ Նայում են նկարը ու ենթադրում, որ մէջը մարտկոց կը լինի։&lt;/p&gt;

&lt;p&gt;Անցած տարի էլ, նման խնդիր եղաւ երբ համակարգչիս պրոցեսորն էի փորձում հետ վերադարձնել։ Էլի ասեցին որ արգելված ա տեխնիկա արտահանել, բայց լաւ պրծա որ պրոցեսորի մէջ մարտկոց չգտան։&lt;/p&gt;

&lt;p&gt;Մի քանի օրից կը լռանայ ռաութերը վերադարձնելու ժամկետը։ Փաստացի պետությունը ինձ էական վնաս պատճառեց։&lt;/p&gt;

&lt;p&gt;Վերջերս էլ փաստաբանների հարկը բարձրացրին, ինչի հետեւանքով փաստաբանի ծառայութիւնը թանկացավ։ Պէտք ա կրածս վնասից երեք անգամ շատ գումար ծաղսեմ, որ կարողանամ փողհատուցում պահանջել։ Դա էլ հաստատ չի։&lt;/p&gt;

&lt;p&gt;Հետաքրքիր ա, թե ոնց ա լինում, որ Ամերիկայից ամէն ինչ հասնում ա Հայաստան, իսկ հետ ուղարկելը խնդիր ա։ Ոնց ա Հայաստան եկող տեխնիկայի մէջ մարտկոց լինում, իսկ դուրս եկողի մէջ արգելուում։ Մեր աւիացիոն անվտանգութեան բաժինը երեւի պէտք ա վերապատրաստում անցնի։&lt;/p&gt;
</description>
        <pubDate>2025-02-25T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/միակողմանի-աւիացիոն-անվտանգութիւն/</guid>
        
          
           <category>անվտանգութիւն</category>
          
        
      </item>
    
      
      <item>
        <title>ինչպէս գրանցուել Մաստոդոնում</title>
        <link>https://def.am/ինչպէս-գրանցուել-մաստոդոնում/</link>
        <description>&lt;p&gt;Մաստոդնում հաշիւ բացելու համար առաջին հերթին պէտք է ընտրէք հանգոյց։ Հանգոյցի ընտրութիւնը կարող էք անել տարբեր հանգամանքներից ելնելով։ Օրինակ որտեղ էք ուզում պահել ձեր տուեալները, ինչ բովանդակութեամբ էք հետաքրքրուած, որ հանգոյցի կանոնադրութիւնն է ձեզ համար ընդունելի եւ այլն։&lt;/p&gt;

&lt;p&gt;Այս կայքում կարող էք տեսնել հասանելի հանգոյցների ցանկը՝&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://joinmastodon.org/servers&quot;&gt;https://joinmastodon.org/servers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Հայաստանում եւս կան Մաստոդոնի հանգոյցներ։ Դրանցից են՝&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://թութ.հայ&quot;&gt;https://թութ.հայ&lt;/a&gt; (xn–69aa8bzb.xn–y9a3aq)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://անքուն.հայ&quot;&gt;https://անքուն.հայ&lt;/a&gt; (xn–y9a6bah4ck.xn–y9a3aq)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://թ.չոլ.հայ&quot;&gt;https://թ.չոլ.հայ&lt;/a&gt; (xn–69a.xn–99axc.xn–y9a3aq)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Սակայն ոչ բոլոր հանգոյցներում է գրանցումը բաց։ Պէտք է գտնէք բաց գրանցումով հանգոյց։ Գրանցման ընթացքում անհրաժեշտ է մուտքագրել լատինատառ անուն, էլ. փոստի հասցէ եւ ծածկագիր։ Տուեալները հաստատելուց յետոյ նշուած էլ. փոստին վաւերացման նամակ է գալու, որից յետոյ միայն ձեր հաշիւը կակտիւանայ։ Վաւերացման նամակը յաճախ ընկնում է «&lt;strong&gt;սպամ&lt;/strong&gt;» թղթապանակի մէջ, քանզի գուգլը չի սիրում դրանք։&lt;/p&gt;

&lt;p&gt;Մաստոդոնից օգտուելն առաւել յարմար դարձնելու համար խորհուրդ կը տամ տեղադրել նաեւ բջջային յաւելուած։ Ձեր սմարթֆոնին համապատասխան յաւելուածը կարող էք գտնել &lt;a href=&quot;https://joinmastodon.org/apps&quot;&gt;այստեղ&lt;/a&gt;։ Յաւելուածը տեղադրելուց յետոյ բացէք այն եւ մուտքագրէք ձեր տուեալները։&lt;/p&gt;

&lt;p&gt;Որոշ յաւելուածներում հանգոյցի հասցէն կանխադրուած է։ Բայց քանի որ դուք արդէն ունէք հաշիւ ձեր ընտրած հանգոյցում, անհրաժեշտ է փոխել/նշել ձեր հանգոյցի հասցէն։ Եթե ձեր հանգոյցի հասցէն հայատառ է (օր. անքուն.հայ) անհրաժեշտ է փոխակերպել դա &lt;a href=&quot;https://www.punycoder.com/&quot;&gt;Punycode&lt;/a&gt;-ի եւ մուտքագրել փոխակերպուած տարբերակը (xn–y9a6bah4ck.xn–y9a3aq)։ Վերեւում նշուած հասցէների համար ես արդէն արել եմ։&lt;/p&gt;

&lt;p&gt;Բարի գալուստ Մաստոդոն (:&lt;/p&gt;

&lt;iframe width=&quot;100%&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/F1VcJTvx1NU?si=Mp9Y71ULlq33cmsB&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
</description>
        <pubDate>2023-11-03T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/ինչպէս-գրանցուել-մաստոդոնում/</guid>
        
          
           <category>mastodon</category>
          
        
      </item>
    
      
      <item>
        <title>AMD-ի երաշխիքը, չիպերի արտահանումը ՀՀ-ից, CPU-ի հրահանգներ</title>
        <link>https://def.am/չիպերի-արտահանումը-amd-երաշխքը-cpu-հրահանգները/</link>
        <description>&lt;p&gt;Ամիսներ առաջ սպասարկիչը անջատուեց ու չէր միանում։ Տարայ hardware.am ստուգեցին, պարզուեց պրոցեսորն ա փչացել։ Ի դէպ շատ հոգատար ու պրոֆեսիոնալ վերաբերմունք ցոյց տուին։&lt;/p&gt;

&lt;p&gt;Մինչեւ նոր պրոցեսոր գնելը, եղբօրիցս ժամանակաւոր վերցրի՝ &lt;a href=&quot;https://www.intel.com/content/www/us/en/products/sku/90741/intel-celeron-processor-g3900-2m-cache-2-80-ghz/specifications.html&quot;&gt;Intel® Celeron® G3900&lt;/a&gt; պրոցեսոր ու համապատասխան տպասալ։ Սպասարկիչը միացրի, կարգաւորեցի ցանցը ու ենթադրեցի որ ամէն ինչ նորմալ ա։&lt;/p&gt;

&lt;p&gt;Աւելի ուշ նկատեցի, որ mongodb-ով աշխատող մի քանի ծրագիր չի միացել։ mongodb-ի լոգերում &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;signal=ILL&lt;/code&gt; կոդ կար, որը նշանակում ա «անօրինական հրահանգ»՝&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Illegal instruction. The ILL signal is sent to a process when it attempts to execute a malformed, unknown, or privileged instruction.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Պարզուեց որ 5-րդ վարկածից սկսած mongodb-ն օգտագրոծում ա պրոցեսորի &lt;a href=&quot;https://en.wikipedia.org/wiki/Advanced_Vector_Extensions&quot;&gt;AVX&lt;/a&gt; ընդլայնումը, իսկ Intel® Celeron® G3900 դա չունի։&lt;/p&gt;

&lt;p&gt;Նախկին պրոցեսորս AMD Ryzen 5 2600 էր։ Համեմատաբար հզօր ու ժամանակակից։ Դրան համապատասխան՝
AMD Ryzen 5 4500 պատուիրեցի, որ հնարաւորինս շուտ վերականգնեմ սպասարկիչի աշխատանքը։ mongodb-ի վարկածն էլ ցածրացրի, որ առնուազն &lt;a href=&quot;https://բառարան.հայ&quot;&gt;բառարան.հայ&lt;/a&gt;-ը աշխատի։&lt;/p&gt;

&lt;p&gt;Էդ ամէնը տեւեց մօտ 3 ամիս։ Երբ ամէն ինչ սկսեց աշխատել, որոշեցի փչացած պրոցեսորով զբաղուել։ AMD-ին երեք տարուայ երախիք էր տուել, դրա համար նամակ գրեցի սպասարկման բաժնին։ Ուղարկեցի պրոցեսորի նկարը որ համոզուեն, որ ֆիզիկական վնասուած չունի։ Ոչ էլ դեֆորմացել ա բարձր ջերմաստիճանից։ Խնդիրը նկարագրելու համար օգտուեցի նաեւ իրանց &lt;a href=&quot;https://www.amd.com/en/support/kb/faq/pibrmats1&quot;&gt;ուղեցոյցից&lt;/a&gt;։&lt;/p&gt;

&lt;p&gt;Երկու օր յետոյ պատասխանեցին, որ ընդունում են խնդիրը ու պատրաստ են հետ վերցնել փոխելու կամ նորոգելու համար։ Էլ. փոստիս ուղարկեցին DHL-ի առաքման յայտ, որի համար նախապէս վճարել էին։ Պրոցեսորը տարայ Ամիրյան 27 շենք, DHL-ի Երեւանեան գրասենեակ։ Էնտեղ ասեցին, որ վստահ չեն, որ հնարաւոր ա առաքել, զի հրաման կայ արգելող ՀՀ-ից չիպերի արտահանումը։&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.azatutyun.am/a/32374113.html&quot;&gt;Էստեղից&lt;/a&gt; իմացայ, որ նման խնդիր կայ, զի որոշ կազմակերպութիւններ օգնում են Ռուսաստանին շրջանցել պատժամիջոցները ու չիպեր գնել։&lt;/p&gt;

&lt;p&gt;Շարունակելի…&lt;/p&gt;
</description>
        <pubDate>2023-08-29T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/չիպերի-արտահանումը-amd-երաշխքը-cpu-հրահանգները/</guid>
        
          
           <category>cpu</category>
          
        
      </item>
    
      
      <item>
        <title>հարցազրոյցների աբսուրդը</title>
        <link>https://def.am/հարցազրոյցների-աբսուրդը/</link>
        <description>&lt;p&gt;Վերջերս մի քանի հարցազրոյցի մասնակցեցի։ Ըստ էութեան բոլորը լաւ էին կազմակերպուած բայց ոչ մէկը չանցայ։ Դէ մտածեցի վատ մասնագէտ եմ, 8 տարի 2 տեղում աշխատելով նոր բան չեմ սովորել ու տէնց։ Բայց յետոյ խօսեցի գործազուրկ միւս ընկերներիս հետ, որոնք ի տարբերութիւն ինձ 20 տարուայ փորձ ունեն ու հասկացայ, որ խնդիրը ես չեմ։&lt;/p&gt;

&lt;p&gt;Ինձ թուում ա խնդիրը հէնց հարցազրոյցի գաղափարն ա։&lt;/p&gt;

&lt;p&gt;Երբ մեծ կազմակերպութիւնը, իր նախագծերից մէկը տալիս ա փոքր կազմակերպութեան, նա չի գնում ստուգելու փոքր կազմակերպութեան ամէն աշխատողին։ Այլ նայում ա տուեալ կազմակերպութեան պատմութեանը, փորձին եւ արած աշխատանքին։ Յամենային դէպս վերջին 5 տարուայ ընթացքում հէնց էդ փոքր կազմակերպութեան աշխատող եմ եղել։ Ու ինձ համար աբսուրդ ա էս երեւոյթը։&lt;/p&gt;

&lt;p&gt;Կարելի ա ասել, որ մասնագէտը, որը ունի արած աշխատանք, հրապարակած կոդ ու անցած ճանապարհ, աւելի անվստահելի ա քան կազմակերպութիւնը, որը ներկայանում ա տուել մասնագէտով։ Ու հիմա ես վախենում եմ դիմել էն կազմակերպութիւններին, որոնց համար տարիներ շարունակ հեռակայ աշխատել եմ, զի կարող ա հարցազրոյցը չանցնեմ։&lt;/p&gt;

&lt;p&gt;Շատերի մօտ հիմա հարց կառաջանում, թե որն ա չանցնելու պատճառը։&lt;/p&gt;

&lt;p&gt;Չգիտեմ, ուղղակի մարդիկ տարբեր են։ Ինձ համար դեռ համալսարանի տարիներից քննութեան գնալը մեծ սթրես ա եղել։ Երեւի շատերին ա ծանօթ էդ զգացումը, երբ ամբողջ տարի սովորել ես բայց քննութեան օրը բան չես յիշում։&lt;/p&gt;

&lt;p&gt;Ինձ թուում ա ծանօթներին առանց հարցազրոյցի ընդունելը լաւ մօտեցում ա։ Իսկ անծանօթների դէպքում կարելի ա պատմութեանը նայել։ Տեխնիկական հարցազրոյցն էլ թող մնայ սկսնակներին, զի նրանք չունեն պատմութիւն, բայց ունեն թարմ տեսական գիտելիքներ։&lt;/p&gt;
</description>
        <pubDate>2023-04-13T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/հարցազրոյցների-աբսուրդը/</guid>
        
          
           <category>աշխատանք</category>
          
           <category>հարցազրոյց</category>
          
        
      </item>
    
      
      <item>
        <title>ինչպէս ուղղեցի խօսքի սինթեզատորը հայերէնի համար</title>
        <link>https://def.am/խօսքի-սինթեզատոր-հայերէնի-համար/</link>
        <description>&lt;p&gt;eSpeakNG-ը բաց ելակոդով խօսքի սինթեզատոր է։ Այն օգտագործում է &lt;a href=&quot;https://en.wikipedia.org/wiki/Formant&quot;&gt;ֆորմանտ&lt;/a&gt; սինթեզի եղանակը ինչի շնորհիւ սպասարկում է բազմաթիւ լեզուներ համեմատաբար փոքր տեղ զբաղեցնելով։&lt;/p&gt;

&lt;p&gt;Ամէն լեզուի համար ծրագրում կայ յատուկ ֆայլ, որտեղ &lt;a href=&quot;https://en.wikipedia.org/wiki/International_Phonetic_Alphabet&quot;&gt;միջազգային հնչիւնական այբուբենով&lt;/a&gt; գրուած է խօսքի հնչիւնների ակուստիկ բնութագրերը։&lt;/p&gt;

&lt;p&gt;Ինձ համար զարմանալի էր այն, որ ծրագիրը կարողանում էր կարդալ ինչպէս արեւելահայերէն այնպէս էլ արեւմտահայերէն։ Եթե չեմ սխալւում դրանք աւելացրել էր հէնց ծրագրի հեղինակը, օգտուելով վիքիպեդիայից։&lt;/p&gt;

&lt;p&gt;Ծրագրով որոշ ժամանակ խաղալուց յետոյ, գտայ մի քանի սխալ՝&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;եք, ենք, են, եմ-ը ծրագիրը կարդում էր «ե» հնչիւնով, չնայած որ միշտ պէտք է կարդալ «է»-ով,&lt;/li&gt;
  &lt;li&gt;ծրագիրը գիտեր, որ դասական ուղղագրութեամբ, բառավերջում «ա» եւ «ո» տառերից յետոյ գրուող «յ»-ն չի կարդացուում, բայց չգիտեր, որ կան բացառութիւններ՝ հայ, բայ, վայ, Նոյ, խոյ, ճայ, գոյ, բոյ, փայ, թայ, այ, հոբոյ, կովբոյ բառերում։ Ուղղելու համար պարզապէս աւելացրի նշուած բառերի ամբողջական արտասանութիւնը,&lt;/li&gt;
  &lt;li&gt;հեղինակը նաեւ նշել էր, որ բառամիջում գրուած «ոյ»-ը միշտ պէտք է կարդալ «ույ», ինչը ճիշտ է միայն դասական ուղղագրութեան համար,&lt;/li&gt;
  &lt;li&gt;ես-ը համատեքստից կախուած կարորղ է կարդացուել ինչպէս «ես» այնպէս էլ «էս»։ Դա չկարողացայ ուղղել, զի սինթեզատորը համատեքստին չի նայում։&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Նշուած փոփոխութիւնները կարող էք տեսնել ասյտեղ՝ &lt;a href=&quot;https://github.com/espeak-ng/espeak-ng/commit/536f490daea521aabe61eb7a248fea8b6ff2d931&quot;&gt;536f490&lt;/a&gt;, &lt;a href=&quot;https://github.com/espeak-ng/espeak-ng/commit/ee6d474e758294f8c32cb2e593f480ffe35b57cb&quot;&gt;ee6d474&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Այս պատմութեան մէջ կար եւս մէկ հետաքրքիր փաստ։ Գուգլի թարգմանիչը կարդում էր հայերէն տեքստը լրիւ նոյն սխալներով։ Ինչից կարելի էր հասկանալ, որ օգտագործել են նոյն ծրագիրը։ Դրանից երեք տարի անց՝ այսօր, փորձեցի ստուգել Գուգլ-թարգմանիչի աշխատանքը, յոյս ունենալով, որ վերցրած կը լինեն ուղղումներս։ Բայց պարզուեց որ ամբողջութեամբ հանել են հայերէն արտասանութիւնը ։//&lt;/p&gt;
</description>
        <pubDate>2023-03-03T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/խօսքի-սինթեզատոր-հայերէնի-համար/</guid>
        
          
           <category>հայերէն</category>
          
           <category>լեզու</category>
          
        
      </item>
    
      
      <item>
        <title>կայքում մեկնաբանութիւններ ստանալու յաւելուած</title>
        <link>https://def.am/կայքում-մեկնաբանութիւններ-ստանալու-յաւելուած/</link>
        <description>&lt;p&gt;Որոշ CMS-ներ (բովանդակութիւն կառավարելու համակարգեր), ինչպիսին են՝ WordPress, Joomla, ունեն մեկնաբանութիւնների սեփական յաւելուածը։ Իսկ օրինակ Jekyll-ն կամ HUGO-ն չունեն։ Դրանցում մեկնաբանութիւններ ստանալու համար անհրաժեշտ է աւելացնել մէկ այլ անկախ յաւելուած, որը ունի սեփական backend-ը եւ բազան։ Այդպիսի յաւելուած է Disqus-ը։ Այն պահում է մեկնաբանութիւնները իր բազայում, բացուած էջի հասցէին համապատասխան։&lt;/p&gt;

&lt;p&gt;Disqus-ի գաղափարը շատ լաւն է, բայց ինչպէս ցանկացած կոմերցիոն ծրագիր այն ունի սահմանափակումներ եւ ճնշող կանոնակարգ։ Դրա պատճառով ես սկսեցի սարքել &lt;a href=&quot;https://github.com/foo-comments&quot;&gt;fooComments&lt;/a&gt;-ը։ Այն ազատ, բաց կոդով յաւելուած է, որը մէկ անգամ սերուերում տեղադրելով կարելի է օգտագործել բոլոր կայքերի բոլոր էջերում։&lt;/p&gt;

&lt;p&gt;Սերուերում &lt;a href=&quot;https://github.com/foo-comments/foo-comments-server&quot;&gt;տեղադրելու համար&lt;/a&gt; անհրաժեշտ է ունենալ Node.js եւ MongoDB։ Չնայած կոդը այնքան փոքր է, որ ցանկութեան դէպքում կարելի է արտագրել այլ լեզուներով։ Միգուցէ խնդրենք ChatGPT-ն անի (:&lt;/p&gt;

&lt;p&gt;Իսկ կայքի էջում անհրաժեշտ է աւելացնել հետեւեալ HTMԼ-ը՝&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;div&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;foo-comments&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;data-theme=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;light&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;data-language=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;en&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;data-api-url=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{API_URL}&quot;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;script &lt;/span&gt;&lt;span class=&quot;na&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{HOSTING_URL}/foo-comments.min.js&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Բացի նշուած առաւելութիւններից fooComments-ը ունի գունային թեմաներ եւ բազմալեզու ինտերֆէյս։&lt;/p&gt;
</description>
        <pubDate>2023-02-15T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/կայքում-մեկնաբանութիւններ-ստանալու-յաւելուած/</guid>
        
          
           <category>widget</category>
          
           <category>յաւելուած</category>
          
        
      </item>
    
      
      <item>
        <title>մտքեր backup-ի մասին</title>
        <link>https://def.am/մտքեր-backup-ի-մասին/</link>
        <description>&lt;p&gt;Իմ երազանքների բէքափը զերծ ա աւելորդ ֆայլերից։ Դա մօտաւորապէս այսպէս եմ պատկերացնում։ Մէկ անգամ անում եմ ՕՀ-ի ամբողջական բէքափ, որը միգուցէ կը պարունակի նաեւ իմ տուեալները։ Յաջորդ անգամները անում եմ միայն իմ կարգաւորումների ու անձնական տուեալների բէքափը։ Բայց այստեղ կայ մի խնդիր։ Ես չեմ ուզում պահել ծրագրերում օգտագործուած փաթեթները։ Դրանք զբաղեցնում են աւելորդ տեղ եւ ազդում են պահեստաւորման (backup-ի) արագութեան վրայ։&lt;/p&gt;

&lt;p&gt;Դրա համար մտածում եմ ՕՀ-ի պանակներից բացի անտեսել նաեւ &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt;-ում յաճախ հանդիպող պանակների անունները՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;tar &lt;/span&gt;czf /backup.tar.gz &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/backup.tar.gz &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/dev &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/mnt &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/var/cache &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/var/log &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/proc &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/sys &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/tmp &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/media &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/lost+found &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;node_modules &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;.jekyll-cache &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;--exclude&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;gems
    /
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Վերականգման ժամանակ կարելի ա &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;find /home -name &apos;.gitignore&apos;&lt;/code&gt;-ով գտնել անտեսուած փաթեթների հասցէները եւ ձեռքով վերատեղադրել։ Բայց սա այդքան էլ յուսալի ձեւ չէ։&lt;/p&gt;

&lt;p&gt;Կարծես rsync-ը ունի հնարաւորութիւն .gitignore-ին լսելու, բայց երբեք չեմ փորձել՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;rsync &lt;span class=&quot;nt&quot;&gt;-azP&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--delete&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--filter&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;:- .gitignore&quot;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; my-target-host:/my/target/directory
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Ինչեւէ, դեռ շարունակում եմ մտածել էս մասին ու միգուցէ աւելի լաւ տարբերակ գտնեմ։&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;թարմացում-02042023&quot;&gt;[թարմացում 02.04.2023]&lt;/h3&gt;

&lt;p&gt;Մի քիչ կարդացի rsync-ի մասին։ Հիմա օգտագործում եմ էս հրամանը՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;rsync &lt;span class=&quot;nt&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--delete&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--exclude-from&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;/backup/excludes.txt&quot;&lt;/span&gt; / /backup/full
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;excludes.txt-ում ունեմ էսպիսի ցուցակ՝&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;/backup
node_modules
/var/cache/*
/var/log/*
/dev/*
/proc/*
/sys/*
/tmp/*
/run/*
/media/*
/lost+found
&lt;/code&gt;&lt;/pre&gt;
</description>
        <pubDate>2023-02-14T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/մտքեր-backup-ի-մասին/</guid>
        
          
           <category>backup</category>
          
           <category>linux</category>
          
           <category>մտքեր</category>
          
        
      </item>
    
      
      <item>
        <title>mastodon-ի չնախատեսուած յարմարեցումները</title>
        <link>https://def.am/mastodon-ի-չնախատեսուած-յարմարեցումները/</link>
        <description>&lt;p&gt;mastodon-ը սկզբունքայնօրէն չի թոյլատրում յարմարեցնել որոշ կարգաւորումներ։ Դրանցից մէկը գրառման առաւելագոյն երկարութիւնը փոխելն է։ Բայց քան զի գործ ունենք բաց ելակոդով ծրագրի հետ, կարող ենք ցանկացած փոփոխութիւն անել կոդում։&lt;/p&gt;

&lt;p&gt;Նշուած ֆայլերում անհրաժեշտ է գտնել 500 թիւը եւ փոխել ըստ պահանջի՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mastodon/live/app/javascript/mastodon/features/compose/components/compose_form.js
mastodon/live/app/validators/status_length_validator.rb
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Դրանք փոխելուց յետոյ պէտք նորից շինել ծրագիրը ու վերագործարկել՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;RAILS_ENV&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;production bundle &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;rails assets:precompile
systemctl restart mastodon-web
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Միւս հարմարեցումը, որ սիրում եմ անել, ապրանքանշանը փոխելն է։ 4.0.2, 4.1.0 վարկածներում դա անում եմ ադմինիստրատորին յատկացուած &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Custom CSS&lt;/code&gt; դաշտից, գրելով՝&lt;/p&gt;

&lt;div class=&quot;language-css highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nc&quot;&gt;.logo-container&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*,&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;.column-link--logo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*,&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;.ui__header__logo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*,&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;.brand&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
 &lt;span class=&quot;nl&quot;&gt;visibility&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;hidden&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;nc&quot;&gt;.logo-container&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;.column-link--logo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;.ui__header__logo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;.brand&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;svg&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
 &lt;span class=&quot;nl&quot;&gt;background&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sx&quot;&gt;url(/ms-logo.png)&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;center&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;100%&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;no-repeat&lt;/span&gt; &lt;span class=&quot;cp&quot;&gt;!important&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ms-logo.png&lt;/code&gt;-ը նախապէս վերբեռնել եմ &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mastodon/live/public&lt;/code&gt; պանակում։&lt;/p&gt;
</description>
        <pubDate>2023-02-14T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/mastodon-ի-չնախատեսուած-յարմարեցումները/</guid>
        
          
           <category>mastodon</category>
          
        
      </item>
    
      
      <item>
        <title>ejabberd տեղադրելու մասին</title>
        <link>https://def.am/ejabberd-setup/</link>
        <description>&lt;p&gt;Մինչեւ ejabberd տեղադրելը prosody փորձեցի։ Չնայած նրան, որ prosody-ն աւելի հասարակ, փորձուած ու թեթեւ ա թուում, իրականում աւելի խառը, չդակումենտացուած ու խնդրայարոյց էր։ Իմ ամենամեծ խնդիրը եղել ա iOS-ում push notification չստանալը։ Ահագին փորփրեցի կոդը, ման եկայ մոդուլներ, բայց տէնց էլ չկարողացայ ֆիքսել։ Որոշեցի անցնել ejabberd-ի ու հասկացայ, որ ոչ միայն էդ խնդիրն ա լուծուած, այլ նաեւ մի շարք առաւելութիւններ ունի։ Դրանցից են՝ մոդերատորի էջը, պարզ ու հասկանալի կարգաւորումների ֆայլը, մի շարք պահանջուած մոդուլների լռելեան միացուած լինելը եւն։&lt;/p&gt;

&lt;p&gt;Տեղադրելու համար պէտք ա բացել հետեւեալ պորտերը՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;5222, 5223, 5269, 5443, 5280
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Նաեւ պէտք ա ունենալ այսպիսի dns կարգաւորումներ՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;example.org - XMPP-ի համար դոմեն, որի A-ռեքորդը ձեր սպասարկիչի ip-ն ա  
conference.example.org - բազմամարդ չաթի համար A-ռեքորդ նոյն ip-ով 
upload.example.org - ֆայլեր բեռնելու համար A-ռեքորդ նոյն ip-ով 
proxy.example.org - SOCKS5 պրոքսիի համար A-ռեքորդ էլի նոյն ip-ով 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Debian-ում կարելի է տեղադրել ստանդարտ փաթեթների կառավարիչով`&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;ejabberd
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Էս կոդն էլ տերմինալում աշխատացնելով կարելի է սերտիֆիկատներ սարքել բոլոր դոմենների համար ու պատճենը դնել անհրաժեշտ պանակում՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;DOMAIN&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;example.org

&lt;span class=&quot;nb&quot;&gt;declare&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;subdomains&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;conference.&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;proxy.&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;pubsub.&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;upload.&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;i &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;subdomains&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[@]&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do
        &lt;/span&gt;certbot &lt;span class=&quot;nt&quot;&gt;--nginx&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$i$DOMAIN&lt;/span&gt; certonly
        &lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; /etc/ejabberd/certs/&lt;span class=&quot;nv&quot;&gt;$i$DOMAIN&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;cp&lt;/span&gt; /etc/letsencrypt/live/&lt;span class=&quot;nv&quot;&gt;$i$DOMAIN&lt;/span&gt;/fullchain.pem /etc/ejabberd/certs/&lt;span class=&quot;nv&quot;&gt;$i$DOMAIN&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;cp&lt;/span&gt; /etc/letsencrypt/live/&lt;span class=&quot;nv&quot;&gt;$i$DOMAIN&lt;/span&gt;/privkey.pem /etc/ejabberd/certs/&lt;span class=&quot;nv&quot;&gt;$i$DOMAIN&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Միայն չմոռանաք փոխել &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;example.org&lt;/code&gt;-ը ու &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--nginx&lt;/code&gt;-ը ձեր կարգաւորումներին համապատասխան։ Նաեւ միգուցէ պէտք լինի սահմանել սերտիֆիկատների հասանելիութիւնը՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;chown&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-R&lt;/span&gt; ejabberd:ejabberd /etc/ejabberd/certs
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Ես նախընտրեցի տուեալները պահել PostgeSQL-ում ու դրա համար տեղադրեցի այն՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;postgresql
systemctl start postgresql
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Յետոյ տեղադրեցի գործիք, որով ejabberd-ը կպնում ա PostgeSQL-ին՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;erlang-p1-pgsql
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;ejabberd-ը աւտոմատ չի սարքում բազայի մոդելը, դրա համար պէտք ա անել հետեւեալ քայլերը՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;su &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;createuser --pwprompt ejabberd&quot;&lt;/span&gt; postgres
su &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;psql -c &apos;CREATE DATABASE ejabberd OWNER ejabberd&apos; &quot;&lt;/span&gt; postgres
su &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;curl -s https://raw.githubusercontent.com/processone/ejabberd/master/sql/pg.sql | psql postgresql://ejabberd:psql_password@localhost:5432/ejabberd&quot;&lt;/span&gt; postgres
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;psql_password&lt;/code&gt;-ի տեղը գրելով նախորդ քայլում ստեղծած ծածկագիրը։&lt;/p&gt;

&lt;p&gt;Իսկ վերջում էս ամէնը պէտք ա նշենք ejabberd-ի կարգաւորումներում, որը գտնոււոմ ա &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/ejabberd/ejabberd.yml&lt;/code&gt;-ում՝&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;###&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;###              ejabberd configuration file&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;###&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### The parameters used in this configuration file are explained at&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;###&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;###       https://docs.ejabberd.im/admin/configuration&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;###&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### The configuration file is written in YAML.&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### *******************************************************&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### *******           !!! WARNING !!!               *******&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### *******     YAML IS INDENTATION SENSITIVE       *******&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### ******* MAKE SURE YOU INDENT SECTIONS CORRECTLY *******&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### *******************************************************&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;### Refer to http://en.wikipedia.org/wiki/YAML for the brief description.&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;###&lt;/span&gt;


&lt;span class=&quot;c1&quot;&gt;# loglevel: Verbosity of log files generated by ejabberd&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;loglevel&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;info&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# rotation: Disable ejabberd&apos;s internal log rotation, as the Debian package&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# uses logrotate(8).&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;log_rotate_count&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;


&lt;span class=&quot;na&quot;&gt;default_db&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;sql&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;sql_type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;pgsql&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;sql_server&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;localhost&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;sql_database&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;ejabberd&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;sql_username&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;ejabberd&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;sql_password&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;YOUR_PASSWORD&quot;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;hosts&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;example.org&quot;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;certfiles&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;/etc/ejabberd/certs/*/*.pem&quot;&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# TLS configuration&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;define_macro&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_CIPHERS&apos;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;HIGH:!aNULL:!eNULL:!3DES:@STRENGTH&quot;&lt;/span&gt;
  &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_OPTIONS&apos;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;no_sslv3&quot;&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;no_tlsv1&quot;&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;no_tlsv1_1&quot;&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;cipher_server_preference&quot;&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;no_compression&quot;&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# &apos;DH_FILE&apos;: &quot;/path/to/dhparams.pem&quot;&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# generated with: openssl dhparam -out dhparams.pem 2048&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;c2s_ciphers&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_CIPHERS&apos;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;s2s_ciphers&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_CIPHERS&apos;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;c2s_protocol_options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_OPTIONS&apos;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;s2s_protocol_options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_OPTIONS&apos;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# c2s_dhfile: &apos;DH_FILE&apos;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# s2s_dhfile: &apos;DH_FILE&apos;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;listen&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5222&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;::&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_c2s&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;max_stanza_size&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;262144&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;shaper&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;c2s_shaper&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;c2s&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;starttls_required&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;protocol_options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_OPTIONS&apos;&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5223&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;::&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_c2s&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;max_stanza_size&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;262144&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;shaper&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;c2s_shaper&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;c2s&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;tls&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;protocol_options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_OPTIONS&apos;&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5269&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;::&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_s2s_in&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;max_stanza_size&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;524288&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5443&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;::&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_http&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;tls&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;protocol_options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_OPTIONS&apos;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;request_handlers&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;/api&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;mod_http_api&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;/bosh&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;mod_bosh&lt;/span&gt;
      &lt;span class=&quot;c1&quot;&gt;## /captcha: ejabberd_captcha&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;/upload&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;mod_http_upload&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;/ws&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_http_ws&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5280&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;::&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_http&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;tls&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;protocol_options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;TLS_OPTIONS&apos;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;request_handlers&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;/admin&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_web_admin&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;/.well-known/acme-challenge&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_acme&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;# -&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   port: 3478&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   ip: &quot;::&quot;&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   transport: udp&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   module: ejabberd_stun&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   use_turn: true&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;## The server&apos;s public IPv4 address:&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# turn_ipv4_address: &quot;203.0.113.3&quot;&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;## The server&apos;s public IPv6 address:&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# turn_ipv6_address: &quot;2001:db8::3&quot;&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;# -&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   port: 1883&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   ip: &quot;::&quot;&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   module: mod_mqtt&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;#   backlog: 1000&lt;/span&gt;


&lt;span class=&quot;c1&quot;&gt;## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;## password storage (see auth_password_format option).&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;disable_sasl_mechanisms&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;digest-md5&quot;&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;X-OAUTH2&quot;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;s2s_use_starttls&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;required&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;## Store the plain passwords or hashed for SCRAM:&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;auth_password_format&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;scram&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;## Full path to a script that generates the image.&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;## captcha_cmd: &quot;/usr/share/ejabberd/captcha.sh&quot;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;acl&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;admin&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
     &lt;span class=&quot;na&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
       &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;admin&quot;&lt;/span&gt;

  &lt;span class=&quot;na&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;user_regexp&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;loopback&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;127.0.0.0/8&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;::1/128&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;access_rules&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;local&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;c2s&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;deny&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;blocked&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;all&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;announce&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;configure&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;muc_create&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;local&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;pubsub_createnode&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;local&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;trusted_network&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;loopback&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;api_permissions&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;commands&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;from&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;ejabberd_ctl&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;who&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;all&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;what&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;*&quot;&lt;/span&gt;
&lt;span class=&quot;err&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;access&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;who&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;access&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;acl&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;loopback&lt;/span&gt;
          &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;acl&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;oauth&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;scope&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;ejabberd:admin&quot;&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;access&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;acl&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;loopback&lt;/span&gt;
            &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;acl&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;what&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;*&quot;&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;!stop&quot;&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;!start&quot;&lt;/span&gt;
&lt;span class=&quot;err&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;commands&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;who&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;ip&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;127.0.0.1/8&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;what&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;status&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;connected_users_number&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;shaper&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;rate&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;3000&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;burst_size&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;20000&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;fast&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;200000&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;shaper_rules&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;max_user_sessions&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;10&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;max_user_offline_messages&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;all&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;c2s_shaper&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;all&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;s2s_shaper&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;fast&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;modules&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_adhoc&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_admin_extra&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_announce&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;announce&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_avatar&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_blocking&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_bosh&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_caps&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_carboncopy&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_client_state&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_configure&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;## mod_delegation: {}   # for xep0356&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_disco&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_fail2ban&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_http_api&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_http_upload&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;put_url&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;https://@HOST@:5443/upload&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;custom_headers&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Access-Control-Allow-Origin&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;https://@HOST@&quot;&lt;/span&gt;
      &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Access-Control-Allow-Methods&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;GET,HEAD,PUT,OPTIONS&quot;&lt;/span&gt;
      &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Access-Control-Allow-Headers&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Content-Type&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_last&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_mam&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## Mnesia is limited to 2GB, better to use an SQL backend&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## For small servers SQLite is a good fit and is very easy&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## to configure. Uncomment this when you have SQL configured:&lt;/span&gt;
     &lt;span class=&quot;na&quot;&gt;db_type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;sql&lt;/span&gt;
     &lt;span class=&quot;na&quot;&gt;assume_mam_usage&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
     &lt;span class=&quot;na&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;always&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_mqtt&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_muc&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;host&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;conference.example.org&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;allow&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access_admin&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;admin&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access_create&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;muc_create&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access_persistent&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;muc_create&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access_mam&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;allow&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;default_room_options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;mam&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_muc_admin&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_offline&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access_max_user_messages&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;max_user_offline_messages&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_ping&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_pres_counter&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;60&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_privacy&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_private&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;## mod_proxy65:&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   access: local&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   max_connections: 5&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_pubsub&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;access_createnode&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;pubsub_createnode&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;plugins&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;flat&lt;/span&gt;
      &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;pep&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;force_node_config&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;eu.siacs.conversations.axolotl.*&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;access_model&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;open&lt;/span&gt;
      &lt;span class=&quot;c1&quot;&gt;## Avoid buggy clients to make their bookmarks public&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;storage:bookmarks&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;access_model&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;whitelist&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_push&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_push_keepalive&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;## mod_register:&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## Only accept registration requests from the &quot;trusted&quot;&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## network (see access_rules section above).&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## Think twice before enabling registration from any&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## address. See the Jabber SPAM Manifesto for details:&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ## https://github.com/ge0rg/jabber-spam-fighting-manifesto&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;##   ip_access: trusted_network&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_roster&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;versioning&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_s2s_dialback&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_shared_roster&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_sic&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_stream_mgmt&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;resend_on_timeout&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;if_offline&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_stun_disco&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_vcard&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;search&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;false&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_vcard_xupdate&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mod_version&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;ու վերագործարկել յաւելուածը՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;systemctl restart ejabberd
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Եթե ամէն ինչ հարթ ընթանայ, ապա &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;su -c &quot;ejabberdctl register admin example.org password&quot; ejabberd&lt;/code&gt;-ով արդէն կարող էք ստեղծել ձեր առաջին օգտատիրոջը, իսկ յետոյ կառաւարել ամէնը &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;http://example.org:5280/admin&lt;/code&gt; հասցէից։&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Օգտուել եմ հետեւեալ կայքերից՝&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://wiki.denshi.org/hypha/server/ejabberd&quot;&gt;https://wiki.denshi.org/hypha/server/ejabberd&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.ejabberd.im&quot;&gt;https://www.ejabberd.im&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>2023-02-14T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/ejabberd-setup/</guid>
        
          
           <category>linux</category>
          
           <category>xmpp</category>
          
           <category>jabber</category>
          
        
      </item>
    
      
      <item>
        <title>macos-ում nano-ով հայատառ գրելու մասին</title>
        <link>https://def.am/macos-nano-հայերէն/</link>
        <description>&lt;p&gt;Միշտ մտածել եմ, որ nano-ն յունիքոդ չի կարդում, բայց պարզեուց խնդիրը Մակօսից ա։ Շփոթեցնողն էն էր, որ նոյնիսկ ssh-ով սերուերում բացած nano-ն չէր նկարում հայերէն տառերը։ Թուում էր ուրիշ միջավայր ա, կապ չունի ՕՀ-իդ հետ, բայց արի ու տես՝ ունի։&lt;/p&gt;

&lt;p&gt;Մակօսի տերմինալում &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;locale&lt;/code&gt; հրամանը աշխատեցնելիս էս երկու փոփոխականները դատարկ էին գալիս՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;LANG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;LC_ALL&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.zprofile&lt;/code&gt;-ում աւելացրի՝&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;LC_ALL&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;en_US.UTF-8
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;LANG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;en_US.UTF-8
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Յետոյ համակարգից դուրս եկայ նորից մտայ ու nano-ն սկսեց նկարել յունիքոդ սիմուոլները։ Թե ինչի էին դատարկ դրանց արժէքները տէնց էլ չիմացայ։&lt;/p&gt;
</description>
        <pubDate>2023-02-13T00:00:00+04:00</pubDate>
        <guid isPermaLink="true">https://def.am/macos-nano-հայերէն/</guid>
        
          
           <category>macos</category>
          
           <category>nano</category>
          
           <category>հայերէն</category>
          
        
      </item>
    
  </channel>
</rss>
