نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
OroCRM یک برنامه رایگان و منبع باز مشتری ارتباط با مشتری (CRM) است که بر روی OroPlatform ساخته شده است. OroPlatform کاملاً قابل برنامه نویسی نرم افزار پلت فرم برنامه بازرگانی منبع باز است. OroPlatform تمام ویژگی هایی را که برای ایجاد یک برنامه شخصی سازی شده مورد نیاز است ، در اختیار شما قرار می دهد. OroCRM با استفاده از چارچوب PHP Symfony ساخته شده است و داده های خود را در سرور پایگاه داده MySQL / MariaDB ذخیره می کند. این یک برنامه CRM آماده برای سازمانی است که ویژگی های زیادی را ارائه می دهد. همچنین با بسیاری از برنامه های شخص ثالث مانند فروشگاه Magento ، MailChimp ، Zendesk و غیره ادغام شده است. چند زبانه است و دارای رابط کاربری کاملاً پاسخگو است که توانایی مدیریت آن را با استفاده از دستگاه های تلفن همراه نیز فراهم می کند.
در این آموزش ، ما به crm.example.com
عنوان نام دامنه به سرور اشاره می کنیم. همه وقایع را crm.example.com
با نام دامنه واقعی خود جایگزین کنید.
سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی CentOS 7 به روز کنید . پس از به روزرسانی سیستم ، نصب وابستگی های مورد نیاز را انجام دهید.
OroCRM را می توان در هر وب سرور تولیدی که از PHP پشتیبانی می کند ، نصب کرد. OroCRM از تمام نسخه های PHP بزرگتر از 7.0 پشتیبانی می کند. در این آموزش از Nginx با PHP-FPM و PHP 7.1 استفاده خواهیم کرد.
Nginx را نصب کنید.
sudo yum -y install nginx
Nginx را شروع کنید و آن را فعال کنید تا به طور خودکار در بوت شروع شود.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7 در مخزن پیش فرض YUM موجود نیست ، اما می توانیم از مخزن Remi برای بدست آوردن و نصب آخرین ساختهای PHP 7. استفاده کنیم. ابتدا مخزن Remi را اضافه و فعال کنید.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71
آخرین نسخه PHP 7 را به همراه ماژول های PHP مورد نیاز OroCRM نصب کنید.
sudo yum -y install php php-fpm php-ctype php-curl php-fileinfo php-gd php-intl php-json php-mbstring php-mcrypt php-mysql php-pcre php-simplexml php-tokenizer php-xml php-zip php-tidy php-soap php-opcache php-posix
پرونده پیش فرض پیکربندی PHP را ویرایش کنید.
sudo nano /etc/php.ini
سطرهای زیر را پیدا کنید. بدون اظهار نظر و تغییراتی که نشان داده شده است.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
memory_limit = 512M
cgi.fix_pathinfo=0
پرونده پیکربندی PHP-FPM را ویرایش کنید.
sudo nano /etc/php-fpm.d/www.conf
به طور پیش فرض ، PHP-FPM برای اجرای با Apache و گوش دادن به درگاه تنظیم شده است 9000
. ما نیاز به تغییر کاربر و گروه و همچنین پرونده سوکت یونیکس داریم که روی آن اجرا خواهد شد. خطوط زیر را پیدا کنید و همانطور که نشان داده شده است ، تغییرات لازم را انجام دهید.
user = nginx
group = nginx
;listen = 127.0.0.1:9000
;Comment out or remove the above line and add the following line.
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nobody
listen.group = nobody
PHP-FPM را شروع کنید و آن را فعال کنید تا از بوت شروع شود.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
مالکیت فایل سوکت PHP-FPM را به کاربر Nginx ارائه دهید.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB یک چنگال منبع آزاد از MySQL است. MariaDB را نصب کنید.
sudo yum -y install mariadb mariadb-server
MariaDB را شروع کنید و آن را فعال کنید تا به طور خودکار در بوت شروع شود.
sudo systemctl start mariadb
sudo systemctl enable mariadb
نصب پیش فرض MariaDB با چند پایگاه داده آزمایش و کاربران ناشناس همراه است. قبل از پیکربندی پایگاه داده ، ابتدا باید سرور MariaDB را ایمن کنید. با اجرای mysql_secure_installation
اسکریپت می توانید آن را ایمن کنید .
sudo mysql_secure_installation
از شما گذرواژه اصلی rootDD MariaDB خواسته می شود. به طور پیش فرض ، هیچ رمز اصلی در نصب جدید MariaDB وجود ندارد. Enter
برای ادامه کلید را فشار دهید. برای کاربر اصلی سرور MariaDB یک رمزعبور قوی تنظیم کنید و Y
به سایر سؤالات سؤال شده پاسخ دهید. سؤالاتی که پرسیده می شود ، خود توضیح است
با اجرای برنامه به پوسته MySQL وارد شوید.
mysql -u root -p
رمز ورود را برای کاربر root MariaDB فراهم کنید تا وارد سیستم شود.
برای ایجاد بانک اطلاعاتی و کاربر پایگاه داده برای نصب OroCRM ، نمایش داده شد.
CREATE DATABASE oro_data;
CREATE USER 'oro_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON oro_data.* TO 'oro_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
می توانید نام oro_data
و نام کاربری داده را oro_user
مطابق انتخاب خود جایگزین کنید. حتماً StrongPassword
به یک رمزعبور بسیار قوی تغییر دهید .
OroCRM همچنین به زمان اجرا جاوا اسکریپت Node.js نیاز دارد. Node.js توسط OroCRM برای کامپایل کردن جاوا اسکریپت استفاده می شود ، که برای ساخت رابط کاربری برنامه کاربرد دارد. مخزن پیش فرض CentOS شامل یک نسخه منسوخ از Node.js است ، بنابراین شما برای بدست آوردن آخرین نسخه باید مخزن Nodesource را به سیستم خود اضافه کنید.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Node.js و Git را نصب کنید.
sudo yum -y install nodejs git
از Git برای کلون مخزن OroCRM از اینترنت استفاده می شود. شما همچنین نیاز به نصب Composer دارید. Composer یک ابزار مدیریت وابستگی برای برنامه های PHP است. از آنجا که OroCRM در چارچوب Symfony نوشته شده است ، برای نصب وابستگی و برنامه به Composer احتیاج خواهید داشت.
آهنگساز را نصب کنید.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
آهنگساز را به /usr/bin
دایرکتوری منتقل کنید تا از هر جای سیستم اجرا شود.
sudo mv composer.phar /usr/bin/composer
مجوز اعدام را به آهنگساز ارائه دهید.
sudo chmod +x /usr/bin/composer
روشهای زیادی برای بارگیری OroCRM در سرور شما وجود دارد. مناسب ترین روش برای به روزترین نسخه ، کلون کردن مخزن از طریق Git است.
مخزن OroCRM را کلون کنید.
cd /usr/share/nginx/
sudo git clone -b 2.3 https://github.com/oroinc/crm-application.git orocrm
parameters
پرونده نمونه را در parameters
پرونده پیش فرض استفاده شده توسط OroCRM کپی کنید.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
قبل از ادامه کار ، parameters.yml
برای تهیه اطلاعات بانک اطلاعاتی و ایمیل ، باید فایل را به روز کنید.
sudo nano app/config/parameters.yml
سطرهای زیر را پیدا کنید.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
تنظیمات فوق را مطابق با پایگاه داده ای که ایجاد کرده اید برای ذخیره داده های OroCRM به روز کنید. در مورد ما ، باید به این شکل باشد.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
اگر سرور SMTP آماده هستید و می خواهید بلافاصله از ویژگی های ارسال ایمیل استفاده کنید ، می توانید تنظیمات نامه دهنده را مطابق شکل به روز کنید.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: [email protected]
mailer_password: EMailPassword
اگر سرور پست الکترونیکی آماده نیستید ، می توانید با ترک مقادیر موجود ، فعلاً آن را رد کنید. همیشه می توانید پیکربندی ایمیل را از طریق داشبورد تغییر دهید.
secret
با جایگزینی یک رشته تصادفی تنظیم کنید ThisTokenIsNotSoSecretChangeIt
. برای رمزگذاری داده های جلسه ، یک رشته تصادفی لازم است. یک رشته نمونه مانند این است.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
با استفاده از pwgen
ابزار می توانید یک رشته تصادفی تولید کنید . pwgen
با اجرای برنامه ، برنامه را نصب کنید sudo yum -y install pwgen
. برای تولید یک رشته تصادفی ، اجرا کنید pwgen -s 64 1
.
پرونده را ذخیره کرده و از ویرایشگر خارج شوید. وابستگی های PHP مورد نیاز را از طریق آهنگساز نصب کنید.
sudo composer install --prefer-dist --no-dev
با استفاده از --no-dev
این اطمینان حاصل می شود كه آهنگساز فقط وابستگی های لازم برای اجرای سرور وب را در حالت تولید نصب كند. برای بارگیری و نصب وابستگی های لازم به PHP چند دقیقه طول خواهد کشید.
برنامه را نصب کنید.
sudo php app/console oro:install --env=prod
با این کار حافظه نهان وب ساخته و پایگاه داده را می نویسد. --env=prod
پارامتر ارائه شده است برای نصب نرم افزار در حالت تولید. نصب فقط در صورت نصب و پیکربندی تمام وابستگی های لازم ادامه خواهد یافت.
در حین نصب از شما چند سوال برای تنظیم حساب سرپرست پرسیده می شود. سوالات به شرح زیر است.
Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Organization
Username (admin):
Email: [email protected]
First name: John
Last name: Doe
Password:
Load sample data (y/n): y
اطلاعات را تهیه کنید. داده های نمونه را بارگیری کنید تا قبل از استفاده از آن ، محصول را ارزیابی کنید.
حافظه نهان اسناد API را گرم کنید:
sudo php app/console oro:api:doc:cache:clear
یک فایل بلوک سرور Nginx ایجاد کنید تا برنامه به کاربران ارائه شود.
sudo nano /etc/nginx/conf.d/orocrm.conf
پرونده را جمع کنید.
server {
server_name crm.example.com;
root /usr/share/nginx/orocrm/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app|app_dev|config|install)\.php(/|$) {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
# Enable Gzip compression
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 1000;
gzip_http_version 1.0;
gzip_proxied any;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml;
gzip_vary on;
# Enable browser caching
# One week for javascript and css
location ~* \.(?:css|js) {
expires 1w;
access_log off;
add_header Cache-Control public;
}
# Three weeks for media: images, fonts, icons, video, audio etc.
location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ {
expires 3w;
access_log off;
add_header Cache-Control public;
}
error_log /var/log/nginx/orocrm_error.log;
access_log /var/log/nginx/orocrm_access.log;
}
اطمینان حاصل کنید که crm.example.com
با نام دامنه واقعی خود تغییر کرده اید. پیکربندی فوق همچنین شامل پیکربندی مورد نیاز برای فشرده سازی GZip و حافظه پنهان مرورگر است. فشرده سازی Gzip داده ها را قبل از ارسال به مرورگر فشرده می کند. فعال کردن حافظه پنهان مرورگر ، منابع استاتیک را در حافظه نهان وب رایانه مشتری ذخیره می کند. دفعه بعد که کاربر به سایت دسترسی پیدا می کند ، بیشتر محتوای استاتیک از حافظه پنهان وب کاربر بارگیری می شود. این دو روش سرعت برنامه را به طرز چشمگیری افزایش می دهد.
فایل پیکربندی Nginx را برای هرگونه خطا بررسی کنید.
sudo nginx -t
خروجی باید به شکل زیر باشد.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
مالکیت پرونده های OrOCRM را به کاربر Nginx ارائه دهید.
sudo chown -R nginx:nginx /usr/share/nginx/orocrm
برای اعمال تنظیمات جدید ، Nginx را مجدداً راه اندازی کنید.
sudo systemctl restart nginx
اگر فایروال را در سرور خود اجرا می کنید ، برای تنظیم یک استثناء برای سرویس HTTP ، باید فایروال را پیکربندی کنید. به Nginx اجازه دهید از خارج از شبکه وصل شود.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
اکنون می توانید به برنامه دسترسی داشته باشید http://crm.example.com
. با استفاده از نام کاربری و رمز عبوری که در حین نصب تنظیم کرده اید ، وارد سیستم شوید.
برای اجرای خودکار کارهای برنامه ریزی شده می توانید یک کار شغلی Cron اضافه کنید. گسترش crontab
.
sudo crontab -e
خط زیر را به پرونده اضافه کنید.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
این کار cron هر دقیقه را انجام می دهد تا کارهای برنامه ریزی شده مانند صف های ایمیل زودتر پردازش شوند.
همچنین برای اجرای سرویس "پیام پیام" شما باید به تنظیم Supervisor بپردازید. لازم است حداقل یک فرآیند در همه زمانها در حال اجرا باشد تا مصرف کننده بتواند پیامها را پردازش کند. یک مصرف کننده می تواند فرآیند پیام را از راه های مختلفی قطع کند. برای اطمینان از عملکرد مداوم سرویس ، از سرویس Supervisor استفاده خواهیم کرد. ما ناظر را پیکربندی خواهیم کرد تا چهار فرآیند را به صورت موازی اجرا کند. اگر هر یک از چهار فرآیند به هر دلیلی متوقف شده باشد ، سرپرست سعی خواهد کرد که دوباره آن را آغاز کند.
ناظر را نصب کنید.
sudo yum -y install supervisor
پرونده پیکربندی Supervisor را ویرایش کنید.
sudo nano /etc/supervisord.conf
خط های زیر را در انتهای پرونده اضافه کنید.
[program:oro_message_consumer]
command=/usr/bin/php /usr/share/nginx/orocrm/app/console --env=prod --no-debug oro:message-queue:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=nginx
redirect_stderr=true
شروع و فعال کردن Supervisor به طور خودکار در زمان بوت شدن شروع می شود.
sudo systemctl start supervisord
sudo systemctl enable supervisord
با اجرای موارد زیر می توانید وضعیت پردازش ها را مشاهده کنید.
sudo supervisorctl status
باید دید که روند کار در حال انجام است.
[user@vultr ~]$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00 RUNNING pid 13596, uptime 0:02:13
oro_message_consumer:oro_message_consumer_01 RUNNING pid 13595, uptime 0:02:13
oro_message_consumer:oro_message_consumer_02 RUNNING pid 13594, uptime 0:02:13
oro_message_consumer:oro_message_consumer_03 RUNNING pid 13593, uptime 0:02:13
OroCRM اکنون روی سرور شما نصب شده است. اکنون می توانید از این برنامه برای مدیریت کارهای روزمره سازمان خود استفاده کنید. برای کسب اطلاعات بیشتر در مورد OroCRM ، می توانید به وب سایت رسمی آن مراجعه کنید .
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد