Maran

Բաց ելակետային կոդով հոսթինգի վահանակ

Հոսթինգի վահանակ, որը root-ը պահում է իր մոտ

Կայքեր, PHP-ի տարբերակներ, SSL, տվյալների բազաներ, ֆայլերի փոխանցում, պահուստավորում և firewall՝ բրաուզերից, առանձին կաբինետով յուրաքանչյուր հաճախորդի համար և API-ով, որը վարում է ձեր բիլինգի համակարգը։

curl -sSL https://get.maran.innovayse.com | bash

Մեկ հրաման մաքուր սերվերի վրա։ Բոլոր ստուգումներն անցնում են մինչև որևէ բան փոխվելը։

Վահանակը՝ գծանկար, ոչ թե սքրինշոթ՝ հաշիվներ, կայքեր և աուդիտի մատյան մեկ սերվերի վրա։

Մեկ root գործընթաց

Վահանակն աշխատում է առանց արտոնությունների։ Root-ը պահում է Rust-ով գրված փոքր դեմոն, և նրա պայմանագրում չկա գործողություն, որը կգործարկի իրեն փոխանցված ծրագիր։

Ոչ մի shell-տող

Դոմենը ստուգվում է որպես դոմեն, ոչ թե պաշտպանվում է հրամանի տողում։ Այնտեղ տողի փոխադրման նիշ չկա, որ ավարտի մեկ դիրեկտիվը և սկսի մյուսը։

Իրական Linux օգտվողներ

Յուրաքանչյուր հաշիվ համակարգային օգտվող է՝ իր տնային պանակով, իր php-fpm լողավազանով իր uid-ի տակ և իր քվոտայով։

Պատրաստ բիլինգի համար

Provisioning API-ն ստեղծում, կասեցնում և ջնջում է հաշիվներ, այնպես որ բիլինգը վարում է հոսթինգը առանց մարդու միջամտության։

Ինչ է կառավարում

Կայքեր և PHP

Ստատիկ, PHP և reverse-proxy կայքեր՝ դոմենային կեղծանուններով։ Գործակալը ստուգում է յուրաքանչյուր գեներացված vhost հենց վեբ-սերվերով և հետ է գլորում, եթե վերբեռնումը մերժվի։

SSL, որն ինքն է նորացվում

ACME՝ HTTP-01 ստուգմամբ, սեփական վկայագրերի վերբեռնում, նորացում ժամկետից երեսուն օր առաջ, և բանալիներ root-ի պահոցում՝ տնային պանակներից դուրս։

Բազաներ և ֆայլերի փոխանցում

Մեկ բազա և սահմանափակ օգտվող յուրաքանչյուր հաշվի համար, chroot-ված SFTP՝ հաշվի իսկական uid-ով, սակագնային սահմաններ երկուսի վրա էլ։

Պատճեններ և firewall

Ֆայլերի և բազաների պահուստային պատճեններ՝ մեկ առ մեկ վերականգնվող, կառավարվող firewall և սերվերի վիճակի մոնիտորինգ։

Աուդիտի մատյան

Միայն ավելացվող՝ յուրաքանչյուր մուտք և յուրաքանչյուր փոփոխություն, էկրանով, որը բացվում է միայն ադմինիստրատորների համար։

Ստորագրված, հետշրջելի թարմացումներ

Թարմացումները ստորագրված են, բազայի պատճենն արվում է նախքան որևէ բան փոխարինելը, և հետ են գլորվում մեկ հրամանով։

Դատարկ սերվերից մինչև հոսթինգի հաշիվ

  1. Տեղադրել

    Մեկ հրաման մաքուր սերվերի վրա։ Նախնական ստուգումը նայում է դիստրիբուտիվը, հիշողությունը, սկավառակը և պորտերը և հայտնում է բոլոր խնդիրները միանգամից, ոչ թե մեկական։

  2. Բացել միանվագ հղումը

    Տեղադրիչը տպում է հղում, որը ստեղծում է առաջին ադմինիստրատորին։ Ուրիշ ոչինչ դա չի կարող ստեղծել, և հղումը սպառվում է օգտագործման պահին։

  3. Ստեղծել հաշիվ

    Հաշիվը հոսթի վրա ստեղծվում է որպես իրական Linux օգտվող՝ իր տնով, լողավազանով և քվոտայով, և ապա նրա կաբինետը տրվում է հաճախորդին։

Երեք գործընթաց, և root-ը պատկանում է մեկին

Այս բաժանումը արտադրանքի գլխավոր նախագծային որոշումն է։ Այս էջի մնացած ամեն ինչ բխում է դրանից։

  1. maran-api

    Ինքը վահանակը

    Աշխատում է
    ոչ արտոնյալ համակարգային օգտվողի
    Պահում է
    ամբողջ բիզնես-տրամաբանությունը և բազայի միակ միացումը
    ապա
  2. maran-agent

    Միակ գործընթացը root-ով

    Աշխատում է
    root-ի
    Պահում է
    ոչինչ — առանց վիճակի, առանց բազայի, առանց սեփական կարգավորման

    root-ով

    ապա
  3. PostgreSQL

    Վահանակի տվյալները

    Աշխատում է
    սեփական օգտվողի
    Պահում է
    հաշիվներ, կայքեր, աուդիտի մատյան — unix-սոկետի վրա, առանց TCP պորտի

Վահանակը գործակալից խնդրում է անվանված գործողություններ՝ տիպավորված և ստուգված արգումենտներով։ Չկա գործողություն, որը գործարկում է փոխանցված ծրագիրը, և նրանց միջև ոչ մի տեղ shell-տող չկա — ուստի այն, ինչ կարելի է ստիպել անել root գործընթացին, վերջավոր է, գրված և ստուգելի։

Աշխատում է այնտեղ, որտեղ արդեն աշխատում են ձեր սերվերները

Մեկ հրաման մաքուր սերվերի վրա՝ այս համակարգերից ցանկացածով, x86_64 կամ aarch64 ճարտարապետությամբ։

Տեսնել պահանջները
  • Ubuntu

    22.04 · 24.04 LTS

  • Debian

    12 · 13

  • AlmaLinux

    9 · 10

  • Rocky Linux

    9 · 10

Այս ցուցակից դուրս համակարգը տեղադրիչը մերժում է, ոչ թե գուշակում․ այն գիտի յուրաքանչյուր աջակցվող ընտանիքի փաթեթների դասավորությունն ու ծառայությունների անունները։ Արտադրական տեղադրումը նատիվ է, Docker-ն օգտագործվում է միայն մշակման ժամանակ։

Որտեղ է այն այսօր

Ակտիվ մշակման մեջ՝ դեպի առաջին ֆունկցիոնալ թողարկումը։ Ստորև՝ ինչ կա և ինչ՝ ոչ։

Կառուցված է և աշխատում է

  • Հաշիվներ՝ իրական Linux օգտվողներ, քվոտաներով, կասեցումով և ջնջումով, որոնք հասնում են հոսթին
  • Կայքեր՝ ստատիկ, PHP և reverse-proxy, ստուգված կարգավորմամբ և ձախողման դեպքում հետգլորմամբ
  • PHP-ի մի քանի տարբերակ միաժամանակ՝ մեկ լողավազան հաշվի և տարբերակի համար
  • SSL՝ ACME-ով, նորացում ժամկետից երեսուն օր առաջ, բանալիներ տնային պանակներից դուրս
  • Տվյալների բազաներ և SFTP մուտքեր՝ սակագնային սահմաններով և միանվագ գաղտնաբառերով
  • Պահուստային պատճեններ, կառավարվող firewall, մոնիտորինգ և միայն ավելացվող աուդիտի մատյան

Դեռ չկա

  • Դեռ չկա բազաների վեբ-կառավարիչ և բրաուզերի ֆայլային կառավարիչ
  • Վկայագրերը միայն HTTP-01-ով են — wildcard-ները կգան DNS-ի կառավարման հետ
  • Փոստը, DNS-ը, ռեսելլերային հաշիվները և մի քանի սերվերի կառավարումը՝ առաջին թողարկումից հետո

Բաց ելակետային կոդ, որը մնում է ձերը

Maran-ը հրապարակվում է Business Source License 1.1-ով՝ Innovayse LLC-ի կողմից, և 2030 թվականի օգոստոսի 29-ին անցնում է Apache 2.0-ի։ Ամսաթիվը գրված է հենց արտոնագրում, ոչ թե խոստացված։

  • Տեղադրեք և հյուրընկալեք ձեր սեփական հաճախորդներին, արտադրական միջավայրում, անվճար
  • Կարդացեք, փոփոխեք և ներդրում ունեցեք — կոդը բաց է, հեղինակային իրավունքը մնում է ներդրողին
  • Չի կարելի հենց Maran-ը երրորդ կողմերին առաջարկել որպես կառավարվող վահանակի ծառայություն
  • Չի կարելի վերավաճառել կամ վերաարտոնագրել այն որպես ձեր սեփական առևտրային արտադրանք

Անվտանգ է կառուցվածքով, ոչ թե խոստումով

Կոդի չորս հատկություն՝ յուրաքանչյուրը կա՛մ ճիշտ է, կա՛մ ոչ, և յուրաքանչյուրը ստուգվում է կարդալով։

  • Ոչ մի shell-տող

    Դոմենը ստուգվում է որպես դոմեն՝ տառեր, թվեր, գծիկներ, կետեր, և ոչ թե պաշտպանվում հրամանի տողում։ Այնտեղ տողի փոխադրման նիշ չկա, որ ավարտի մեկ դիրեկտիվը և սկսի մյուսը։

  • Կարգավորումը ստուգում է ինքը սերվերը

    Յուրաքանչյուր գրառում գեներացվում է, ատոմային կերպով վերանվանվում տեղում և ստուգվում հենց ծառայության կողմից։ Եթե ստուգումը կամ վերբեռնումը մերժել է, ֆայլը հետ է գլորվում։

  • Գործակալը ստուգում է, թե ով է հարցնում

    Գործընկերոջ հավաստագրերը կարդացվում են սոկետից մինչև գործողությունը դիտարկելը, ուստի դեմոնը գիտի, թե որ գործընթացն է մյուս ծայրում։

  • Ուրիշի տողը պատասխանում է 404

    Ուրիշի ռեսուրսի հարցումը ստանում է «չի գտնվել», ոչ թե «արգելված է» — սխալը երբեք չի հաստատում, որ տողը գոյություն ունի։

Ում համար է այն ստեղծված

Բազմավարձակալությունը արտադրանքում է առաջին թողարկումից, ոչ թե ավելացված է հետո, և դա երևում է նրանից, թե ում է այն սազում։

  • Հոսթինգի ընկերություններին

    Կաբինետ յուրաքանչյուր հաճախորդի համար, սակագներ, որոնք սահմանափակում են հաշիվը, և provisioning API, որով բիլինգը հաշիվներ է ստեղծում առանց մարդու։

  • Գործակալություններին և ստուդիաներին

    Հաճախորդների կայքերը մեկ սերվերի վրա, յուրաքանչյուրը՝ իր Linux օգտվողը՝ իր քվոտայով և PHP-ի տարբերակով, և աուդիտի մատյան, որը պատասխանում է՝ ով ինչ է փոխել։

  • Մեկ սերվերին, մեկ տիրոջը

    Այն ամենը, ինչ պետք է մեկ մեքենային՝ տեղադրում մեկ հրամանով, թարմացումներ ստորագրված փաթեթներով և հետգլորում ևս մեկ հրամանով։

Ինչ նոր կա

Վերջին թողարկումը և վերջինը գրվածը այն մասին, թե ինչպես է այս ամենը կառուցված։

Ինչ են հարցնում առաջին հերթին

Կարճ պատասխանները։ Մնացածը՝ հարցերի էջում։

Ինչ է Maran-ը?
Վեբ-հոսթինգի կառավարման վահանակ Linux սերվերների համար։ Տեղադրում եք սերվերի վրա և բրաուզերից կառավարում եք կայքերը, PHP-ի տարբերակները, SSL վկայագրերը, բազաները, ֆայլերը, պահուստային պատճեններն ու firewall-ը՝ առանձին կաբինետով յուրաքանչյուր հաճախորդի համար և API-ով, որը վարում է բիլինգի համակարգը։
Անվճա՞ր է
Վահանակը բաց է Business Source License 1.1-ով և անվճար է սեփական տեղադրման համար, այդ թվում՝ ձեր վճարող հաճախորդներին հյուրընկալելու համար։ Արտոնագիրն արգելում է այլ բան՝ հենց Maran-ը որպես կառավարվող վահանակի ծառայություն առաջարկելը կամ այն որպես ձեր արտադրանք վերավաճառելը։ Առևտրային մոդուլները տարածվում են առանձին և պահանջում են բանալի․ գները դեռ հրապարակված չեն։
Կարո՞ղ եմ օգտագործել այն իմ հոսթինգի բիզնեսում
Այո։ Սեփական հաճախորդներին հյուրընկալելը ուղղակիորեն թույլատրված է արտոնագրով, իսկ բազմավարձակալությունը արտադրանքում է առաջին թողարկումից, ոչ թե ավելացված է հետո։
Որ դիստրիբուտիվներն են աջակցվում
Ubuntu 22.04 և 24.04 LTS, Debian 12 և 13, AlmaLinux 9 և 10, Rocky Linux 9 և 10՝ x86_64 և aarch64 վրա։ Այս ցուցակից դուրս համակարգը տեղադրիչը մերժում է, փոխանակ գուշակի նրա փաթեթների դասավորությունը։

Կարդացեք, թե ինչպես է այն կառուցված, նախքան root-ը վստահելը

Ճարտարապետությունը, վահանակի և գործակալի պայմանագիրը և այն, ինչ տեղադրիչն անում է սերվերի հետ՝ գրված, ոչ թե վերապատմված։

Բացել փաստաթղթերը