نصب HomeBrew

HomeBrew چیست؟
HomeBrew یک سیستم نرم افزاری مدیریت پکیج است که توسط Max Howell در سال ۲۰۰۹ برای سیستم OSX اپل و با استفاده از زبان Ruby ایجاد شد. با استفاده از HomeBrew می توان پکیج های مورد نظر را توسط ترمینال به سیستم عامل یا پروژه های iOS اضافه یا نصب فونت را انجام داد.

نصب HomeBrew
در Spotlight کلمه Terminal را جستجو و اپ مربوطه را اجرا کنید. در خط فرمان دستور زیر را وارد کنید:

HomeBrew نصب شد. : )
با دستور brew می توان از HomeBrew استفاده کرد. برای مثال دستور brew update را اجرا کنید. این دستور پکیج cask را نصب و HomeBrew را آپدیت می کند (در آینده از پکیج cask استفاده می کنیم).
برای اطلاعات بیشتر از این سیستم نرم افزاری به سایت خود HomeBrew به brew.sh مراجعه کنید.

برای تمرین می توانید فونت FiraCode با استفاده از brew بر روی سیستم خود نصب کنید.
پ.ن : این پست، شروعی برای آموزش برنامه نویسی iOS با استفاده از زبان Swift است.

Reformat کد در XCode

Reformat کد در XCode یکی از مشکلاتی بود که من با XCode داشتم. به دلیل اینکه من در مک از Shortkey های مختلفی استفاده می کنم که با Shortkey های XCode یکی هستند، به راحتی نمی توانستم از Reformat کدها استفاده کنم. به همین دلیل دنبال راهی برای رفع این مشکل گشتم. یکی از افزونه هایی که پیدا کردم، Swimat بود.
برای نصب Swimat دو روش وجود دارد. با استفاده از ترمینال و clone کردن سورس گیت هاب آن، و دیگری دانلود فایل نصب افزونه از اینجا (توصیه می شود برای دانلود حتما به خود صفحه مراجعه کنید.)
پس از نصب افزونه، حتما به [System Preferences] -> [Extensions] -> [Xcode Source Editor] بروید و مطمئن شوید که Swimat انتخاب شده است. یک بار XCode را ریستارت کنید. وقتی در صفحه ادیتور کد هستید از [Edit] -> [Swimat] -> [Format] کد را فرمت کنید.
همچنین با مراجعه به Key Binding می توانید Shortkey مورد نظر خود را انتخاب کنید.

Reformat کد در XCode

select shortkey for Swimat in xcode

اتصال به پرینتر Share شده ویندوز در macOS

یکی از مشکلات من در شرکت، اتصال به پرینتر Share شده ویندوز در macOS بود. اتصال به همچین پرینتری در ویندوز راحت هست اما در macOS کمی پیچیدگی دارد.
برای اتصال به پرینتر Share شده ویندوز در macOS به بخش Printers & Scanners در System Preferences وارد شوید. دکمه + را برای اضافه کردن پرینتر فشار دهید. در صفحه Add برروی فضای بالای صفحه، مانند تصاویر زیر، منو را باز کنید و گزینه Customize Toolbar را انتخاب و دکمه Advanced را به Toolbar اضافه کنید.

اتصال به پرینتر Share شده ویندوز در macOS

Show customize toolbar menu in add printer in macos

اتصال به پرینتر Share شده ویندوز در macOS

Add advanced to add printer toolbar in macos

در قسمت Advanced، گزینه Type را بر روی Windows printer via spoolss تنظیم کنید. بخش URL را به صورت زیر پر کنید:

دقت کنید که اگر در اسم پرینتر شما فاصله وجود دارد به جای فاصله از ۲۰% استفاده کنید و حتما در نوشتن نام پرینتر حروف بزرگ و کوچک را رعایت کنید چون در صورت رعایت نکردن پرینتر به درستی نصب نمی شود. پیشنهاد من این است که نام پرینتر را از ویندوز کپی و در مک از آن استفاده کنید.
بخش Name و Location را پر کنید. در قسمت User گزینه Select software را انتخاب و درایور پرینتر را انتخاب کنید. توجه کنید اگر درایور پرینتر را پیدا نکردید، یک بار پرینتر را با استفاده از USB به لپ تاپ خود وصل کنید تا درایور نصب شود و دوباره مراحل بالا را تحت شبکه انجام دهید.
پس از اتمام کار دکمه Add را زده و نام پرینتر را در لیست پرینترهای خود مشاهده می کنید. یک داکیومنت و یا PDF را باز کنید و با زدن دکمه های command+P استفاده از پرینتر خود را تست کنید.
توصبه می شود پس از نصب پرینتر به App Store بروید و اگر برای درایور پرینتر آپدیتی بود حتما آپدیت کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست

چند وقت پیش در مقاله ای روش ساخت گواهینامه SSL رایگان با Let’s Encrypt برای سرور مجازی با سیستم عامل CentOS آشنا شدم (+). اما اکثر وب سایت ها بر روی هاست های اشتراکی قرار دارند. به همین دلیل مشتاق شدم که از این سرویس بر روی هاست های اشتراکی استفاده کنم که به عنوان تست این گواهینامه را برای سایت خودم ساختم.
Let’s Encrypt چیست؟
Let’s Encrypt توسط ISRG تامین می‌شود که سازمان‌های بزرگی همچون بنیاد موزیلا، سیسکو و Akamai از آن حمایت می‌کنند. خبر بسیار خوب اینکه این سرویس برای دامنه‌های ir. نیز قابل نصب است. (+)
ساخت گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی
برای ساخت گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی نیاز به سیستم عامل Linux و یا macOS هست که دستورات ساخت گواهینامه فرقی با هم ندارند.
با فشردن کلیدهای Command + space در Spotlight Search کلمه Terminal را جستجو و باز نمایید. ابتدا با دستور Git یک Clone از letsencrypt ایجاد کنید:

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

clone letsencrypt from git in macOS terminal


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

سپس دستور زیر را برای شروع ساخت گواهینامه وارد کنید:

پس از اجرای دستور بالا، ایمیلی برای ارسال هشدارها و … از شما دریافت می کند.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

set email for letsencrypt


در ادامه روند ساخت ۳ سوال از شما پرسیده می شود که مانند تصاویر به آن ها پاسخ دهید:
گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

Terms of letsencrypt

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

share email with letsencrypt

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

public ip in letsencrypt

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

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

create first validation file on host for letsencrypt

در داخل سی پنل آدرس خواسته شده را ایجاد کنید. توجه داشته باشید که برای فایل هیچ پسوندی انتخاب نکنید. پس از ایجاد فایل محتویات خواسته شده را در آن قرار دهید. پس از اطمینان از ساخت فایل، در ترمینال کلید Enter را فشار دهید. توجه کنید که مرحله بالا با نام فایل و محتویات جدید از شما درخواست می شود. پس فایلی جدید با محتویات جدید ایجاد کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

create second validation file on host for letsencrypt

پس از ایجاد فایل ها دوباره کلید Enter را بزنید. در صورت نبود مشکل فایل ها ایجاد می شود.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

created letsencrypt files successfully

برای اتمام کار دستور exit را وارد کنید و Enter کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

exit from letsencrypt

تنها کار باقی مانده آپلود کلیدهای ساخته شده در CPanel است. برای کپی کلید ها در macOS یک تب ترمینال جدید با کلیدهای Command + T باز کنید. در تب جدید دستور زیر را وارد کنید تا بتوانید به فایل های سیستمی macOS وارد شوید.

یک بار از سیستم Logout شوید و دوباره وارد سیستم شوید.
Finder را باز کنید. در منوی View گزینه Show Path Bar را انتخاب کنید. سپس بر روی نام هارد خود دبل کلیک کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

Show path bar in macOS

به مسیر زیر وارد شوید:

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

letsencrypt created file path

اگر پوشه archive قفل بود با استفاده از Get Info سطح دسترسی everyone را به read & write تغییر دهید ) :

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

Change folder permisson in macOS

فایل های cert1.pem و privkey1.pem و chain1.pem را استفاده از یک TextEditor مانند SublimeText باز کنید.
به CPanel هاست اشتراکی خود وارد شوید و در قسمت SECURITY گزینه SSL/TSL را انتخاب نمایید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

SSL TSL in security in cpanel

در صفجه باز شده لینک Manage SSL sites را ذیل قسمت Install and Manage SSL for your site انتخاب کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

Manage ssl on cpanel

در این صفحه در قسمت Domain دامنه خود را انتخاب کنید. در فیلد Certificate: (CRT) محتویات فایل cert1.pem، در فیلد Private Key (KEY) محتویات privkey1.pem و در فیلد Certificate Authority Bundle: (CABUNDLE) محتویات فایل chain1.pem را وارد کنید و Install Certificate را انتخاب کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

Install SSL on shared host in cpanel

به شما پیغامی مبنی بر موفق بودن ساخت گواهینامه داده می شود و در قسمت گواهینامه های ثبت شده، گواهینامه ساخته شده خود را مشاهده می کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

Install ssl on shared host in cpanel successfull

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

Installed ssl on shared host in cpanel

برای اجبار کردن مرورگرها به استفاده از SSL در روت هاست خود در ابتدای فایل htaccess. کد زیر را وارد کنید:

در آخر می توانید توسط لینک (+) مشخصات گواهینامه سایت خود را مشاهده کنید.

گواهینامه SSL رایگان با Let’s Encrypt برای هاست های اشتراکی

check ssl

برای بازگرداندن macOS به حالت پیشفرض کد زیر را وارد کنید:

در سیستم عامل Linux می توانید به (+) مراجعه کنید.

بکاپ از MySQL و ارسال فایل با Shell

در هر هاست اشتراکی، به صورت روزانه، هفتگی و ماهانه از کل هاست بکاپ گرفته می شود. اما گاهی نیاز هست تا بکاپ ها در بازه های زمانی کمتری گرفته شود.

بکاپ از MySQL و ارسال فایل با Shell

برای بکاپ از MySQL و ارسال فایل با Shell در مسیری از هاست خود فایلی با پسوند sh. ایجاد کنید (نام فایل فرضی dumpsqldb.sh هست). در فایل ایجاد شده خطوط زیر را وارد کنید و فایل را ذخیره کنید.

خطوط ۱، ۲ و ۳ اطلاعات دیتابیس مورد نظر هستند. متغیر EMAIL، ایمیلی هست که فایل بکاپ برای آن ارسال می شود. متغیر HOST هاست مورد نظر است که خود Shell آن را پُر می کند. متغیر NOW نیز زمان فعلی است که بر اساس نیاز خود می توانید فرمت آن را تغییر دهید.
در خط ۱۶ با استفاده از دستور cd به فولدری که فایل sh. ایجاد شده است تغییر مسیر داده می شود. ftp-usrname در اکثر هاست های اشتراکی همان نام کاربری CPanel یا FTP است. در خط ۱۸، با استفاده از دستور mysqldump از دیتابیس مورد نظر بکاپ گرفته می شود و در فایلی به اسم محتویات متغیر NOW و با پسوند sql. ذخیره می گردد. در خط ۲۰، فایل sql. ایجاد شده با پسوند tgz. فشرده و ذخیره می شود. در خط ۲۲ فایل sql. ایجاد شده حذف می شود. در خط ۲۶ نیز با استفاده از دستور mutt فایل ایجاد شده ایمیل می شود ( برای ارسال ایمیل روش های دیگری مانند mail نیز وجود دارد).
برای اجرای فایل در زمان های مشخص باید از CronJob استفاده شود. برای ایجاد یک CronJob در CPanel، به بخش CronJob بروید.

cron job section in cpanel

cron job section in cpanel


در بخش Add New Cron Job می توانید CronJob جدید ایجاد کرد. برای تعیین زمان اجرای CronJob می توان از زمان های پیشفرض سیستم مانند دو بار در روز یا … استفاده کرد که لیست کامل آن در Common Settings وجود دارد یا با استفاده از فیلدهای موجود زمان را مشخص کرد.
common setting in cpanel cronjob

common setting in cpanel cronjob


در فیلد Command دستور زیر را وارد و سپس ذخیره کنید.

به طور مثال در تصویر زیر هر روز راس ساعت ۱۲:۰۰ و ۰۰:۰۰ CronJob ایجاد شده اجرا می شود.

cpanel cron job set to execute shell command twice in day

cpanel cron job set to execute shell command twice in day

پس از ذخیره CronJob اگر مشکلی نباشد مانند زیر پیغام دریافت می کنید.

Cronjob successfully set

Cronjob successfully set


CronJob ایجاد شده است و باید منتظر بمانید تا فایل بکاپ برایتان ایمیل شود.