بهمن ۲۳ ۱۳۹۶

آموزش تنظیم Hostname در خط فرمان

change-hostname

نام میزبان یا همان Hostname یک نام یکتا می باشد که به هر سیستم  تخصیص داده می شود.در این مطلب قصد داریم تا نحوه ی پیکربندی نام میزبان را از طریق خط فرمان آموزش دهیم.

جهت نمایش hostname می توانید از دستورهای پایین استفاده کنید :

 

# hostname
# hostname -s
# hostname -f

  • سوئیچ s- نام کوتاه کامپیوتر را نمایش می دهید.(فقط hostname)
  • سوئیچ f- کامپیوتر FQDN در شبکه را نمایش می دهد.(فقط زمانی که کامپیوتر جزئی از یک domain یا realm باشد و FQDN ان تنظیم شده باشد.)

 

روش دیگر برای نمایش نام میزبان cat کردن فایل hostname می باشد :

 

# cat /etc/hostname

اکنون جهت تغییر hostname و با تنظیم آن می توانید از دستور پایین استفاده کنید :

 

 

# hostnamectl set-hostname your-new-hostname

نکته اینکه بجای your-new-hostname باید نام مورد نطر خود را بنویسید.اکنون جهت نمایش hostname می توانید از دستوراتی که در بالا گفته شد استفاده کنید یا اینکه از دستور پایین استفاده کنید :

 

 

#hostnamectl

روش دیگر برای تنظیم hostname ماشین، ویرایش فایل hostname می باشد :

 

 

# vi /etc/hostname

یکی دیگر از روش ها جهت نمایش و ویرایش hostname استفاده از sysctl می باشد.جهت نمایش hostname نیز می توانید از این دستور استفاده کنید :

 

 

# sysctl kernel.hostname

جهت تغییر hostname می توانید از این دستور استفاده کنید :

 

 

# sysctl kernel.hostname=new-hostname

 

نکته اینکه این تغییر به صورت موقت می باشد.جهت اعمال تغییر به صورت دائمی این دستور را استفاده کنید :

 

 

# sysctl -w kernel.hostname=new-hostname

 

یکی دیگر از روشهای نمایش و پیکربندی hostname استفاده از دستور nmtui می باشد :

 

#nmtui

پس از اجرای دستور بالا یک برنامه ای تقریبا گرافیکی در خط فرمان اجرا خواهد شد که یکی از امکانات آن ویرایش hostname می باشد.یا اینکه اگر تمایل دارید با استفاده از nmtui به صورت مستقیم فقط hostname را تغییر دهید کافیست تا از این روش استفاده کنید :

 

 

# nmtui-hostname your-new-hostname

اکنون جهت نمایش hostname می توانید از دستوراتی که گفته شد استفاده کنید.

امید است تا از این مطلب استفاده لازم را برده باشد.شاد و فدورایی باشید.

 


بهمن ۲۱ ۱۳۹۶

آموزش نصب و پیکربندی RabbitMQ

rabbitmq-logo

rabbitmq یک نرم افزار message broker و  open source  می باشد که گاهی message-oriented middleware نیز خوانده می شود.rabbitmq در اصل برای Advanced Message Queuing Protocol یا به اختصار AMQP پیاده سازی شده است،هر چند معماری آن به گونه ای می باشد که با استفاده از پلاگین هایی قابلیت پشتیبانی از چندین پروتکل دیگر مانند MQTT و STOMP و سایر پروتکل ها را دارا می باشد.

نرم افزار rabbitmq با زبان Erlang نوشته شده است و قابلیت نصب بر روی اکثر سیستم عامل ها را دارا می باشد.در این مطلب قصد داریم تا rabbitmq نسخه ی ۳٫۷ را بر روی CentOS 7.4 x86-64 نصب کنیم.

 

نصب RabbitMQ :

یکی از پیش نیازهای rabbitmq نصب شدن erlang می باشد.نکته اینکه هر کدام از نسخه های rabbitmq نیاز به نسخه ی خاصی از erlang می باشد.برای درک اینکه چه نسخه ای از rabbitmq نیاز به کدام نسخه از erlang می باشد کافیست تا به لینک پایین مراجعه کنید :

 

https://www.rabbitmq.com/which-erlang.html

از آنجایی که ما قصد داریم تا rabbitmq 3.7 را نصب کنیم پس بنابراین نسخه ی erlang که پشتیبانی می شود بین  Erlang/OTP 19.3 تا Erlang/OTP 20.2.x می باشد.بسته ی erlang در مخازن epel وحود دارد ولی از آنجایی که نسخه ی آن پایین می باشد ما نیاز داریم تا erlang نسخه ی بالاتر را نصب کنیم به همین خاطر ابتدا مخزن Erlang Solutions را نصب کنید :

 

#yum install -y https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

 

اکنون بسته ی rabbitmq را دانلود کنید که برای دریافت آن می توانید از لینک پایین استفاده کنید :

 

https://www.rabbitmq.com/install-rpm.html

برای دانلود کافیست تا این دستور را اجرا کنید :

 

 

#wget -c https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.3/rabbitmq-server-3.7.3-1.el7.noarch.rpm

 

 

 

اکنون جهت نصب rabbitmq کافیست تا دستور زیر را اجرا کنید :

 

 

#yum install rabbitmq-server-3.7.3-1.el7.noarch.rpm

 

اگر از SELinux استفاده می کنید این دستور را اجرا کنید :

 

#setsebool -P nis_enabled 1

 

 

اگر از firewalld استفاده می کنید پورت های زیر را باز کنید :

 

 

#firewall-cmd --zone=public --permanent --add-port=4369/tcp
#firewall-cmd --zone=public --permanent --add-port=25672/tcp
#firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
#firewall-cmd --zone=public --permanent --add-port=15672/tcp
#firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
#firewall-cmd --zone=public --permanent --add-port=8883/tcp
#firewall-cmd --zone=public --permanent --add-port=1883/tcp
#firewall-cmd --reload

اکنون می توانید با استفاده از systemd  سرویس rabbitmq را start و enable کنید :

 

#systemctl start rabbitmq-server
#systemctl enable rabbitmq-server

 

جهت بررسی وضعیت rabbitmq می توانید از این دستور استفاده کنید :

 

#rabbitmqctl status

جهت فعال کردن کنسول مدیریتی تحت وب rabbitmq کافیست تا این دستور را اجرا کنید :

 

 

# rabbitmq-plugins enable rabbitmq_management

سپس این دستور را اجرا کنید :

 

 

#chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

اکنون جهت ایجاد کاربر و تنظیم مجوزهای آن کافیست تا دستورهای پایین را اجرا کنید :

#rabbitmqctl add_user hos7ein mypassword
#rabbitmqctl set_user_tags hos7ein administrator
#rabbitmqctl set_permissions -p / hos7ein ".*" ".*" ".*"

 

 

نکته اینکه به جای hos7ein و mypassword نام کاربری و پسورد مورد نظر خود را بنویسید.اکنون جهت دسترسی به پنل تحت وب rabbitmq کافیست تا آدرس زیر را در مروگر وب خود وارد کنید :

 

 

 

 

http://[server-ip]:15672

نکته اینکه به جای server-ip باید آدرس سرور خود را بنویسید.در پایین تصویری از پنل تحت وب rabbitmq را مشاهده می کنید :

 

 

 

rabbitmq

 

امید است تا از این مطلب استفاده ی لازم را برده باشید.

 


بهمن ۱۶ ۱۳۹۶

آموزش Cluster کردن دیتابیس Couchbase Server

Couchbase_logo

در مطالب قبلی دیتابیس Couchbase معرفی شد و نحوه ی نصب آن بر روی توزیع CentOS 7.x آموزش داده شد.در این مطلب قصد دارم تا روش Cluster کردن دیتابیس Couchbase را خدمت شما عزیزان آموزش دهم.

در این سناریو از سه Node استفاده خواهد شد که روی آنها CentOS 7.x نصب شده است و قصد داریم تا روی آنها Couchbase server نصب کنیم و آنها را کلاستر کنیم.

مشخصات Node ها به شرح زیر می باشد :

 

Node1 :  ۱۰٫۱۰٫۲۲٫۱۹۳

Node2 : 10.10.22.234

Node3 : 10.10.22.201

کلاستر کردن Couchbase :

 

برای نصب Couchbase بر روی Node1 مانند مطلب « آموزش نصب دیتابیس Couchbase Server » عمل کنید.

برای نصب Couchbase بر روی Node2 نیز مانند « آموزش نصب دیتابیس Couchbase Server » عمل کنید و پس از نصب بسته ی rpm آدرس پنل تحت وب آن را در مرورگر وب خود وارد نمایید تا با صفحه ی پایین مواجه شوید :

 

couchbase-server

اکنون روی دکمه ی Setup کلیک کنید تا وارد صفحه ی پایین شوید :

 

couchbase-server

در صفجه ی بالا یک نام به Node اختصاص دهید و سپس گزینه ی Join a cluster now را انتخاب کنید و مشخصات Node1 را بنویسید و سپس روی دکمه ی Next کلیک کنید.پس از اضافه کردن هر Node به کلاستر باید کلاستر را Rebalance کرد.

 

برای نصب Couchbase بر روی Node3 نیز مانند « آموزش نصب دیتابیس Couchbase Server » عمل کنید و پس از نصب بسته ی rpm مانند روشی که در بالا برای Node2 توضیح داده شد عمل کنید.در پایین تصویری از مرحله ی پیکربندی Node3 جهت Join شدن به کلاستر را مشاهده می کنید :

 

couchbase-server

همانظور که گفته شد،پس از اضافه کردن هر Node به کلاستر باید کلاستر را Rebalance کرد :

couchbase-server

 

در پایین تصویری از Rebalance شدن Cluster را مشاهده می کنید :

 

couchbase-server

 

پس از تکمیل Rebalance شدن کلاستر با چنین تصویری روبرو خواهید شد :

 

couchbase-server

 

از قسمت Settings می توانید یک نام به کلاستر اختصاص دهید :

 

couchbase-server

در پایین نمایی کلی از وضعیت کلاستر Couchbase server را مشاهده می کنید :

 

couchbase-server

 

امید است تا از این مطلب استفاده لازم را برده باشید.

شاد و فدورایی باشید.

 


بهمن ۹ ۱۳۹۶

آموزش کنترل سرویس ها با systemd در سرور راه دور

systemd

امروزه اکثر توزیع های سیستم عامل گنو/لینوکس از systemd استفاده می کنند.با استفاده از systemd می توان سیستم و سرویس ها را مدیریت کرد که با اجرای دستور systemctl در خط فرمان این امکان وجود دارد که سرویس ها را بر روی ماشین محلی (local machine) و یا یک ماشین راه دور (remote server) مدیریت کرد.

برای کنترل سرویس های ماشین راه دور با استفاده از systemd بهتر است تا از public/private key pairs برای اتصال از طریق SSH استفاده کنید تا نیاز به وارد کردن password برای ماشین یا ماشین های راه دور نباشد.

برای کنترل سرویس های ماشین راه دور کافیست تا دستور systemctl را به همراه H- یا  host- –  استفاده کنید.به عنوان نمونه فرض کنید قصد داریم تا به کاربر root از سرور راه دور به آدرس fedorafans.com وصل شویم و وضعیت سرویس httpd آن را بررسی کنیم :

 

$systemctl --host root@fedorafans.com status httpd.service

 

 

یا می توان از این دستور نیز استفاده کرد :

 

$systemctl -H root@fedorafans.com status httpd.service

همچنین شما می توانید سرویس مورد نظر را stop,start.restart,enable,disable و … کنید :

 

systemctl --host root@fedorafans.com start httpd.service
systemctl --host root@fedorafans.com stop httpd.service
systemctl --host root@fedorafans.com restart httpd.service
systemctl --host root@fedorafans.com enable httpd.service
systemctl --host root@fedorafans.com disable httpd.service

 

برای اطلاعات بیشتر در مورد دستور systemctl کافیست تا راهنمای آن را مطالعه کنید :

 

$man systemctl

امید است تا از این مطلب استفاده لازم را برده باشید.

 


دی ۲۵ ۱۳۹۶

آموزش نصب دیتابیس TILE38 در لینوکس

tile38-logo

برای ذخیره ی اطلاعات، دیتابیس های مختلفی وجود دارد که هر کدام کاربرد خاص خود را دارند.TILE38 یک دیتابیس open source می باشد که قابلیت ذخیره ی اطلاعات جغرافیایی،شاخص مکانی و geofence را به صورت realtime دارا می باشد.

برخی از ویژگی های دیتابیس tile38 بنا به گفته ی سایت رسمی آن به شرح زیر می باشند :

 

  • Spatial index with search methods such as NEARBY, WITHIN, and INTERSECTS.
  • Realtime geofencing through persistent sockets or webhooks.
  • Object types of lat/lon, bbox, Geohash, GeoJSON, QuadKey, and XYZ tile.
  • Support for lots of Clients Libraries written in many different languages.
  • Variety of client protocols, including http (curl), websockets, telnet, and the Redis RESP.
  • Server responses are RESP or JSON.
  • Full command line interface.
  • Leader / follower replication.
  • In-memory database that persists on disk.

 

 

نصب tile38 در لینوکس :

 

روند نصب دیتابیس tile38 بسیار ساده می باشد.در این مطلب جهت نصب tile38 از توزیع CentOS 7.4 x86-64  استفاده شده است.برای نصب ابتدا به شاخه ی زیر بروید :

 

 

#cd /opt

 

اکنون از صفحه releases پروژه ی tile38 در github آخرین نسخه ی آن را بر اساس سیستم عامل خود دانلود کنید :

 

https://github.com/tidwall/tile38/releases

#wget -c https://github.com/tidwall/tile38/releases/download/1.10.0/tile38-1.10.0-linux-amd64.tar.gz

 

اکنون فایل دانلود شده را از حالت فشرده خارج نمایید :

 

#tar -xzvf tile38-1.10.0-linux-amd64.tar.gz

سپس وارد پوشه ی استخراج شده بروید :

 

 

#cd tile38-1.10.0-linux-amd64

 

اکنون جهت اجرای سرویس  tile38 کافیست تا دستور زیر را اجرا کنید :

 

#./tile38-server

 

توجه داشته باشید با اجرای دستور بالا tile38 در foreground اجرا خواهد شد.برای اجرا شدن آن در background می توان از systemd استفاده کرد.برای اینکار ابتدا فایل زیر را ایجاد کنید :

 

# vim /usr/lib/systemd/system/tile38.service

سپس خطوط زیر را درون آن وارد کنید و فایل را ذخیره کنید :

[Unit]
Requires=network.target
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/tile38-1.10.0-linux-amd64/tile38-server

ExecStop=/usr/bin/pkill tile38-server

[Install]
WantedBy=multi-user.target

 

اکنون می توانید سرویس tile38 را با استفاده از systemd کنترل کنید :

 

 

# systemctl status tile38.service

# systemctl start tile38.service

# systemctl stop tile38.service

# systemctl enable tile38.service

# systemctl disable tile38.service

 

 

اگر از firewalld استفاده می کنید اکنون باید port 9851 که مربوط به سرویس tile38 است را باز کنید :

 

#firewall-cmd --zone=public --add-port=9851/tcp
#firewall-cmd --zone=public --add-port=9851/tcp --permanent

 

امید است تا از این مطلب استفاده لازم را ببرید.