بلاگ ها

لیست تمامی بلاگ ها
آموزش تنظیم SSH Keys در CentOS 8

آموزش تنظیم SSH Keys در CentOS 8

آموزش تنظیم SSH Keys در CentOS 8Secure Shell (SSH) یک پروتکل رمزنگاری شبکه است که برای اتصال ایمن بین مشتری و سرور طراحی شده است. در این آموزش ، نحوه تولید و تنظیم SSH Keys در CentOS 8 را مرور خواهیم کرد.دو مکانیسم مشهور عبارتند از تأیید اعتبار کلمه عبور و تأیید اعتبار عمومی مبتنی بر کلید. استفاده از کلیدهای SSH نسبت به احراز هویت سنتی رمز عبور ایمن تر و راحت تر است. ما همچنین به شما روش تنظیم احراز هویت مبتنی بر کلید SSH را نشان می دهیم که بدون وارد کردن رمز عبور به سرورهای لینوکس خود متصل می شوید.ایجاد SSH Keys در CentOSاین احتمال وجود دارد که قبلا در سیستم کاربر SSH Keys صادر شده باشد. اگر مجدد کلید جدید صادر کنید جایگزین کلید قبلی خواهد شد.lsدستور زیر را برای بررسی کلید های موجود وارد کنید:ls -l ~/.ssh/id_*.pubاگر خروجی دستور چیزی شبیه به No such file or directory، یا no matches found را نشان دهد، بدان معنی است که کاربر دارای کلیدهای SSH نیست ، و شما می توانید مرحله بعدی را انجام داده و SSH Keys را تولید کنید.در غیر این صورت ، اگر یک SSH Keys دارید ، می توانید از آن ها استفاده کنید یا از کلیدهای قدیمی پشتیبان تهیه کرده و کلیدهای جدید تولید کنید.با وارد کردن دستور زیر یک کلید جدید 4096 بیتی SSH با آدرس ایمیل خود ایجاد کنید:ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"در ادامه ...از شما خواسته می شود نام پرونده را مشخص کنید:Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):Enter را فشار دهید تا مکان پیش فرض فایل و نام پرونده را بپذیرید.در مرحله بعد ، از شما خواسته می شود یک عبارت عبور ایمن را تایپ کنید. این که آیا شما می خواهید از عبارت عبور استفاده کنید ، بستگی به شما دارد. ایجاد رمز، یک لایه امنیتی اضافی را اضافه می کند. اگر نمی خواهید از رمز استفاده کنید فقط Enter فشار دهید .Enter passphrase (empty for no passphrase):چیزی شبیه عکس زیر خواهد بود:برای تأیید ایجاد SSH Keys جدید ، تایپ کنید:ls ~/.ssh/id_*خروجی:/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pubکلید عمومی را روی سرور کپی کنیداکنون که کلید SSH تولید شده است ، مرحله بعدی کپی کردن کلید عمومی روی سرور مورد نظر برای مدیریت است.ساده ترین و توصیه شده ترین روش برای کپی کردن کلید عمومی روی سرور استفاده از ابزارssh-copy-idاست. در ترمینال سیستم خود دستور زیر را وارد کنید:ssh-copy-id remote_username@server_ip_addressدستور از شما می خواهد رمز عبور remote_username را وارد کنید :remote_username@server_ip_address's password:پس از تأیید اعتبار کاربر ، محتوای فایل کلید عمومی ( ~/.ssh/id_rsa.pub) به پرونده ~/.ssh/authorized_keys کاربر پیوست می شود و اتصال بسته می شود.Number of key(s) added: 1Now try logging into the machine, with: "ssh 'username@server_ip_address'"and check to make sure that only the key(s) you wanted were added.اگر ssh-copy-idدر رایانه شما موجود نیست ، از دستور زیر برای کپی کردن کلید عمومی استفاده کنید:cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"با استفاده از SSH Keys به سرور خود وارد شویدپس از انجام مراحل بالا ، شما باید بدون نیاز به رمز ورود ، وارد سرور شوید.برای تأیید آن ، سعی کنید از طریق SSH به سرور خود وارد شوید :ssh remote_username@server_ip_addressاگر یک رمز برای کلید خصوصی تنظیم نکرده اید ، بلافاصله وارد سیستم می شوید. در غیر اینصورت از شما خواسته می شود که عبارت عبور را وارد کنید.غیرفعال کردن تأیید هویت رمزعبور SSHبرای افزودن یک لایه امنیتی بیشتر به سرور ، می توانید تأیید رمز عبور SSH را غیرفعال کنید.قبل از ادامه ، اطمینان حاصل کنید که می توانید بدون پسورد به عنوان کاربر دارای امتیازات sudo ، به سرور خود وارد شوید .برای غیرفعال کردن تأیید رمز ورود SSH ، مراحل زیر را دنبال کنید:وارد سرور راه دور خود شوید:ssh sudo_user@server_ip_addressپرونده پیکربندی SSH را با ویرایشگر متن خود باز کنید :sudo nano /etc/ssh/sshd_configدستورالعمل های زیر را جستجو کنید و به شرح زیر اصلاح کنید:PasswordAuthentication noChallengeResponseAuthentication noUsePAM noپس از اتمام کار ، فایل را ذخیره کرده و سرویس SSH را مجدد راه اندازی کنید:sudo systemctl restart sshدر این مرحله ، تأیید هویت مبتنی بر رمز عبور غیرفعال است.نتیجه گیریما به شما نشان داده ایم که چگونهSSH Keys جدید تولید کنید و احراز هویت مبتنی بر کلید SSH را تنظیم کنید. برای مدیریت چندین سرور می توانید از همان کلید استفاده کنید. همچنین آموخته اید که چگونه رمز عبور SSH را غیرفعال کنید و یک لایه امنیتی بیشتر به سرور خود اضافه کنید.لطفا درصورت وجود هرگونه سوال یا مشکل ، از طریق کامنت آن را مطرح کنید.

ادامه مطلب
آموزش نصب WireGuard در اوبونتو 18.04

آموزش نصب WireGuard در اوبونتو 18.04

آموزش نصب WireGuard در اوبونتو 18.04 WireGuard یک فناوری مدرن V.P.N (Virtual Private Network) با رمزنگاری پیشرفته است. در مقایسه با روش های مشابه دیگر ، مانند IPsec و Open.V.P.N فناوری WireGuard سریعتر ، پیکربندی آسان تر و عملکرد بهتری دارد. این پلتفرم تقریباً در هر سیستم ها، از جمله Linux ، Windows ، Android و macOS قابل اجرا است. در این آموزش نحوه نصب WireGuard در Ubuntu 18.04 را ارائه خواهیم کرد.WireGuard با ایجاد یک شبکه در هر دستگاه که به عنوان تونل عمل می کند ، کار می کند. انتقال ترافیک V.P.N در WireGuard به صورت UDP است.پیش نیازهاشما به یک سرور اوبونتو 18.04 احتیاج دارید که می توانید به عنوان root یا اکانت با امتیازات sudo به آن دسترسی پیدا کنید .تنظیم سرور WireGuardدر این بخش WireGuard را بر روی دستگاه Ubuntu نصب می کنیم و آن را تنظیم می کنیم تا به عنوان سرور عمل کند.نصب WireGuard در اوبونتو 18.04لیست بسته ها را به روز کنید و ابزارهای لازم برای مدیریت مخازن سیستم خود را نصب کنید. این احتمال وجود دارد که شما قبلاً پکیج را در سرور خود داشته باشید:sudo apt updatesudo apt install software-properties-commonمخزن WireGuard را اضافه کنید:sudo add-apt-repository ppa:wireguard/wireguardهنگامی که از شما خواسته شد ، Enterبرای ادامه فشار دهید . add-apt-repositoryهمچنین لیست بسته ها را به طور خودکار بروزرسانی می کند.بسته WireGuard را نصب کنید:sudo apt install wireguardدر صورت نصب با موفقیت ، خروجی زیر را مشاهده خواهید کرد:wireguard:Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.15.0-88-generic/updates/dkms/depmod...DKMS: install completed.وقتی هسته را به روز می کنید ، ماژول WireGuard در هسته جدید کامپایل می شود.پیکربندی WireGuardWireGuard با دو ابزار خط فرمان به نام wgو wg-quickکه به شما اجازه پیکربندی و مدیریت شبکه WireGuard را میدهد کار میکند.برای تولید کلیدهای عمومی و خصوصی دستور زیر را اجرا کنید:wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickeyپرونده ها در دایرکتوری /etc/wireguard ایجاد می شوند. می توانید پرونده ها را با catیا less مشاهده کنید. با استفاده از ipو wgیا با ایجاد پرونده پیکربندی با ویرایشگر متن می توان دستگاه را از خط فرمان تنظیم کرد.پرونده جدیدی به نام خود ایجاد کنید wg0.confو مطالب زیر را اضافه کنید:sudo nano /etc/wireguard/wg0.conf[Interface]Address = 10.0.0.1/24SaveConfig = trueListenPort = 51820PrivateKey = SERVER_PRIVATE_KEYPostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADEPostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADEاسم شبکه را می توان هر چیزی گذاشت ، با این وجود توصیه می شود از چیزی مانند wg0یا wgvpn0 استفاده کنید . تنظیمات در بخش شبکه معنای زیر را دارند: Address - لیستی از آدرس های IP V4 یا V6 جدا شده با کاما برای شبکه wg0. از IP هایی از محدوده ای که برای شبکه های خصوصی رزرو شده است استفاده کنید (10.0.0.0/8 ، 172.16.0.0/12 یا 192.168.0.0/16).ListenPort - پورتي كه در آن WireGuard اتصالات ورودي را میپذیرد.PrivateKey - یک کلید خصوصی که توسط فرمان wg genkey تولید می شود . (برای دیدن محتویات فایل این دستور اجرا کنید: sudo cat /etc/wireguard/privatekey)SaveConfig - وقتی درست تنظیم شد ، وضعیت فعلی شبکه هنگام خاموش کردن در پرونده پیکربندی ذخیره می شود.PostUp - دستور یا اسکریپتی که قبل از فعال شدن شبکه اجرا می شود. در این مثال ، ما از iptables برای فعال کردن حالت masquerad استفاده می کنیم. این امر باعث می شود که ترافیک سرور را ترک کرده و به کاربران V.P.N دسترسی به اینترنت دهد.حتما بجای ens3نام کارت شبکه اینترنت خود را قرار دهید.. با اجرای دستور زیر می توانید به راحتی نام کارت شبکه اینترنت را پیدا کنید:ip -o -4 route show to default | awk '{print $5}'PostDown - دستور یا اسکریپتی که قبل از دان کردن شبکه اجرا می شود. پس از خاموش شدن شبکه، قوانین iptables حذف می شوند. فایل هایwg0.confو privatekey نباید برای کاربران عادی قابل خواندن . از chmodبرای تنظیم مجوزها به 600 استفاده کنید:sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}پس از اتمام ، شبکه wg0 را با استفاده از ویژگی های مشخص شده در پرونده پیکربندی فعال کنید:sudo wg-quick up wg0دستور خروجی مشابه با موارد زیر را تولید می کند:[#] ip link add wg0 type wireguard[#] wg setconf wg0 /dev/fd/63[#] ip -4 address add 10.0.0.1/24 dev wg0[#] ip link set mtu 1420 up dev wg0[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADEwg show wg0 را برای بررسی وضعیت شبکه و پیکربندی اجرا کنید:sudo wg show wg0interface: wg0 public key: r3imyh3MCYggaZACmkx+CxlD6uAmICI8pe/PGq8+qCg= private key: (hidden) listening port: 51820همچنین می توانید با ip a show wg0وضعیت شبکه را تأیید کنید:ip a show wg04: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000 link/none inet 10.0.0.1/24 scope global wg0 valid_lft forever preferred_lft foreverبرای فعال شدن شبکه WireGuard در زمان بوت ، دستور زیر را اجرا کنید:sudo systemctl enable wg-quick@wg0شبکه سرور و پیکربندی فایروالبرای کار کردنNAT ، باید IP forwarding را فعال کنیم. پرونده /etc/sysctl.conf را باز کنید و خط زیر را اضافه کنید:sudo nano /etc/sysctl.confnet.ipv4.ip_forward=1پرونده را ذخیره کنید و تغییر را اعمال کنید:sudo sysctl -pخروجی:net.ipv4.ip_forward = 1اگر از UFW برای مدیریت فایروال خود استفاده می کنید ، باید ترافیک UDP را در پورت 51820 باز کنید :sudo ufw allow 51820/udpخودشه. همکار اوبونتو که به عنوان سرور عمل می کند ، تنظیم شده است.تنظیمات کاربر در Linux و macOSدستورالعمل های نصب برای همه سیستم عامل های پشتیبانی شده در https://wireguard.com/install/ در دسترس هستند . در سیستم های لینوکس ، می توانید بسته را با استفاده از مدیر بسته و بر روی macOS با brew نصب کنید . پس از نصب WireGuard ، مراحل زیر را برای پیکربندی دستگاه مشتری دنبال کنید.روند راه اندازی یک سرویس دهنده لینوکس و macOS تقریباً مشابه آنچه شما برای سرور انجام داده اید ، نیست. با تولید کلیدهای عمومی و خصوصی شروع کنید:wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickeyپرونده wg0.confرا ایجاد کرده و مطالب زیر را اضافه کنید:sudo nano /etc/wireguard/wg0.conf[Interface]PrivateKey = CLIENT_PRIVATE_KEYAddress = 10.0.0.2/24[Peer]PublicKey = SERVER_PUBLIC_KEYEndpoint = SERVER_IP_ADDRESS:51820AllowedIPs = 0.0.0.0/0اگر نیاز به پیکربندی کاربران اضافی دارید ، فقط همین مراحل را با استفاده از یک آدرس IP خصوصی متفاوت تکرار کنید.تنظیمات کاربران ویندوزبسته ویندوز msi را از وب سایت WireGuard بارگیری و نصب کنید .پس از نصب برنامه، WireGuard را باز کرده و بر روی Add Tunnel” -> “Add empty tunnel…” کلیک کنید:یک کلید عمومی به طور خودکار ایجاد می شود و آن را روی صفحه نمایش می دهد.یک نام برای تونل وارد کنید و پیکربندی را به شرح زیر ویرایش کنید:[Interface]PrivateKey = CLIENT_PRIVATE_KEYAddress = 10.0.0.2/24[Peer]PublicKey = SERVER_PUBLIC_KEYEndpoint = SERVER_IP_ADDRESS:51820AllowedIPs = 0.0.0.0/0در قسمت شبکه ، یک خط جدید برای تعریف آدرس تونل مشتری اضافه کنید.پس از اتمام روی دکمه " Save " کلیک کنید.Client Peer را به سرور اضافه کنیدآخرین مرحله افزودن کلید عمومی مشتری و آدرس IP به سرور:sudo wg set wg0 peer CLIENT_PUBLIC_KEY allowed-ips 10.0.0.2مطمئن شوید که آن را CLIENT_PUBLIC_KEYبا کلید عمومی ایجاد شده در دستگاه کاربر ( sudo cat /etc/wireguard/publickey) تغییر دهید و در صورت متفاوت بودن، آدرس IP کاربر را تنظیم کنید. کاربران ویندوز می توانند کلید عمومی را از برنامه WireGuard کپی کنند.پس از اتمام کار ، به دستگاه کاربر مراجعه کنید و شبکه تونل را فعال کنید.کاربران لینوکس و macOSکاربران لینوکس برای فعال کردن شبکه دستور زیر را اجرا کنند:sudo wg-quick up wg0حال باید به سرور اوبونتو متصل شوید و باید ترافیک دستگاه کاربر شما از آن عبور کند. می توانید ارتباط را با دستور زیر بررسی کنید:sudo wginterface: wg0 public key: sZThYo/0oECwzUsIKTa6LYXLhk+Jb/nqK4kCCP2pyFg= private key: (hidden) listening port: 48052 fwmark: 0xca6cpeer: r3imyh3MCYggaZACmkx+CxlD6uAmICI8pe/PGq8+qCg= endpoint: XXX.XXX.XXX.XXX:51820 allowed ips: 0.0.0.0/0 latest handshake: 1 minute, 22 seconds ago transfer: 58.43 KiB received, 70.82 KiB sentهمچنین می توانید مرورگر خود را باز کنید ، عبارت " what is my ip " را تایپ کنید ، و باید آدرس IP سرور Ubuntu خود را مشاهده کنید.برای متوقف کردن تونلینگ شبکه wg0قطع کنید:sudo wg-quick down wg0کاربران Windowsاگر WireGuard را در ویندوز نصب کرده اید ، روی دکمه " Activate " کلیک کنید. پس از اتصال ، وضعیت تونل به حالت فعال تغییر می یابد:نتیجه گیریما در این مقاله به شما آموزش نصب WireGuard در اوبونتو 18.04 را به شما آموختیم.

ادامه مطلب
آموزش نصب Memcached در CentOS 8

آموزش نصب Memcached در CentOS 8

آموزش نصب Memcached در CentOS 8Memcached یک نرم افزار برای انجام عملیات کش روی سرورهای وب سایت های Dynamic هست که باعث استفاده بهتر و بهینه تر از منابع خواهد شد. به طور معمول ، از آن به عنوان یک سیستم حافظه کش برای سرعت بخشیدن به برنامه ها با ذخیره اشیاء مختلف از نتایج مکالمه های پایگاه داده استفاده می شود. این مقاله آموزش نصب و پیکربندی Memcached در CentOS 8 را نشان می دهد. نصب Memcached در CentOSبسته های Memcached در مخازن پیش فرض CentOS 8 گنجانده شده اند. نصب بسیار آسان است ، دستور زیر را به عنوان root یا کاربر با امتیازات sudo وارد کنید : sudo dnf install memcached libmemcached بسته libmemcached چندین ابزار خط فرمان برای مدیریت سرور Memcached ارائه می دهد. پس از اتمام نصب ، سرویس Memcached را با تایپ کردن فعال کنید و شروع کنید. sudo systemctl enable memcached --now برای تأیید صحت اجرای برنامه نصب شده ، تایپ کنید: sudo systemctl status memcached خروجی باید چیزی شبیه به این باشد: ● memcached.service - memcached daemon Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago ...شما Memcached را روی سرور CentOS 8 خود نصب کرده اید و می توانید شروع به استفاده از آن کنید. پیکربندی Memcached گزینه های Memcached را می توان در پرونده /etc/sysconfig/memcached پیکربندی کرد. به طور پیش فرض ، Memcached قرار است فقط در localhost فراخوانی شود. اگر مشتری متصل به سرور نیز در همان میزبان در حال اجرا است ، شما نباید هیچ تغییری ایجاد کنید. دسترسی از راه دور اگر برنامه ای که به Memcached متصل خواهد شد روی یک سرور از راه دور میزبانی شده است ، باید دیوار آتش خود را پیکربندی کنید و اجازه دسترسی به پورت Memcached 11211 را فقط از آدرس IP مشتری دریافت کنید. در صورت پیکربندی نامناسب Memcached می تواند برای انجام حمله DDoS استفاده شود. مثال زیر فرض می کند که می خواهید از طریق شبکه خصوصی به سرور Memcached متصل شوید. IP سرور Memcached 192.168.100.20 و آدرس IP مشتری 192.168.100.30 است . اولین قدم ویرایش پیکربندی Memcached و تنظیم سرویس برای گوش دادن به کارت شبکه خصوصی سرور است: پرونده پیکربندی memcached را باز کنید: sudo nano /etc/sysconfig/memcached در پارامتر OPTIONS ، آدرس IP سرور -l 192.168.100.20 اضافه کنید. این دستورالعمل Memcached را فقط به کارت شبکه مشخص شده متصل می کند. OPTIONS="-l 192.168.100.20" پرونده را ذخیره کنید و سرویس Memcached را مجدداً راه اندازی کنید تا تغییرات اعمال شوند: sudo systemctl restart memcached پس از پیکربندی سرویس ، مرحله بعدی باز کردن پورت memcached در فایروال شما است. CentOS با ابزار پیکربندی FirewallD . دستورات زیر یک zone جدید به نام memcached ایجاد می کنند ، پورت 11211 باز کرده و فقط از طریق آدرس IP مشتری امکان دسترسی پیدا می کنند. sudo firewall-cmd --new-zone=memcached --permanentsudo firewall-cmd --zone=memcached --add-port=11211/udp --permanentsudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanentsudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanentsudo firewall-cmd --reloadاتصال به Memcached برای اتصال به سرور Memcached باید از یک زبان خاص استفاده کنید. PHP برای استفاده از Memcached به عنوان یک کش پایگاه داده ، برای برنامه های PHP مانند WordPress ، Drupal یا Magento ، باید افزونه php-pecl-memcached را نصب کنید: sudo apt install php-pecl-memcacheپایتون چندین کتابخانه پایتون به دلیل تعامل با memcached وجود دارد. می توانید کتابخانه مورد نظر خود را با استفاده از pip نصب کنید: pip install pymemcachepip install python-memcachedنتیجه گیری ما به شما نشان داده ایم كه چگونه Memcached را در CentOS 8 نصب كنید. برای اطلاعات بیشتر در مورد این موضوع ، با Memcached Wiki استفاده كنید.

ادامه مطلب
آموزش نصب فایروال UFW در Debian 10

آموزش نصب فایروال UFW در Debian 10

آموزش نصب فایروال UFW در Debian 10فایروالی که درست کانفیگ شده باشد، یکی از مهمترین جنبه های امنیت کلی سیستم است. UFW جلوه ی کاربر پسند برای مدیریت قوانین فایروال iptables است. هدف اصلی آن آسانتر کردن مدیریت iptables یا همانطور که از نام آن مشخص است ساده بودن است. در این مقاله آموزش نصب و تنظیم فایروال با UFW در Debian 10 توضیح داده شده است. پیش نیازهافقط root یا کاربر دارای امتیازات sudo می تواند فایروال سیستم را مدیریت کند. نصب UFWبرای نصب بسته ufw دستورات زیر را وارد کنید: sudo apt updatesudo apt install ufwبررسی وضعیت UFW برای جلوگیری از قفل شدن سرور ، نصب خودکار فایروال را فعال نمی کند. با تایپ کردن دستور زیر می توانید وضعیت UFW را بررسی کنید: sudo ufw status verbose خروجی به شرح زیر خواهد بود: Status: inactive اگر UFW فعال شود ، خروجی شبیه به موارد زیر خواهد بود:سیاستهای پیش فرض UFWبه طور پیش فرض ، UFW تمام اتصالات ورودی را مسدود می کند و به همه اتصالات خروجی اجازه می دهد. این بدان معناست که هرکسی که سعی در دسترسی به سرور شما داشته باشد قادر به اتصال نخواهد بود مگر اینکه شما به طور خاص پورت را باز کنید. برنامه ها و سرویس های در حال اجرا بر روی سرور قادر به دسترسی به دنیای خارج خواهند بود. سیاست های پیش فرض در پرونده /etc/default/ufw تعریف شده اند و می توانند با استفاده از دستور sudo ufw default <policy> <chain> آنها را تغییر دهید. سیاست های فایروال پایه و اساس ایجاد قوانین دقیق تر و تعریف شده توسط کاربر است. به طور کلی ، خط مشی های پیش فرض UFW نقطه شروع خوبی است. پروفایل های برنامه اکثر برنامه ها با یک پروفایل برنامه ای که سرویس را توصیف می کند ارسال می شوند و شامل تنظیمات UFW هستند. پروفایل به طور خودکار در فهرست نصب /etc/ufw/applications.d ایجاد می شود. برای دیدن لیست تمام پروفایل های برنامه موجود در سیستم شما: sudo ufw utf --help بسته به بسته های نصب شده روی سیستم شما ، خروجی شبیه به موارد زیر خواهد بود: Available applications: DNS IMAP IMAPS OpenSSH POP3 POP3S Postfix Postfix SMTPS Postfix Submission ... برای یافتن اطلاعات بیشتر در مورد یک نمایه خاص و قوانین شامل ، از دستور app info و به دنبال آن نام پروفایل استفاده کنید. به عنوان مثال برای به دست آوردن اطلاعاتی درباره مشخصات OpenSSH که استفاده می کنید: sudo ufw app info OpenSSHProfile: OpenSSHTitle: Secure shell server, an rshd replacementDescription: OpenSSH is a free implementation of the Secure Shell protocol.Port: 22/tcp خروجی شامل قوانین پروفایل، عنوان ، توضیحات و قوانین فایروال است. مجاز به اتصالات SSH قبل از فعال کردن فایروال UFW ، ابتدا باید اتصالات SSH ورودی را مجاز کنید. اگر به صورت ریموت به سرور خود متصل می شوید، اگر اجازه اتصال به SSH ورودی را ندهید ، دیگر قادر به اتصال به سرور Debian خود نخواهید بود. برای پیکربندی فایروال UFW خود برای پذیرش اتصالات SSH ، دستور زیر را اجرا کنید: sudo ufw allow OpenSSHRules updatedRules updated (v6) اگر پورت سرور SSH پورت دیگری به غیر از پیش فرض 22 است ، باید آن پورت را باز کنید. به عنوان مثال ، سرور ssh شما از پورت 7722 استفاده میکند ، شما اجرای می کنید: sudo ufw allow 7722/tcpفعال کردن UFW اکنون که دیوار آتش UFW پیکربندی شده است و به اتصالات SSH ورودی اجازه می دهد ، آن را با اجرای دستور زیر فعال کنید: sudo ufw enableCommand may disrupt existing ssh connections. Proceed with operation (y|n)? yFirewall is active and enabled on system startup به شما اخطار داده می شود که فعال کردن دیوار آتش ممکن است اتصالات موجود در ssh را مختل کند. "y" را تایپ کرده و "Enter" را فشار دهید. باز کردن پورت هابسته به برنامه هایی که روی سرور شما اجرا می شود ، باید درگاه هایی را که سرویس ها روی آن اجرا می شوند باز کنید. در زیر چند نمونه از نحوه اجازه اتصال اتصالات ورودی به برخی از سروس های متداول آورده شده است: بازکردن پورت 80 - HTTP برای مجاز کردن اتصالات HTTP : sudo ufw allow http به جای پروفایلhttp می توانید از شماره پورت 80 : sudo ufw allow 80/tcpباز کردن پورت 443 - HTTPS برای مجاز کردن اتصالات HTTPS : sudo ufw allow https همچنین می توانید از شماره پورت 443 : sudo ufw allow 443/tcpباز کردن پورت 8080 اگر از Tomcat یا هر برنامه دیگری را که از پورت 8080 استفاده میکند ، استفاده میکنید باید پورت را باز کنید: sudo ufw allow 8080/tcpباز کردن رنج پورت با استفاده از UFW ، همچنین می توانید به محدوده پورت دسترسی داشته باشید. هنگام باز کردن دامنه ، باید پروتکل پورت را مشخص کنید. به عنوان مثال ، برای اجازه دادن به پورت های 7100 تا 7200 در دو پروتکل tcp و udp ، دستور زیر را اجرا کنید: sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udpاجازه دادن به یک IP خاص برای دسترسی به همه پورتها از یک آدرس IP خاص ،از دستور ufw allow from و به دنبال آن آدرس IP استفاده کنید: sudo ufw allow from IPمجاز به آدرسهای IP خاص در پورت خاص برای دسترسی به پورت خاص ، (مثلا بگوییم پورت 22 از دستگاه با آدرس IP 64.63.62.61) از دستور زیر استفاده کنید: sudo ufw allow from 64.63.62.61 to any port 22اجازه دادن به Subnet دستور اجازه اتصال از ساب نت آدرس ، همانند هنگام استفاده از یک آدرس IP واحد است. تنها تفاوت این است که شما باید netmask را مشخص کنید. به عنوان مثال ، اگر می خواهید دسترسی به آدرسهای IP از 192.168.1.1 تا 192.168.1.254 در پورت 3360 ( MySQL ) دسترسی داشته باشید ، می توانید از این دستور استفاده کنید: sudo ufw allow from 192.168.1.0/24 to any port 3306اجازه اتصال به یک کارت شبکه خاص برای دسترسی به پورت خاص ، اجازه دهید بگوییم پورت 3360 فقط به کارت شبکه eth2 ، از allow in on و نام رابط شبکه استفاده کنید: sudo ufw allow in on eth2 to any port 3306اتصالات را رد کنید خط مشی پیش فرض برای کلیه اتصالات ورودی منفی است ، به این معنی که UFW تمام اتصالات ورودی را مسدود می کند مگر اینکه شما به طور خاص اتصال را باز کنید. بیایید بگوییم که شما درگاه های 80 و 443 را باز کرده اید و سرور شما از شبکه 23.24.25.0/24 مورد حمله قرار گرفته است. برای قطع کردن همه اتصالات از 23.24.25.0/24 ، از دستور زیر استفاده کنید: sudo ufw deny from 23.24.25.0/24 اگر فقط می خواهید دسترسی از پورت های 80 و 443 از 23.24.25.0/24 را قطع کنید از دستورات زیر استفاده کنید: sudo ufw deny from 23.24.25.0/24 to any port 80sudo ufw deny from 23.24.25.0/24 to any port 443 نوشتن قوانین رد همانند نوشتن قوانین مجاز است. شما فقط نیاز به جایگزین کردن allow با deny . قوانین UFW را حذف کنید دو روش مختلف برای حذف قوانین UFW وجود دارد. با شماره رول و با مشخص کردن رول واقعی. حذف قوانین UFW بر اساس شماره رول آسانتر است ، به خصوص اگر تازه وارد باشید. برای حذف یک رول توسط شماره آن ، ابتدا باید شماره قانونی را که می خواهید حذف کنید پیدا کنید. برای انجام این کار دستور زیر: sudo ufw status numberedStatus: active To Action From -- ------ ----[ 1] 22/tcp ALLOW IN Anywhere[ 2] 80/tcp ALLOW IN Anywhere[ 3] 8080/tcp ALLOW IN Anywhere برای حذف قانون شماره 3 ، قانونی که امکان اتصال به پورت 8080 را دارد ، می توانید از دستور زیر استفاده کنید: sudo ufw delete 3 روش دوم حذف یک رول با مشخص کردن رول واقعی است. به عنوان مثال ، اگر برای باز کردن پورت 8069 قانونی اضافه کرده اید ، می توانید آن را با موارد زیر حذف کنید: sudo ufw delete allow 8069غیرفعال کردن UFW اگر به هر دلیلی می خواهید UFW را متوقف کنید و همه قوانین را غیرفعال کنید: sudo ufw disable بعداً اگر می خواهید UTF را دوباره فعال کنید و کلیه قوانین را فقط تایپ کنید: sudo ufw enableریست کردن UFW تنظیم مجدد UFW ، UFW را غیرفعال می کند و کلیه قوانین فعال را حذف می کند. اگر می خواهید همه تغییرات خود را برگردانید و دوباره شروع کنید ، این کار مفید است. برای تنظیم مجدد UFW ، دستور زیر را تایپ کنید: sudo ufw resetنتیجه گیری شما آموخته اید که چگونه دیوار آتش UFW را روی دستگاه Debian 10 خود نصب و پیکربندی کنید. حتماً ضمن محدود کردن کلیه اتصالات غیر ضروری ، به کلیه اتصالات ورودی که برای عملکرد صحیح سیستم شما لازم است ، اجازه دهید.

ادامه مطلب
آموزش نصب Mono در Debian 10

آموزش نصب Mono در Debian 10

آموزش نصب Mono در Debian 10Mono یک بستر برای توسعه و اجرای برنامه های متقابل مبتنی بر استانداردهای ECMA / ISO است. Mono یک فریم ورک رایگان و منبع باز از چارچوب .NET مایکروسافت است. در این مقاله اطلاعاتی در مورد آموزش نصب Mono در Debian 10 ارائه شده است. پیش نیازها مطمئن شوید که به عنوان root یا کاربر دارای امتیازات sudo وارد شده اید . نصب مونو در دبیان (Debian 10) مونو در مخازن استاندارد دبیان موجود نیست. بسته های Mono را از مخزن های رسمی Mono نصب خواهیم کرد. این روند نسبتاً ساده است و تنها چند دقیقه طول خواهد کشید. با نصب بسته های لازم شروع کنید:sudo apt updatesudo apt install dirmngr gnupg apt-transport-https ca-certificates دستور زیر را برای وارد کردن کلید GPG مخزن وارد کنید:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EFخروجی باید شبیه این باشد:gpg: key A6A19B38D3D831EF: public key "Xamarin Public Jenkins (auto-signing) <releng@xamarin.com>" importedgpg: Total number processed: 1gpg: imported: 1 مخزن Mono را به لیست منابع سیستم خود اضافه کنید:sudo sh -c 'echo "deb https://download.mono-project.com/repo/debian stable-buster main" > /etc/apt/sources.list.d/mono-official-stable.list' پس از فعال کردن مخزن apt ، لیست بسته ها را به روز کنید و Mono را نصب کنید:sudo apt updatesudo apt install mono-complete mono-complete یک پکیج متا است که همه موارد مورد نیاز برای توسعه مونو ، از جمله زمان اجرا ، ابزار توسعه و کلیه کتابخانه ها را نصب می کند. چاپ نصب نسخه Mono را تأیید کنید:mono --versionدر زمان نوشتن این مقاله ، آخرین نسخه پایدار Mono برابر 6.8.0 Stable (6.8.0.105) است.Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:43 UTC 2020)Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug Interpreter: yes LLVM: yes(610) Suspend: hybrid GC: sgen (concurrent by default)شما Mono را با موفقیت در دبیان نصب کرده اید ، و می توانید شروع به توسعه برنامه خود کنید. شروع کار با Mono برای تأیید صحت تنظیم همه چیز ، ما یک برنامه Hello World خواهیم ساخت که پیام کلاسیک " Hello World " را چاپ خواهد کرد. ویرایشگر متن خود را باز کنید و پرونده ای به نام hello.cs با محتوای زیر ایجاد کنید: سلام using System;public class HelloWorld{ public static void Main(string[] args) { Console.WriteLine ("Hello World!"); }} برای ساخت برنامه از کامپایلر csc استفاده کنید: csc hello.cs دستور فوق یک پرونده اجرایی با نام hello.exe ایجاد خواهد کرد. با استفاده از دستور زیر ، پرونده اجرایی را اجرا کنید: mono hello.exe خروجی باید چیزی شبیه به این باشد: Hello, World برای اینکه بتوانید فقط با تایپ نام آن ، برنامه را اجرا کنید ، باید پرونده را اجرایی کنید : chmod +x hello.exe اکنون می توانید پرونده hello.exe را با تایپ کردن اجرا کنید: ./hello.exeنتیجه گیری ما در این آموزش نحوه نصب Mono در Debian 10 را به شما آموزش دادیم. آخرین بسته های پایدار نسخه Mono برای نصب از مخزن رسمی Mono در دسترس هستند.

ادامه مطلب
آموزش اضافه کردن و حذف کاربران در CentOS 8

آموزش اضافه کردن و حذف کاربران در CentOS 8

آموزش اضافه کردن و حذف کاربران در CentOS 8یکی از اولین کارها هنگام تهیه سرور لینوکس جدید ، اضافه کردن و حذف کاربران است. هر کاربر می تواند سطح مجوزهای مختلف و تنظیمات خاص برای برنامه های مختلف، خط فرمان و رابط کاربری گرافیکی داشته باشد. در این مقاله نحوه اضافه کردن و حذف کاربران در CentOS 8 توضیح داده شده است. پیش نیازها برای اینکه بتوانید کاربران را ایجاد و حذف کنید ، باید به عنوان root یا کاربر با امتیازات sudo وارد شوید . نحوه افزودن کاربر در CentOS 8در CentOS می توانید با استفاده از دستور useradd یک حساب کاربری جدید ایجاد کنید و به دنبال آن نام کاربری که می خواهید ایجاد کنید. به عنوان مثال ، برای ایجاد یک حساب کاربری جدید با نام "one3erver" باید اجرا شود: sudo adduser one3erverاین فرمان هیچ خروجی ایجاد نمی کند.دستور، این کاربر و دایرکتوری خانه کاربر ( /home/one3erver ) را ایجاد کرده و پرونده ها را از فهرست /etc/skel فهرست خانه کاربر کپی می کند. در فهرست خانه ، کاربر می تواند پرونده ها و دایرکتوری ها را بنویسد ، ویرایش و حذف کند. اگر به عنوان root وارد شوید ، لازم نیست که هر فرمان را با sudo اضافه کنید. در مرحله بعد ، باید برای کاربر جدید رمزعبور تنظیم کنید تا کاربر بتواند وارد سیستم شود. sudo passwd one3erver از شما خواسته می شود رمز عبور را وارد کنید و تأیید کنید: Changing password for user one3erver.New password: Retype new password: passwd: all authentication tokens updated successfully اطمینان حاصل کنید که از یک رمزعبور قوی استفاده می کنید که حاوی حروف بزرگ ، حروف کوچک ، اعداد و کارکترهای خاص است. اعطای امتیازات sudoبه طور پیش فرض در CentOS ، اعضای گروه دارای دسترسی sudo هستند. اگر می خواهید کاربر تازه ایجاد شده دارای دسترسی administrative باشد ، کاربر را به گروه اضافه کنید : sudo usermod -aG wheel one3erver همچنین می توانید با تغییر پرونده sudoers ، دسترسی کاربر sudo را پیکربندی کنید . نحوه حذف کاربر در CentOS برای حذف یک حساب کاربری دیگر لازم نیست ، دستور userdel و به دنبال آن نام کاربر را فراخوانی کنید. برای مثال ، برای حذف حساب کاربری با نام "one3erver": sudo userdel one3erverاین فرمان هیچ خروجی ایجاد نمی کند. دستور فوق بدون حذف پرونده های کاربر، کاربر را حذف می کند. کاربر همچنین از هر گروهی که به آن تعلق دارد حذف می شود. برای حذف کاربر و حذف فهرست اصلی و ایمیل های آن ، گزینه -r را به userdel منتقل کنید: sudo userdel -r one3erver نتیجه گیری ما به شما نشان داده ایم که چگونه کاربران را در CentOS 8 اضافه کنید و حذف کنید. همان دستورات برای هر توزیع دیگر لینوکس اعمال می شود. CentOS و همچنین سایر توزیع های لینوکس یک سیستم عامل چند کاربره است. دانستن چگونگی افزودن و حذف کاربران یکی از مهارتهای اساسی است که هر کاربر لینوکس باید بداند.

ادامه مطلب
آموزش نصب و کانفیگ VSFTPD در CentOS 8

آموزش نصب و کانفیگ VSFTPD در CentOS 8

آموزش نصب و کانفیگ VSFTPD در CentOS 8FTP (پروتکل انتقال فایل) یک پروتکل شبکه سرور-کلاینت است که به کاربران امکان می دهد فایل ها را به یک سرور انتقال دهند. بسیاری از سرورهای منبع باز FTP برای لینوکس در دسترس هستند. محبوب ترین و رایج ترین سرورهای PureFTPd, ProFTPD, و vsftpd هستند. در این آموزش ، نصب و کانفیگ vsftpd را در CentOS 8 توضیح خواهیم داد. این یک سرور FTP پایدار ، ایمن و سریع است. ما همچنین به شما نشان خواهیم داد چگونه vsftpd را پیکربندی کنید تا کاربران در home directory خود محدود شوند و انتقال داده را با SSL / TLS رمزگذاری کنند. نصب vsftpd در CentOS 8 بسته vsftpd در مخازن پیش فرض CentOS موجود است. برای نصب آن ، دستور زیر را به عنوان root یا کاربر با امتیازات sudo اجرا کنید : sudo dnf install vsftpd پس از نصب پکیج ، vsftpd daemon را شروع کنید و آن را فعال کنید تا در زمان بوت شدن به طور خودکار شروع شود: sudo systemctl enable vsftpd --now وضعیت سرویس را تأیید کنید: sudo systemctl status vsftpd خروجی چیزی شبیه به این خواهد بود ، نشان می دهد که سرویس vsftpd فعال و در حال اجرا است: vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-03-30 15:16:51 EDT; 10s ago Process: 2880 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS) ...کانفیگ vsftpd در centos 8 تنظیمات سرور vsftpd در پرونده پیکربندی /etc/vsftpd/vsftpd.conf ذخیره می شود. بسیاری از تنظیمات در پرونده به خوبی ثبت شده اند. برای مشاهده همه گزینه های موجود ، به صفحه رسمی vsftpd مراجعه کنید. در بخش های بعدی به برخی از تنظیمات مهم مورد نیاز برای پیکربندی نصب امن vsftpd خواهیم پرداخت. با باز کردن پرونده پیکربندی vsftpd شروع کنید: sudo nano /etc/vsftpd/vsftpd.conf1. دسترسی FTP ما فقط به کاربران محلی اجازه دسترسی به سرور FTP خواهیم داد ، دستورالعمل های anonymous_enable و local_enable را پیدا کنید و مطمئن شوید که پیکربندی شما با خطوط زیر مطابقت دارد:anonymous_enable=NOlocal_enable=YES2. فعال کردن آپلوداز تنظیمات write_enable برای تغییر در فایل سیستم ، مانند بارگذاری و حذف پرونده ها ، استفاده کنید. write_enable=YES 3. Chroot Jail از دسترسی کاربران FTP به فایل های خارج از home directories با chroot جلوگیری کنید.chroot_local_user=YES به طور پیش فرض ، هنگامی که chroot فعال است ، vsftpd در صورت قابل نوشتن بودن در فهرستی که کاربران در آن قفل شده اند ، از آپلود پرونده خودداری می کنند. این امر برای جلوگیری از آسیب پذیری امنیتی است. از یکی از روشهای زیر استفاده کنید تا هنگام فعال کردن chroot اجازه آپلود دهد. روش 1. - روش پیشنهادی برای اجازه آپلود، فعال کردن chroot و پیکربندی دایرکتوری های FTP است. در این آموزش یک دایرکتوری ftp در داخل Home کاربر ایجاد خواهیم کرد که به عنوان chroot و یک فهرست بارگذاری نوشتاری برای بارگذاری فایل ها استفاده می شود.user_sub_token=$USERlocal_root=/home/$USER/ftp روش 2. - گزینه دیگر اضافه کردن دستورالعمل زیر در پرونده پیکربندی vsftpd است. اگر می خواهید به کاربر دسترسی تغییرات در home directory دهید ، از این گزینه استفاده کنید.allow_writeable_chroot=YES4. اتصالات FTP منفعل vsftpd می تواند از هر پورت برای اتصالات FTP منفعل استفاده کند. ما حداقل و حداکثر رنج پورت ها را مشخص می کنیم و بعداً دامنه را در فایروال خود باز خواهیم کرد خطوط زیر را به پرونده پیکربندی اضافه کنید: pasv_min_port=30000pasv_max_port=310005. محدود کردن ورود کاربر برای ورود فقط برخی از کاربران به سرور FTP ، خطوط زیر را بعد از خط userlist_enable=YES اضافه کنید: userlist_file=/etc/vsftpd/user_listuserlist_deny=NO هنگامی که این گزینه فعال شد ، باید صریحاً مشخص کنید که کاربران با اضافه کردن نامهای کاربر به پرونده /etc/vsftpd/user_list (یک کاربر در هر خط) می توانند وارد سیستم شوند. 6. تضمین انتقال با SSL / TLSبرای رمزگذاری انتقال FTP با SSL / TLS ، برای استفاده از آن باید یک گواهی SSL داشته باشید و سرور FTP را پیکربندی کنید. اگر دامنه یا ساب دامنه ای دارید که به آدرس IP سرور FTP اشاره می کند ، می توانید به راحتی یک مجوز رایگان Let’s Encrypt SSL تولید کنید. در این آموزش ، ما با استفاده از ابزار openssl یک self-signed SSL certificate تولید می کنیم. دستور زیر یک کلید خصوصی 2048 بیتی و گواهی self-signed برای 10 سال ایجاد می کند. کلید خصوصی و گواهینامه در یک پرونده ذخیره می شوند: sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem پس از ایجاد گواهینامه SSL پرونده پیکربندی vsftpd را باز کنید: sudo nano /etc/vsftpd/vsftpd.conf دستورالعمل های rsa_cert_file و rsa_private_key_file را پیدا کنید، مقادیر آنها را در مسیر فایل pam تغییر دهید و دستورالعمل ssl_enable را YES قرار دهید: rsa_cert_file=/etc/vsftpd/vsftpd.pemrsa_private_key_file=/etc/vsftpd/vsftpd.pemssl_enable=YES اگر در غیر این صورت مشخص نشده باشد ، سرور FTP برای برقراری اتصالات ایمن فقط از TLS استفاده می کند. راه اندازی مجدد سرویس vsftpd پس از انجام ویرایش ، فایل پیکربندی vsftpd (به استثنای comments ) باید چیزی شبیه به این باشد: anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESchroot_local_user=YESlisten=NOlisten_ipv6=YESpam_service_name=vsftpduserlist_enable=YESuserlist_file=/etc/vsftpd/user_listuserlist_deny=NOtcp_wrappers=YESuser_sub_token=$USERlocal_root=/home/$USER/ftppasv_min_port=30000pasv_max_port=31000rsa_cert_file=/etc/vsftpd/vsftpd.pemrsa_private_key_file=/etc/vsftpd/vsftpd.pemssl_enable=YES فایل را ذخیره کرده و سرویس vsftpd را برای اعمال تغییرات ری استارت کنید: sudo systemctl restart vsftpdباز کردن فایروال برای باز کردن پورت 21 (پورت فرمان FTP) ، پورت 20 (پورت داده FTP) و 30000-31000 (محدوده پورت های Passive) ، در فایروال خود دستورات زیر را وارد کنید: sudo firewall-cmd --permanent --add-port=20-21/tcpsudo firewall-cmd --permanent --add-port=30000-31000/tcp قوانین فایروال را ریلود کنید: firewall-cmd --reloadایجاد کاربر FTP برای تست سرور FTP ، کاربر جدیدی را ایجاد خواهیم کرد. اگر از قبل کاربرانی دارید که می خواهید به FTP دسترسی داشته باشد ، مرحله اول را رد کنید. اگر اجازه allow_writeable_chroot=YES در پرونده پیکربندی خود تنظیم کرده اید، مرحله 3 را پشت سر بگذارید. 1. کاربر جدیدی بنام newftpuser میسازیم: sudo adduser newftpuserدر مرحله بعد باید رمزعبور کاربر را تنظیم کنید :sudo passwd newftpuser 2. کاربر را به لیست کاربران مجاز FTP اضافه کنید:echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list 3. درخت پوشه FTP را ایجاد کنید و مجوزهای صحیح را تنظیم کنید:sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftpهمانطور که در بخش قبلی مورد بحث قرار گرفت ، کاربر قادر خواهد بود پرونده های خود را در فهرست ftp/upload آپلود کند. در این مرحله ، سرور FTP شما کاملاً کاربردی است و شما باید بتوانید با استفاده از هر سرویس دهنده FTP که برای استفاده از رمزگذاری TLS مانند FileZilla پیکربندی شده است ، به سرور خود متصل شوید. غیرفعال کردن دسترسی Shell به طور پیش فرض ، در هنگام ایجاد کاربر ، اگر صریحا مشخص نشده باشد ، کاربر به SSH سرور دسترسی خواهد داشت. برای غیرفعال کردن دسترسی به Shell، ما یک پوسته جدید ایجاد خواهیم کرد که به سادگی پیامی را چاپ خواهد کرد که به کاربر می گوید حساب آنها فقط به دسترسی FTP محدود است. برای ایجاد شل /bin/ftponly و اجرای آن ، دستورات زیر را اجرا کنید: echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponlysudo chmod a+x /bin/ftponly پوسته جدید را به لیست پوسته های معتبر در پرونده /etc/shells shell ها اضافه کنید: echo "/bin/ftponly" | sudo tee -a /etc/shells پوسته کاربر را به /bin/ftponly تغییر دهید: sudo usermod newftpuser -s /bin/ftponly برای تغییر پوسته برای سایر کاربرانی که می خواهید فقط به FTP دسترسی داشته باشید ، از همان دستور استفاده کنید. نتیجه گیری ما به شما نشان داده ایم كه چگونه سرور FTP ایمن و سریع را در CentOS 8 نصب و پیكربندی كنید. برای انتقال ایمن تر و سریع تر داده ها ، باید از SCP یا SFTP استفاده کنید.

ادامه مطلب
آموزش تنظیم SSH Keys در اوبونتو 18.04

آموزش تنظیم SSH Keys در اوبونتو 18.04

آموزش تنظیم SSH Keys در اوبونتو 18.04Secure Shell (SSH) یک پروتکل رمزنگاری شبکه است که برای اتصال ایمن بین مشتری و سرور مورد استفاده قرار می گیرد و از مکانیسم های مختلف تأیید اعتبار پشتیبانی می کند. دو مکانیسم مشهور عبارتند از تأیید اعتبار کلمه عبور و تأیید اعتبار عمومی مبتنی بر کلید. استفاده از کلیدهای SSH نسبت به احراز هویت سنتی رمز عبور ایمن تر و راحت تر است. در این آموزش ، نحوه تولید کلیدهای SSH در دستگاه های اوبونتو 18.04 را مرور خواهیم کرد. ما همچنین به شما روش تنظیم احراز هویت مبتنی بر کلید SSH را نشان می دهیم و بدون وارد کردن رمز عبور به سرورهای راه دور لینوکس خود متصل می شوید. ایجاد کلیدهای SSH در اوبونتوقبل از ایجاد یک جفت کلید جدید SSH ، ابتدا کلیدهای SSH موجود را در دستگاه buntu client خود بررسی کنید. می توانید این کار را با اجرای دستور ls زیر انجام دهید: ls -l ~/.ssh/id_*.pub اگر دستور فوق چیزی را چاپ کند مانند No such file or directory و یا no matches found ، به این معنی است که شما کلید SSH در دستگاه مشتری ندارید و می توانید مرحله بعدی را انجام داده و یک جفت کلید SSH تولید کنید. اگر کلیدهای موجود وجود دارد ، می توانید از آن ها استفاده کنید و مرحله بعدی را پشت سر بگذارید یا از کلیدهای قدیمی نسخه پشتیبان تهیه کنید و کلیدهای جدید تولید کنید. با تایپ کردن دستور زیر ، یک جفت کلید جدید 4096 بیتی SSH با آدرس ایمیل خود ایجاد کنید: ssh-keygen -t rsa -b 4096 -C "your_email@domain.com" خروجی چیزی شبیه به این خواهد بود: Enter file in which to save the key (/home/yourusername/.ssh/id_rsa): Enter فشار دهید تا مکان پیش فرض فایل و نام پرونده را بپذیرید. در مرحله بعد ، از شما خواسته می شود یک کلمه عبور ایمن تایپ کنید. این که آیا شما می خواهید از کلمه عبور استفاده کنید ، بستگی به شما دارد. اگر استفاده از عبارت عبور انتخاب کنید، یک لایه امنیتی اضافی دریافت خواهید کرد. Enter passphrase (empty for no passphrase): اگر نمی خواهید از عبارت عبور استفاده Enter فشار دهید. برای تأیید ایجاد SSH key جدید ، تایپ کنید: ls ~/.ssh/id_*/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub کلید عمومی را در سرور اوبونتو کپی کنید اکنون که جفت کلید SSH خود را ایجاد کردید ، مرحله بعدی کپی کردن کلید عمومی روی سرور مورد نظر برای مدیریت است. ساده ترین و توصیه شده ترین روش برای کپی کردن کلید عمومی خود بر روی سرور ، استفاده از ابزاری به نام ssh-copy-id . در ترمینال دستگاه لوکال شماست: ssh-copy-id remote_username@server_ip_address از شما خواسته می شود رمز ورود نام کاربری را وارد کنید: remote_username@server_ip_address's password: پس از تأیید اعتبار کاربر ، کلید عمومی ~/.ssh/id_rsa.pub به پرونده یوزر ریموت ~/.ssh/authorized_keys اضافه میشود و کانکشن بسته میشود.Number of key(s) added: 1Now try logging into the machine, with: "ssh 'username@server_ip_address'"and check to make sure that only the key(s) you wanted were added. اگر به دلایلی ابزار ssh-copy-id در رایانه شما موجود نیست ، می توانید از دستور زیر برای کپی کردن کلید عمومی استفاده کنید: cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"با استفاده از کلیدهای SSH وارد سرور خود شوید پس از انجام مراحل فوق باید بتوانید بدون اینکه پسورد خواسته شود ، به سرور ریموت وارد شوید. برای آزمایش آن ، سعی کنید از طریق SSH به سرور خود وارد شوید: ssh remote_username@server_ip_address اگر یک عبارت عبور برای کلید خصوصی تنظیم نکرده اید ، بلافاصله وارد سیستم می شوید. در غیر اینصورت از شما خواسته می شود که عبارت عبور را وارد کنید. غیرفعال کردن تأیید هویت رمزعبور SSH غیرفعال کردن احراز هویت رمز عبور ، یک لایه امنیتی بیشتر به سرور شما اضافه می کند. قبل از غیرفعال کردن احراز هویت رمزعبور SSH ، مطمئن شوید که می توانید بدون رمز ورود به سرور خود وارد شوید و کاربری که با آن وارد شده اید دارای امتیازات sudo است . وارد سرور راه دور خود شوید: ssh sudo_user@server_ip_address پرونده پیکربندی SSH /etc/ssh/sshd_config با ویرایشگر متن خود باز کنید : sudo nano /etc/ssh/sshd_configموارد زیر را جستجو کنید و به شرح زیر اصلاح کنید:PasswordAuthentication noChallengeResponseAuthentication noUsePAM no پس از اتمام کار ، پرونده را ذخیره کرده و سرویس SSH را دوباره راه اندازی کنید: sudo systemctl restart ssh در این مرحله ، تأیید هویت مبتنی بر رمز عبور غیرفعال است. نتیجه گیری در این آموزش ، شما یاد گرفتید که چگونه یک جفت کلید جدید SSH تولید کنید و احراز هویت مبتنی بر کلید SSH را تنظیم کنید. می توانید همان کلید را به چندین سرور از راه دور اضافه کنید. ما همچنین به شما نشان داده ایم كه چگونه رمز عبور SSH را غیرفعال كنید و یک لایه امنیتی بیشتر به سرور خود اضافه كنید. به طور پیش فرض ، SSH از پورت 22 استفاده میکند. تغییر درگاه پیش فرض SSH خطر حملات را کاهش می دهد. اگر به طور مرتب به چندین سیستم وصل می شوید ، می توانید با تعیین کلیه اتصالات خود در پرونده پیکربندی SSH ، جریان کاری خود را ساده کنید.

ادامه مطلب
آموزش نصب Gradle روی Debian 10

آموزش نصب Gradle روی Debian 10

آموزش نصب Gradle در Debian 10Gradle ابزاری قدرتمند و قابل انعطاف است که در درجه اول برای پروژه های جاوا مورد استفاده قرار می گیرد و بهترین ویژگی های Ant و Maven را با هم ترکیب می کند. بر خلاف پیشینیان خود ، که از XML برای اسکریپت استفاده می کنند ، Gradle از Groovy ، یک زبان برنامه نویسی پویا و شی گرا برای پلتفرم جاوا برای تعریف پروژه و ساخت اسکریپت استفاده می کند. در این مقاله نحوه نصب Gradle در Debian 10 توضیح داده شده است. پیش نیازها دستورالعمل فرض می کند که شما به عنوان root یا کاربر دارای امتیازات sudo وارد شده اید . نصب OpenJDK Gradle برای نصب روی سرور نیاز به Java SE 8 یا بالاتر دارد. برای نصب بسته OpenJDK دستور زیر را اجرا کنید : sudo apt updatesudo apt install default-jdk نصب جاوا را با دستور زیر بررسی کنید: java -version خروجی باید چیزی شبیه به این باشد: openjdk version "11.0.6" 2020-01-14OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1)OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)بارگیری gradle در زمان نوشتن این مقاله ، آخرین نسخه Gradle 6.3 . قبل از ادامه مرحله بعدی ، باید صفحه انتشار Gradle را بررسی کنید تا نسخه جدیدترین نسخه را نصب کنید. wget زیر را برای بارگیری فایل باینری Gradle اجرا کنید: wget https://services.gradle.org/distributions/gradle-6.3-bin.zip -P /tmp پس از اتمام بارگیری ، فایل zip را در فهرست /opt/gradle اکسترکت کنید: sudo unzip -d /opt/gradle /tmp/gradle-*.zip تأیید کنید که پرونده های Gradle استخراج شده اند: ls /opt/gradle/gradle-*bin getting-started.html init.d lib LICENSE media NOTICEتنظیم متغیرهای محیطی در مرحله بعد ، ما باید متغیر محیط PATH را پیکربندی کنیم تا دایرکتوری Gradle bin باشد. برای انجام این کار ، ویرایشگر متن خود را باز کرده و یک پرونده جدید با نام gradle.sh در داخل فهرست /etc/profile.d ایجاد کنید. sudo nano /etc/profile.d/gradle.sh پیکربندی زیر را جایگذاری کنید: export GRADLE_HOME=/opt/gradle/gradle-6.3export PATH=${GRADLE_HOME}/bin:${PATH} ذخیره کنید و فایل را ببندید. با اجرای دستور chmod زیر ، اسکریپت را اجرایی کنید: sudo chmod +x /etc/profile.d/gradle.sh متغیرهای محیط را با استفاده از دستور source بارگیری کنید: source /etc/profile.d/gradle.shتأیید صحت نصب برای تأیید صحت نصب صحیح ، دستور زیر را اجرا کنید که نسخه Gradle را نشان می دهد: gradle -v شما باید چیزی شبیه به موارد زیر را ببینید: Welcome to Gradle 6.3!Here are the highlights of this release: - Java 14 support - Improved error messages for unexpected failuresFor more details see https://docs.gradle.org/6.3/release-notes.html------------------------------------------------------------Gradle 6.3------------------------------------------------------------Build time: 2020-03-24 19:52:07 UTCRevision: bacd40b727b0130eeac8855ae3f9fd9a0b207c60Kotlin: 1.3.70Groovy: 2.5.10Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019JVM: 11.0.6 (Debian 11.0.6+10-post-Debian-1deb10u1)OS: Linux 4.19.0-6-amd64 amd64شما Gradle را با موفقیت روی Debian 10 خود نصب کرده اید و می توانید شروع به استفاده از آن کنید. نتیجه گیری ما به شما نشان داده ایم که چگونه می توانید Gradle را روی Debian 10 ، Buster نصب کنید. هم اکنون می توانید به صفحه رسمی Documentation Gradle مراجعه کرده و نحوه شروع کار با Gradle را یاد بگیرید.

ادامه مطلب
آموزش نصب PHP Composer در CentOS 8

آموزش نصب PHP Composer در CentOS 8

آموزش نصب PHP Composer در CentOS 8کامپوزر یک مدیر dependency برای PHP است (همانطور که npm برای Node.js یا pip برای Python است). Composer تمام بسته های PHP مورد نیاز خود را که پروژه شما به آن بستگی دارد جمع می کند و آنها را برای شما مدیریت می کند. در همه چارچوب ها و سیستم عامل های مدرن PHP مانند Laravel ، Symfony ، Drupal و Magento 2 استفاده می شود. در این مقاله آموزش نصب Composer در CentOS 8 را عنوان کرده ایم. اگر عجله دارید و نمی خواهید صحت فایل را تأیید کنید ، میتوانید به بخش نصب سریع Composer بروید . پیش نیازها اطمینان حاصل کنید که قبل از ادامه شرایط زیر را رعایت کرده اید: به عنوان یک کاربر با امتیازات sudo وارد سیستم شده اید PHP را روی سیستم CentOS 8 خود نصب کنید . نصب PHP Composer در CentOS 8 مراحل زیر را برای نصب Composer در CentOS 8 انجام دهید. بسته PHP CLI (رابط خط فرمان) و کلیه وابستگی های دیگر را با دستور زیر نصب کنید:sudo dnf install php-cli php-json php-zip wget unzip پس از نصب PHP CLI ، اسکریپت نصب کننده کامپوزر را بارگیری کنید:php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"دستور فوق فایلی به نام composer-setup.php در فهرست کار فعلی بارگیری می کند . با مقایسه hash SHA-384 پرونده با هشی که در صفحه کلیدهای عمومی / امضاء کامپوزر موجود است ، یکپارچگی داده را تأیید کنید. wget زیر آخرین نصب کننده کامپوزر را از صفحه Github Composer دریافت می کند ، و آن را در متغیری به نام HASHذخیره میکند :HASH="$(wget -q -O - https://composer.github.io/installer.sig)"برای تأیید اینکه اسکریپت نصب خراب نیست دستور زیر را اجرا کنید:php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"اگر هش منطبق باشد ، پیام زیر نشان داده می شود: Installer verified در غیر این صورت ، اگر هش ها مطابقت ندارند ، Installer corrupt می بینید. پس از تأیید صحت ، مرحله بعدی را ادامه دهید. دستور زیر را برای نصب Composer در فهرست /usr/local/binاجرا کنید:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composerدستور فوق composer به عنوان یک دستورالعمل سیستم نصب می کند و برای همه کاربران در دسترس است. خروجی چیزی شبیه به این خواهد بود: All settings correct for using Composer Downloading... Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer دستور فوق composer به عنوان یک دستورالعمل سیستم نصب می کند و برای همه کاربران در دسترس است. با چاپ نسخه کامپوزر ، نصب را تأیید کنید:composer -Vخروجی:Composer version 1.10.1 2020-03-13 20:34:27 در این مرحله ، شما کامپوزر را با موفقیت در سیستم CentOS خود نصب کرده اید ، و می توانید شروع به استفاده از آن کنید. نصب سریع Composer مراحل زیر را برای نصب سریع Composer در سیستم CentOS 8 خود انجام دهید: PHP CLI و Zip را نصب کنید: sudo dnf install php-cli php-json php-zip curl unzipآموزش نصب PHP Composer در CentOS 8کامپوزر یک مدیر dependency برای PHP است (همانطور که npm برای Node.js یا pip برای Python است). Composer تمام بسته های PHP مورد نیاز خود را که پروژه شما به آن بستگی دارد جمع می کند و آنها را برای شما مدیریت می کند. در همه چارچوب ها و سیستم عامل های مدرن PHP مانند Laravel ، Symfony ، Drupal و Magento 2 استفاده می شود. در این آموزش مراحل نصب Composer در CentOS 8 را عنوان کرده ایم. اگر عجله دارید و نمی خواهید صحت فایل را تأیید کنید ، میتوانید به بخش نصب سریع Composer بروید . پیش نیازها اطمینان حاصل کنید که قبل از ادامه شرایط زیر را رعایت کرده اید: به عنوان یک کاربر با امتیازات sudo وارد سیستم شده اید PHP را روی سیستم CentOS 8 خود نصب کنید . نصب Composer در CentOS 8 مراحل زیر را برای نصب Composer در CentOS 8 انجام دهید. بسته PHP CLI (رابط خط فرمان) و کلیه وابستگی های دیگر را با دستور زیر نصب کنید:sudo dnf install php-cli php-json php-zip wget unzip پس از نصب PHP CLI ، اسکریپت نصب کننده کامپوزر را بارگیری کنید:php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"دستور فوق فایلی به نام composer-setup.php در فهرست کار فعلی بارگیری می کند . با مقایسه hash SHA-384 پرونده با هشی که در صفحه کلیدهای عمومی / امضاء کامپوزر موجود است ، یکپارچگی داده را تأیید کنید. wget زیر آخرین نصب کننده کامپوزر را از صفحه Github Composer دریافت می کند ، و آن را در متغیری به نام HASHذخیره میکند :HASH="$(wget -q -O - https://composer.github.io/installer.sig)"برای تأیید اینکه اسکریپت نصب خراب نیست دستور زیر را اجرا کنید:php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"اگر هش منطبق باشد ، پیام زیر نشان داده می شود: Installer verified در غیر این صورت ، اگر هش ها مطابقت ندارند ، Installer corrupt می بینید. پس از تأیید صحت ، مرحله بعدی را ادامه دهید. دستور زیر را برای نصب Composer در فهرست /usr/local/binاجرا کنید:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composerدستور فوق composer به عنوان یک دستورالعمل سیستم نصب می کند و برای همه کاربران در دسترس است. خروجی چیزی شبیه به این خواهد بود: All settings correct for using Composer Downloading... Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer دستور فوق composer به عنوان یک دستورالعمل سیستم نصب می کند و برای همه کاربران در دسترس است. با چاپ نسخه کامپوزر ، نصب را تأیید کنید:composer -Vخروجی:Composer version 1.10.1 2020-03-13 20:34:27 در این مرحله ، شما کامپوزر را با موفقیت در سیستم CentOS خود نصب کرده اید ، و می توانید شروع به استفاده از آن کنید. نصب سریع Composer مراحل زیر را برای نصب سریع Composer در سیستم CentOS 8 خود انجام دهید: PHP CLI و Zip را نصب کنید:sudo dnf install php-cli php-json php-zip curl unzip بارگیری کامپوزر با curl :curl -sS https://getcomposer.org/installer |php فایل Composer را به فهرست /usr/local/bin انتقال دهید:sudo mv composer.phar /usr/local/bin/composerشروع با کامپوزر اکنون که Composer روی سیستم CentOS شما نصب شده است ، ما نحوه استفاده از Composer را در یک پروژه PHP به شما نشان خواهیم داد. با ایجاد دایرکتوری root پروژه را شروع کنید : mkdir ~/my-first-composer-projectcd ~/my-first-composer-project در این مثال ، از یک بسته PHP به نام carbon برای ایجاد یک برنامه نمونه ای استفاده می کنیم که زمان فعلی را چاپ می کند. دستورالعمل زیر را برای شروع یک پروژه جدید Composer و نصب بسته کربن اجرا کنید: composer require nesbot/carbonخروجی:sing version ^2.32 for nesbot/carbon./composer.json has been createdLoading composer repositories with package informationUpdating dependencies (including require-dev)Package operations: 4 installs, 0 updates, 0 removals - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%) - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%) - Installing symfony/translation (v5.0.6): Downloading (100%) - Installing nesbot/carbon (2.32.1): Downloading (100%) symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)symfony/translation suggests installing symfony/configsymfony/translation suggests installing symfony/yamlsymfony/translation suggests installing psr/log-implementation (To use logging capability in translator)Writing lock fileGenerating autoload files3 packages you are using are looking for funding.Use the `composer fund` command to find out more! همانطور که از خروجی بالا مشاهده می کنید ، Composer فایلی را با نام composer.json ایجاد می کند و کربن و تمام وابستگی های آن را بارگیری می کند. اگر دایرکتوری پروژه خود را لیست کنید ، می بینید که شامل دو پرونده composer.json و composer.lock و یک فهرست vendor است. ls -lخروجی:-rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lockdrwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor vendor دایرکتوری است که در آن وابستگی پروژه ذخیره می شود. پرونده composer.lock شامل لیستی از همه بسته های نصب شده از جمله نسخه های آنها می باشد. composer.json فایلی است که پروژه PHP شما ، از جمله وابستگی های PHP و ابرداده دیگر را توصیف می کند. کامپوزر دارای قابلیت های autoload است که به شما امکان می دهد بدون نیاز به require یا include از کلاس های PHP استفاده کنید. یک پرونده با نام testing.php ایجاد کنید و کد زیر را اضافه کنید: <?phprequire __DIR__ . '/vendor/autoload.php';use Carbon\Carbon;printf("Now: %s", Carbon::now()); اسکریپت را با دستور اجرا کنید: php testing.php خروجی باید چیزی شبیه به این باشد: Now: 2020-03-27 22:12:26 بعداً ، اگر می خواهید بسته های PHP خود را به روز کنید ، می توانید به سادگی آپدیت کنید: composer update دستور بالا نسخه های جدیدتر بسته های نصب شده را بررسی می کند و در صورت یافتن نسخه جدیدتر و محدودیت نسخه با نسخه مشخص شده در composer.json .json مطابقت دارد ، Composer بسته را به روز می کند. نتیجه گیری شما آموخته اید که چگونه Composer را روی دستگاه CentOS 8 خود نصب کنید. ما همچنین به شما نشان داده ایم كه چگونه از Composer برای ایجاد یك پروژه PHP استفاده كنید. برای کسب اطلاعات بیشتر در مورد کامپوزر، به صفحه رسمی اسناد Composer مراجعه کنید.

ادامه مطلب
آموزش نصب و استفاده از FFmpeg در Debian 10

آموزش نصب و استفاده از FFmpeg در Debian 10

آموزش نصب و استفاده از FFmpeg در Debian 10FFmpeg یک مجموعه رایگان و منبع باز برای تهیه فایل های چندرسانه ای است. این مجموعه شامل مجموعه ای از کتابخانه های صوتی و تصویری مشترک مانند libavcodec ، libavformat و libavutil است. با FFmpeg ، می توانید فرمت های مختلف ویدیویی و صوتی را تبدیل کنید ، اندازه فیلم ها را تغییر دهید و .... . در این مقاله نحوه نصب و استفاده از FFmpeg در Debian 10 Linux توضیح داده شده است. نصب FFmpeg در Debian مخازن رسمی Debian شامل بسته های FFmpeg است که با مدیر بسته apt قابل نصب است. در زمان نوشتن این مقاله ، نسخه فعلی FFmpeg موجود در مخازن Debian 10 برابر 4.1.4 است. مراحل زیر نحوه نصب FFmpeg در Debian 10 را شرح می دهد: با به روزرسانی لیست بسته ها به عنوان root یا کاربر دارای امتیازات sudo شروع کنید : sudo apt update برای نصب بسته FFmpeg دستور زیر را وارد کنید: sudo apt install ffmpeg نصب FFmpeg را با چاپ نسخه آن تأیید کنید:ffmpeg -versionخروجی باید چیزی شبیه به زیر باشد: ffmpeg version 4.1.4-1~deb10u1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6)برای چاپ کلیه کدک های FFmpeg موجود می توانید استفاده کنید: ffmpeg -encoders ffmpeg -decoders FFmpeg اکنون روی سیستم شما نصب شده است و می توانید شروع به استفاده از آن کنید. نسخه موجود در مخازن دبیان همیشه از آخرین نسخه FFmpeg عقبتراست. اگر می خواهید آخرین نسخه FFmpeg را نصب کنید ، باید ابزارهای FFmpeg را از منبع تهیه کنید . استفاده از FFmpegدر این بخش به چند مثال اساسی در مورد چگونگی استفاده از ابزار ffmpeg خواهیم پرداخت. تبدیل اولیه در هنگام تبدیل فایلهای صوتی و تصویری با ffmpeg نیازی نیست که قالبهای ورودی و خروجی را مشخص کنید. قالب پرونده ورودی به صورت خودکار شناسایی می شود و فرمت خروجی از پسوند پرونده حدس زده می شود. تبدیل یک فایل ویدیویی از mp4 به وب:ffmpeg -i input.mp4 output.webm تبدیل یک فایل صوتی از mp3 به ogg: ffmpeg -i input.mp3 output.oggاستفاده از کدک ها هنگام تبدیل پرونده ها ، از گزینه -c برای مشخص کردن کدک ها استفاده کنید. این می تواند یک نام از کدک پشتیبانی شده یا یک copy ارزش ویژه باشد که جریان ورودی را به سادگی کپی می کند. با استفاده از کدک ویدیوی libvpx و صوتی libvorbis یک فایل ویدیویی را از mp4 به webm تبدیل کنید: ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm فایل صوتی را از mp3 به ogg کدگذاری شده با کدک libopus تبدیل کنیدffmpeg -i input.mp3 -c:a libopus output.ogg نتیجه گیری ما به شما نشان داده ایم كه چگونه FFmpeg را در Debian 10 نصب كنید. هم اکنون می توانید به صفحه رسمی Documentation FFmpeg مراجعه كنید و یاد بگیرید كه چگونه از FFmpeg برای تبدیل و فایلهای ویدیویی و صوتی خود استفاده كنید.

ادامه مطلب
آموزش نصب OpenCV در CentOS 8

آموزش نصب OpenCV در CentOS 8

آموزش نصب OpenCV در CentOS 8OpenCV (Open Source Computer Vision Library) مجموعه ای از کتابخانه‌های برنامه‌نویسی پردازش تصویر و یادگیری ماشین است که دارای رابط برنامه نویسی C ++ ، Python و Java است و از کلیه سیستم عامل های اصلی پشتیبانی می کند. OpenCV می تواند از پردازش چند هسته ای بهره ببرد و از ویژگی های شتاب GPU برای عملکرد در زمان واقعی برخوردار باشد. در این مقاله نحوه نصب OpenCV در CentOS 8 توضیح داده شده است.OpenCV برای طیفهای بسیار گسترده ای از برنامه ها ، از جمله تجزیه و تحلیل تصویر، شناسایی و تشخیص چهره ها ، ردیابی اشیاء در حال حرکت ، استخراج مدل های سه بعدی و موارد دیگر استفاده می شود. برای نصب آخرین نسخه پایدار OpenCV از منبع ، یکی از گزینه های نصب را انتخاب کنید که برای شما مناسب باشد. OpenCV را از مخزن CentOS نصب کنید بسته های OpenCV از مخازن استاندارد CentOS 8 در دسترس هستند ، اما هیچ رابطی برای پایتون وجود ندارد. بسته های OpenCV را با تایپ کردن نصب کنید: sudo dnf install opencv opencv-devel opencv-python پس از اتمام نصب ، تأیید کنید که کتابخانه OpenCV وجود دارد: pkg-config --modversion opencv 3.4.1 نصب OpenCV از منبعساختن کتابخانه OpenCV از مبدا به شما امکان می دهد آخرین نسخه موجود را داشته باشید. این روش برای سیستم خاص شما بهینه خواهد شد و کنترل کامل بر گزینه های ساخت را خواهید داشت. برای نصب جدیدترین نسخه OpenCV از منبع ، مراحل زیر را انجام دهید: وابستگی های مورد نیاز و اختیاری را نصب کنید:sudo dnf install epel-release git gcc gcc-c++ cmake3 qt5-qtbase-devel \ python3 python3-devel python3-pip cmake python3-devel python3-numpy \ gtk2-devel libpng-devel jasper-devel openexr-devel libwebp-devel \ libjpeg-turbo-devel libtiff-devel tbb-devel libv4l-devel \ eigen3-devel freeglut-devel mesa-libGL mesa-libGL-devel \ boost boost-thread boost-devel gstreamer1-plugins-base کلون کردن مخازن OpenCV و مخازن مشترک :OpenCVmkdir -p ~/opencv_build && cd ~/opencv_buildgit clone https://github.com/opencv/opencv.gitgit clone https://github.com/opencv/opencv_contrib.gitدر زمان نوشتن ، نسخه پیش فرض موجود در مخازن github نسخه 4.2.0 است. اگر می خواهید نسخه قدیمی OpenCV را نصب کنید ، به هر دو دایرکتوری opencv و opencv_contrib بروید و git checkout <opencv-version> را اجرا کنید. پس از اتمام دانلود، یک فهرست ساخت موقت ایجاد کنید و به آن تغییر دهید :cd ~/opencv_build/opencv && mkdir build && cd buildساخت OpenCV را با دستور CMake زیر پیکربندی کنید:cmake3 -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..خروجی چیزی شبیه به زیر خواهد بود: -- Configuring done-- Generating done-- Build files have been written to: /home/vagrant/opencv_build/opencv/build فرایند تلفیق را با اجرای دستور زیر شروع کنید:make -j8 -j را مطابق با پردازنده خود تغییر دهید. اگر تعداد هسته پردازنده خود را نمی دانید ، می توانید با تایپ nproc آن را پیدا کنید. بسته به منابع سیستم شما ، این مجموعه ممکن است چندین دقیقه یا بیشتر طول بکشد. كتابخانه هاي OpenCV را با دستور زیر نصب کنید: sudo make install فایل symlink opencv4.pc را در فهرست /usr/share/pkgconfig ایجاد کنید و ldconfig را برای بازسازی کش کتابخانه اجرا کنید. sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/sudo ldconfigنسخه OpenCV را با تایپ کردن بررسی کنید:pkg-config --modversion opencv44.3.0 برای تأیید اجرای ماژول پایتون cv2 دستور زیر را اجرا کنید.python3 -c "import cv2; print(cv2.__version__)"خروجی:4.3.0-dev نتیجه گیری ما دو روش مختلف برای نصب OpenCV در سرور CentOS 8 را به شما نشان داده ایم. روشی که انتخاب می کنید به نیازها و ترجیحات شما بستگی دارد. حتی اگر نصب پکیج از مخزن CentOS راحت تر باشد ، ایجاد OpenCV از منبع انعطاف پذیری بیشتری به شما می دهد و این باید اولین گزینه برای نصب OpenCV باشد.

ادامه مطلب
آموزش تنظیم یا تغییر منطقه زمانی در CentOS 8

آموزش تنظیم یا تغییر منطقه زمانی در CentOS 8

آموزش تنظیم یا تغییر منطقه زمانی در CentOS 8استفاده از منطقه زمانی صحیح برای بسیاری از کارها و فرآیندهای مرتبط با سیستم ضروری است. به عنوان مثال ، cron daemon برای اجرای cron job از منطقه زمانی سیستم استفاده می کند و timestamps در پرونده های log بر اساس منطقه زمانی مشابه سیستم می باشد. در این مقاله نحوه تنظیم یا تغییر منطقه زمانی در سیستم های CentOS 8 توضیح داده شده است. در CentOS ، منطقه زمانی سیستم هنگام نصب تنظیم می شود ، اما در زمان بعدی به راحتی قابل تغییر است.بررسی منطقه زمانی فعلی timedatectl یک ابزار خط فرمان است که به شما امکان مشاهده و تغییر زمان و تاریخ سیستم را می دهد. این سیستم در تمام سیستم های مدرن مبتنی بر سیستم عامل لینوکس موجود است: timedatectl خروجی منطقه زمانی سیستم را نشان می دهد. در این مثال منطقه زمانی بر روی UTC تنظیم می شود: Local time: Sat 2020-03-21 21:30:22 UTC Universal time: Sat 2020-03-21 21:30:22 UTC RTC time: Sat 2020-03-21 21:30:22 Time zone: UTC (UTC, +0000)System clock synchronized: yes NTP service: active RTC in local TZ: no اگر یک اخطار دریافت کردید ، "سیستم پیکربندی شده است تا زمان RTC را در منطقه زمانی محلی بخواند." ، دستور زیر را برای استفاده از RTC در UTC اجرا کنید: timedatectl منطقه زمانی سیستم با همگام سازی /etc/localtime به یک شناسه منطقه زمانی باینری در فهرست /usr/share/zoneinfo پیکربندی شده است. گزینه دیگر برای بررسی منطقه زمانی نشان دادن مسیری است که Symlink با استفاده از ls نشان می دهد: ls -l /etc/localtimelrwxrwxrwx. 1 root root 23 Nov 21 23:30 /etc/localtime -> /usr/share/zoneinfo/UTCتغییر منطقه زمانی در CentOS قبل از تغییر منطقه زمانی ، باید نام طولانی منطقه زمانی را که می خواهید استفاده کنید پیدا کنید. مناطق زمانی از قالب "منطقه / شهر" استفاده می کنند. برای لیست تمام مناطق زمانی موجود ، دستور timedatectl را با گزینه list-timezones استفاده کنید: timedatectl list-timezones...America/TijuanaAmerica/TorontoAmerica/TortolaAmerica/VancouverAmerica/WhitehorseAmerica/Winnipeg... پس از مشخص کردن منطقه زمانی دقیق در مکان خود ، دستور زیر را به عنوان root یا کاربر با امتیازات sudo اجرا کنید : sudo timedatectl set-timezone your_time_zone به عنوان مثال ، برای تغییر منطقه زمانی سیستم به America/Toronto : sudo timedatectl set-timezone America/Toronto برای تأیید تغییرات ، دستور timedatectl را اجرا کنید: timedatectl Local time: Sat 2020-03-21 17:43:39 EDT Universal time: Sat 2020-03-21 21:43:39 UTC RTC time: Sat 2020-03-21 21:43:40 Time zone: America/Toronto (EDT, -0400)System clock synchronized: yes NTP service: active RTC in local TZ: no تغییر منطقه زمانی با ایجاد یک Symlink اگر نسخه قدیمی CentOS را اجرا می کنید و دستور timedatectl در سیستم شما موجود نیست ، می توانید منطقه زمانی را با همکشی /etc/localtime به پرونده منطقه زمانی در فهرست /usr/share/zoneinfo تغییر دهید. منطقه زمانی را که می خواهید تنظیم کنید ایجاد کنید مشخص کنید : sudo ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime تغییرات را با ذکر پرونده /etc/localtime یا صدور دستورات timedatectl یا date تایید کنید: dateSat Mar 21 17:46:10 EDT 2020نتیجه گیری ما به شما نشان داده ایم كه منطقه زمانی سیستم CentOS خود را تغییر دهید.

ادامه مطلب
آموزش نصب R بر روی Debian 10

آموزش نصب R بر روی Debian 10

آموزش نصب R بر روی Debian 10R یک زبان برنامه نویسی منبع باز و رایگان است که در محاسبات آماری و بازنمایی گرافیکی تخصص دارد. این زبان توسط بنیاد R برای محاسبات آماری پشتیبانی می شود و عمدتاً توسط آماریست ها و داده پردازان برای تهیه نرم افزار آماری و انجام تجزیه و تحلیل داده ها مورد استفاده قرار می گیرد. در این مقاله اطلاعاتی در مورد نحوه نصب R بر روی Debian 10 ارائه شده است. پیش نیازها قبل از ادامه این آموزش اطمینان حاصل کنید که پیش نیازهای زیر را رعایت کرده اید: سیستم دبیان 10 با حداقل 1G رم. اگر دستگاه شما کمتر از 1 گیگابایت رم دارد ، می توانید یک فایل swap ایجاد کنید . شما به عنوان یک کاربر با امتیازات sudo وارد سیستم شده اید. نصب R روی Debianبسته های R از مخازن دبیان اغلب منسوخ شده اند. R را از مخزن نگهداری شده توسط CRAN نصب خواهیم کرد. برای نصب R روی Debian 10 ، این مراحل را دنبال کنید: مراحل زیر نحوه نصب آخرین نسخه پایدار R بر روی Debian 10 را شرح می دهد: بسته های لازم را برای اضافه کردن یک مخزن جدید از طریق HTTPS نصب کنید:sudo apt install dirmngr apt-transport-https ca-certificates software-properties-common gnupg2 دستور های زیر را فعال کنید تا مخزن CRAN فعال شود و کلید CRAN GPG را به سیستم خود اضافه کنید:sudo apt-key adv --keyserver keys.gnupg.net --recv-key 'E19F5F87128899B192B1A2C2AD5F960A256A04AF'sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/debian buster-cran35/' لیست بسته ها را به روز کنید و بسته R را نصب کنید:sudo apt updatesudo apt install r-base نصب را با چاپ نسخه R بررسی کنید:R --versionدر زمان نوشتن این مقاله ، آخرین نسخه پایدار R نسخه 3.6.3 است:R version 3.6.3 (2020-02-29) -- "Holding the Windsock"Copyright (C) 2020 The R Foundation for Statistical ComputingPlatform: x86_64-pc-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under the terms of theGNU General Public License versions 2 or 3.For more information about these matters seehttps://www.gnu.org/licenses/.نصب بسته های R از CRANیکی از اصلی ترین دلایل محبوبیت R ، مجموعه گسترده ای از بسته های موجود از طریق شبکه جامع آرشیو R (CRAN) است. اگر قبلاً نصب نکرده اید ، بسته build-essential را که شامل ابزارهای لازم برای تهیه بسته های R است ، نصب کنید : sudo apt install build-essentialاگر باینری R به صورت root یا sudo راه اندازی شود ، بسته ها در سطح جهان نصب شده و در دسترس کلیه کاربران سیستم است. برای راه اندازی یک کتابخانه شخصی برای کاربر خود ، باینری را به عنوان یک کاربر معمولی فراخوانی کنید. به عنوان نمونه ، ما پکیجی به نام stringr نصب ، که اجرای سریع و صحیحی از دستکاری های رشته مشترک را ارائه می دهد. کنسول R را به عنوان root باز کنید: sudo -i RR version 3.5.1 (2018-07-02) -- "Feather Spray"Copyright (C) 2018 The R Foundation for Statistical ComputingPlatform: x86_64-pc-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under certain conditions.Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English localeR is a collaborative project with many contributors.Type 'contributors()' for more information and'citation()' on how to cite R or R packages in publications.Type 'demo()' for some demos, 'help()' for on-line help, or'help.start()' for an HTML browser interface to help.Type 'q()' to quit R.> دستورات زیر در داخل کنسول R اجرا می شوند. بسته stringr را نصب کنید: install.packages("stringr") نصب چند مدتی طول می کشد. پس از اتمام ، کتابخانه بارگیری کنید: library(stringr)یک وکتور ساده با عنوان tutorial بسازید: tutorial <- c("How", "to", "Install", "R", "on", "Debian", "9") عملکرد زیر را اجرا کنید که طول یک رشته را چاپ می کند: str_length(tutorial)[1] 3 2 7 1 2 6 1می توانید بسته های R بیشتری را در صفحه بسته های CRAN پیدا کنید ، و آنها را با install.packages() نصب کنید . نتیجه گیریما به شما آموزش نصب R روی Debian 10 و نحوه نصب پکیج های R را به شما نشان دادیم.

ادامه مطلب
آموزش نصب ویژوال استودیو کد در CentOS 8

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

آموزش نصب ویژوال استودیو کد در CentOS 8Visual Studio Code ویرایشگر کد منبع باز و کراس پلت فرم است که توسط مایکروسافت ساخته شده است. در این مقاله نحوه نصب ویژوال استودیو کد در CentOS 8 توضیح داده شده است. پیش نیازهابه عنوان یک کاربر با امتیازات sudo وارد شوید. نصب Visual Studio Code در CentOS ساده ترین و بهترین روش برای نصب Visual Studio Code روی سیستم های CentOS 8 فعال کردن مخزن VS Code و نصب بسته VS Code از طریق خط فرمان است: کلید Microsoft GPG را وارد کنید:sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc ویرایشگر متن خود را باز کرده و پرونده مخزن را ایجاد کنید:sudo nano /etc/yum.repos.d/vscode.repo برای فعال کردن مخزن VS Code محتوای زیر را بچسبانید:[code]name=Visual Studio Codebaseurl=https://packages.microsoft.com/yumrepos/vscodeenabled=1gpgcheck=1gpgkey=https://packages.microsoft.com/keys/microsoft.ascپرونده را ذخیره کرده و ویرایشگر متن خود را ببندید. آخرین نسخه کد ویژوال استودیو را با تایپ کردن نصب کنید:sudo dnf install codeویژوال استودیو کد بر روی دسکتاپ CentOS شما نصب شده است و می توانید شروع به استفاده از آن کنید. شروع ویژوال استودیو کداکنون که VS Code روی سیستم CentOS شما نصب شده است ، می توانید آن را یا از خط فرمان با تایپ code یا کلیک بر روی نماد VS Code ( Applications -> Programming -> Visual Studio Code ) راه اندازی کنید. هنگامی که برای اولین بار VS Code را شروع می کنید ، باید یک پنجره مانند زیر ظاهر شود:اکنون می توانید نصب و راه اندازی پسوندها و پیکربندی VS Code را طبق تنظیمات برگزیده خود شروع کنید. به روزرسانی کد ویژوال استودیوهنگامی که نسخه جدیدی منتشر شد ، می توانید بسته ویژوال استودیو کد را از طریق ابزار استاندارد به روزرسانی نرم افزار دسکتاپ یا با اجرای دستور زیر در ترمینال خود به روز کنید: sudo dnf updateنتیجه گیری شما با موفقیت VS Code را روی دستگاه CentOS 8 نصب کرده اید. قدم بعدی شما می تواند نصب قسمت های اضافی و سفارشی سازی تنظیمات کاربر و فضای کاری خود باشد. برای کسب اطلاعات بیشتر در مورد کد VS ، به صفحه اسناد رسمی آنها مراجعه کنید.

ادامه مطلب
آموزش نصب Mono در CentOS 8

آموزش نصب Mono در CentOS 8

آموزش نصب Mono در CentOS 8Mono یک بستر برای توسعه و اجرای برنامه های متقابل مبتنی بر استانداردهای ECMA / ISO است. این یک بستر رایگان و منبع باز از Microsoft’s .NET framework است. در این آموزش نحوه نصب Mono در CentOS 8 توضیح داده شده است. پیش نیازهامطمئن شوید که به عنوان root یا کاربر دارای امتیازات sudo وارد شده اید . نصب مونو در CentOsساده ترین و توصیه شده ترین روش برای نصب Mono در CentOS 8 ، نصب آن از مخازن Mono است. این یک فرآیند نسبتاً ساده است و تنها چند دقیقه طول خواهد کشید. با وارد کردن کلید GPG مخزن شروع کنید:sudo rpm --import 'http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x3fa7e0328081bff6a14da29aa6a19b38d3d831ef'درصورتی که با موفقیت انجام شود ، هیچ خروجی تولید نمی شود. با اجرای دستور زیر مخزن Mono را به سیستم خود اضافه کنید: dnf config-manager --add-repo https://download.mono-project.com/repo/centos8-stable.repoخروجی باید چیزی شبیه به زیر باشد: Adding repo from: https://download.mono-project.com/repo/centos8-stable.repo پس از فعال کردن مخزن ، Mono را نصب کنید: sudo dnf install mono-complete mono-completeیک بسته متا است که زمان اجرای Mono ، ابزارهای توسعه و کلیه کتابخانه ها را نصب می کند. با اجرای دستور زیر که نسخه Mono را چاپ می کند ، نصب را تأیید کنید: mono --versionدر زمان نوشتن این مقاله ، آخرین نسخه پایدار Mono برابر 6.8.0.105 است: Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 19:28:42 UTC 2020)Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug Interpreter: yes LLVM: yes(610) Suspend: hybrid GC: sgen (concurrent by default)شما Mono را با موفقیت روی سیستم CentOS خود نصب کرده اید ، و می توانید شروع به استفاده از آن کنید. شروع کار با Monoبرای اطمینان از درستیه تنظیمات، ما می خواهیم برنامه “hello world” را بسازیم که پیام کلاسیک “hello world” را چاپ کند. ویرایشگر متن خود را باز کنید و پرونده ای به نام hello.cs با محتوای زیر ایجاد کنید: using System;public class HelloWorld{ public static void Main(string[] args) { Console.WriteLine ("Hello World!"); }} برای ساخت برنامه از کامپایلر csc استفاده کنید: csc hello.cs دستور فوق یک اجرایی به نام hello.exe ایجاد می کند. برنامه را با استفاده از دستور زیر اجرا کنید: mono hello.exe خروجی باید چیزی شبیه به این باشد: Hello, World اگر می خواهید برنامه را فقط با تایپ نام آن اجرا کنید ، باید یک flag قابل اجرا را تنظیم کنید : chmod +x hello.exe اکنون می توانید پرونده hello.exe را با تایپ کردن دستور زیر اجرا کنید: ./hello.exeنتیجه گیریما در این آموزش نحوه نصب Mono در CentOS 8 را به شما آموزش دادیم. برای نصب آخرین نسخه ی پایدار mono از مخازن رسمی استفاده کنید.

ادامه مطلب
آموزش نصب R در CentOS 8

آموزش نصب R در CentOS 8

آموزش نصب R در CentOS 8R یک زبان برنامه نویسی منبع باز است که در محاسبات آماری و بازنمایی گرافیکی تخصص دارد. این زبان توسط بنیاد R برای محاسبات آماری پشتیبانی می شود و عمدتاً توسط آماریست ها و داده پردازان برای تهیه نرم افزار آماری و انجام تجزیه و تحلیل داده ها مورد استفاده قرار می گیرد. در این مقاله نحوه نصب R روی CentOS 8 توضیح داده شده است. پیش نیازها قبل از ادامه این آموزش اطمینان حاصل کنید که پیش نیازهای زیر را رعایت کرده اید: سیستم شما حداقل 1G رم دارد. در غیر این صورت ، یک فایل swap ایجاد کنید . شما به عنوان یک کاربر با امتیازات sudo وارد سیستم شده اید. نصب R در Centosبسته های R در مخازن اصلی CentOS 8 گنجانده نشده است. R را از مخزن EPEL نصب خواهیم کرد : برای نصب R روی CentOS 8 ، این مراحل را دنبال کنید: مخازن EPEL و PowerTools را فعال کنید: sudo dnf install epel-releasesudo dnf config-manager --set-enabled PowerToolsنصب R با تایپ:sudo yum install R R یک بسته متا است که شامل تمام اجزای لازم R است. نصب را با چاپ نسخه R بررسی کنید:R --version در زمان نوشتن آخرین نسخه پایدار R نسخه 3.6.2 است:R version 3.6.2 (2019-12-12) -- "Dark and Stormy Night"Copyright (C) 2019 The R Foundation for Statistical ComputingPlatform: x86_64-redhat-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under the terms of theGNU General Public License versions 2 or 3.For more information about these matters seehttps://www.gnu.org/licenses/. كتابخانه ها و ابزارهاي مورد استفاده در بسته هاي معمول R را نصب كنيد:sudo yum install make gcc gcc-c++ libcurl-devel libxml2-devel openssl-devel texlive-*شما R را در سیستم CentOS خود با موفقیت نصب کرده اید ، و می توانید شروع به استفاده از آن کنید. نصب بسته های R از CRANیکی از اصلی ترین دلایل محبوبیت R ، مجموعه گسترده ای از بسته های موجود از طریق شبکه جامع بایگانی R (CRAN) است. اگر باینری R به صورت root یا sudo راه اندازی شود ، بسته ها در سطح جهان نصب شده و در دسترس کلیه کاربران سیستم است. برای راه اندازی یک کتابخانه شخصی برای کاربر خود ، باینری را به عنوان یک کاربر معمولی فراخوانی کنید. به عنوان نمونه ، ما پکیجی به نام stringr نصب، که اجرای سریع و صحیحی از دستکاری های رشته مشترک را ارائه می دهد. با باز کردن کنسول R به عنوان root شروع کنید: sudo -i RR version 3.6.2 (2019-12-12) -- "Dark and Stormy Night"Copyright (C) 2019 The R Foundation for Statistical ComputingPlatform: x86_64-redhat-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under certain conditions.Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English localeR is a collaborative project with many contributors.Type 'contributors()' for more information and'citation()' on how to cite R or R packages in publications.Type 'demo()' for some demos, 'help()' for on-line help, or'help.start()' for an HTML browser interface to help.Type 'q()' to quit R.> دستورات زیر در داخل کنسول R اجرا می شوند. بسته stringr را نصب کنید: install.packages("stringr") از شما خواسته می شود یک میرور CRAN را انتخاب کنید: Installing package into ‘/usr/lib64/R/library’(as ‘lib’ is unspecified)--- Please select a CRAN mirror for use in this session ---Secure CRAN mirrors میروری را که نزدیک به شماست را انتخاب کنید. نصب مدتی طول خواهد کشید و پس از اتمام ، کتابخانه را با تایپ دستور زیر بارگیری کنید: library(stringr) بعد ، یک وکتور کارکتر ساده با عنوان tutorial درست کنید: tutorial <- c("How", "to", "Install", "R", "on", "CentOS", "8") عملکرد زیر را اجرا کنید که طول هر رشته را چاپ کند: str_length(tutorial)خروجی:[1] 3 2 7 1 2 6 1 می توانید بسته های R بیشتری را در صفحه بسته های CRAN پیدا کنید و آنها را با install.packages() نصب کنید . نتیجه گیری ما به شما نحوه نصب R در CentOS 8 و نحوه نصب بسته های R را به شما آموزش دادیم.

ادامه مطلب
آموزش نصب و استفاده از FFmpeg در CentOS 8

آموزش نصب و استفاده از FFmpeg در CentOS 8

آموزش نصب و استفاده از FFmpeg در CentOS 8FFmpeg یک مجموعه رایگان و منبع باز برای تهیه فایل های چندرسانه ای است. این مجموعه شامل مجموعه ای از کتابخانه های صوتی و تصویری مشترک مانند libavcodec ، libavformat و libavutil است. با FFmpeg ، می توانید بین فرمت های مختلف ویدیویی و صوتی را به هم تبدیل کنید، فایل صوتی / تصویری را پخش کنید و فیلم ها را تغییر اندازه دهید. در این مقاله آموزش نصب و استفاده از FFmpeg در CentOS 8 توضیح داده شده است. نصب FFmpeg در CentOS 8 FFmpeg در مخازن پیش فرض CentOS 8 موجود نیست. می توانید ابزار FFmpeg را از منبع تهیه کنید یا آن را با استفاده از dnf از مخزن Negativo17 نصب کنید. ما با گزینه دوم پیش می رویم. مراحل زیر را برای نصب FFmpeg در CentOS 8 انجام دهید: مخزن Negativo17 به مخازن EPEL و PowerTools بستگی دارد. دستورالعمل های زیر را به عنوان root یا کاربر با امتیازات sudo اجرا کنید تا مخازن مورد نیاز را فعال کنید:sudo dnf install epel-releasesudo yum config-manager --set-enabled PowerToolssudo yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo پس از فعال کردن مخازن ، FFmpeg را نصب کنید:sudo dnf install ffmpeg با بررسی نسخه آن ، نصب FFmpeg را بررسی کنید: ffmpeg -versionدر زمان نوشتن این مقاله ، نسخه فعلی FFmpeg موجود در مخزن 2.8.15 است. خروجی:ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developersbuilt with gcc 8 (GCC)...این دستور گزینه های پیکربندی FFmpeg را نیز نشان می دهد. FFmpeg روی دستگاه CentOS شما نصب شده است و می توانید شروع به استفاده از آن کنید. استفاده از FFmpegدر این بخش به چند مثال اساسی در مورد چگونگی استفاده از ابزار ffmpeg خواهیم پرداخت. تبدیل بیسیک در هنگام تبدیل فایلهای صوتی و تصویری با ffmpeg نیازی نیست که فرمت های ورودی و خروجی را مشخص کنید. فرمت پرونده ورودی به صورت خودکار شناسایی می شود و فرمت خروجی از پسوند پرونده حدس زده می شود. تبدیل یک فایل ویدیویی از mp4 به webm:ffmpeg -i input.mp4 output.webm تبدیل یک فایل صوتی از mp3 به ogg: ffmpeg -i input.mp3 output.oggاستفاده از کدک هاهنگام تبدیل پرونده ها ، از گزینه -c برای مشخص کردن کدک ها استفاده کنید. این می تواند یک نام از رمزگذار پشتیبانی شده یا یک copy ارزش ویژه باشد که جریان ورودی را به سادگی کپی می کند. با استفاده از کدک ویدیوی libvpx و صوتی libvorbis یک فایل ویدیویی را از mp4 به libvorbis تبدیل کنید: ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm فایل صوتی را از mp3 به ogg کدگذاری شده با رمزگذار libopus تبدیل کنید.ffmpeg -i input.mp3 -c:a libopus output.oggنتیجه گیریما به شما نشان داده ایم كه چگونه FFmpeg را در CentOS 8 نصب كنید. هم اکنون می توانید به صفحه رسمی مستندات FFmpeg مراجعه كنید و یاد بگیرید كه چگونه از FFmpeg برای تبدیل فایلهای ویدیویی و صوتی خود استفاده كنید.

ادامه مطلب
آموزش نصب GCC در CentOS 8

آموزش نصب GCC در CentOS 8

آموزش نصب GCC در CentOS 8مجموعه کامپایلر گنو (GCC) مجموعه ای از کامپایلرها و کتابخانه ها برای زبان های برنامه نویسی C ، C ++ ، Objective-C ، Fortran ، Ada ، Go و D است. بسیاری از پروژه های منبع باز ، از جمله هسته لینوکس و ابزارهای گنو ، با استفاده از GCC گردآوری می شوند. در این مقاله نحوه نصب GCC در CentOS 8 توضیح داده شده است. نصب GCC در CentOS مخازن پیش فرض CentOS شامل یک پکیج به نام "ابزارهای توسعه" است که شامل مجموعه کامپایلر GNU ، اشکال زدایی GNU و سایر کتابخانه های توسعه و ابزارهای مورد نیاز برای تهیه نرم افزار است. برای نصب بسته های Development Tools ، دستور زیر را به عنوان root یا کاربر با امتیازات sudo اجرا کنید : sudo dnf group install "Development Tools"این دستور بسته های زیادی از جمله gcc ، g++ و makeرا نصب میکند . همچنین ممکن است بخواهید صفحات کتابچه راهنمای کاربر در مورد استفاده از GNU / Linux را برای توسعه نصب کنید: sudo dnf install man-pagesمطمئن شوید که کامپایلر GCC با موفقیت نصب شده است: gcc --version نسخه پیش فرض GCC موجود در مخازن CentOS 8 8.3.1 است: gcc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. GCC بر روی سیستم CentOS شما نصب شده است و می توانید شروع به استفاده از آن کنید. تدوین مثال Hello World در این بخش ، ما یک برنامه C اصلی را با استفاده از GCC گردآوری می کنیم. ویرایشگر متن خود را باز کرده و پرونده زیر را ایجاد کنید: nano hello.c#include <stdio.h>int main(){ printf ("Hello World!\n"); return 0;} فایل را ذخیره کرده و با اجرای آن ، آن را به صورت اجرایی کامپایل کنید: gcc hello.c -o hello یک فایل باینری به نام hello در همان دایرکتوری که دستور را اجرا می کنید ایجاد می شود. اجرای برنامه hello : ./hello برنامه خروجی خواهد داشت: Hello World! نتیجه گیری ما به شما نحوه نصب GCC در CentOS 8 را نشان داده ایم. هم اکنون می توانید به صفحه رسمی مستندات GCC مراجعه کرده و نحوه استفاده از GCC و G ++ را برای تهیه برنامه های C و C ++ خود بیاموزید.

ادامه مطلب
آموزش نصب Python 3.8 در Debian 10

آموزش نصب Python 3.8 در Debian 10

آموزش نصب Python 3.8 در Debian 10پایتون یکی از پرکاربردترین زبانهای برنامه نویسی در جهان است. پایتون با یادگیری ساده و آسان ، انتخابی محبوب برای مبتدیان و توسعه دهندگان با تجربه است. پایتون یک زبان برنامه نویسی کاملاً متنوع است. می توان از آن برای ساخت انواع برنامه ها ، از اسکریپت های ساده گرفته تا الگوریتم های یادگیری پیشرفته ماشین استفاده کرد. این آموزش نحوه نصب Python 3.8 را در Debian 10 ارائه می دهد. همچنین به شما می آموزیم چگونه یک محیط مجازی ایجاد کنید. Debian 10 شامل نسخه پایتون 3.7 است که با استفاده از ابزار apt قابل نصب یا به روزرسانی است. در زمان نوشتن این مقاله ، پایتون 3.8 آخرین نسخه اصلی زبان پایتون است. این نسخه شامل بسیاری از ویژگی های جدید است . پایتون 3.8 در مخازن استاندارد Debian 10 موجود نیست. نصب Python 3.8 در Debian 10 ساختن پایتون 3.8 روی دبیان یک روند نسبتاً ساده است و تنها چند دقیقه طول خواهد کشید. با نصب بسته های لازم برای ساخت منبع پایتون شروع کنید: sudo apt updatesudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget کد منبع آخرین نسخه را از صفحه بارگیری Python با wget یا curl دانلود کنید. در زمان نوشتن این مقاله ، آخرین نسخه 3.8.2 است:curl -O https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz وقتی بارگیری کامل شد ، تاربال را استخراج کنید : tar -xf Python-3.8.2.tar.xz به فهرست منبع Python بروید و اسکریپت configure را اجرا کنید:cd Python-3.8.2./configure --enable-optimizationsاسکریپت تعدادی چک را انجام می دهد تا مطمئن شوید تمام وابستگی ها نصب شده است. گزینه --enable-optimizations با اجرای چندین آزمایش ، باینری پایتون را بهینه می کند ، که روند ساخت را کندتر می کند. make برای شروع مراحل ساخت اجرا کنید:make -j 4 -j را اصلاح کنید تا با تعداد هسته های موجود در پردازنده شما مطابقت داشته باشد. با تایپ nproc می توانید شماره را پیدا کنید. پس از اتمام ساخت ، binaries Python را با اجرای دستور زیر به عنوان کاربر دارای دسترسی سودو نصب کنید :sudo make altinstall از make install استاندارد استفاده نکنید زیرا آن را به طور پیش فرض سیستم باینری python3 بازنویسی می کند. در این مرحله ، Python 3.8 روی سیستم دبیان شما نصب شده و آماده استفاده است. می توانید با تایپ کردن دستور زیر آن تأیید کنید:python3.8 --versionخروجی:Python 3.8.2ایجاد یک محیط مجازیمحیط مجازی Python این امکان را برای شما فراهم می کند که ماژول های پایتون را در یک مکان جداگانه برای یک پروژه خاص نصب کنید ، نه اینکه در سطح جهان نصب شود. به این ترتیب دیگر لازم نیست نگران تأثیرگذاری بر سایر پروژه های پایتون باشید. در این مثال ، یک پروژه جدید Python 3.8 با نام my_app در فهرست خانه کاربر ایجاد خواهیم کرد. ابتدا دایرکتوری پروژه را ایجاد کرده و به آن تغییر دهید : mkdir ~/my_app && cd ~/my_app از داخل ریشه پروژه دستور زیر را اجرا کنید تا یک محیط مجازی با نام my_app_venv ساخته شود: python3.8 -m venv my_app_venv محیط را فعال کنید: source my_app_venv/bin/activateبا شروع Python 3.4 ، هنگام ایجاد پیپ محیط های مجازی ، مدیر بسته برای Python بصورت پیش فرض نصب می شود. در محیط مجازی ، می توانید به جای pip از pip3.8 و به جای python از python3.8 استفاده کنید: python -v پس از انجام کار خود برای غیرفعال کردن محیط ، deactivate تایپ کنید و به شل عادی خود باز خواهید گشت. deactivateنتیجه گیری ما به شما نشان داده ایم که چگونه Python 3.8 را روی Debian 10 نصب کنید. هم اکنون می توانید یک محیط مجازی ایجاد کنید و شروع به توسعه پروژه های Python 3 کنید.

ادامه مطلب