اجرای Node.js روی هاست اشتراکی
بسیاری از افراد برای اجرای پروژه های خود از جاوا اسکریپت استفاده می کنند که آن هم نیاز به اجرای Node.js روی هاست دارد. از هر کس که بپرسید پاسخ خواهد داد که اجرای Node.js روی هاست اشتراکی امکان پذیر نیست و شرکت های هاستینگ اجازه اجرای Node.js را روی هاست اشتراکی نمی دهند. اما ما در این پست قصد داریم به شما آموزش دهیم که چطور به کمک دسترسی SSH اقدام به اجرای Node.js روی هاست اشتراکی خود کنید.
نحوه نصب NodeJs با دسترسی SSH
ابتدا مطمئن شوید که می توانید با استفاده از SSH به سرور خود متصل شوید. برخی از ارائه دهندگان میزبانی به طور پیش فرض آن را فعال می کنند در حالی که برخی از شما می خواهند آن را از داشبورد خود فعال کنید یا با پشتیبانی تماس بگیرید تا این کار را برای شما انجام دهد برخی نیز این دسترسی را به شما نمی دهند. بنابراین شما تنها زمانی می توانید از این روش استفاده کنید که دسترسی SSH را روی هاست اشتراکی خود داشته باشید.
هنگامی که به شما اجازه دسترسی SSH به سرور خود داده شد، می توانید با استفاده از Putty (CMD) در ویندوز یا ترمینال در لینوکس و مک وارد شوید.
ساخت کلید خصوصی
- Putty client را دانلود و نصب کنید.
- برنامه PuttyGen را از منوی استارت باز کنید.
- برای ایجاد یک کلید خصوصی، روی دکمه Generate کلیک کنید.
- روی گزینه Save private key کلیک کنید و آن را به عنوان فایل ppk. ذخیره کنید.
- روی Save private key کلیک کنید و آن را به عنوان فایل pub. ذخیره کنید.
کپی کردن کلید خصوصی روی سرور ریموت
- اگر ارائه دهنده هاست شما یک پنل میزبانی وب سفارشی دارد، به احتمال زیاد فضایی را برای شما فراهم کرده است تا private key خود را جای گذاری کنید.
- اگر دسترسی به کنترل پنل cPanel دارید، به رابط Manage SSH Keys کنترل پنل خود (Home >> Security >> SSH Access >> Manage SSH Keys) بروید و کلید های سرور را وارد کنید.
- روی Import Key کلیک کنید.
- برای امنیت بیشتر، custom key name را خالی بگذارید.
- کلیدهای عمومی و خصوصی را که قبلاً ایجاد کرده اید را در کادر های متنی مناسب قرار دهید. برای مشاهده محتویات فایل، آن ها را در یک ویرایشگر متن مانند VSCode یا Sublime Text باز کنید.
- روی Import کلیک کنید.
- اگر نتوانستید گزینه های بالا را در کنترل پنل خود ببینید، کلید عمومی را کپی کرده و در فایل .ssh/authorized_keys قرار دهید.
- اگر نتوانستید فایل .ssh/authorized_keys را پیدا کنید، شاید ارائه دهنده میزبانی شما به شما امکان دسترسی به پوشه ssh را نمی دهد، سپس از این دستور برای کپی کردن محتویات در سرور ریموت استفاده کنید.
ssh-copy-id {CPANEL_USERNAME}@{IP-ADDRESS}
- 15.اگر دستگاه لوکال شما ابزار ssh-copy-id ندارد، اکنون می توانید از دستور یک خطی PowerShell برای کپی کردن محتویات کلید عمومی id_rsa.pub در یک دستگاه لینوکس ریموت استفاده کنید. در دستور زیر {PORT} را با پورت خود و {IP-ADDRESS} را با آدرس IP یا FQDN سرور ریموت خود جایگزین کنید.
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh -p {PORT}{IP-ADDRESS} "cat >> .ssh/authorized_keys"
- 16.در این مرحله، شما باید کلید عمومی خود را در سرور ریموت خود کپی کرده باشید. برنامه PuttyGen را ببندید و برنامه Putty را اجرا کنید.
- به Connection -> Auth -> SSH بروید. روی Browse کلیک کنید و فایل کلید خصوصی (ppk.) را انتخاب کنید.
- اکنون می توانید به تب Session برگردید و آدرس سرور و پورت خود را برای اتصال وارد کنید. از طرف دیگر، می توانید با دستور PowerShell نیز متصل شوید.
ssh -p {PORT} {CPANEL_USERNAME}@{ IP_ADDRESS}
- در سیستم Mac یا Linux، ترمینال را باز کنید، به پوشه ای که کلید ssh خود را در آن ذخیره کرده اید بروید و chmod 0600 KEY_FILE_NAME را تایپ کنید. سپس ssh -i KEY_FILE_NAME -p PORT_OF_SERVER CPANEL_USERNAME@SERVER_HOST را تایپ کنید.
نصب و اجرای Node.js روی هاست اشتراکی
هنگام ورود به سرور خود، دستور زیر را اجرا کنید و VERSION_NUMBER را با جدیدترین نسخه NVM جایگزین کنید.
https://raw.githubusercontent.com/creationix/nvm/VERSION_NUMBER/install.sh | bash
در صورت موفقیت آمیز بودن، پیام هایی در مورد نحوه پیکربندی و صدور اعتبار nvm خود مشاهده خواهید کرد، این دستور را اجرا کنید.
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
پس از اتمام، اکنون می توانید NodeJS را با اجرای این دستور نصب کنید که آخرین نسخه پایدار NodeJs و NPM را نصب می کند.
nvm install –lts
همچنین می توانید دستور زیر را اجرا کنید و در صورت بروز خطا، X.X.X را با شماره نسخه مورد نظر خود جایگزین کنید
nvm install vX.X.X nvm use vX.X.X
برای تایید نصب خود، node –v را اجرا کنید و اگر شماره نسخه را مشاهده کردید، این یعنی اجرای Node.js روی هاست اشتراکی شما با موفقیت به اتمام رسیده است.
همچنین برای نصب Node.js روی ابونتوی 22.04 می توانید به پست مربوطه مراجعه کنید.
منبع: codewithkyrian.com