Måter å integrere med 1C

Hva er de viktigste kravene til forretningsapplikasjoner? Noen av de mest sentrale inkluderer følgende oppgaver:

  • Letthet i å endre/tilpasse applikasjonens logikk til skiftende forretningsbehov.
  • Letthet i integrasjon med andre applikasjoner.

Hvordan den første oppgaven løses i 1C, ble kort beskrevet i seksjonen «Tilpasning og støtte»; this articlevi vil komme tilbake til dette interessante emnet i en av fremtidige artikler. I dag skal vi snakke om den andre oppgaven, integrasjon.

Integrasjonsoppgaver

Integrasjonsoppgavene kan være forskjellige. For å løse enkelte oppgaver er det tilstrekkelig med en enkel interaktiv datautveksling – for eksempel for å sende en liste over ansatte til banken for utstedelse av lønnskort. For mer komplekse oppgaver kan det være nødvendig med en helt automatisert datautveksling, muligens med henvisning til forretningslogikken i det eksterne systemet. Det finnes også spesialiserte oppgaver, som integrasjon med eksternt utstyr (for eksempel betalingssystemer, mobile skannere osv.) eller med arvet eller spesialiserte systemer (for eksempel RFID-lesesystemer). Det er avgjørende å velge den mest hensiktsmessige integrasjonsmekanismen for hver oppgave.

Integrasjonsmuligheter med 1C

Det finnes ulike tilnærminger til å implementere integrasjon med 1C-applikasjoner, hvilken som velges avhenger av kravene til oppgaven.

  1. Implementering basert på integrasjonsmekanismer, levert av plattformen, eller sitt eget spesialiserte API på siden av 1C-applikasjonen (for eksempel en serie Web- eller HTTP-tjenester som vil bli kalt av tredjepartsapplikasjoner for datautveksling med 1C-applikasjonen). Fordelen med denne tilnærmingen er robustheten til API-et mot endringer i implementeringen på siden av 1C-applikasjonen. En særtrekk ved tilnærmingen er at det kreves endringer i kildekoden til den typiske løsningen i 1C, noe som potensielt kan kreve innsats ved sammenslåing av kildekodene når man går over til en ny konfigurasjonsversjon. I dette tilfellet kan ny progresiv funksjonalitet komme til hjelp – konfigurasjonsutvidelser. Utvidelser er i essensen en plugin-mekanisme som gjør det mulig å lage tillegg til applikasjonsløsninger uten å endre selve applikasjonsløsningene. Å flytte integrasjons-API-en til konfigurasjonsutvidelsen vil unngå komplikasjoner ved sammenslåing av konfigurasjoner når man går over til en ny versjon av standardløsningen.
  2. Bruken av integrasjonsmekanismer fra plattformen som gir ekstern tilgang til objektmodellen i applikasjonen uten at det kreves endringer i applikasjonen eller opprettelse av utvidelser. Fordelen med denne tilnærmingen er at man ikke trenger å endre 1C-applikasjonen. Ulempen er at hvis 1C-applikasjonen har blitt modifisert, kan det være nødvendig med tilpasninger i den integrerte applikasjonen. Et eksempel på en slik tilnærming er bruk av OData-protokollen for integrasjonen, implementert på 1C:Enterprise-plattformen (mer om det nedenfor).
  3. Bruk av ferdige applikasjonsprotokoller implementert i standardløsninger fra 1C. Mange standardløsninger fra 1C og partnere implementerer sine egne applikasjonsprotokoller basert på integrasjonsmekanismene som tilbys av plattformen, og disse er rettet mot spesifikke oppgaver. Når man bruker disse mekanismene, er det ikke nødvendig å skrive kode på 1C-applikasjonssiden, da vi benytter de innebygde mulighetene til applikasjonsløsningen. På 1C-applikasjonen må vi bare utføre visse innstillinger.

Integrasjonsmekanismer i 1C:Enterprise-plattformen

Import/eksport av filer

La oss anta at vi står overfor oppgaven med toveiskommunikasjon mellom 1C-applikasjonen og en vilkårlig applikasjon. For eksempel trenger vi å synkronisere produktlisten (Oppslagsord Nomenklatur) mellom 1C-applikasjonen og en vilkårlig applikasjon.

Måter å integrere med 1C
For å løse denne oppgaven kan vi skrive en utvidelse som eksporterer oppslagsord Nomenklatur til en fil i et bestemt format (tekst, XML, JSON, …) og kan lese dette formatet.

Plattformen har implementert en mekanisme for serialisering av applikasjonsobjekter til XML både direkte, gjennom metodene i global kontekst SkriveXML/LeseXML, og ved hjelp av et hjelpeobjekt XDTO (XML Data Transfer Objects).

Ethvert objekt i 1C:Enterprise-systemet kan bli serialisert til XML-representasjon og omvendt.

Denne funksjonen vil returnere objektets representasjon i form av XML:

Функция Объект_В_XML(Объект)
    ЗаписьXML = Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
    ЗаписатьXML(ЗаписьXML, Объект);
    Возврат ЗаписьXML.Закрыть();
КонецФункции

так будет выглядеть экспорт справочника Номенклатура в XML при помощи XDTO:

&НаСервере
Процедура ЭкспортXMLНаСервере()	
	НовыйСериализаторXDTO  = СериализаторXDTO;
	НоваяЗаписьXML = Новый ЗаписьXML();
	НоваяЗаписьXML.ОткрытьФайл("C:DataНоменклатура.xml", "UTF-8");
	
	НоваяЗаписьXML.ЗаписатьОбъявлениеXML();
	НоваяЗаписьXML.ЗаписатьНачалоЭлемента("СправочникНоменклатура");
	
	Выборка = Справочники.Номенклатура.Выбрать();
	
	Пока Выборка.Следующий() Цикл 
		ОбъектНоменклатура = Выборка.ПолучитьОбъект();
		НовыйСериализаторXDTO.ЗаписатьXML(НоваяЗаписьXML, ОбъектНоменклатура, НазначениеТипаXML.Явное);
	КонецЦикла;
	
	НоваяЗаписьXML.ЗаписатьКонецЭлемента();
	НоваяЗаписьXML.Закрыть();	
КонецПроцедуры

Путем несложной переделки кода экспортируем справочник в JSON. Товары будут записаны в массив; для разнообразия приведем англоязычный вариант синтаксиса:

&AtServer
Procedure ExportJSONOnServer()
	NewXDTOSerializer  = XDTOSerializer;
	NewJSONWriter = New JSONWriter();
	NewJSONWriter.OpenFile("C:DataНоменклатура.json", "UTF-8");
	
	NewJSONWriter.WriteStartObject();
	NewJSONWriter.WritePropertyName("СправочникНоменклатура");
	NewJSONWriter.WriteStartArray();
	
	Selection = Catalogs.Номенклатура.Select();	
	
	While Selection.Next() Do 
		NomenclatureObject = Selection.GetObject();
		
		NewJSONWriter.WriteStartObject();
		
		NewJSONWriter.WritePropertyName("Номенклатура");
		NewXDTOSerializer.WriteJSON(NewJSONWriter, NomenclatureObject, XMLTypeAssignment.Implicit);
		
		NewJSONWriter.WriteEndObject();
	EndDo;
	
	NewJSONWriter.WriteEndArray();
	NewJSONWriter.WriteEndObject();
	NewJSONWriter.Close();	
EndProcedure

Далее останется только передать данные конечному потребителю. Платформа 1С:Предприятие поддерживает основные интернет-протоколы HTTP, FTP, POP3, SMTP, IMAP, включая их безопасные версии. Также для передачи данных можно использовать HTTP и/или Web-сервисы.

HTTP- и веб-сервисы

Måter å integrere med 1C

Приложения 1С могут реализовывать свои HTTP- и веб-сервисы, а также вызывать HTTP- и веб-сервисы, реализованные сторонними приложениями.

REST интерфейс и протокол OData

Начиная с версии 8.3.5 платформа 1С:Предприятие может автоматически формировать REST интерфейс для всего прикладного решения. Любой объект конфигурации (справочник, документ, регистр сведений и т.д.) можно сделать доступным для получения и модификации данных через REST интерфейс. В качестве протокола доступа платформа использует протокол OData versjon 3.0. Publisering av OData-tjenester utføres fra menyen i Konfiguratoren «Administrasjon -> Publisering på webserver», avmerkingsboksen «Publiser standard OData-grensesnitt» må være merket. Atom/XML og JSON-formater støttes. Etter at den applikative løsningen er publisert på webserveren, kan tredjepartssystemer få tilgang til den via REST-grensesnittet ved hjelp av HTTP-forespørsel. For å arbeide med 1C-applikasjonen via OData-protokollen kreves det ingen programmering på 1C-siden.

Dermed vil en URL som http:////odata/standard.odata/Catalog_Nomenklatura returnere innholdet i katalogen Nomenklatura i XML-format — en samling elementer entry (meldingshodet utelatt for kortfattethet):

http://server/Config/odata/standard.odata/Catalog_Nomenkatura(guid'35d1f6e4-289b-11e6-8ba4-e03f49b16074')
	
	
	2016-06-06T16:42:17
	
	<summary />
	
	
		
			35d1f6e4-289b-11e6-8ba4-e03f49b16074
			AAAAAgAAAAA=
			false
			000000001
			Airconditioner Mitsubishi
			Effekt 2,5 kW, driftsmoduser: varme/kulde
		
	


	http://server/Config/odata/standard.odata/Catalog_Nomenkatura(guid'35d1f6e5-289b-11e6-8ba4-e03f49b16074')
	
...
</code></pre><p> Ved å legge til strengen «?$format=application/json» til URL-en, får vi innholdet i katalogen Nomenklatura i JSON-format (en URL som <u>http:////odata/standard.odata/Catalog_Nomenkatura?$format=application/json</u> ):</p><pre><code>{
"odata.metadata": "http://server/Config/odata/standard.odata/$metadata#Catalog_Nomenkatura",
"value": [{
"Ref_Key": "35d1f6e4-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAgAAAAA=",
"DeletionMark": false,
"Code": "000000001",
"Description": "Airconditioner Mitsubishi",
"Beskrivelse": "Effekt 2,5 kW, driftsmoduser: varme/kulde"
},{
"Ref_Key": "35d1f6e5-289b-11e6-8ba4-e03f49b16074",
"DataVersion": "AAAAAwAAAAA=",
"DeletionMark": false,
"Code": "000000002",
"Description": "Airconditioner Daikin",
"Beskrivelse": "Effekt 3 kW, driftsmoduser: varme/kulde"
}, …
</code></pre><p></p><h4>Eksterne datakilder</h4><p> <img class=lazy decoding=async alt="Måter å integrere med 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20436%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/1663b53846f3a6a8a03f386f1f6cd311.jpeg style="display:block;margin: 0 auto;" width=600 height=436><br> I noen tilfeller skjer datautveksling via <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000795.htm>eksterne datakilder</a></noindex> kan vise seg å være en optimal løsning. Eksterne datakilder er et applikasjonsobjekt for 1C-konfigurasjon som gjør det mulig å samhandle med enhver ODBC-kompatibel database både for lesing og skriving. Eksterne datakilder er tilgjengelige både på Windows og Linux.</p><h4>Datadeling mekanisme</h4><p> <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000269.htm>Datadeling mekanisme</a></noindex> er ment for å både lage territorielt distribuerte systemer basert på 1C:Enterprise og for å organisere datadeling med andre informasjonssystemer som ikke er basert på 1C:Enterprise.</p><p>Denne mekanismen brukes aktivt i implementeringene av 1C, og spekteret av oppgaver som løses med den er ganske bredt. Det inkluderer datadeling mellom 1C-applikasjoner installert i filialene til organisasjonen, samt deling mellom en 1C-applikasjon og nettbutikkens nettsted, og datadeling mellom serverapplikasjonen i 1C og den mobile klienten (laget med den mobile plattformen for 1C:Enterprise), og mye mer.</p><p>Et av nøkkelbegrepene i datadeling mekanismen er utvekslingsplanen. Utvekslingsplanen er en spesiell type objekt i 1C-plattformen som definerer, blant annet, hvilket datainnhold som skal delta i utvekslingen (hvilke spesifikke referanser, dokumenter, registre osv.). Utvekslingsplanen inneholder også informasjon om deltakerne i utvekslingen (de såkalte utvekslingsnodene).<br> Den andre komponenten i datadeling mekanismen er mekanismen for registrering av endringer. Denne mekanismen sporer automatisk endringer i systemet som må overføres til sluttbrukere i samsvar med utvekslingsplanen. Med denne mekanismen overvåker plattformen endringer som har skjedd siden forrige synkronisering, og gjør det mulig å minimere størrelsen på dataene som overføres i løpet av neste synkroniseringsøkt.</p><p>Data exchange occurs through XML messages of a specific structure. The message contains data that has changed since the last synchronization with the node, along with certain service information. The structure of messages supports message numbering and allows for receiving confirmations from the receiving node regarding the acceptance of messages. Such a confirmation is contained in each message coming from the receiving node, in the form of the number of the last accepted message. The message numbering allows the platform to understand which data has already been successfully transmitted to the receiving node and to avoid retransmission, sending only the data that has changed since the sender node received the last message with the receipt of data received by the receiving node. This scheme ensures guaranteed delivery even in unreliable transmission channels and in the event of message loss.</p><h4>External components</h4><p> In certain cases, when addressing integration tasks, one may encounter specific requirements, such as interaction protocols, data formats not accounted for in the 1C:Enterprise platform. For this kind of tasks, the platform provides for <noindex><a rel=nofollow href=http://v8.1c.ru/overview/Term_000000545.htm>the technology of external components</a></noindex>, which allows for the creation of dynamically connectable modules that expand the functionality of 1C:Enterprise.</p><p>A typical example of a task with such requirements could be the integration of the 1C application solution with trading equipment, ranging from scales to cash registers and barcode scanners. External components can be connected both on the server side of 1C:Enterprise and on the client side (including, but not limited to, the web client, as well as <noindex><a rel=nofollow href=https://wonderland.v8.1c.ru/blog/vneshnie-komponenty-v-mobilnom-prilozhenii/ >the next version of the mobile platform</a></noindex> 1C:Enterprise). The technology of external components provides a relatively simple and understandable programming (C++) interface for interaction between the component and the 1C:Enterprise platform, which must be implemented by the developer.</p><p>The possibilities opened up by using external components are quite broad. Interaction can be implemented via specific data exchange protocols with external devices and systems, specific data processing algorithms and formats can be integrated, and so on.</p><h4>Utdaterte integrasjonsmekanismer</h4><p> Plattformen tilbyr integrasjonsmekanismer som ikke anbefales for bruk i nye løsninger; de er bevart av hensyn til bakoverkompatibilitet, samt i tilfelle den andre siden ikke kan arbeide med mer moderne protokoller. En av dem er arbeidet med filer i DBF-format (støttes i innebygd språk ved hjelp av objektet XBase).</p><p>En annen utdaterte integrasjonsmekanisme er bruken av COM-teknologi (tilgjengelig bare på Windows-plattformen). 1C:Enterprise-plattformen gir to integrasjonsmetoder for Windows som bruker COM-teknologi: Automation-server og Eksternt tilkobling. De ligner mye på hverandre, men en av de viktigste forskjellene er at i tilfelle av Automation-server kjøres et fullt klientprogram for 1C:Enterprise 8, mens i tilfelle av eksternt tilkobling kjøres en relativt liten intra-prosess COM-server. Det vil si at ved å bruke Automation-server kan man bruke funksjonaliteten til klientprogrammet og utføre handlinger som ligner interaktive handlinger fra brukeren. Ved å bruke eksternt tilkobling kan man bare bruke funksjoner for forretningslogikk, som kan utføres både på klientsiden av forbindelsen, hvor den intra-prosess COM-serveren opprettes, og ved å kalle forretningslogikk på 1C:Enterprise-serveren.</p><p>COM-teknologien kan også brukes til å kontakte eksterne systemer fra koden til applikasjonen på 1C:Enterprise-plattformen. I dette tilfellet fungerte 1C-applikasjonen som COM-klient. Men det bør huskes at disse mekanismene kun vil fungere hvis 1C-serveren opererer i Windows-miljøet.</p><h3>Integrasjonsmekanismer implementert i standardkonfigurasjoner</h3><p></p><h4>EnterpriseData-format</h4><p> <img class=lazy decoding=async alt="Måter å integrere med 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20311%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/8930091e53309b9b808a719b747a6226.jpeg style="display:block;margin: 0 auto;" width=600 height=311><br> I flere 1C-konfigurasjoner (listen nedenfor) er det implementert en klar mekanisme for datasutveksling med eksterne applikasjoner, basert på den beskrevne plattformens datadeling, og som ikke krever endring av kildeteksten til konfigurasjonene (forberedelse til datautveksling skjer i innstillingene til de applikative løsningene):</p><ul> <li>«1C:ERP Ledelse av virksomheten 2.0» </li> <li>«Kompleks automatisering 2» </li> <li>«Bokføringen til virksomheten», revisjon 3.0 </li> <li>«Bokføring av virksomheten KORP», revisjon 3.0 </li> <li>«Detaljhandel», revisjon 2.0 </li> <li>«Basis for Trade Management», edition 11 </li> <li>«Trade Management», edition 11</li> <li>«Payroll and Personnel Management CORP», edition 3</li></ul><p> The data exchange uses the format <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_app/enterprisedata/ >EnterpriseData</a></noindex>, based on XML. The format is business-oriented—the data structures described correspond to business entities (documents and directory elements) represented in 1C programs, for example: act of completed work, incoming cash order, counterparty, nomenclature, etc.</p><p>Data exchange between the 1C application and a third-party application can occur:</p><ul> <li>through a dedicated file directory </li> <li>through an FTP directory </li> <li>through a web service deployed on the 1C application side. The file with data is passed as a parameter of the web methods</li> <li>through email</li></ul><p> In the case of exchange via a web service, the third-party application will initiate the data exchange session by calling the corresponding web methods of the 1C application. In other cases, the initiator of the exchange session will be the 1C application (by placing the data file in the corresponding directory or sending the data file to the configured email address).<br> Also, on the 1C side, the frequency of synchronization will be configured (for options with file exchange via directory and email):</p><ul> <li>according to a schedule (with a specified frequency) </li> <li>manually; the user will have to manually start the synchronization each time it is needed</li></ul><p></p><h5>Acknowledgment of messages</h5><p> 1C applications keep track of the sent and received synchronization messages and expect the same from third-party applications. This allows for the use of the message numbering mechanism described above in the section 'Data Exchange Mechanism.'</p><p>1C-applikasjoner overfører under synkronisering kun informasjon om endringer som har skjedd med forretningsenhetene siden forrige synkronisering (for å minimere mengden data som overføres). Ved første synkronisering vil 1C-applikasjonen eksportere alle forretningsenheter (for eksempel elementer fra nomenklaturregisteret) i formatet EnterpriseData til en XML-fil (siden alle er "nye" for den eksterne applikasjonen). Den eksterne applikasjonen må behandle informasjonen fra den mottatte XML-filen fra 1C og ved neste synkronisering plassere en spesialseksjon i XML-filen sendt til 1C, med informasjon om at meldingen fra 1C med et bestemt nummer er mottatt. Bekreftelsen på meldingen fungerer som et signal for 1C-applikasjonen om at alle forretningsenhetene er behandlet av den eksterne applikasjonen, og informasjon om dem trenger ikke å overføres mer. I tillegg til bekreftelsen kan XML-filen fra den eksterne applikasjonen også inneholde data for synkronisering fra applikasjonens side (for eksempel dokumenter for salg av varer og tjenester).</p><p>Etter å ha mottatt bekreftelsesmeldingen vil 1C-applikasjonen merke alle endringer sendt i forrige melding som vellykket synkronisert. Bare usynkroniserte endringer i forretningsenheter (opprettelse av nye enheter, endringer og sletting av eksisterende) vil bli sendt til den eksterne applikasjonen ved neste synkronisering.</p><p><img class=lazy decoding=async alt="Måter å integrere med 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/b0d5509a53909e38886a15c2e03e7131.jpeg style="display:block;margin: 0 auto;" width=600 height=381><br> Når data overføres fra den eksterne applikasjonen til 1C-applikasjonen, skjer det en omvendt prosess. Den eksterne applikasjonen må fylle ut bekreftelsesseksjonen i XML-filen på passende måte og plassere forretningsdata for synkronisering fra sin side i formatet EnterpriseData.</p><p><img class=lazy decoding=async alt="Måter å integrere med 1C" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20381%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/2019/08/d34b96efb7591770133b363b369c0019.jpeg style="display:block;margin: 0 auto;" width=600 height=381></p><h5>Forenklet datadelingsprosess uten bekreftelse</h5><p> For enkle integrasjons scenarier der det kun er nødvendig å overføre informasjon fra den eksterne applikasjonen til 1C-applikasjonen, og det ikke er behov for å sende data tilbake fra 1C-applikasjonen til den eksterne applikasjonen (for eksempel integrering av en nettbutikk som sender salgsinformasjon til "1C:Regnskap"), er det en forenklet variant for drift via webtjeneste (uten bekreftelse) som ikke krever oppsett på 1C-applikasjonen.</p><h4>Spesialiserte integrasjonsløsninger</h4><p> Det finnes en standard løsning «1C:Datakonvertering», som bruker plattformens mekanismer for konvertering og datadeling mellom standardkonfigurasjoner av 1C, men den kan også brukes for integrasjon med tredjepartsapplikasjoner.</p><h5>Integrasjon med bankløsninger</h5><p> Standard <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/100/index.htm>«Klientbank»</a></noindex>, utviklet av spesialister i 1C for over 10 år siden, har i praksis blitt industristandarden i Russland. Neste skritt i denne retningen er teknologien <noindex><a rel=nofollow href=http://directbank.1c.ru/ >DirectBank</a></noindex>, som gjør det mulig å sende betalingsdokumenter til banken og motta kontoutskrifter direkte fra programmet «1C:Entreprise» med et enkelt klikk i «1C»; dette krever ikke installasjon og oppstart av ekstra programmer på klientdatamaskinen.</p><p>Det finnes også <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/109/ >standarder for datadeling i lønnprosjekter</a></noindex>.</p><h5>Annet</h5><p> Det er verdt å nevne <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/131/ >protokollen for utveksling mellom systemet 1C:Enterprise og nettstedet</a></noindex>, standarden for utveksling av kommersiell informasjon <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/90/ >CommerceML</a></noindex> (utviklet i samarbeid med Microsoft, Intel, Price.ru og andre selskaper), <noindex><a rel=nofollow href=http://v8.1c.ru/edi/edi_stnd/111/ >standarden for datadeling ved kortbetalingstransaksjoner</a></noindex>.<br> <br>Kilde: <a content=nofollow rel=nofollow href=https://habr.com/ru/company/1c/blog/308420/ >habr.com</a></p></div></article><div style="width: 100%; text-align: center; margin: 0; padding: 31px 0 0 0;"> <a href=https://prohoster.info/no/vps/ > <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20700%2086%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp data-srcset="        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22-350.webp 350w,        https://prohoster.info/wp-content/uploads/2025/10/photo_2025-10-27_14-51-22.webp 1280w" data-sizes="(max-width: 768px) 90vw, 700px" alt="ProHoster VPS - Rimelige og pålitelige VPS-servere med full root-tilgang" title="ProHoster VPS - Rimelige og pålitelige VPS-servere med full root-tilgang" style="display: inline-block; height: auto; max-width: 100%;" width=700 height=86> </a></div></div><nav class="navigation post-navigation" aria-label=Innlegg data-no-translation-aria-label><h2 class="screen-reader-text" data-no-translation="" data-trp-gettext="">Innleggsnavigering</h2><div class=nav-links><div class=nav-previous><a href=https://prohoster.info/no/blog/administrirovanie/lte-kak-simvol-nezavisimosti rel=prev>LTE som et symbol på uavhengighet</a></div><div class=nav-next><a href=https://prohoster.info/no/blog/administrirovanie/podnimaem-server-1s-s-publikatsiej-bazy-i-veb-servisov-na-linux rel=next>Setter opp 1C-server med publisering av databaser og webtjenester på Linux</a></div></div></nav></main></div></div></div><footer id=colophon class=site-footer><div class=container><div class="row between-sm"><div class="col-md-3 col-xs-12"><div id=nav_menu-9 class="widget widget_nav_menu"><h3 class="widget-title">Våre tjenester</h3><div class=menu-menyu-v-futere-v-vidzhete-1-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-1-russkij-1 class=menu><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121326"><a href=https://prohoster.info/no/hosting/unlim-khosting>Ubegrenset webhotell</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-172"><a href=https://prohoster.info/no/zhashchita-ot-ddos>Beskyttelse mot DDoS-angrep</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-169"><a href=https://prohoster.info/no/hosting/constructor>Nettsidebygger</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175"><a href=https://prohoster.info/no/control-panel>Kontrollpanel</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173"><a href=https://prohoster.info/no/domain>Domeneregistrering</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-108824"><a href=https://prohoster.info/no/ssl-sertifikat>SSL-sertifikater</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-123573"><a href=https://prohoster.info/no/vpn>VPN</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-170"><a href=https://prohoster.info/no/vps/ssd-vps>VPS, VDS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171"><a href=https://prohoster.info/no/vps/abuzoustojchivye-vps>Windows VPS</a></li></ul></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-10 class="widget widget_nav_menu"><h3 class="widget-title">Informasjon</h3><div class=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale-container><ul id=menu-menyu-v-futere-v-vidzhete-2-russkij-vtoroe-menyu-v-podvale class=menu><li id=menu-item-153465 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153465"><a href=https://prohoster.info/no/kompaniya/partnerstvo>Partnerskap</a></li> <li id=menu-item-153466 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153466"><a href=https://prohoster.info/no/bonus-partner>Bonuser fra partnere</a></li> <li id=menu-item-153467 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153467"><a href="https://billing.prohoster.info/knowledgebase?language=english">Kunnskapsbase</a></li> <li id=menu-item-153468 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153468"><a href=https://prohoster.info/no/kompaniya>Om selskapet</a></li> <li id=menu-item-153471 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153471"><a href=https://prohoster.info/no/kompaniya/terms-of-service>Vilkår for tjenestelevering</a></li> <li id=menu-item-153469 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-153469"><a href=https://prohoster.info/no/kompaniya/privacy-policy>Personvernerklæring</a></li> <li id=menu-item-153470 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153470"><a href=https://prohoster.info/no/kompaniya/terms-of-service/#refund>Returpolicy</a></li> <li id=menu-item-155022 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-155022"><a href=https://prohoster.info/no/kompaniya/data-centers>Datasentre</a></li> <li id=menu-item-154840 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-154840"><a href=https://prohoster.info/no/kompaniya/service-level-agreement>SLA</a></li> <li id=menu-item-155009 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-155009"><a href="https://billing.prohoster.info/submitticket.php?step=2&deptid=1&language=english">Rapporter Misbruk</a></li> <li id=menu-item-183801 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-183801"><a href=https://status.prohoster.info>Nettstatus</a></li></ul></div></div></div><div class="col-md-3 col-sm-6 col-xs-12"><div id=nav_menu-11 class="widget widget_nav_menu"><h3 class="widget-title">Støtte</h3><div class=menu-menyu-v-futere-v-vidzhete-3-russkij-container><ul id=menu-menyu-v-futere-v-vidzhete-3-russkij class=menu><li id=menu-item-188 class="menu-btn-billing menu-item menu-item-type-custom menu-item-object-custom menu-item-188"><a rel=nofollow href=https://billing.prohoster.info/login>Faktureringspanel</a></li> <li id=menu-item-189 class="menu-btn-mail menu-item menu-item-type-custom menu-item-object-custom menu-item-189"><a rel=nofollow href=mailto:support@prohoster.info>support@prohoster.info</a></li> <li id=menu-item-108822 class="menu-btn-location menu-item menu-item-type-custom menu-item-object-custom menu-item-108822"><a rel=nofollow href=#>IT WEB LTD (Reg. No. 2088463) Intershore Chambers, Road Town, Tortola, P.O. Box 4342, BVI</a></li> <li id=menu-item-183620 class="menu-btn-location menu-item menu-item-type-custom menu-item-object-custom menu-item-183620"><a rel=nofollow href=#>Operations NL: Tulpenstraat 6, Meppel, Netherlands</a></li></ul></div></div><div id=custom_html-19 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:340px;margin:0
auto}.awards-wrapper
img{width:105px;height:105px;object-fit:contain}</style><div class=awards-wrapper> <a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/great-uptime.png alt="ProHoster Anmeldelser"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2021-top-10-shared-hosting.png alt="ProHoster Anmeldelser"> </a><div class=sf-root data-id=3473357 data-badge=most-loved data-variant-id=tbs style="width:125px;transform: scale(1.15);"> <a href=https://topbusinesssoftware.com/products/ProHoster/reviews/ target=_blank>ProHoster Anmeldelser</a></div> <script>(function(){var sc=document.createElement('script');sc.async=true;sc.src='https://b.sf-syn.com/badge_js?sf_id=3473357&variant_id=tbs';var p=document.getElementsByTagName('script')[0];p.parentNode.insertBefore(sc,p);})();</script> <a href=https://sourceforge.net/software/product/ProHoster/ target=_blank rel="noopener nofollow"> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src="https://b.sf-syn.com/badge_img/3473357/heart-badge-white?variant_id=sf&f=png" alt="ProHoster Anmeldelser"> </a></div></div></div></div><div class="col-md-3 col-xs-12"><div id=custom_html-4 class="widget_text widget widget_custom_html"><h3 class="widget-title">Vi aksepterer</h3><div class="textwidget custom-html-widget"><style>.image-row{display:flex;flex-wrap:wrap;justify-content:space-between}.image-row
a{width:18%}.image-row
img{width:100%;height:auto}</style><div class=image-row> <a href=https://www.visa.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Vi aksepterer Visa" src=/wp-content/uploads/payment-logos/visa.svg alt=visa1> </a> <a href=https://www.mastercard.com/index.html rel=nofollow> <img style="width: 55px; height: 35px;" title="Vi aksepterer MasterCard" src=/wp-content/uploads/payment-logos/mastercard.svg alt=master2> </a> <a href=https://pay.google.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Vi aksepterer GPay" src=/wp-content/uploads/payment-logos/google-pay.svg alt=GPay> </a> <a href=https://apple.com rel=nofollow> <img style="width: 55px; height: 35px;" title="Vi aksepterer Apple Pay" src=/wp-content/uploads/payment-logos/apple-pay.svg alt="Apple Pay"> </a> <a href=# rel=nofollow> <img style="width: 55px; height: 35px;" class=alignnone title="Vi aksepterer Crypto" src=https://prohoster.info/wp-content/uploads/payment-logos/crypto.svg alt="Krypto betaling"> </a></div></div></div><div id=custom_html-25 class="widget_text widget widget_custom_html"><h3 class="widget-title">Bli med oss</h3><div class="textwidget custom-html-widget"><div class=social-links> <a href=https://www.youtube.com/@prohoster_info target=_blank rel=nofollow aria-label=YouTube> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/youtube-icon.webp alt=YouTube title="Vi er på YouTube"> </a> <a href=https://www.facebook.com/prohoster/ target=_blank rel=nofollow aria-label=Facebook> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/facebook-icon.webp alt=Facebook title="Vi er på Facebook"> </a> <a href=https://t.me/prohoster_news target=_blank rel=nofollow aria-label=Telegram> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/telegram-icon.webp alt=Telegram title="Vi er på Telegram"> </a> <a href=https://www.tiktok.com/@prohoster.info target=_blank rel=nofollow aria-label=tiktok> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/social/tiktok1-icon.webp alt=tiktok title="Vi er på tiktok"> </a></div><style>.social-links{display:grid;grid-template-columns:repeat(4, 1fr);gap:15px 10px;justify-items:center;max-width:300px;margin:0
auto}.social-links
img{width:28px;height:28px;object-fit:contain;transition:transform 0.2s ease}.social-links img:hover{transform:scale(1.15)}</style></div></div><div id=custom_html-20 class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><style>.awards-wrapper-2{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:240px;margin:0
auto}.awards-wrapper-2
img{width:105px;height:auto;object-fit:contain}</style><div class=awards-wrapper-2 style="    margin-top: 107px;"> <a href=https://ru.hostings.info/prohoster.html target=_blank rel=nofollow> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://ru.hostings.info/informers/cache/730-11-blue.png alt="Kundeanmeldelser på Hostings.info" title="Kundeanmeldelser - åpnes i nytt vindu"> </a><a href=https://hostadvice.com/hosting-company/prohoster-reviews/ rel=nofollow target=_blank> <img class=lazy src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3C%2Fsvg%3E data-src=https://hostadvice.com/awards/2022-top25-dedicated-hosting.png alt="ProHoster Anmeldelser"> </a></div></div></div><div id=block-2 class="widget widget_block widget_text"><p class=wp-block-paragraph></p></div></div></div></div><div class=site-info><div class=container><div class=row><div class="col-md-12 text-center-xs"><div class="textwidget custom-html-widget"><a href="https://apps.db.ripe.net/db-web-ui/lookup?source=ripe&key=ORG-IWL5-RIPE&type=organisation" target=_blank rel=nofollow> <img class=" lazy" src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2088%2031%22%3E%3C%2Fsvg%3E data-src=/wp-content/uploads/ripe-ncc-m-w.png alt=ripe-ncc-m-w width=88 height=31> </a></div><div class="textwidget custom-html-widget"><style>.submi-container{width:100%;margin:0
auto;box-sizing:border-box;overflow:hidden}@media (min-width: 768px){.submi-container{max-width:50%}}@media (max-width: 767px){.submi-container{max-width:100%}}[data-submi-badges], [data-submi-badges] *{max-width:100% !important;box-sizing:border-box !important}</style><div style="content-visibility:auto; contain-intrinsic-size:auto 400px; width: 100%; overflow: hidden;"><div class=submi-container data-submi-badges=bk_R8PRdHn3TQFt-vxA data-submi-size=small data-submi-layout=scroll> … 99 kataloglenker …</div></div> <script>(function(){var box=document.querySelector('[data-submi-badges]');if(!box)return;function fix(){box.querySelectorAll('a').forEach(function(a){if(a.getAttribute('rel')!=='nofollow noopener')a.setAttribute('rel','nofollow noopener');});box.querySelectorAll('img:not([loading])').forEach(function(img){img.loading='lazy';img.decoding='async';});}
var loaded=false;function load(){if(loaded)return;loaded=true;var s=document.createElement('script');s.src='https://app.submi.io/b/bk_R8PRdHn3TQFt-vxA/js';s.async=true;s.onload=function(){fix();var mo=new MutationObserver(fix);mo.observe(box,{childList:true,subtree:true});setTimeout(function(){mo.disconnect();},5000);};document.head.appendChild(s);}
if('IntersectionObserver'in window){var io=new IntersectionObserver(function(entries){if(entries[0].isIntersecting){io.disconnect();load();}},{rootMargin:'300px'});io.observe(box);}else{window.addEventListener('load',load);}})();</script></div>	© 2014 - 2026<span class=sep> | </span>All rettigheter reservert.</div></div></div></div></footer></div><template id=tp-language data-tp-language=nn_NO></template><script type=speculationrules>{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/no/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/universal55x5old/*","/no/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <style>.ph2-tt-wrap{position:relative;display:inline-block;cursor:help}.ph2-tt-wrap .ph2-tt-box{display:none !important;position:absolute !important;bottom:125%;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:8px
10px;border-radius:4px;font-size:12px;line-height:1.4;width:240px;z-index:999;text-align:left;white-space:normal;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ph2-tt-wrap:hover .ph2-tt-box,
.ph2-tt-wrap.ph2-active .ph2-tt-box{display:block !important}.has-percent::after{content:"%"}</style> <script>document.addEventListener('click',function(e){document.querySelectorAll('.ph2-tt-wrap.ph2-active').forEach(function(el){if(!el.contains(e.target))el.classList.remove('ph2-active');});var wrap=e.target.closest('.ph2-tt-wrap');if(wrap){e.preventDefault();wrap.classList.toggle('ph2-active');}});</script> <div class=trp_model_container id=trp_ald_modal_container style="display: none; --trp-ald-popup-overlay: #00000080; --trp-ald-popup-bg: #ffffff; --trp-ald-popup-text: #143852; --trp-ald-popup-border: #1438521A; --trp-ald-popup-border-width: 1px; --trp-ald-popup-radius: 4px; --trp-ald-popup-button-bg: #143852; --trp-ald-popup-button-border: #143852; --trp-ald-popup-button-hover-bg: #0f2a3d; --trp-ald-popup-button-text: #ffffff; --trp-ald-popup-button-hover-text: #ffffff; --trp-ald-popup-button-radius: 3px; --trp-ald-popup-close: #143852; --trp-ald-switcher-bg: #ffffff; --trp-ald-switcher-bg-hover: #143852; --trp-ald-switcher-text: #143852; --trp-ald-switcher-text-hover: #ffffff; --trp-ald-switcher-border: #14385233; --trp-ald-switcher-border-width: 1px; --trp-ald-switcher-radius: 5px; --trp-ald-switcher-flag-radius: 2px; --trp-ald-switcher-flag-height: 12px; --trp-ald-switcher-flag-aspect-ratio: 4/3;" data-no-dynamic-translation data-no-translation><div class="trp_ald_modal trp-ald-custom-popup trp-ald-animate trp-ald-animation-fade" id=trp_ald_modal_popup><div id=trp_ald_popup_text> Detetámos que pode estar a falar um idioma diferente. Quer mudar para:</div><div class=trp_ald_select_and_button><div class=trp_ald_ls_container><div class=trp-shortcode-switcher__wrapper role=group data-open-mode=hover><div class="trp-language-switcher trp-language-switcher-container trp-ls-dropdown trp-shortcode-switcher trp-shortcode-anchor trp-open-on-hover trp-ald-language-selector" aria-hidden=true inert data-no-translation><div class=trp-current-language-item__wrapper><div class="trp-ls-shortcode-current-language trp-language-item trp-language-item__default trp-language-item__current"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ru_RU.svg class="trp-flag-image lazy" alt="Change language to Russian" decoding=async width=18 height=14> Russian</div> <svg class=trp-shortcode-arrow width=20 height=20 viewbox="0 0 20 21" fill=none xmlns=http://www.w3.org/2000/svg aria-hidden=true focusable=false> <path d="M5 8L10 13L15 8" stroke=var(--text) stroke-width=2 stroke-linecap=round stroke-linejoin=round /> </svg></div></div><div class="trp-language-switcher trp-language-switcher-container trp-ls-dropdown trp-shortcode-switcher trp-shortcode-overlay trp-open-on-hover trp-ald-language-selector"  id=trp_ald_popup_select_container role=navigation aria-label="Website language selector" data-no-translation><div class=trp-current-language-item__wrapper><div class="trp-ls-shortcode-current-language trp-language-item trp-language-item__default trp-language-item__current" role=button tabindex=0 aria-expanded=false aria-label="Change language" aria-controls=trp_ald_popup_language_list special-selector=trp_ald_popup_current_language data-trp-ald-selected-language= "ru_RU"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ru_RU.svg class="trp-flag-image lazy" alt="Change language to Russian" decoding=async width=18 height=14> Russian</div> <svg class=trp-shortcode-arrow width=20 height=20 viewbox="0 0 20 21" fill=none xmlns=http://www.w3.org/2000/svg aria-hidden=true focusable=false> <path d="M5 8L10 13L15 8" stroke=var(--text) stroke-width=2 stroke-linecap=round stroke-linejoin=round /> </svg></div><div class="trp-ls-shortcode-language trp-switcher-dropdown-list" id=trp_ald_popup_language_list role=listbox aria-label="Available languages" hidden inert><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=ru_RU role=option tabindex=0 aria-selected=true data-trp-ald-selected-language=ru_RU> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ru_RU.svg class="trp-flag-image lazy" alt="Change language to Russian" decoding=async width=18 height=14> Russian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=it_IT role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "it_IT"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg class="trp-flag-image lazy" alt="Change language to Italian" decoding=async width=18 height=14> Italian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=de_DE role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "de_DE"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg class="trp-flag-image lazy" alt="Change language to German" decoding=async width=18 height=14> German</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=pl_PL role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "pl_PL"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg class="trp-flag-image lazy" alt="Change language to Polish" decoding=async width=18 height=14> Polish</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=et role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "et"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg class="trp-flag-image lazy" alt="Change language to Estonian" decoding=async width=18 height=14> Estonian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sq role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "sq"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sq.svg class="trp-flag-image lazy" alt="Change language to Albanian" decoding=async width=18 height=14> Albanian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=bg_BG role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "bg_BG"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg class="trp-flag-image lazy" alt="Change language to Bulgarian" decoding=async width=18 height=14> Bulgarian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=hr role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "hr"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hr.svg class="trp-flag-image lazy" alt="Change language to Croatian" decoding=async width=18 height=14> Croatian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=cs_CZ role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "cs_CZ"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg class="trp-flag-image lazy" alt="Change language to Czech" decoding=async width=18 height=14> Czech</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=da_DK role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "da_DK"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg class="trp-flag-image lazy" alt="Change language to Danish" decoding=async width=18 height=14> Danish</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=nl_NL role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "nl_NL"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/nl_NL.svg class="trp-flag-image lazy" alt="Change language to Dutch" decoding=async width=18 height=14> Dutch</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=en_US role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "en_US"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_US.svg class="trp-flag-image lazy" alt="Change language to English" decoding=async width=18 height=14> English</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=fr_FR role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "fr_FR"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg class="trp-flag-image lazy" alt="Change language to French" decoding=async width=18 height=14> French</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=hu_HU role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "hu_HU"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg class="trp-flag-image lazy" alt="Change language to Hungarian" decoding=async width=18 height=14> Hungarian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=lv role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "lv"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/lv.svg class="trp-flag-image lazy" alt="Change language to Latvian" decoding=async width=18 height=14> Latvian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=nn_NO role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "nn_NO"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/nn_NO.svg class="trp-flag-image lazy" alt role=presentation decoding=async width=18 height=14> Norwegian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=pt_PT role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "pt_PT"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg class="trp-flag-image lazy" alt="Change language to Portuguese" decoding=async width=18 height=14> Portuguese</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=ro_RO role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "ro_RO"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ro_RO.svg class="trp-flag-image lazy" alt="Change language to Romanian" decoding=async width=18 height=14> Romanian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sk_SK role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "sk_SK"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sk_SK.svg class="trp-flag-image lazy" alt="Change language to Slovak" decoding=async width=18 height=14> Slovak</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sl_SI role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "sl_SI"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sl_SI.svg class="trp-flag-image lazy" alt="Change language to Slovenian" decoding=async width=18 height=14> Slovenian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=es_ES role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "es_ES"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg class="trp-flag-image lazy" alt="Change language to Spanish" decoding=async width=18 height=14> Spanish</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sv_SE role=option tabindex=0 aria-selected=false data-trp-ald-selected-language = "sv_SE"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sv_SE.svg class="trp-flag-image lazy" alt="Change language to Swedish" decoding=async width=18 height=14> Swedish</div></div></div></div></div><div class=trp_ald_button> <a href=https://prohoster.info id=trp_ald_popup_change_language> Mudar idioma </a></div></div> <a id=trp_ald_x_button_and_textarea href=#> <span id=trp_ald_x_button title="Fechar e não mudar de idioma"></span> <span id=trp_ald_x_button_textarea title="Fechar e não mudar de idioma"> Fechar e não mudar de idioma </span> </a></div></div> <template id=trp_ald_no_text_popup_template><div id=trp_no_text_popup_wrap class="trp-ald-animate trp-ald-animation-fade" style="--trp-ald-popup-overlay: #00000080; --trp-ald-popup-bg: #ffffff; --trp-ald-popup-text: #143852; --trp-ald-popup-border: #1438521A; --trp-ald-popup-border-width: 1px; --trp-ald-popup-radius: 4px; --trp-ald-popup-button-bg: #143852; --trp-ald-popup-button-border: #143852; --trp-ald-popup-button-hover-bg: #0f2a3d; --trp-ald-popup-button-text: #ffffff; --trp-ald-popup-button-hover-text: #ffffff; --trp-ald-popup-button-radius: 3px; --trp-ald-popup-close: #143852; --trp-ald-switcher-bg: #ffffff; --trp-ald-switcher-bg-hover: #143852; --trp-ald-switcher-text: #143852; --trp-ald-switcher-text-hover: #ffffff; --trp-ald-switcher-border: #14385233; --trp-ald-switcher-border-width: 1px; --trp-ald-switcher-radius: 5px; --trp-ald-switcher-flag-radius: 2px; --trp-ald-switcher-flag-height: 12px; --trp-ald-switcher-flag-aspect-ratio: 4/3;"><div id=trp_no_text_popup class="trp_ald_no_text_popup trp-ald-custom-popup" data-no-dynamic-translation data-no-translation><div id=trp_ald_not_text_popup_ls_and_button><div id=trp_ald_no_text_popup_div> <span id=trp_ald_no_text_popup_text> Detetámos que pode estar a falar um idioma diferente. Quer mudar para: </span></div><div class=trp_ald_ls_container><div class=trp-shortcode-switcher__wrapper role=group data-open-mode=hover><div class="trp-language-switcher trp-language-switcher-container trp-ls-dropdown trp-shortcode-switcher trp-shortcode-anchor trp-open-on-hover trp-ald-language-selector" aria-hidden=true inert data-no-translation><div class=trp-current-language-item__wrapper><div class="trp-ls-shortcode-current-language trp-language-item trp-language-item__default trp-language-item__current"> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ru_RU.svg class="trp-flag-image lazy" alt="Change language to Russian" decoding=async width=18 height=14> Russian</div> <svg class=trp-shortcode-arrow width=20 height=20 viewbox="0 0 20 21" fill=none xmlns=http://www.w3.org/2000/svg aria-hidden=true focusable=false> <path d="M5 8L10 13L15 8" stroke=var(--text) stroke-width=2 stroke-linecap=round stroke-linejoin=round /> </svg></div></div><div class="trp-language-switcher trp-language-switcher-container trp-ls-dropdown trp-shortcode-switcher trp-shortcode-overlay trp-open-on-hover trp-ald-language-selector" id=trp_ald_no_text_select role=navigation aria-label="Website language selector" data-no-translation><div class=trp-current-language-item__wrapper><div class="trp-ls-shortcode-current-language trp-language-item trp-language-item__default trp-language-item__current" role=button tabindex=0 aria-expanded=false aria-label="Change language" aria-controls=trp_ald_no_text_popup_select_container special-selector=trp_ald_popup_current_language data-trp-ald-selected-language=ru_RU> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ru_RU.svg class="trp-flag-image lazy" alt="Change language to Russian" decoding=async width=18 height=14> Russian</div> <svg class=trp-shortcode-arrow width=20 height=20 viewbox="0 0 20 21" fill=none xmlns=http://www.w3.org/2000/svg aria-hidden=true focusable=false> <path d="M5 8L10 13L15 8" stroke=var(--text) stroke-width=2 stroke-linecap=round stroke-linejoin=round /> </svg></div><div class="trp-ls-shortcode-language trp-switcher-dropdown-list" id=trp_ald_no_text_popup_select_container role=listbox aria-label="Available languages" hidden inert><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=ru_RU role=option tabindex=0 aria-selected=true data-trp-ald-selected-language=ru_RU> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ru_RU.svg class="trp-flag-image lazy" alt="Change language to Russian" decoding=async width=18 height=14> Russian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=it_IT role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=it_IT> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg class="trp-flag-image lazy" alt="Change language to Italian" decoding=async width=18 height=14> Italian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=de_DE role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=de_DE> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg class="trp-flag-image lazy" alt="Change language to German" decoding=async width=18 height=14> German</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=pl_PL role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=pl_PL> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg class="trp-flag-image lazy" alt="Change language to Polish" decoding=async width=18 height=14> Polish</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=et role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=et> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg class="trp-flag-image lazy" alt="Change language to Estonian" decoding=async width=18 height=14> Estonian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sq role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=sq> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sq.svg class="trp-flag-image lazy" alt="Change language to Albanian" decoding=async width=18 height=14> Albanian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=bg_BG role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=bg_BG> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg class="trp-flag-image lazy" alt="Change language to Bulgarian" decoding=async width=18 height=14> Bulgarian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=hr role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=hr> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hr.svg class="trp-flag-image lazy" alt="Change language to Croatian" decoding=async width=18 height=14> Croatian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=cs_CZ role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=cs_CZ> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg class="trp-flag-image lazy" alt="Change language to Czech" decoding=async width=18 height=14> Czech</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=da_DK role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=da_DK> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg class="trp-flag-image lazy" alt="Change language to Danish" decoding=async width=18 height=14> Danish</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=nl_NL role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=nl_NL> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/nl_NL.svg class="trp-flag-image lazy" alt="Change language to Dutch" decoding=async width=18 height=14> Dutch</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=en_US role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=en_US> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_US.svg class="trp-flag-image lazy" alt="Change language to English" decoding=async width=18 height=14> English</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=fr_FR role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=fr_FR> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg class="trp-flag-image lazy" alt="Change language to French" decoding=async width=18 height=14> French</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=hu_HU role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=hu_HU> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg class="trp-flag-image lazy" alt="Change language to Hungarian" decoding=async width=18 height=14> Hungarian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=lv role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=lv> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/lv.svg class="trp-flag-image lazy" alt="Change language to Latvian" decoding=async width=18 height=14> Latvian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=nn_NO role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=nn_NO> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/nn_NO.svg class="trp-flag-image lazy" alt role=presentation decoding=async width=18 height=14> Norwegian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=pt_PT role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=pt_PT> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg class="trp-flag-image lazy" alt="Change language to Portuguese" decoding=async width=18 height=14> Portuguese</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=ro_RO role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=ro_RO> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/ro_RO.svg class="trp-flag-image lazy" alt="Change language to Romanian" decoding=async width=18 height=14> Romanian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sk_SK role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=sk_SK> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sk_SK.svg class="trp-flag-image lazy" alt="Change language to Slovak" decoding=async width=18 height=14> Slovak</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sl_SI role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=sl_SI> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sl_SI.svg class="trp-flag-image lazy" alt="Change language to Slovenian" decoding=async width=18 height=14> Slovenian</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=es_ES role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=es_ES> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg class="trp-flag-image lazy" alt="Change language to Spanish" decoding=async width=18 height=14> Spanish</div><div class="trp-ald-popup-select trp-language-item trp-dropdown-item" id=sv_SE role=option tabindex=0 aria-selected=false data-trp-ald-selected-language=sv_SE> <img src=data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2014%22%3E%3C%2Fsvg%3E data-src=https://prohoster.info/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/sv_SE.svg class="trp-flag-image lazy" alt="Change language to Swedish" decoding=async width=18 height=14> Swedish</div></div></div></div></div><div class=trp_ald_change_language_div> <a href=https://prohoster.info id=trp_ald_no_text_popup_change_language> Mudar idioma </a></div> <button type=button id=trp_ald_no_text_popup_x_button_and_textarea> <span id=trp_ald_no_text_popup_x_button aria-hidden=true></span> <span id=trp_ald_no_text_popup_x_button_textarea> Fechar e não mudar de idioma </span> </button></div><div id=trp_ald_no_text_popup_x> <button id=trp_close></button></div></div></div> </template> <script>function loadVideo(el){const videoId=el.dataset.id;const iframe=document.createElement("iframe");iframe.src=`https://www.youtube.com/embed/${videoId}?autoplay=1`;iframe.width="750";iframe.height="422";iframe.frameBorder="0";iframe.allow="autoplay; encrypted-media";iframe.allowFullscreen=true;el.innerHTML="";el.appendChild(iframe);}</script> <style>.youtube-placeholder{position:relative;width:100%;height:0;padding-bottom:56.25%;background-color:#000;cursor:pointer;overflow:hidden}.youtube-placeholder img,
.youtube-placeholder
iframe{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.youtube-placeholder .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:68px;height:48px;background:rgba(0, 0, 0, 0.6);border-radius:12px}.youtube-placeholder .play-button::before{content:'';position:absolute;left:26px;top:12px;width:0;height:0;border-left:16px solid white;border-top:10px solid transparent;border-bottom:10px solid transparent}</style> <script id=flying-scripts>const loadScriptsTimer=setTimeout(loadScripts,5000*1000);const userInteractionEvents=['click','mousemove','keydown','touchstart','touchmove','wheel'];userInteractionEvents.forEach(function(event){window.addEventListener(event,triggerScriptLoader,{passive:!0})});function triggerScriptLoader(){loadScripts();clearTimeout(loadScriptsTimer);userInteractionEvents.forEach(function(event){window.removeEventListener(event,triggerScriptLoader,{passive:!0})})}
function loadScripts(){document.querySelectorAll("script[data-type='lazy']").forEach(function(elem){elem.setAttribute("src",elem.getAttribute("data-src"))})}</script> <script id=heartbeat-js-extra>var heartbeatSettings={"ajaxurl":"/wp-admin/admin-ajax.php","interval":"15"};var dfehc_heartbeat_vars={"recommendedInterval":"19.437288028493","heartbeat_control_enabled":"1","nonce":"8dc5aebabb","ver":"1791319534","cache_bypass_rate":"0.05"};</script> <script id=heartbeat-js src="https://prohoster.info/wp-content/plugins/dynamic-front-end-heartbeat-control/js/heartbeat.min.js?ver=1.6.5"></script> <script id=gt_widget_script_86832719-js-before data-type=lazy data-src="data:text/javascript;base64,CndpbmRvdy5ndHJhbnNsYXRlU2V0dGluZ3MgPSAvKiBkb2N1bWVudC53cml0ZSAqLyB3aW5kb3cuZ3RyYW5zbGF0ZVNldHRpbmdzIHx8IHt9O3dpbmRvdy5ndHJhbnNsYXRlU2V0dGluZ3NbJzg2ODMyNzE5J10gPSB7ImRlZmF1bHRfbGFuZ3VhZ2UiOiJydSIsImxhbmd1YWdlcyI6WyJhZiIsImFtIiwiYXIiLCJoeSIsImF6IiwiYmUiLCJibiIsImJzIiwiemgtQ04iLCJ6aC1UVyIsImZpIiwia2EiLCJlbCIsIml3IiwiaXMiLCJpZCIsImphIiwia2siLCJrbyIsImt5IiwibHQiLCJtbiIsIm15IiwiZmEiLCJydSIsInN3IiwidGgiLCJ0ciIsInVrIiwidXoiLCJ2aSJdLCJ1cmxfc3RydWN0dXJlIjoic3ViX2RpcmVjdG9yeSIsImZsYWdfc3R5bGUiOiIyZCIsImZsYWdfc2l6ZSI6MjQsIndyYXBwZXJfc2VsZWN0b3IiOiIjZ3Qtd3JhcHBlci04NjgzMjcxOSIsImFsdF9mbGFncyI6W10sImN1c3RvbV9jc3MiOiIuZ3RyYW5zbGF0ZV93cmFwcGVyIC5ndF9vcHRpb24ge3Bvc2l0aW9uOiBhYnNvbHV0ZTtmbG9hdDogcmlnaHQ7fSIsImhvcml6b250YWxfcG9zaXRpb24iOiJpbmxpbmUiLCJmbGFnc19sb2NhdGlvbiI6Ilwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3RyYW5zbGF0ZVwvZmxhZ3NcLyJ9OwovLyMgc291cmNlVVJMPWd0X3dpZGdldF9zY3JpcHRfODY4MzI3MTktanMtYmVmb3JlCg=="></script><script data-no-optimize=1 data-no-minify=1 data-gt-orig-url=/no/blog/administrirovanie/sposoby-integratsii-s-1s data-gt-orig-domain=prohoster.info data-gt-widget-id=86832719 defer data-type=lazy data-src="https://prohoster.info/wp-content/plugins/gtranslate/js/popup.js?ver=5.0.2"></script><script>document.getElementById('burger').addEventListener('click',function(){document.getElementById('mainNav').classList.toggle('open');});document.querySelectorAll('.submenu-toggle').forEach(function(btn){btn.addEventListener('click',function(e){e.preventDefault();const parent=btn.closest('.has-submenu');const submenu=parent.querySelector('.submenu');const isOpen=parent.classList.toggle('open');if(isOpen){submenu.style.display='block';btn.textContent='◀';}else{submenu.style.display='none';btn.textContent='▼';}});});</script> <script>document.addEventListener("DOMContentLoaded",function(){const hamburgerBtn=document.querySelector(".gamburger-btn");const primaryMenu=document.querySelector("ul#primary-menu");if(hamburgerBtn&&primaryMenu){hamburgerBtn.addEventListener("click",function(event){event.preventDefault();this.classList.toggle("gamburger-btn_active");primaryMenu.classList.toggle("active_primary");});}
const mobileSidebar=document.getElementById("mobile_sidebar");const secondaryAside=document.querySelector("aside#secondary");if(mobileSidebar&&secondaryAside){mobileSidebar.addEventListener("click",function(){this.classList.toggle("open_mobile_sidebar");secondaryAside.classList.toggle("open_secondary");});}});</script> <script>document.addEventListener("DOMContentLoaded",function(){const masthead=document.getElementById("masthead");function toggleHeaderFixed(){const isDesktop=window.innerWidth>991;const scrollTop=window.scrollY;if(masthead){if(isDesktop){if(scrollTop>150){masthead.classList.add("header-fixed");}else{masthead.classList.remove("header-fixed");}}else{masthead.classList.remove("header-fixed");}}}
window.addEventListener("scroll",toggleHeaderFixed);window.addEventListener("resize",toggleHeaderFixed);toggleHeaderFixed();});</script> <div id=cookie-data-source style="display:none !important;"> <span class=src-text>Vi bruker informasjonskapsler <a target=_blank rel=nofollow href=https://prohoster.info/no/kompaniya/privacy-policy/#cookie>cookie</a>, for å gi deg den beste opplevelsen på nettstedet vårt. Ved å fortsette å bruke nettstedet, godtar du vår personvernpolicy.</span> <span class=src-btn>Godta</span></div> <script>(function(){const cookieName='user_cookies_accepted';if(localStorage.getItem(cookieName))return;setTimeout(function(){const dataSource=document.getElementById('cookie-data-source');if(!dataSource)return;const textContent=dataSource.querySelector('.src-text').innerHTML;const btnContent=dataSource.querySelector('.src-btn').innerText;const styles=`

            `;const styleSheet=document.createElement("style");styleSheet.innerText=styles;document.head.appendChild(styleSheet);const finalHtml=`
                <div id=cookie-banner>
                    <div class=cookie-container>
                        <div class=cookie-text>${textContent}</div>
                        <button id=accept-cookies class=cookie-btn>${btnContent}</button>
                    </div>
                </div>
            `;document.body.insertAdjacentHTML('beforeend',finalHtml);const banner=document.getElementById('cookie-banner');const btn=document.getElementById('accept-cookies');setTimeout(()=>{banner.classList.add('show');},100);btn.addEventListener('click',function(){localStorage.setItem(cookieName,'true');banner.classList.remove('show');setTimeout(()=>{banner.remove();},500);});},2000);})();</script> <div id=gt-text-source style="position:absolute; left:-9999px; top:-9999px; opacity:0;"> <span id=gt-org-desc>Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere</span> <span id=gt-page-name>🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster</span></div> <script>(function(){function injectSchemas(){if(document.getElementById('added-org-schema'))return;var orgDesc=document.getElementById('gt-org-desc').innerText;var pageName=document.getElementById('gt-page-name').innerText;var schemas=[{"@context":"https://schema.org","@type":"Organization","name":"ProHoster","legalName":"IT WEB LTD","identifier":"2088463","url":"https://prohoster.info","address":{"@type":"PostalAddress","streetAddress":"Intershore Chambers","postOfficeBoxNumber":"P.O. Box 4342","addressLocality":"Road Town","addressRegion":"Tortola","addressCountry":"VG"},"location":[{"@type":"Place","name":"ProHoster Netherlands Office / Facility","address":{"@type":"PostalAddress","streetAddress":"Tulpenstraat 6","addressLocality":"Meppel","addressCountry":"NL"}}]},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.85","reviewCount":"1297","bestRating":"5","worstRating":"1"},"sameAs":["https://hostadvice.com/hosting-company/prohoster-reviews/","https://facebook.com/prohoster","https://twitter.com/prohoster","https://www.instagram.com/prohoster.info/","https://www.tiktok.com/@prohoster.info","https://www.youtube.com/@prohoster_info","https://www.linkedin.com/company/prohoster"]},{"@context":"https://schema.org","@type":"WebPage","name":pageName,"url":window.location.href}];schemas.forEach(function(s){var script=document.createElement('script');script.type='application/ld+json';if(s.id)script.id=s.id;script.text=JSON.stringify(s);document.head.appendChild(script);});}
var checkTimer=setInterval(function(){var currentLang=document.documentElement.lang||document.querySelector('html').getAttribute('lang');var text=document.getElementById('gt-org-desc').innerText;if(!/[а-яА-Я]/.test(text)||currentLang!=='ru'){injectSchemas();clearInterval(checkTimer);}},500);setTimeout(function(){injectSchemas();clearInterval(checkTimer);},4000);})();</script> <script>function w3tc_ll_observe(ll){if(!ll||!ll.update)return;var t;new MutationObserver(function(){clearTimeout(t);t=setTimeout(function(){ll.update();},200);}).observe(document.documentElement,{childList:true,subtree:true});}window.addEventListener("LazyLoad::Initialized",function(e){setTimeout(function(){window.w3tc_lazyload=e.detail.instance;w3tc_ll_observe(window.w3tc_lazyload);},1);});window.w3tc_lazyload=1,window.lazyLoadOptions={elements_selector:".lazy",callback_loaded:function(t){var e;try{e=new CustomEvent("w3tc_lazyload_loaded",{detail:{e:t}})}catch(a){(e=document.createEvent("CustomEvent")).initCustomEvent("w3tc_lazyload_loaded",!1,!1,{e:t})}window.dispatchEvent(e)}}</script><script async src=https://prohoster.info/wp-content/plugins/w3-total-cache/pub/js/lazyload.min.js></script></body></html>