نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Ruby on Rails یک چارچوب وب محبوب برای Ruby است که برای افزایش بهره وری یک برنامه نویس ایجاد شده است. با این حال ، گرفتن سنگهای قیمتی و وابستگی های مختلف برای همکاری با یکدیگر ، گاه ممکن است مشکل پیدا کند. این راهنما به شما کمک می کند تا یک محیط ریل کامل آماده تولید را از جمله سنگهای متداول و وابستگی ها تنظیم کنید.
توجه : توصیه می شود که هیچ یک از این سرویس ها را به عنوان ریشه نصب نکنید ، زیرا ممکن است خود را در معرض حمله قرار دهید. راهاندازی کاربر deploy
یا app
کاربری معمولی است:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
مطمئن شوید که آخرین نسخه های جدید را در Ubuntu VM خود اجرا می کنید:
sudo apt-get update && sudo apt-get upgrade -y
برای اینکه بتوانید Ruby را با استفاده از rbenv و سنگهای دیگر کامپایل کنید ، بسته های مختلفی باید نصب شوند. بسته به نسخه Ruby موردنیاز شما ، ممکن است برخی از بسته ها مورد نیاز نباشند.
sudo apt-get install -y curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev
sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev
sudo apt-get install -y python-software-properties libffi-dev
sudo apt-get install -y build-essential openssl libreadline6 libreadline6-dev libreadline-dev
sudo apt-get install -y automake libtool bison pkg-config bison autoconf libc6-dev ncurses-dev
sudo apt-get install -y libapr1-dev libaprutil1-dev libx11-dev libffi-dev tcl-dev tk-dev
اینها برای تهیه چندین جواهر مانند مسافر ضروری است:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
جامعه روبی از Git به عنوان SCM انتخاب استفاده می کند. اما موارد اضافی مانند Mercurial یا Subversion نیز قابل نصب هستند:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
چندین جواهر محبوب که به نسخه XML بومی نیاز دارند:
sudo apt-get install -y libxml2-dev libxslt-dev
مخازن رسمی Node را با جدیدترین نسخه اضافه کنید زیرا مخازن پیش فرض اوبونتو عقب مانده از چند نسخه اصلی است:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
این بسته ها برای اجرای سیستم موردنیاز نیستند ، اما در صورت نیاز به استفاده از سنگهای خاص ، خوب است.
این کتابخانه ها ضروری نیستند و نمی توان آنها را پرش کرد ، مگر اینکه قصد استفاده از سنگهای دستکاری تصویر را داشته باشید. مانند Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
در صورت نیاز به اتصال به پایگاه داده های دیگر یا ترجیح یک DB محلی ساده ، درایورهای SQLite یا PostgreSQL را نصب کنید:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
برنامه های کاربردی که معمولاً در نصب جدید اوبونتو از پیش نصب نشده اند. احساس رایگان کنید که ویرایشگر متن مورد نظر خود را نصب کنید:
sudo apt-get install -y iotop htop nano vim
MariaDB یک سرور ارتباطی قدرتمند SQL است که کاملاً با MySQL سازگار است. ساده ترین راه برای نصب جدیدترین نسخه MariaDB استفاده از مخازن رسمی است:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
sudo apt update
sudo apt install -y mariadb-server
اعلان ها را دنبال کنید و رمزعبور اصلی را تنظیم کنید. پس از آن ، تأیید کنید که می توانید به نصب جدید خود دسترسی پیدا کنید:
mysql -V
خطی شبیه به این نمایش خواهد داد:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
ورود به پوسته MySQL:
mysql -h localhost -u root -p
توجه : \q
برای خروج از آن استفاده کنید .
Rbenv را با استفاده از git نصب کنید. این ساده ترین روش نصب است و بعداً امکان بروزرسانی آسان را فراهم می کند. همچنین نصب کنید ruby-build
، وظیفه تهیه نسخه های مختلف Ruby را نیز بر عهده دارد:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
توجه : هنگامی که باید به سادگی cd ~/.rbenv
و به روز کنید git pull
.
Rbenv و Ruby-ساخت را در پوسته موجود کنید. برای اطمینان از اینکه خطوط صادرات از قرار در آغاز از .bashrc
فایل، که برای دستورات bash در غیر تعاملی مهم است، استفاده از این خطوط:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.temp_bashrc
echo 'eval "$(rbenv init -)"' >> ~/.temp_bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.temp_bashrc
cat ~/.temp_bashrc ~/.bashrc > ~/.combined_bashrc && mv ~/.combined_bashrc ~/.bashrc && rm ~/.temp_bashrc
exec $SHELL
بررسی کنید که آیا Rbenv و Ruby-build نصب شده و در پوسته در دسترس هستند:
rbenv install --list
در صورت rbenv
عدم شناسایی ، از سیستم خارج شوید و دوباره وارد پوسته شوید.
~/.bash_profile
فایلی را ایجاد کنید و آن را به عنوان منبع خود تهیه ~/.bashrc
کنید اگر شما نیاز به اجرای هرگونه دستور پوسته غیر تعاملی از برنامه Rails خود ، مانند تنظیمات کار cron توسط whenever
گوهر ، از همان نسخه Ruby به عنوان پوسته تعاملی شما استفاده می کند. این می تواند به جلوگیری از خطاهای عجیب کمک کند. این خط را به ~/.bash_profile
پرونده اضافه کنید:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Ruby 2.4.1 را نصب کنید:
rbenv install 2.4.1
توجه : این روند بسته به منابع موجود در VM شما ممکن است 5-15 دقیقه طول بکشد و هیچ نوار پیشرفتی وجود ندارد.
Rbenv را در همه جا در دسترس قرار دهید.
rbenv global 2.4.1
کلید PGP و پشتیبانی HTTPS را برای apt اضافه کنید:
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
مخزن مسافر را اضافه کنید:
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger zesty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
ماژول های Passenger + Nginx را نصب کنید:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
با استفاده از نام دامنه یا IP ، به نمونه Vultr خود مراجعه کنید تا در این مرحله این موارد را آزمایش کنید. اگر آنها در حال کار هستند ، صفحه شما صفحه پیش فرض استقبال Nginx را نشان می دهد.
Bundler و Rails را نصب کنید:
gem install bundler rails --no-ri --no-rdoc
کنوانسیون اوبونتو / دبیان قرار است برنامه خود را در آن تنظیم کنید /var/www
. به طور پیش فرض فقط توسط root قابل نوشتن است. برای راه اندازی کار ، مالکیت را به کاربر سودو بدهید deploy
:
sudo chown deploy:deploy /var/www -R
ایجاد برنامه ریل در /var/www/
. اگر از قبل برنامه ای دارید که می خواهید استقرار دهید ، git clone
آن را در اینجا و سپس اجرا کنید bundle
:
cd /var/www
rails new example --database=mysql
آماده سازی Nginx.
sudo nano /etc/nginx/nginx.conf
تغییر کاربر به deploy
.
user deploy;
در http
بخش پیکربندی ، باید یک خط وجود داشته باشد که به Nginx می گوید ماژول ها از جمله مسافر را بارگیری کنید. در صورت عدم وجود ، می توانید بلافاصله بعد از Virtual Host Configs
عنوان ، اما قبل از آن اضافه کنید sites-enabled
.
include /etc/nginx/conf.d/*.conf;
ویرایش / ایجاد passenger.conf
پرونده.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
به مسافر بگویید که از تنظیم Rbenv ما استفاده کند. ممکن است حاوی یک خط باشد که به نسخه Ruby موجود در Passenger اشاره دارد ، فقط کافی است آن را حذف یا اظهار نظر کنید.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
میزبان مجازی را تنظیم کنید تا به برنامه وارد شود /var/www/example/
.
sudo nano /etc/nginx/sites-enabled/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/public;
passenger_enabled on;
# When you are ready to switch to production mode - change this to `production`
passenger_app_env development; # <-- !important
}
Nginx را مجدداً راه اندازی کنید.
sudo service nginx restart
در این مرحله برنامه شما آماده استفاده در حالت توسعه است. برای تغییر به حالت تولید شما نیاز به بازگشت به تنظیمات Nginx به خود و تغییر rails_env
تنظیمات به production
.
قبل از اینکه شما به حالت تولید تغییر دهید، شما هنوز هم نیاز به راه اندازی پایگاه داده های تولید خود را example_production
، database.yml
و کلید مخفی. ابزاری مانند Capistrano یا Mina را برای سرعت بخشیدن به روند استقرار برنامه خود بررسی کنید. استفاده از متغیرهای ENV با گوهر مانند یک عمل خوب است dotenv
و گذرواژهها ، کلیدهای مخفی و موارد دیگر را به مخزن git خود مرتکب نشوید.
چندین سرویس وجود دارد که دارای گواهینامه SSL برای دامنه شما هستند ، بسیاری از آنها پرداخت می شوند و یک زن و شوهر رایگان هستند. SSL مهم نیست از چه خدماتی استفاده می کنید. بیایید رمزگذاری بسیار آسان و رایگان استفاده شود. Let's Encrypt یک سازمان غیرانتفاعی است که توسط بسیاری از غول های فناوری پشتیبانی می شود.
دستورات زیر را اجرا کنید و دستورات را دنبال کنید.
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx
sudo certbot renew --dry-run
اگر اکنون با استفاده از نمونه Vultr خود HTTPS
، یک وب سایت ایمن را مشاهده خواهید کرد.
گواهینامه تازه صادر شده شما منقضی می شود و به صورت دوره ای تمدید می شود. ساده ترین راه برای انجام این کار ، تنظیم کار cron است.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
به عنوان یک مرحله نهایی اما اختیاری ، مجدداً راه اندازی مجدد VM خود را انجام دهید و اطمینان حاصل کنید که همه سرویس ها طبق انتظارات مجدداً راه اندازی شوند.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد