از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استقرار Mattermost در CentOS 7
سرفصلهای مطلب
Mattermost یک پلتفرم پیامرسان فوری منبع باز، یک جایگزین Slack با میزبانی خود است. این در Golang و React نوشته شده است و می تواند از MySQL یا PostgreSQL به عنوان یک پایگاه داده استفاده کند. Mattermost تمام ارتباطات تیم شما را در یک مکان قرار می دهد و ویژگی های مختلفی از جمله به اشتراک گذاری فایل، پیام های فردی و گروهی، ایموجی های سفارشی، تماس های ویدیویی و موارد دیگر را ارائه می دهد. در این آموزش به شما نشان خواهیم داد که چگونه Mattermost را بر روی a استقرار دهید CentOS 7 سرور و Nginx را به عنوان یک پروکسی معکوس SSL پیکربندی کنید.
پیش نیازها
قبل از ادامه این آموزش مطمئن شوید که پیش نیازهای زیر را برآورده کرده اید:
- شما به عنوان یک کاربر با امتیازات sudo وارد شده اید.
- شما یک نام دامنه دارید که به آدرس IP سرور شما اشاره دارد. ما استفاده خواهیم کرد
rasanegar-test.com
. - شما Nginx را نصب کرده اید، اگر نه، این راهنما را بررسی کنید.
- شما یک گواهی SSL برای دامنه خود نصب کرده اید. با دنبال کردن این راهنما میتوانید یک گواهینامه رایگان Let’s Encrypt SSL را نصب کنید.
ایجاد پایگاه داده MySQL
ما از MariaDB 10.3 به عنوان پشتیبان پایگاه داده استفاده خواهیم کرد. Mattermost با MariaDB نسخه 5.5 کار نخواهد کرد.
اگر MariaDB 10.3 را روی سرور خود نصب نکرده اید، می توانید این راهنما را بررسی کنید.
ورود به پوسته MySQL:
mysql -u root -p
و دستورات زیر را برای ایجاد یک پایگاه داده و کاربر جدید برای نصب Mattermost خود اجرا کنید:
create database mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
ایجاد کاربر جدید سیستم
برای ایجاد یک کاربر و گروه جدید به نام mattermost
، که نصب Mattermost را اجرا می کند، دستور زیر را اجرا کنید:
sudo useradd -U -M -d /opt/mattermost mattermost
سرور Mattermost را نصب کنید
در زمان نگارش این مقاله، آخرین نسخه پایدار Mattermost نسخه 5.4.0 است. قبل از ادامه مرحله بعدی باید آن را بررسی کنید Mattermost دانلود کنید page
برای دیدن اینکه آیا نسخه جدیدتری موجود است یا خیر.
آرشیو را با دستور curl زیر دانلود کنید:
sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
پس از اتمام دانلود، آرشیو را استخراج کرده و به آن منتقل کنید opt
فهرست راهنما:
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
دایرکتوری ذخیره سازی فایل ها را ایجاد کنید:
sudo mkdir /opt/mattermost/data
تغییر مالکیت دایرکتوری به mattermost
کاربر:
sudo chown -R mattermost: /opt/mattermost
باز کن config.json
فایل با ویرایشگر متن مورد علاقه شما:
sudo nano /opt/mattermost/config/config.json
درایور دیتابیس را روی mysql
، نام پایگاه داده و رمز عبور کاربر پایگاه داده را که قبلاً در این آموزش ایجاد کردیم را وارد کنید:
...
"SqlSettings": {
"DriverName": "mysql",
"DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
"DataSourceReplicas": [],
...
به منظور تست نصب ما برای اطمینان از کارکرد همه چیز قبل از ایجاد واحد systemd و راه اندازی یک پروکسی معکوس با Nginx، سرور Mattermost را راه اندازی می کنیم.
تغییر به /opt/mattermost
دایرکتوری و راه اندازی سرور:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
خروجی باید نشان دهد که سرور Mattermost در حال گوش دادن به پورت است
8065
:
{"level":"info","ts":1540921243.6797202,"caller":"app/plugin.go:100","msg":"Starting up plugins"}
{"level":"info","ts":1540921244.3483207,"caller":"app/server.go:88","msg":"Starting Server..."}
{"level":"info","ts":1540921244.3488805,"caller":"app/server.go:148","msg":"Server is listening on [::]:8065"}
{"level":"info","ts":1540921244.3620636,"caller":"app/web_hub.go:75","msg":"Starting 2 websocket hubs"}
{"level":"info","ts":1540921244.451155,"caller":"jobs/workers.go:63","msg":"Starting workers"}
{"level":"info","ts":1540921244.456804,"caller":"jobs/schedulers.go:68","msg":"Starting schedulers."}
اکنون می توانید سرور Mattermost را با آن متوقف کنید CTRL+C
و مراحل بعدی را ادامه دهید.
یک واحد سیستمی ایجاد کنید
برای اجرای نمونه Mattermost خود به عنوان یک سرویس، a ایجاد می کنیم mattermost.service
فایل واحد در /etc/systemd/system/
دایرکتوری با محتوای زیر:
[Unit]
Description=Mattermost
After=network.target nss-lookup.target mariadb.service
[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
SyslogIdentifier=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
به systemd اطلاع دهید که یک فایل واحد جدید ایجاد کرده ایم و سرویس Mattermost را با اجرای:
sudo systemctl daemon-reload
sudo systemctl start mattermost
اکنون می توانیم وضعیت سرویس را با دستور زیر بررسی کنیم:
sudo systemctl status mattermost
● mattermost.service - Mattermost
Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago
Main PID: 25959 (mattermost)
CGroup: /system.slice/mattermost.service
└─25959 /opt/mattermost/bin/mattermost
در نهایت، سرویس Mattermost را فعال کنید تا به طور خودکار در زمان بوت شروع شود:
sudo systemctl enable mattermost
با Nginx یک پروکسی معکوس راه اندازی کنید
اگر روش نصب Nginx را دنبال کردید CentOS 7 و روش ایمن سازی Nginx با Let’s Encrypt on CentOS 7 راهنما که باید Nginx را با گواهی SSL نصب و پیکربندی کنید. اکنون فقط باید یک بلوک سرور جدید برای نصب Mattermost خود ایجاد کنیم.
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;
upstream mattermost_backend {
server 127.0.0.1:8065;
}
server {
listen 80;
server_name rasanegar-test.com www.rasanegar-test.com;
include snippets/letsencrypt.conf;
return 301 https://rasanegar-test.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.rasanegar-test.com;
ssl_certificate /etc/letsencrypt/live/rasanegar-test.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/rasanegar-test.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/rasanegar-test.com/chain.pem;
include snippets/ssl.conf;
return 301 https://rasanegar-test.com$request_uri;
}
server {
listen 443 ssl http2;
server_name rasanegar-test.com;
ssl_certificate /etc/letsencrypt/live/rasanegar-test.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/rasanegar-test.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/rasanegar-test.com/chain.pem;
include snippets/ssl.conf;
access_log /var/log/nginx/rasanegar-test.com-access.log;
error_log /var/log/nginx/rasanegar-test.com-error.log;
location ~ /api/v[0-9]+/(users/)?websocket$ {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 50M;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_pass http://mattermost_backend;
}
location / {
proxy_http_version 1.1;
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_cache mattermost_cache;
proxy_cache_revalidate on;
proxy_cache_min_uses 2;
proxy_cache_use_stale timeout;
proxy_cache_lock on;
proxy_pass http://mattermost_backend;
}
}
برای اعمال تغییرات، سرویس Nginx را دوباره بارگیری کنید:
sudo systemctl reload nginx
پیکربندی Mattermost
مرورگر خود را باز کنید، دامنه خود را تایپ کنید و اولین حساب خود را ایجاد کنید:
اولین کاربر ایجاد شده در سیستم دارای امتیازات مدیر است.
را کلیک کنید Create a new team
پیوند دهید، اولین تیم خود را ایجاد کنید و URL تیم را تنظیم کنید:
پس از ایجاد اولین حساب سرپرست و اولین تیم، به داشبورد Mattermost هدایت می شوید و به عنوان سرپرست وارد سیستم می شوید. کنسول سیستم را باز کنید و روی نام کاربری خود در بالای پنل پیمایش کلیک کنید و در منوی جدیدی که باز می شود، روی System Console
ارتباط دادن:
URL سایت را با رفتن به تنظیمات عمومی → پیکربندی تنظیم کنید.
اعلانهای ایمیل را با رفتن به اعلانها → ایمیل فعال کنید
و پارامترهای SMTP خود را وارد کنید. میتوانید از هر سرویس ایمیل تراکنشی محبوبی مانند SendinBlue، SendGrid، Amazon SES، Mandrill، Mailgun، Mailjet و Postmark استفاده کنید یا میتوانید سرور ایمیل خود را راهاندازی کنید.
در نهایت، برای اعمال تغییرات باید سرویس Mattermost را مجددا راه اندازی کنیم:
sudo systemctl restart mattermost
نتیجه
شما با موفقیت Mattermost را بر روی خود نصب کردید CentOS 7 سرور و راه اندازی Nginx به عنوان یک پروکسی معکوس. اکنون می توانید از Mattermost برای همکاری با تیم خود استفاده کنید.
اگر در نصب با مشکلی مواجه شدید، نظر خود را بنویسید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-27 19:46:02