انجمنهای فارسی اوبونتو
تازه کار => انجمن تازهکاران => نویسنده: SerLock در 29 امرداد 1398، 08:17 بظ
-
سلام دوستان
من چند وقتی هست ubuntu 18.4 نصب کردم و همچنین برای ساخت localhost از xampp استفاده میکنم
برای راه اندازی باید به آدرس /opt/lampp برم و اونجا با دستورات خودش اجراش کنم ;D
سوال من اینه که میشه یه کار کرد که نیاز نباشه به آدرس بالا برم تا اجراش کنم !!؟ :-k یعنی هرجا تو ترمینال تایپ کردم lampp بتونم به دستوراتش دسترسی داشته باشم.
-
سلام.
آره میتونی یک اسکریپت بنویسی و تمام مراحل رو به ترتیب داخل اون بنویسی (به جای ترمینال) و بعد اون اسکریپت رو اجرا کنی. :)
-
با این دستور می تونید یک دایرکتوری به متغیر PATH اضافه کنید.
مثلا برای سوال شما: export PATH="$PATH:/opt/lampp"
حالا می تونید از هرجایی از ترمینال برنامه ها(دستورات) داخل opt/lamp/ اجرا کنید.
چگونه یک برنامه را به متغیر PATH اضافه کنیم تا از هرجایی از ترمینال بتواند اجرا شود؟
۱) ابتدا قبل از هر کاری یک پشتیبان از این متغیر مهم تهیه می کنیم تا اگر مشکلی پیش آمد برنامه هایمان را بتوانیم اجرا کنیم.
***تذکر***
اگر این متغیر خراب شود ساده ترین دستورات مثلا ls هم اجرا نمی شود.
تهیه پشتیبان از PATH
echo $PATH > ~/path.txt
۲) فرض کنیم برنامه ی مورد نظر کد زیر به زبان سی باشد.
نام فایل salam.c
#include <stdio.h>
int main(){
printf("salam in yek matn nemoone ast \n");
return 0;
}
برنامه را کامپایل و با نام salam ذخیره می کنیم.
gcc salam.c -o salam
می دانیم چون برنامه در دایرکتوری جاری قرار دارد با اجرای دستور salam/. یا فقط salam اجرا می شود و پیام آن را در خروجی(ترمینال) می بینیم.
*** مورد ۲) رو میشه با پایتون هم انجام داد ولی یک برنامه اضافه تر لازم داره که اسکریپت پایتونو به یک فایل اجرایی تبدیل کنه.
۲*) فرض کنیم برنامه به زبان پایتون نوشته شده باشه
salam.py
#!/usr/bin/python3
print("salam in yek matn nemoone ast \n")
حالا می دونیم که با دستور salam.py/. برنامه اجرا میشه اما به درد ما نمی خوره فعلا!
تبدیل اسکریپت پایتون به فایل اجرایی
حالا باید برنامه زیرو نصب کنیم.
pip install pyinstaller
و بزنیم
pyinstaller --onefile salam.py
حالا داخل پوشه dist فایل اجرایی برنامه رو داریم.
۳) با فرض اینکه برنامه اجرایی ما یعنی salam درون پوشه barname/~
واقع است دستور زیر را اجرا می کنیم.
export PATH="$PATH:~/barname"
دستور بالا یعنی متغیر PATH تغییر کند به: همان متغیر PATH قبلی با اضافه کردن barname/~ به آخرش. اینطوری با اضافه شدن پوشه جدید متغیر اصلی PATH تغییر نمیکنه و کماکان برنامه های قبلی هم اجرا میشن.
۴) حالا در هر دایرکتوری که باشیم با زدن دستور salam برنامه ما اجرا می شود.
-
یه راهش هم که من انجام دادم یه لینک از xampp یا lampp تو پوشه sbin درست کردم.
$ sudo ln -s /opt/lampp/xampp /opt/lampp/lampp /sbin
البته این دستور بهتره
$ sudo ln -s /opt/lampp/xampp /opt/lampp/lampp /home/$USER/.local/bin
بعد کافیه xampp رو تو ترمینال بزنی مثلا xampp start یا xampp start
-
برای ساخت localhost از xampp استفاده میکنم
اون localhost تنها یک hostname برای 127.0.0.1 هستش که به کامپیوتر خودتون اشاره میکنه و ساخت localhost بیمعنی هستش.
همچنین XAMPP رو برای داشتن LAMP توی سیستمعاملهای دیگه مثل ویندوز و مک درست کردند و استفاده از اون رو پیشنهاد نمیکنم. توی گنو-لینوکس میتونید مستقیما از LAMP استفاده کنید که گزینهٔ مناسبتری هستش.
-
درسته حق با شماست
خیلی ممنون از راهنماییتون.
ولی من ابتدا میخواستم خودم LAMP رو نصب کنم ولی کلی دردسر کشیدم آخرشم نشد !! :(
فعلا کارمو با xampp راه میندازم تابعد یه فکر اساسی براش بردارم.
بازم ممنون
-
یه راهش هم که من انجام دادم یه لینک از xampp یا lampp تو پوشه sbin درست کردم.
$ sudo ln -s /opt/lampp/xampp /opt/lampp/lampp /sbin
دمت گرم این دستور جواب داد !! خلاصه راحت شدم.
مشکل راه حل بقیه دوستان این بود که نمیتونستم دستور رو با sudo اجرا کنم ولی با این شد. \\:D/ \\:D/ ممنون
-
درسته حق با شماست
خیلی ممنون از راهنماییتون.
ولی من ابتدا میخواستم خودم LAMP رو نصب کنم ولی کلی دردسر کشیدم آخرشم نشد !! :(
فعلا کارمو با xampp راه میندازم تابعد یه فکر اساسی براش بردارم.
بازم ممنون
برای نصب ساده LAMP میشه از دستور tasksel استفاده کنید.
که به جای نصب تک تک بسته ها خودش همشو با هم نصب می کنه
sudo apt install tasksel
sudo tasksel install lamp-server
-
برای نصب LAMP کافیه این دستور نوشته بشه:
sudo apt install lamp-server^
-
برای نصب LAMP کافیه این دستور نوشته بشه:
sudo apt install lamp-server^
برای من روی دبیان چیزی به نام Lamp-server موجود نبود یعنی با apt نشد نصب کنم.
دو راه پیدا کردم اولی استفاده از tasksel و دیگری نصب تک تک استک lamp یعنی به ترتیپ apache mysql php
به علاوه در نسخه آخر دبیان debian10 buster به جای mysql از mariadb استفاده کرده.
-
برای من روی دبیان چیزی به نام Lamp-server موجود نبود یعنی با apt نشد نصب کنم.
اگر اون دستوری که نوشتم رو دقیقا همونطوری بنویسید، کار میکنه.
-
اگر اون دستوری که نوشتم رو دقیقا همونطوری بنویسید، کار میکنه.
sudo apt install lamp-server^
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package lamp-server^
E: Couldn't find task 'lamp-server'
E: Couldn't find any package by regex 'lamp-server^'