نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
این آموزش OpenBSD را به عنوان یک راه حل تجارت الکترونیکی با استفاده از PrestaShop و Apache نشان می دهد.
Apache لازم است زیرا PrestaShop دارای الزامات نوشتن مجدد URL پیچیده ای است که توسط سرور وب داخلی OpenBSD ، httpd پشتیبانی نمی شود. در این آموزش از گواهینامه های خود امضا شده استفاده می شود. لطفاً از یک گواهی تأیید شده برای تولید استفاده کنید.
به طور موقت یک کاربر معمولی ایجاد کنید که مجاز به استفاده از آن doas
بدون رمز عبور باشد. این دسترسی پس از راه اندازی حذف می شود.
user add -c "Example User" -m -G wheel -L staff auser
passwd auser
echo 'permit nopass keepenv :wheel' > /etc/doas.conf
مخزن بسته OpenBSD را اضافه کنید.
echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl
وضعیت روزانه و ایمیل های امنیتی را به آدرس خود منتقل کنید.
echo '[email protected]' > /root/.forward
نام میزبان سرور را تنظیم کنید.
echo 'www.example.com' > /etc/myname
hostname www.example.com
FQDN و آدرس IP سرور خود را به آنها اضافه کنید /etc/hosts
.
جایگزین 192.0.2.1
با آدرس Vultr IP خود را.
127.0.0.1 localhost
::1 localhost
192.0.2.1 www.example.com
بسته های مورد نیاز PrestaShop و Apache را اضافه کنید. در صورت درخواست ، آخرین نسخه ها را انتخاب کنید.
doas su
pkg_add apache-httpd php php-curl php-gd php-intl php-pdo_mysql php-zip mariadb-client mariadb-server wget unzip
برای آزمایش یک گواهی SSL خود امضا کرد. نام مشترک را روی FQDN سرور خود قرار دهید ، به عنوان مثال www.example.com.
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout /etc/ssl/private/example.com.key -out /etc/ssl/example.com.crt -days 3650 -sha256
chmod 0600 /etc/ssl/private/example.com.key
نشانی اینترنتی جدیدترین نسخه PrestaShop را پیدا کنید ، بارگیری کنید /tmp
و آن را استخراج کنید /var/www/htdocs/prestashop
.
cd /tmp
wget <https://download.prestashop.com/download/releases/prestashop_1.7.6.4.zip>
unzip prestashop_1.7.6.4.zip -d /var/www/htdocs/prestashop
chown -R www:www /var/www/htdocs/prestashop
فایروال را پیکربندی کنید تا همه ترافیک ورودی به غیر از ssh ، www و https مسدود شود .
یک نسخه پشتیبان تهیه کنید /etc/pf.conf
.
cp /etc/pf.conf /etc/pf.conf.bak
ویرایش /etc/pf.conf
همانطور که نشان داده شده است.
set skip on lo
block in
pass out
pass in on egress inet proto tcp to port {ssh, www, https} \
flags S/SA keep state
قوانین فایروال را تست و فعال کنید.
doas pfctl -nf /etc/pf.conf
doas pfctl -f /etc/pf.conf
از /etc/mail/smtpd.conf
پرونده خود نسخه پشتیبان تهیه کنید .
cp /etc/mail/smtpd.conf /etc/mail/smtpd.conf.bak
/etc/mail/smtpd.conf
مطابق شکل زیر ویرایش کنید.
یادداشت ها: * تعریف جدول برای اسرار دارای نام کاربری و رمز عبور برای رله نامه است. * اقدام عازم ناحیه دور دست به نظر می رسد تا از نام کاربری و رمز عبور در زیر برچسب prestashop
در /etc/mail/secrets
و رله ایمیل از طریق سرور ایمیل خود را.
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on lo0
action "local_mail" mbox alias <aliases>
action "outbound" relay host smtp+tls://[email protected]:587 \
tls no-verify auth <secrets>
match from local for local action "local_mail"
match from local for any action "outbound"
ایجاد کردن /etc/mail/secrets
آدرس ایمیل و رمز عبور را با اعتبارهایی که برای سرور ایمیل خود استفاده می کنید ، جایگزین کنید.
echo "prestashop [email protected]:password" > /etc/mail/secrets
مجوزها را برای تأمین تنظیم کنید /etc/mail/secrets
chmod 0600 /etc/secrets
فایل پیکربندی برای خطاها را انجام دهید و Daemon smtpd را مجدداً راه اندازی کنید.
smtpd -n
rcctl restart smtpd
فرایند PHP-FPM را تنظیم کنید تا به جای سوکت دامنه یونیکس ، به سوکت TCP گوش دهید.
تغییر زیر را برای /etc/php-fpm.conf
پرونده انجام دهید.
...
; If using a TCP port, never expose this to a public network.
;listen = /var/www/run/php-fpm.sock
listen = 127.0.0.1:9000
در محیط PHP تغییرات دیگری ایجاد کنید /etc/php-7.3.ini
. اگر نسخه جدیدتر از 7.3 باشد این نام پرونده ممکن است کمی تغییر کند. این تغییرات:
پی اچ پی را ارسال کنید تا ایمیل از طریق sendmail ارسال شود.
; Default Value: not set
;chroot = /var/www
...
; Maximum allowed size for uploaded files.
; <http://php.net/upload-max-filesize>
upload_max_filesize = 6M
...
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; <http://php.net/sendmail-path>
;sendmail_path =
sendmail_path = /usr/sbin/sendmail -t -i
...
; Whether to allow the treatment of URLs (like <http://> or <ftp://)> as files.
; <http://php.net/allow-url-fopen>
allow_url_fopen = On
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; <http://php.net/post-max-size>
post_max_size = 12M
افزونه های PHP را فعال کنید.
cp /etc/php-7.3.sample/* /etc/php-7.3/.
دکمه PHP-FPM را فعال کرده و شروع کنید. اگر نسخه جدیدتر باشد ممکن است نام Daemon کمی متفاوت باشد.
rcctl enable php73_fpm
rcctl start php73_fpm
MariaDB باطن پایگاه داده را برای PrestaShop فراهم می کند. از آنجا که MariaDB به پروندههای بازتر از کلاس پیش فرض نیاز دارد ، یک کلاس ویژه در ایجاد کنید /etc/login.conf
.
در انتهای پرونده خطوط زیر را اضافه کنید:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
MariaDB را نصب کنید.
doas su
mysql_install_db
rcctl enable mysqld
rcctl start mysqld
امنیت MariaDB را پیکربندی کنید.
mysql_secure_installation
پایگاه داده PrestaShop را ایجاد کنید. از یک رمز عبور قوی استفاده کنید.
mysql -u root
CREATE DATABASE prestashop;
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password123';
FLUSH PRIVILEGES;
EXIT
پشتیبان گیری /etc/apache2/httpd2.conf
cp /etc/apache2/httpd2.conf /etc/apache2/httpd2.conf.bak
برای فعال و غیرفعال کردن ماژول ها /etc/apache2/httpd2.conf
، تغییرات زیر را ایجاد #
کنید.
Listen 443
...
LoadModule mpm_event_module /usr/local/lib/apache2/mod_mpm_event.so
#LoadModule mpm_prefork_module /usr/local/lib/apache2/mod_mpm_prefork.so
LoadModule proxy_module /usr/local/lib/apache2/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/lib/apache2/mod_proxy_fcgi.so
LoadModule ssl_module /usr/local/lib/apache2/mod_ssl.so
LoadModule rewrite_module /usr/local/lib/apache2/mod_rewrite.so
...
ServerAdmin [email protected]
ServerName 192.0.2.1:80
چندین تغییر دیگر در /etc/apache2/httpd2.conf
قسمت پایین پرونده رخ می دهد. حذف #
از شامل بیانیه نشان داد.
آخرین خطوط میزبانی مجازی را اضافه کنید.
# Server-pool management (MPM specific)
Include /etc/apache2/extra/httpd-mpm.conf
...
# Virtual Hosts
IncludeOptional /etc/apache2/sites/*.conf
/etc/apache2/sites
دایرکتوری ایجاد کنید .
mkdir /etc/apache2/sites
/etc/apache2/sites/example.conf
با اطلاعات زیر ایجاد کنید :
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
SSLEngine On
SSLCertificateFile "/etc/ssl/example.com.crt"
SSLCertificateKeyFile "/etc/ssl/private/example.com.key"
SSLCipherSuite HIGH:!aNULL
</VirtualHost>
با افزودن موارد زیر ماژول پروکسی Apache را پیکربندی کنید /etc/apache2/sites/example.conf
<IfModule proxy_module>
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>
پیکربندی را تست کنید ، سپس Apache را فعال کرده و شروع کنید.
apachectl configtest
rcctl enable apache2
rcctl start apache2
اطمینان حاصل کنید که Apache در حال گوش دادن به درگاه های 80 و 443 است.
netstat -ln -finet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.443 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
tcp 0 0 *.80 *.* LISTEN
tcp 0 0 127.0.0.1.3306 *.* LISTEN
tcp 0 0 127.0.0.1.9000 *.* LISTEN
در وب سایت خود جستجو کنید http://www.example.com
. جادوگر نصب PrestaShop راه اندازی می شود.
پس از اتمام نصب ، به لینک های جلو و اداری فروشگاه توجه داشته باشید و فهرست را حذف کنید /var/www/htdocs/prestashop/install
.
SSL را فعال کنید.
رمزعبور اداری خود را تغییر دهید.
از فروشگاه و بانک اطلاعاتی خود نسخه پشتیبان تهیه کنید:
cd /var/www/htdocs
doas tar cvfz /home/auser/prestashop.tar.gz prestashop/
doas mysqldump -u prestashop -p prestashop | gzip -4 > /home/auser/prestashop.sql.tar.gz
doas chown auser:auser /home/auser/prestashop*
با ایجاد مجدد doas.conf
پرونده ، دسترسی doas را برای حساب کاربری خود حذف کنید.
echo 'permit keepenv :wheel' > /etc/doas.conf
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد