Ինչպես տեղադրել Zulip Chat սերվերը Debian 11-ում
Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար
- Debian 11 (Bullseye)
- Debian 9 (Stretch)
Այս էջում
- Նախադրյալներ
- Քայլ 1 - Կարգավորել Firewall-ը
- Քայլ 2 - Տեղադրեք Zulip-ը
- Քայլ 3 - Մուտք գործեք Zulip ինտերֆեյս
- Քայլ 4 - Ելքային էլփոստի կարգավորում
- Քայլ 5 - Zulip սերվերի հրամաններ
- Քայլ 6 - Zulip-ի արդիականացում
- Քայլ 7 - Կրկնօրինակեք և վերականգնեք Zulip-ը
- Եզրակացություն
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-ը առաքվում է տեղադրողի սցենարով, որն անում է հետևյալը.
- Ստեղծում է օգտվողի
zulip
՝ Zulip սերվերը գործարկելու համար: - Ստեղծում է տնային գրացուցակ՝ օգտագործելով
zulip
օգտվողը, որը պարունակում է բոլոր հանրային կոդը/home/zulip/deployments
գրացուցակի տակ: - Տեղադրում է բոլոր այն կախվածությունները, որոնք անհրաժեշտ են Zulip-ին:
- Տեղադրում է PostgreSQL տվյալների բազան, Nginx վեբ սերվերը, RabbitMQ, Redis Cache և Memcached:
- Նախաձեռնում է 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
Սցենարը կկատարի հետևյալ գործառույթները.
- Գործարկեք
apt upgrade
համակարգը թարմացնելու համար: - Տեղադրեք Zulip-ի կախվածությունների նոր տարբերակը:
- Անջատում է Zulip սերվերը:
- Գործարկում է
puppet application
հրամանը: - Անհրաժեշտության դեպքում կատարեք տվյալների բազայի միգրացիաներ:
- Վերագործարկում է 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-ի պաշտոնական փաստաթղթերին: Եթե ունեք հարցեր, տեղադրեք դրանք ստորև ներկայացված մեկնաբանություններում: