Ինչպես տեղադրել Zulip Chat սերվերը Debian 11-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Debian 11 (Bullseye)
  • Debian 9 (Stretch)

Այս էջում

  1. Նախադրյալներ
  2. Քայլ 1 - Կարգավորել Firewall-ը
  3. Քայլ 2 - Տեղադրեք Zulip-ը
  4. Քայլ 3 - Մուտք գործեք Zulip ինտերֆեյս
  5. Քայլ 4 - Ելքային էլփոստի կարգավորում
  6. Քայլ 5 - Zulip սերվերի հրամաններ
  7. Քայլ 6 - Zulip-ի արդիականացում
  8. Քայլ 7 - Կրկնօրինակեք և վերականգնեք Zulip-ը
  9. Եզրակացություն

Zulip-ը բաց կոդով չաթի սերվեր է, որը նման է Microsoft Teams-ին, Rocket Chat-ին կամ Slack-ին: Այն գրված է Python-ով և օգտագործում է Django, PostgreSQL և JavaScript: Այն ինտեգրվում է ավելի քան 90 երրորդ կողմի պլագինների հետ, ներառյալ Github, Jira, Stripe, Zendesk, Sentry և այլն: Դուք կարող եք ընդլայնել ինտեգրումները՝ դրանք միացնելով Zapier-ի և IFTTT-ի հետ: Այն գալիս է այնպիսի գործառույթներով, ինչպիսիք են անձնական հաղորդագրությունները, խմբային զրույցները, շղթայական խոսակցությունները, հատուկ ալիքները, տեսազանգերը, քաշել և թողնել ֆայլերի վերբեռնումները, հատուկ էմոջիները, Giphy-ի ինտեգրումը, պատկերների և թվիթների նախադիտումը և շատ ավելին: Zulip-ը գալիս է աշխատասեղանի և բջջային հավելվածներով յուրաքանչյուր հարթակի համար՝ այն դարձնելով ագնոստիկ հարթակը:

Այս ձեռնարկում դուք կսովորեք, թե ինչպես տեղադրել և կարգավորել Zulip Chat-ը Debian 11-ի վրա հիմնված սերվերի վրա:

Նախադրյալներ

    Debian 11-ով աշխատող սերվեր:

    Առնվազն 2 ԳԲ RAM, եթե ակնկալում եք 100-ից պակաս օգտվող: 100+ օգտվողների համար ստացեք 4 ԳԲ օպերատիվ հիշողություն և 2 պրոցեսորային սերվեր:

    Ոչ արմատային օգտատեր՝ sudo արտոնություններով:

    Դոմենի անուն, որը կազմաձևված է սերվերին մատնանշելու համար՝ zulip.example.com:

    Ամեն ինչ թարմացվում է։

    $ sudo apt update && sudo apt upgrade
    

    Մի քանի փաթեթներ, որոնք անհրաժեշտ են ձեր համակարգին:

    $ sudo apt install wget curl nano ufw software-properties-common apt-transport-https gnupg2 ca-certificates debian-archive-keyring -y
    

    Այս փաթեթներից որոշները կարող են արդեն տեղադրված լինել ձեր համակարգում:

Քայլ 1 - Կարգավորել Firewall-ը

Առաջին քայլը firewall-ի կազմաձևումն է: Debian-ը գալիս է ufw-ով (Uncomplicated Firewall):

Ստուգեք, արդյոք firewall-ը աշխատում է:

$ sudo ufw status

Դուք պետք է ստանաք հետևյալ արդյունքը.

Status: inactive

Թույլատրել SSH միացքը, որպեսզի այն միացնելուց հետո firewall-ը չխախտի ընթացիկ կապը:

$ sudo ufw allow OpenSSH

Թույլատրել նաև HTTP և HTTPS պորտերը:

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp

Միացնել Firewall-ը

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Կրկին ստուգեք firewall-ի կարգավիճակը:

$ sudo ufw status

Դուք պետք է տեսնեք նմանատիպ արդյունք:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

Քայլ 2 - Տեղադրեք Zulip-ը

Zulip-ը առաքվում է տեղադրողի սցենարով, որն անում է հետևյալը.

  1. Ստեղծում է օգտվողի zulip՝ Zulip սերվերը գործարկելու համար:
  2. Ստեղծում է տնային գրացուցակ՝ օգտագործելով zulip օգտվողը, որը պարունակում է բոլոր հանրային կոդը /home/zulip/deployments գրացուցակի տակ:
  3. Տեղադրում է բոլոր այն կախվածությունները, որոնք անհրաժեշտ են Zulip-ին:
  4. Տեղադրում է PostgreSQL տվյալների բազան, Nginx վեբ սերվերը, RabbitMQ, Redis Cache և Memcached:
  5. Նախաձեռնում է Zulip-ի տվյալների բազան:

Ստեղծեք ժամանակավոր գրացուցակ՝ օգտագործելով mktemp հրամանը՝ Zulip-ի տեղադրիչը ներբեռնելու և դրան անցնելու համար:

$ cd $(mktemp -d)

Ներբեռնեք Zulip-ի վերջին տարբերակը:

$ wget https://download.zulip.com/server/zulip-server-latest.tar.gz

Քաղեք բոլոր ֆայլերը:

$ tar -xf zulip-server-latest.tar.gz

Գործարկեք տեղադրողի սցենարը:

$ sudo ./zulip-server-*/scripts/setup/install --certbot \
    --email=YOUR_EMAIL --hostname=YOUR_HOSTNAME

--certbot դրոշը ստիպում է տեղադրողին ներբեռնել Certbot-ը և ավտոմատ տեղադրել SSL վկայագրերը: Փոխարինեք YOUR_EMAIL-ը ձեր էլփոստի ID-ով, իսկ YOUR_HOSTNAME-ը՝ Zulip-ի տիրույթի անունով (zulip.example.com):

Քայլ 3 - Մուտք գործեք Zulip ինտերֆեյս

Տեղադրիչի սկրիպտը ավարտելուց հետո ձեզ կտրվի եզակի URL: Պատճենեք այս URL-ը:

.......
zulip-workers:zulip_deliver_scheduled_messages: started
+ set +x
+ su zulip -c '/home/zulip/deployments/current/manage.py generate_realm_creation_link'
Please visit the following secure single-use link to register your

new Zulip organization:


    https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46

Ձեր դիտարկիչում այցելեք https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46 և կհայտնվի հետևյալ էկրանը:

Մուտքագրեք ձեր էլ․ հասցեն՝ ձեր կազմակերպությունը սկսելու համար։ Ձեզանից կպահանջվի ստեղծել հաշիվ հաջորդ էկրանին:

Մուտքագրեք ձեր կազմակերպության անունը և ձեր անունը և ընտրեք գաղտնաբառ մուտք գործելու համար և սեղմեք Գրանցվել կոճակը՝ շարունակելու համար:

Ավարտելուց հետո Zulip վահանակը կբացվի, և դուք կարող եք սկսել օգտագործել այն:

Քայլ 4 - Ելքային էլփոստի կարգավորում

Zulip սերվերը պետք է կանոնավոր կերպով նամակներ ուղարկի: Դրա համար դուք պետք է ստեղծեք ելքային փոստ դրա համար: Մեր օրինակի համար մենք կօգտագործենք Amazon-ի SES ծառայությունը: Բոլոր նամակներն ուղարկվում են էլփոստի ID-ից, որն օգտագործել եք 3-րդ քայլում կազմակերպությունը ստեղծելու համար:

Zulip-ը պահում է իր բոլոր կարգավորումները /etc/zulip/settings.py ֆայլում: Բացեք այն խմբագրելու համար:

$ sudo nano /etc/zulip/settings.py

Ապամեկնաբանեք հետևյալ փոփոխականները՝ հեռացնելով # դիմացից և մուտքագրելով համապատասխան արժեքները:

## EMAIL_HOST and EMAIL_HOST_USER are generally required.
EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
EMAIL_HOST_USER = 'yoursmpt_username'

## Passwords and secrets are not stored in this file.  The password
## for user EMAIL_HOST_USER goes in `/etc/zulip/zulip-secrets.conf`.
## In that file, set `email_password`.  For example:
# email_password = abcd1234

## EMAIL_USE_TLS and EMAIL_PORT are required for most SMTP providers.
EMAIL_USE_TLS = True
EMAIL_PORT = 587

Լրացրե՛ք հետևյալ լրացուցիչ փոփոխականները. Առաջինը հեռացնում է անպատասխան էլփոստի ցանկացած պատահական նշան, իսկ երկրորդը կարգավորում է առանց պատասխանի էլփոստի ուղարկողը ձեր նամակների համար:

ADD_TOKENS_TO_NOREPLY_ADDRESS = False
# TOKENIZED_NOREPLY_EMAIL_ADDRESS = "noreply-{token}@example.com"
## NOREPLY_EMAIL_ADDRESS is the sender for noreply emails that don't
## contain confirmation links (where the security problem fixed by
## ADD_TOKENS_TO_NOREPLY_ADDRESS does not exist), as well as for
## confirmation emails when ADD_TOKENS_TO_NOREPLY_ADDRESS=False.
NOREPLY_EMAIL_ADDRESS = '[email '

Ավարտելուց հետո պահեք ֆայլը՝ սեղմելով Ctrl + X և մուտքագրելով Y, երբ հուշվի:

Zulip-ը պահպանում է Էլփոստի գաղտնաբառը այլ ֆայլում: Բացեք ֆայլը /etc/zulip/zulip-secrets.conf խմբագրման համար:

$ sudo nano /etc/zulip/zulip-secrets.conf

Տեղադրեք հետևյալ տողը ֆայլի վերջում.

email_password = yoursmtp_password

Պահպանեք ֆայլը՝ սեղմելով Ctrl + X և մուտքագրելով Y, երբ հուշում է:

Ձեր ելքային էլփոստի կոնֆիգուրացիան ստուգելու համար կարող եք փորձնական նամակ ուղարկել՝ օգտագործելով հետևյալ հրամանը:

$ sudo -u zulip /home/zulip/deployments/current/manage.py send_test_email [email 
If you run into any trouble, read:

  https://zulip.readthedocs.io/en/latest/production/email.html#troubleshooting

The most common error is not setting `ADD_TOKENS_TO_NOREPLY_ADDRESS=False` when
using an email provider that doesn't support that feature.

Sending 2 test emails from:
  * [email 
  * [email 

Successfully sent 2 emails to [email 

Վերագործարկեք սերվերը:

$ sudo -u zulip /home/zulip/deployments/current/scripts/restart-server

Ուշադրություն դարձրեք, որ դուք կարող եք սկսել կամ դադարեցնել Zulip սերվերը միայն որպես zulip օգտվող:

Քայլ 5 - Zulip սերվերի հրամաններ

Zulip սերվերը դադարեցնելու համար օգտագործեք հետևյալ հրամանը.

$ sudo -u zulip /home/zulip/deployments/current/scripts/stop-server

Սերվերը նորից գործարկելու համար օգտագործեք հետևյալ հրամանը.

$ sudo -u zulip /home/zulip/deployments/current/scripts/start-server

Վերագործարկեք սերվերը նույն ձևով:

$ sudo -u zulip /home/zulip/deployments/current/scripts/restart-server

Կան բազմաթիվ կառավարման առաջադրանքներ, որոնց կարող եք հասնել՝ օգտագործելով Zulip-ով առաքված manage.py սկրիպտը:

Դուք կարող եք գործարկել սցենարը՝ օգտագործելով հետևյալ հրամանը. Մենք կօգտագործենք help ենթահրամանը՝ թվարկելու բոլոր հնարավոր գործողությունները, որոնք կարելի է կատարել:

$ sudo -u zulip /home/zulip/deployments/current/manage.py help
Type 'manage.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[analytics]
    check_analytics_state
    clear_analytics_tables
    clear_single_stat
    populate_analytics_db
    stream_stats
    update_analytics_counts

[auth]
    changepassword
    createsuperuser

[contenttypes]
    remove_stale_contenttypes

[django]
    check
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemigrations
    migrate
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

[otp_static]
    addstatictoken

[sessions]
    clearsessions

[social_django]
    clearsocial

[staticfiles]
    collectstatic
    findstatic
    runserver

[two_factor]
    two_factor_disable
    two_factor_status

[zerver]
    add_users_to_streams
    archive_messages
    audit_fts_indexes
    backup
    bulk_change_user_name
    change_password
    change_realm_subdomain
    change_user_email
    change_user_role
    check_redis
    checkconfig
    compilemessages
    convert_gitter_data
    convert_mattermost_data
    convert_slack_data
    create_default_stream_groups
    create_large_indexes
    create_realm_internal_bots
    create_stream
    create_user
    deactivate_realm
    deactivate_user
    delete_old_unclaimed_attachments
    delete_realm
    delete_user
    deliver_scheduled_emails
    deliver_scheduled_messages
    dump_messages
    edit_linkifiers
    email_mirror
    enqueue_digest_emails
    enqueue_file
    export
    export_single_user
    export_usermessage_batch
    fill_memcached_caches
    fix_unreads
    generate_invite_links
    generate_multiuse_invite_link
    generate_realm_creation_link
    get_migration_status
    import
    list_realms
    logout_all_users
    makemessages
    merge_streams
    print_email_delivery_backlog
    process_queue
    purge_queue
    query_ldap
    rate_limit
    reactivate_realm
    realm_domain
    register_server
    remove_users_from_stream
    rename_stream
    reset_authentication_attempt_count
    restore_messages
    runtornado
    scrub_realm
    send_custom_email
    send_password_reset_email
    send_realm_reactivation_email
    send_stats
    send_test_email
    send_to_email_mirror
    send_webhook_fixture_message
    set_message_flags
    show_admins
    soft_deactivate_users
    sync_ldap_user_data
    transfer_uploads_to_s3
    turn_off_digests

Քայլ 6 - Zulip-ի արդիականացում

Zulip-ը թարմացնելու համար ներբեռնեք վերջին թողարկումը սերվերից:

$ curl -fLO https://download.zulip.com/server/zulip-server-latest.tar.gz

Թարմացումը կատարելու համար գործարկեք հետևյալ հրամանը.

$ sudo /home/zulip/deployments/current/scripts/upgrade-zulip ~/zulip-server-latest.tar.gz

Սցենարը կկատարի հետևյալ գործառույթները.

  1. Գործարկեք apt upgrade համակարգը թարմացնելու համար:
  2. Տեղադրեք Zulip-ի կախվածությունների նոր տարբերակը:
  3. Անջատում է Zulip սերվերը:
  4. Գործարկում է puppet application հրամանը:
  5. Անհրաժեշտության դեպքում կատարեք տվյալների բազայի միգրացիաներ:
  6. Վերագործարկում է Zulip սերվերը:

Քայլ 7 - Կրկնօրինակեք և վերականգնեք Zulip-ը

Zulip-ի աջակցումն ու վերականգնումը հեշտ է՝ շնորհիվ ներկառուցված սցենարների, որոնք հոգ են տանում ամեն ինչի մասին:

Zulip-ի ամբողջական կրկնօրինակում ստանալու համար գործարկեք հետևյալ հրամանը.

$ sudo -u zulip /home/zulip/deployments/current/manage.py backup --output=~/backups/zulip-backup.tar.gz

Վերոնշյալ հրամանը zulip-backup.tar.gz ֆայլ կստեղծի ~/backups գրացուցակում: Սա պարունակում է այն ամենը, ինչ ձեզ անհրաժեշտ կլինի Zulip-ը փոխանցելու կամ վերականգնելու համար:

Գոյություն ունեցող կրկնօրինակը վերականգնելու համար տեղադրեք Zulip-ը՝ անցնելով 2-րդ քայլը:

Ավարտելուց հետո գործարկեք հետևյալ հրամանը՝ վերականգնումն ավարտելու համար:

$ sudo -u zulip /home/zulip/deployments/current/scripts/setup/restore-backup ~/backups/zulip-backup.tar.gz

Եթե ցանկանում եք փոխել տիրույթը, կարող եք փոխել EXTERNAL_HOST փոփոխականը /etc/zulip/settings.py ֆայլում և այնուհետև վերագործարկել սերվերը՝ օգտագործելով հետևյալ հրամանը:

$ sudo -u zulip /home/zulip/deployments/current/scripts/restart-server

Եզրակացություն

Սա ավարտում է մեր ձեռնարկը Zulip Chat սերվերի տեղադրման և կազմաձևման վերաբերյալ Debian 11-ի վրա հիմնված համակարգում: Մանրամասն ուսումնասիրելու համար կարող եք հետևել Zulip-ի պաշտոնական փաստաթղթերին: Եթե ունեք հարցեր, տեղադրեք դրանք ստորև ներկայացված մեկնաբանություններում: