نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. آن استفاده می کند SNMP
برای به دست آوردن داده ها از دستگاه های مختلف. دستگاه های مختلفی در LibreNMS مانند Cisco ، Linux ، FreeBSD ، Juniper ، Brocade ، Foundry ، HP و موارد دیگر پشتیبانی می شوند. این مکانیسم از تأیید هویت چندگانه پشتیبانی می کند و از تأیید هویت دو عاملی پشتیبانی می کند. این سیستم دارای یک سیستم هشدار قابل تنظیم است که می تواند از طریق ایمیل ، IRC یا Slack به مدیر شبکه هشدار دهد.
برای این آموزش ، ما به nms.example.com
عنوان نام دامنه که به سمت نمونه Vultr اشاره شده است ، استفاده خواهیم کرد. لطفاً حتماً تمام وقایع نام دامنه را با نمونه واقعی جایگزین کنید.
سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی CentOS 7 به روز کنید . پس از به روزرسانی سیستم ، نصب وابستگی ها را انجام دهید.
قسمت جلویی LibreNMS اساساً با PHP نوشته شده است ، بنابراین ما نیاز به نصب یک وب سرور و PHP داریم. در این آموزش ، Nginx را به همراه PHP 7.2 نصب می کنیم تا حداکثر امنیت و کارایی را بدست آوریم.
Nginx را نصب کنید.
sudo yum -y install nginx
Nginx را شروع کنید و آن را فعال کنید تا به طور خودکار در بوت شروع شود.
sudo systemctl start nginx
sudo systemctl enable nginx
مخزن Remi را اضافه و فعال کنید ، زیرا مخزن پیش فرض YUM شامل نسخه قدیمی تر PHP است.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72
نسخه PHP 7.2 را به همراه ماژول های مورد نیاز LibreNMS نصب کنید.
sudo yum -y install php php-cli php-common php-curl php-fpm php-gd php-mcrypt php-mysql php-process php-snmp php-xml php-zip
پرونده پیکربندی لود شده توسط PHP را در یک ویرایشگر باز کنید.
sudo nano /etc/php.ini
سطرهای زیر را پیدا کنید ، نارضایتی کنید و مقدار آنها را مطابق شکل تغییر دهید.
;cgi.fix_pathinfo=1
memory_limit = 128M
;date.timezone =
در عوض از این مقادیر استفاده Asia/Kolkata
کنید و منطقه زمانی محلی خود را جایگزین کنید.
cgi.fix_pathinfo=0
memory_limit = -1
date.timezone = Asia/Kolkata
همچنین باید با اجرای دستور زیر ، منطقه زمانی سیستم را تغییر دهید.
sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
اکنون پرونده پیکربندی PHP-FPM را باز کنید.
sudo nano /etc/php-fpm.d/www.conf
خط زیر را پیدا کنید.
listen = 127.0.0.1:9000
آن را با خط زیر جایگزین کنید.
listen = /var/run/php-fpm/php-fpm.sock
به طور پیش فرض ، PHP-FPM برای کاربر وب سرور Apache تنظیم شده است. کاربر را به تغییر دهید nginx
.
user = nginx
group = nginx
علاوه بر این ، خطوط زیر را لغو پاسخ دهید.
listen.owner = nobody
listen.group = nobody
پرونده را ذخیره کرده و از ویرایشگر خارج شوید. PHP-FPM را مجدداً راه اندازی کنید و آن را فعال کنید تا در زمان بوت شروع شود.
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm
مالکیت مناسب را روی پرونده سوکت تنظیم کنید.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB یک چنگال از MySQL است. مخزن MariaDB را به سیستم خود اضافه کنید. yum
مخزن پیش فرض شامل نسخه قدیمی MariaDB است.
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo
MariaDB را نصب کنید.
sudo yum -y install mariadb mariadb-server
اکنون پرونده پیکربندی MySQL را باز کنید.
sudo nano /etc/my.cnf
خط های زیر را در انتهای بلوک اضافه کنید.
[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
MariaDB را مجدداً راه اندازی کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
قبل از پیکربندی پایگاه داده ، ابتدا باید MariaDB را ایمن کنید.
sudo mysql_secure_installation
از شما گذرواژه اصلی rootDD MariaDB خواسته می شود. به طور پیش فرض ، هیچ رمز اصلی در نصب جدید MariaDB وجود ندارد. Enter
برای ادامه " " کلید را فشار دهید. برای root
کاربر سرور MariaDB یک رمزعبور قوی تنظیم کنید و Y
به سایر سؤالاتی که پرسیده اید " " پاسخ دهید. سؤالاتی که پرسیده می شود ، خود توضیح است
به عنوان root وارد پوسته MySQL شوید.
mysql -u root -p
رمز ورود را برای کاربر root MariaDB فراهم کنید تا وارد سیستم شود.
برای ایجاد بانک اطلاعاتی و کاربر پایگاه داده برای نصب LibreNMS سؤالات زیر را اجرا کنید.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;
می توانید نام librenms
و نام کاربری داده را librenms
مطابق انتخاب خود جایگزین کنید. لطفاً مطمئن شوید که StrongPassword
به یک رمزعبور بسیار قوی تغییر دهید .
جدا از وابستگیهای فوق ، LibreNMS به وابستگی های بیشتری نیاز دارد. با اجرا آنها را نصب کنید.
sudo yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap python-memcached rrdtool
یک کاربر جدید غیر شخصی برای برنامه LibreNMS اضافه کنید.
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms nginx
LibreNMS را می توان مستقیماً با کلون کردن مخزن Github آن نصب کرد.
cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms
مالکیت را برطرف کنید.
sudo chown librenms:librenms -R /opt/librenms
LibreNMS برای بسیاری از کارها به SNMP متکی است. از آنجا که ما قبلاً SNMP را نصب کرده ایم ، پرونده پیکربندی نمونه را در محل آن کپی کنید.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
پرونده پیکربندی را در ویرایشگر باز کنید.
sudo nano /etc/snmp/snmpd.conf
این خط را پیدا کنید
com2sec readonly default RANDOMSTRINGGOESHERE
متن را ویرایش کنید RANDOMSTRINGGOESHERE
و رشته جامعه را با هر رشته دلخواه خود جایگزین کنید. مثلا.
com2sec readonly default my-org
وقتی اولین دستگاه SNMP را اضافه می کنیم ، رشته را به خاطر بسپارید.
SNMP همچنین به اطلاعات مربوط به نسخه توزیع نیاز دارد. اسکریپت را بارگیری و نصب کنید تا نسخه توزیع را پیدا کنید.
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
سرویس Daemon SNMP را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.
sudo systemctl enable snmpd
sudo systemctl restart snmpd
اکنون برای اجرای کارهای برنامه ریزی شده باید برخی از نوشته های crontab را اضافه کنید. یک پرونده کار cron جدید ایجاد کنید.
sudo nano /etc/cron.d/librenms
پرونده را با متن زیر پر کنید.
33 */6 * * * librenms /opt/librenms/cronic /opt/librenms/discovery-wrapper.py 1
*/5 * * * * librenms /opt/librenms/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
15 0 * * * librenms /opt/librenms/daily.sh >> /dev/null 2>&1
* * * * * librenms /opt/librenms/alerts.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/poll-billing.php >> /dev/null 2>&1
01 * * * * librenms /opt/librenms/billing-calculate.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/check-services.php >> /dev/null 2>&1
سرویس Cremon Daemon را مجدداً راه اندازی کنید.
sudo systemctl restart crond
به logrotate
گونه ای تنظیم کنید که پرونده های ورود به سیستم به طور خودکار با گذشت زمان تازه شوند.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
در آخر ، مالکیت و مجوزهای مناسب را تعیین کنید.
sudo chown -R librenms:nginx /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs
اگر اتصال با SSL رمزگذاری نشده باشد ، ورود و سایر اطلاعات ارسال شده از طریق رابط وب LibreNMS تضمین نمی شوند. ما Nginx را پیکربندی خواهیم کرد تا از SSL تولید شده با SSL رایگان رمزگذاری شود.
Certbot را نصب کنید ، که برنامه مشتری برای Let Encrypt CA است.
sudo yum -y install certbot
قبل از درخواست گواهینامه ها ، باید به پورت 80
و 443
یا استاندارد HTTP
و HTTPS
خدمات از طریق فایروال اجازه دهید.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
توجه : برای به دست آوردن گواهینامه ها از Let Encrypt CA ، دامنه تولید شده برای صدور گواهینامه ها باید به سمت سرور هدایت شود. در این صورت ، تغییرات لازم را در سوابق DNS دامنه ایجاد کرده و منتظر انتشار DNS قبل از درخواست مجوز مجدد باشید. Certbot قبل از ارائه گواهینامه ها ، دامنه را بررسی می کند.
صدور گواهینامه SSL:
sudo certbot certonly --webroot -w /usr/share/nginx/html -d nms.example.com
گواهینامه های تولید شده احتمالاً در /etc/letsencrypt/live/nms.example.com/
دایرکتوری ذخیره می شوند . گواهینامه SSL ذخیره می شود fullchain.pem
و کلید خصوصی نیز به عنوان ذخیره می شود privkey.pem
.
اجازه دهید صدور گواهینامه رمزگذاری در مدت 90 روز منقضی شود ، از این رو توصیه می شود با استفاده از یک کار cron ، تمدید خودکار را برای گواهینامه ها تنظیم کنید.
پرونده کار cron را باز کنید.
sudo crontab -e
در انتهای پرونده خط زیر را اضافه کنید.
30 5 * * 1 /usr/bin/certbot renew --quiet
کار cron فوق هر دوشنبه ساعت 5:30 صبح به وقت محلی انجام می شود. اگر گواهی برای انقضا موقت باشد ، به طور خودکار تمدید می شود.
یک میزبان مجازی جدید ایجاد کنید.
sudo nano /etc/nginx/conf.d/nms.example.com.conf
پرونده را جمع کنید.
server {
listen 80;
server_name nms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name nms.example.com;
ssl_certificate /etc/letsencrypt/live/nms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /opt/librenms/logs/librenms.nginx.access.log;
root /opt/librenms/html;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
nms.example.com
دامنه واقعی خود را در پیکربندی فوق جایگزین کنید.
Nginx را مجدداً راه اندازی کنید.
sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx
برای اتمام نصب ، https://nms.example.com
روی مرورگر مورد علاقه خود باز کنید. خواهید دید که شرایط مورد نیاز راضی است. اطلاعات بانک اطلاعاتی خود را تهیه کرده و یک حساب اداری جدید ایجاد کنید. پس از نصب ، پیامی برای اعتبار سنجی نصب دریافت خواهید کرد. روی پیوند کلیک کنید و با استفاده از حساب سرپرست وارد شوید. خواهید دید که همه چیز به جز " Poller
" Ok
"وضعیت" "دارد.
اکنون ، برای افزودن دستگاه ، روی پیوند کلیک کنید. در Add Device
رابط کاربری ، نام میزبان را به عنوان localhost تهیه کنید و همه چیز را همانطور که هست بگذارید. رشته جامعه خود را در زمینه اجتماع ارائه دهید. این دقیقاً همان رشته ای است که شما در snmpd.conf
طول پیکربندی SNMP ارائه کرده اید.
پس از افزودن دستگاه ، می توانید با رفتن به Devices
برگه "" جزئیات را مشاهده کنید.
به همین ترتیب ، می توانید دستگاه های بیشتری را برای نظارت بر "در حدود ساعت" به برنامه LibreNMS اضافه کنید.
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است
Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من
با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.
با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند
با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:
HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی بر اساس پایگاه کد است
با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید
به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما
با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند
RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه
Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد
Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است
بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود
با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver
Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی
مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است
معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند
با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد