نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Redmine یک ابزار مدیریت وب رایگان و منبع باز است. در Ruby on Rails نوشته شده است و از چندین سرور پایگاه داده برای ذخیره دیتابیس پشتیبانی می کند. این نرم افزار غنی از ویژگی های پشتیبانی از پروژه های متعدد ، مبتنی بر نقش ACL و یک سیستم ردیابی مسئله است. همچنین دارای نمودار Gantt و پشتیبانی تقویم ، مدیریت پرونده ، ویکی و تالار گفتگوی پروژه و همچنین بسیاری از ویژگی های دیگر است. این سیستم از سیستم های کنترل نسخه مانند Git ، SVN یا CVS پشتیبانی می کند. همچنین این زبان چند زبانه است و از 49 زبان پشتیبانی می کند.
برای این آموزش ، ما به 192.168.1.1
عنوان آدرس IP عمومی و redmine.example.com
به عنوان نام دامنه به سمت نمونه Vultr اشاره خواهیم کرد. لطفاً اطمینان حاصل کنید که تمام وقایع نام دامنه و آدرس IP را با نمونه واقعی جایگزین کنید.
سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی اوبونتو 16.04 به روز کنید . پس از به روزرسانی سیستم ، نصب وابستگی ها را انجام دهید.
Redmine در Ruby on Rails نوشته شده است ، بنابراین ما به Phusion Passenger نیاز خواهیم داشت تا با وب سرور آپاچی یکپارچه شود تا برنامه را به خدمت بگیرد.
آپاچی را نصب کنید.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
برای ساختن روبی و مسافر ، به برخی از ابزارهای توسعه نیز احتیاج خواهیم داشت. ابزارهای مورد نیاز را نصب کنید.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine از انواع مختلفی از سرورهای پایگاه داده مانند MySQL ، PostgreSQL و MSSQL پشتیبانی می کند. در این آموزش از PostgreSQL برای میزبانی سرور پایگاه داده Redmine استفاده خواهیم کرد.
PostgreSQL یک سیستم پایگاه داده رابطه ای است. مخزن پیش فرض اوبونتو دارای نسخه قدیمی PostgreSQL است ، بنابراین مخزن PostgreSQL را به سیستم اضافه کنید.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
سرور پایگاه داده PostgreSQL را نصب کنید.
sudo apt -y install postgresql
سرور PostgreSQL را راه اندازی کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.
sudo systemctl start postgresql
sudo systemctl enable postgresql
گذرواژه را برای کاربر پیش فرض PostgreSQL تغییر دهید.
sudo passwd postgres
به عنوان کاربر PostgreSQL وارد شوید.
sudo su - postgres
یک کاربر جدید PostgreSQL برای Redmine ایجاد کنید.
createuser redmine
شما مجاز به استفاده از هر نام کاربری به جای آن هستید redmine
. PostgreSQL psql
پوسته را برای اجرای نمایش داده ها در پایگاه داده فراهم می کند . به پوسته PostgreSQL بروید.
psql
یک رمز عبور برای کاربر تازه ایجاد شده برای دیتابیس Redmine تنظیم کنید.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
DBPassword
با یک رمز عبور ایمن جایگزین کنید . برای نصب Redmine یک پایگاه داده جدید ایجاد کنید.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
از psql
پوسته خارج شوید.
\q
به sudo
کاربر تغییر دهید.
exit
چند مورد وابستگی PostgreSQL مورد نیاز دیگر را نصب کنید.
sudo apt -y install libpqxx-dev protobuf-compiler
ما آخرین نسخه Ruby را با استفاده از RVM نصب خواهیم کرد. برای نصب و مدیریت چندین نسخه از Ruby استفاده می شود.
مخزن RVM را اضافه کنید.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
RVM را نصب کنید.
sudo apt -y install rvm
از آنجا که باید سیستم Ruby را به طور گسترده نصب کنیم ، به طور موقت به کاربر root تغییر خواهیم کرد.
sudo -i
متغیرهای محیط را به روز کنید.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
آخرین نسخه Ruby را نصب کنید.
rvm install 2.5.1
توجه: اگر از نسخه متفاوتی از Ruby استفاده می کنید ، حتماً مسیر Ruby را مطابق با آن به روز کنید.
از نسخه نصب شده Ruby استفاده کنید.
rvm use 2.5.1 --default
می توانید نسخه آن را تأیید کنید.
ruby -v
یک خروجی مشابه را خواهید دید.
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
نصب کنید bundler
، که مدیر وابستگی برای برنامه Ruby است.
gem install bundler
اکنون Ruby نصب شده است. قبل از نصب Redmine ، ما نیاز به نصب Phusion Passenger داریم.
دستور زیر را برای نصب Passenger اجرا کنید.
gem install passenger
ماژول Apache را برای مسافر نصب کنید.
passenger-install-apache2-module
اسکریپت نصاب از شما سؤالاتی می پرسد. ابتدا اطلاعات مربوط به فرآیند نصب را در اختیار شما قرار می دهد. سپس از شما می خواهد که زبانی را که استفاده می کنید انتخاب کنید. از آنجا که برنامه ما در Ruby on Rails نوشته شده است ، Ruby را از فهرست انتخاب کرده و ENTERبرای ادامه کار فشار دهید.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
اکنون نصب کننده موارد مورد نیاز را بررسی می کند. نصب با هیچگونه وابستگی مفقودی روبرو نمی شود و به طور خودکار اقدام به تهیه و نصب ماژول می کند.
پس از نصب ماژول ، از شما خواسته می شود که ماژول را به پرونده پیکربندی Apache اضافه کنید.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
فعلاً این را می پریم و بعداً در آموزش آن را تکمیل خواهیم کرد. مطبوعات ENTERبه جست و خیز این مرحله است.
سرانجام ، اسکریپت نصب کننده نصب را تأیید می کند و هشداری را مشاهده خواهید کرد که می گوید ماژول مسافر در پیکربندی Apache مشخص نشده است.
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/apache2/apache2.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
اکنون که ماژول Passenger را برای Apache نصب کرده ایم ، اقدام به بارگیری و نصب Redmine کنید. به حالت sudo
کاربر دوباره از آنجایی که ما نیاز به اجرای هر دستور با استفاده از root
کاربر.
exit
توصیه می شود برای اجرای برنامه از یک کاربر غیر شخصی استفاده کنید تا آن را از بقیه سیستم جدا کند. برای Redmine کاربر جدیدی ایجاد کنید و به کاربر تازه ایجاد شده تغییر دهید.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
آخرین نسخه Redmine را از صفحه رسمی بارگیری Redmine بارگیری کنید .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
به خاطر راحتی ، بایگانی را استخراج کرده و فهرست را تغییر نام دهید.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
پرونده های پیکربندی نمونه را در محل تولید آن کپی کنید.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
پرونده پیکربندی بانک اطلاعاتی را که فقط کپی کرده ایم باز کنید تا جزئیات پایگاه داده را وارد کنید.
nano config/database.yml
به طور پیش فرض ، پرونده پایگاه داده برای MySQL پیکربندی شده است. پیکربندی های تولید و توسعه را پیدا کنید و آزمایشاتی را انجام دهید که از آداپتور MySQL استفاده می کند. تمام این خطوط را کامنت کنید.
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# encoding: utf8
#development:
# adapter: mysql2
# database: redmine_development
# host: localhost
# username: root
# password: ""
# encoding: utf8
#test:
# adapter: mysql2
# database: redmine_test
# host: localhost
# username: root
# password: ""
# encoding: utf8
Furthur ، با داشتن production
پیکربندی برای postgresql
آداپتور ، خطوطی را که اظهار نظر می شود پیدا کنید . خطوط آنرا لغو کنید و نام بانک اطلاعاتی و اعتبار کاربر را به روز کنید. حتما از تورفتگی درست استفاده کنید که دو فاصله است.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
برنامه را برای استفاده از پیکربندی PostgreSQL پیکربندی کنید.
bundle config build.pg --with-pg-config=/usr/bin/pg_config
وابستگی های مورد نیاز برنامه را نصب کنید.
bundle install --path vendor/bundle --without development test
پیام زیر را در انتهای نصب مشاهده خواهید کرد.
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
دستور زیر علائم مخفی را برای رمزگذاری داده های جلسه ایجاد می کند.
bundle exec rake generate_secret_token
پایگاه داده PostgreSQL را بنویسید.
RAILS_ENV=production bundle exec rake db:migrate
دستور زیر را که داده های پیش فرض را در پایگاه داده PostgreSQL می نویسد ، اجرا کنید.
RAILS_ENV=production bundle exec rake redmine:load_default_data
دستور فوق از شما می خواهد که زبان پیش فرض مورد استفاده را با برنامه انتخاب کنید. انتخاب پیش فرض انگلیسی است. مطابق ترجیح خود انتخاب کنید.
[redmine@vultr redmine]$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]
====================================
Default configuration data loaded.
نصب برنامه Redmine اکنون به پایان رسیده است. مالکیت و مجوزهای دایرکتوری ها و پرونده ها را تغییر دهید.
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
ما همه چیز مورد نیاز خود را از کاربر غیر ممتازی پیکربندی کرده ایم. sudo
با دویدن به کاربر بازگردید su - <username>
.
ماژول Passenger را برای Apache در پرونده پیکربندی Apache اضافه کنید. این به طور خودکار ماژول Passenger را بارگذاری می کند.
echo "LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/apache2/apache2.conf
توجه: ممکن است در هنگام انتشار نسخه جدید مسافر ، مسیر ماژول مسافر تغییر کند. برای پیدا کردن مسیر ماژول ، از sudo find / -name mod_passenger.so
دستور استفاده کنید .
یک فایل میزبان مجازی جدید را برای برنامه Redmine خود ایجاد کنید.
sudo nano /etc/apache2/sites-available/redmine.conf
پرونده را با محتوای زیر پر کنید.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
حتماً redmine.example.com
نام دامنه واقعی خود را جایگزین کنید. همچنین ، مطمئن شوید که مسیر رسیدن به PassengerRoot
و PassengerDefaultRuby
صحیح است. هنگامی که نسخه جدیدی از روبی یا مسافر وجود دارد ، مسیر باینری ها ممکن است تغییر کند. برای یافتن این مسیرها ، دستور زیر را اجرا کنید.
passenger-config about ruby-command
خروجی زیر را دریافت خواهید کرد.
user@vultr:~$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
Version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
To use in Apache: PassengerRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use in Nginx : passenger_ruby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use with Standalone: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/bin/passenger start
## Notes for RVM users
Do you want to know which command to use for a different Ruby interpreter? 'rvm use' that Ruby interpreter, then re-run 'passenger-config about ruby-command'.
پس از ایجاد پرونده میزبان مجازی. پیکربندی را فعال کنید.
sudo a2ensite redmine
راه اندازی مجدد وب سرور Apache.
sudo systemctl restart apache2
اکنون می توانید به رابط Redmine خود دسترسی پیدا کنید http://redmine.example.com
. با نام کاربری admin
و رمز ورود وارد شوید admin
. در اولین ورود به سیستم ، Redmine از شما خواسته می شود که رمز عبور را به روز کنید.
از آنجا که نصب Redmine ما روی یک سرور روبرو است ، توصیه می شود از SSL استفاده کنید تا تبادل داده ها از سرور تضمین شود.
مخزن Certbot را اضافه کنید.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Certbot را نصب کنید ، که برنامه مشتری برای Let Encrypt CA است.
sudo apt -y install certbot
توجه: برای به دست آوردن گواهینامه ها از Let Encrypt CA ، دامنه تولید شده برای صدور گواهینامه ها باید به سمت سرور هدایت شود. در این صورت ، تغییرات لازم را در سوابق DNS دامنه ایجاد کرده و منتظر انتشار DNS قبل از درخواست مجوز مجدد باشید. Certbot قبل از ارائه گواهینامه ها ، دامنه را بررسی می کند.
صدور گواهینامه SSL را ایجاد کنید.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
گواهینامه های تولید شده احتمالاً در آنها ذخیره می شوند /etc/letsencrypt/live/redmine.example.com/
. گواهینامه SSL ذخیره می شود cert.pem
و کلید خصوصی نیز به عنوان ذخیره می شود privkey.pem
.
بیایید مجوزهای رمزگذاری در مدت 90 روز منقضی شوند ، از این رو توصیه می شود با استفاده از مشاغل Cron ، تمدید خودکار گواهینامه ها را تنظیم کنید.
پرونده کار Cron را برای root
کاربر باز کنید.
sudo crontab -e
در انتهای پرونده خط زیر را اضافه کنید.
30 5 * * * /usr/bin/certbot renew --quiet
کار فوق کرون هر روز در ساعت 5:30 دقیقه صبح اجرا می شود. اگر گواهی برای انقضا موقت باشد ، به طور خودکار تمدید می شود.
ماژول SSL را برای Apache فعال کنید.
sudo a2enmod ssl
پرونده میزبان مجازی را که قبلاً برای Redmine ساخته ایم ویرایش کنید.
sudo nano /etc/apache2/sites-available/redmine.conf
پرونده میزبان مجازی را تغییر دهید تا مشابه موارد زیر باشد.
<VirtualHost *:80>
ServerName redmine.example.com
Redirect permanent / https://redmine.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName redmine.example.com
DocumentRoot "/home/redmine/redmine/public"
<Directory "/home/redmine/redmine/public">
Options None
Require all granted
</Directory>
PassengerAppEnv production
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
PassengerHighPerformance on
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/redmine.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/redmine.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/redmine.example.com/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<IfModule headers_module>
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
</IfModule>
</VirtualHost>
پرونده را ذخیره کرده و از ویرایشگر خارج شوید.
آپاچی را مجدداً راه اندازی کنید تا ��غییرات مؤثر واقع شوند.
sudo systemctl restart apache2
اکنون می توانید به Redmine دسترسی پیدا HTTPS
کنید https://redmine.example.com
.
تبریک می گویم ، شما با موفقیت Redmine را به عنوان مثال در اوبونتو 16.04 نصب کرده اید. با ایجاد یا وارد کردن پروژه خود ، ت��سعه پروژه خود را شروع کنید.
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد