התקנת OpenCart ותצורה: שרת, אבטחה, אופטימיזציה

התקנת OpenCart סטנדרטית משאירה לעיתים קרובות חולשות אבטחה ובעיות ביצועים שעלולות לגרום לקריסות פתאומיות או להאטות. אנו מגדירים את OpenCart במתכונת turnkey: מהגדרת השרת ו-PHP ועד להעברת אחסון וחיזוק אבטחה. הצוות שלנו מטפל בכל תהליך העבודה, כך שתקבלו חנות מקוונת יציבה ומהירה עם תמיכה מתמשכת.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
התקנת OpenCart ותצורה: שרת, אבטחה, אופטימיזציה
פשוט
מ- 4 שעות עד 2 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1502
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1307
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1050
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

התקנה והגדרה של OpenCart חדש מסתיימות לעתים קרובות בשגיאת 500 או חושפות את תיקיית האחסון מהדפדפן. אלה תוצאות אופייניות של הגדרה סטנדרטית, אותן אנו מתקנים בתוך השעה הראשונה של העבודה.

לאחרונה, לקוח פנה אלינו עם חנות OpenCart שרצה על MySQL 5.6 ו-PHP 7.4. לאחר שדרוג ל-OpenCart 4, החנות המשיכה לקרוס עם שגיאת 500. זיהינו תוספים לא תואמים ו-opcache חסר. לאחר הגדרת PHP 8.2 עם opcache ומעבר ל-MariaDB 10.6, החנות רצה מהר פי שניים. הלקוח חסך כ-2,000 דולר בהפסדי הכנסה מהשבתה ונמנע מתיקון חירום בעלות 500 דולר.

OpenCart היא אחת ממערכות ה-CMS הפופולריות ביותר למסחר אלקטרוני, אך ההתקנה המוגדרת כברירת מחדל משאירה פרצות אבטחה ובעיות ביצועים. במאמר זה, אסביר כיצד לבצע התקנת OpenCart נכונה והגדרת שרת כדי להפוך את פלטפורמת המסחר האלקטרוני שלכם למהירה ומאובטחת. לצוות שלנו יש 10 שנות ניסיון עם OpenCart: עזרנו להשיק מעל 50 חנויות מקוונות על CMS זה. OpenCart 4 מהירה פי 2 מ-Magento 2 ב-TTFB וצורכת חצי מהזיכרון. לקוחות שמזמינים התקנה סוהר חוסכים עד 40% מזמן ההשקה ונמנעים מטעויות נפוצות של מתחילים.

דרישות שרת

OpenCart 4.x דורשת:

רכיב מינימום מומלץ
PHP 8.0 8.2+
MySQL 5.7 8.0
MariaDB - 10.6+
שרת אינטרנט Apache / nginx nginx
תוספי PHP curl, zip, zlib, gd, mysqli, mbstring + opcache, redis
זיכרון PHP 128 MB 256 MB+

התיעוד הרשמי של OpenCart ממליץ על פרמטרים אלה.

מקור: מסמכים רשמיים של OpenCart

כיצד להגדיר PHP עבור OpenCart?

קובץ php.ini או הוראה ב-nginx.conf:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 10000
date.timezone = Europe/Minsk
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 60

memory_limit = 256M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300 max_input_vars = 10000 date.timezone = Europe/Minsk opcache.enable = 1 opcache.memory_consumption = 256 opcache.max_accelerated_files = 20000 opcache.revalidate_freq = 60 הוא חובה עבור טפסים גדולים (הגדרת אפשרויות מוצר).

הגדרת nginx

לחצו להגדרת nginx מפורטת עם הסבר
server {
    listen 443 ssl http2;
    server_name myshop.by www.myshop.by;
    root /var/www/myshop/public_html;
    index index.php;
    ssl_certificate /etc/letsencrypt/live/myshop.by/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/myshop.by/privkey.pem;
    location / {
        try_files $uri $uri/ @opencart;
    }
    location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
    location ~ ^/(system|admin/config\.php|config\.php) {
        deny all;
    }
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 300;
    }
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }
}
server {
    listen 80;
    server_name myshop.by www.myshop.by;
    return 301 https://myshop.by$request_uri;
}

הגדרה זו אוכפת HTTPS, חוסמת גישה לנתיבים רגישים, ומגדירה מטמון אגרסיבי לנכסים סטטיים.

כיצד להעביר את האחסון מחוץ לשורש האינטרנט?

העברת האחסון מחוץ לשורש האינטרנט מבטלת את האפשרות לגישה ישירה לקבצי יומן ומטמון דרך כתובת URL. אנו ממליצים להעביר את התיקייה מיד לאחר ההתקנה.

הורידו ופרקו את ההפצה, העתיקו קבצים לתיקייה הציבורית. צרו מסד נתונים ומשתמש. לאחר מכן העבירו את תיקיית האחסון מחוץ לשורש האינטרנט.

cd /var/www/myshop
wget https://github.com/opencart/opencart/releases/download/4.0.2.3/opencart-4.0.2.3.zip
unzip opencart-4.0.2.3.zip
cp -r upload/* public_html/
cd public_html
cp config-dist.php config.php
cp admin/config-dist.php admin/config.php
chmod 775 system/storage/cache/ system/storage/logs/ system/storage/download/ system/storage/upload/ image/ image/cache/
chmod 664 config.php admin/config.php
chown -R www-data:www-data /var/www/myshop/public_html/
# Создание БД
mysql -e "CREATE DATABASE opencart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -e "CREATE USER 'opencart_user'@'localhost' IDENTIFIED BY 'strong_password';"
mysql -e "GRANT ALL PRIVILEGES ON opencart.* TO 'opencart_user'@'localhost'; FLUSH PRIVILEGES;"
# Перенос storage
mv public_html/system/storage/ /var/www/myshop/storage/

ב-max_input_vars = 10000 וב-server { listen 443 ssl http2; server_name myshop.by www.myshop.by; root /var/www/myshop/public_html; index index.php; ssl_certificate /etc/letsencrypt/live/myshop.by/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myshop.by/privkey.pem; location / { try_files $uri $uri/ @opencart; } location @opencart { rewrite ^/(.+)$ /index.php?_route_=$1 last; } location ~ ^/(system|admin/config\.php|config\.php) { deny all; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 300; } location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ { expires 30d; add_header Cache-Control "public, no-transform"; } } server { listen 80; server_name myshop.by www.myshop.by; return 301 https://myshop.by$request_uri; } :

define('DIR_STORAGE', '/var/www/myshop/storage/'); 

מדוע חשוב להגדיר הרשאות?

לאחר ההתקנה, מחקו את תיקיית ההתקנה: cd /var/www/myshop wget https://github.com/opencart/opencart/releases/download/4.0.2.3/opencart-4.0.2.3.zip unzip opencart-4.0.2.3.zip cp -r upload/* public_html/ cd public_html cp config-dist.php config.php cp admin/config-dist.php admin/config.php chmod 775 system/storage/cache/ system/storage/logs/ system/storage/download/ system/storage/upload/ image/ image/cache/ chmod 664 config.php admin/config.php chown -R www-data:www-data /var/www/myshop/public_html/ # Создание БД mysql -e "CREATE DATABASE opencart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" mysql -e "CREATE USER 'opencart_user'@'localhost' IDENTIFIED BY 'strong_password';" mysql -e "GRANT ALL PRIVILEGES ON opencart.* TO 'opencart_user'@'localhost'; FLUSH PRIVILEGES;" # Перенос storage mv public_html/system/storage/ /var/www/myshop/storage/ . הרשאות שגויות הן גורם נפוץ לשגיאות 500. ודאו של-config.php ול-admin/config.php יש 664, ולתיקיות הניתנות לכתיבה יש 775. הרשאות 664 על config.php מונעות שינויי הגדרות מקריים דרך האינטרנט.

כיצד לאבטח את ניהול OpenCart?

  • שנו את שם config.php לשם בלתי צפוי (לדוגמה, admin/config.php).
  • הגדירו אימות HTTP Basic על תיקיית הניהול.
  • עדכנו נתיבים ב-define('DIR_STORAGE', '/var/www/myshop/storage/'); .
  • הוסיפו בלוק nginx rm -rf public_html/install/.
  • התקינו תוסף אימות דו-שלבי.
  • הפעילו captcha בדף הכניסה.

כיצד אנו מתקינים OpenCart ביום אחד (דוגמה אמיתית)

אחד הפרויקטים האחרונים שלנו היה השקת חנות אלקטרוניקה מקוונת עם קטלוג של 5000 מוצרים. הלקוח סיפק שרת ייעודי עם nginx ו-MySQL. ביצענו:

  1. ביקורת שרת (גילינו גרסת MySQL מיושנת).
  2. הגדרת PHP 8.2 עם opcache ו-redis.
  3. התקנת OpenCart 4.0.2.3.
  4. העברת אחסון מחוץ לשורש האינטרנט.
  5. שינוי שם הניהול והגדרת אימות HTTP Basic.
  6. הגדרת SSL דרך Let's Encrypt.
  7. אופטימיזציית מהירות: gzip, מטמון, Redis.

התהליך כולו ארך יום אחד. לאחר ההשקה, החנות הציגה LCP של 1.5 שניות, ועמדה בדרישות Core Web Vitals. הלקוח חסך כ-3,000 דולר בעלויות פיתוח בהשוואה לשכירת מומחים נפרדים.

מה כלול

  • ביקורת שרת נוכחי (או סיוע בבחירת אחסון).
  • הגדרת PHP 8.2+ עם opcache ו-redis.
  • הגדרת Nginx עם תעודת SSL (Let's Encrypt).
  • התקנת OpenCart 4.x עם העברת מסד נתונים.
  • העברת אחסון מחוץ לשורש האינטרנט.
  • אמצעי אבטחה בסיסיים (שינוי שם ניהול, אימות HTTP Basic).
  • אופטימיזציית מהירות: gzip, מטמון, Redis.
  • מסירת תיעוד עם גישה והוראות.
  • שעת הדרכה מקוונת על עבודה עם לוח הניהול.
  • שבועיים של תמיכה לאחר ההשקה (ייעוץ בנושא תוכן).

העלות האופיינית להתקנה סוהר זו היא 500 דולר, וחוסכת לכם עד 200 דולר בהשוואה להגדרת רכיבים בנפרד.

השוואה בין OpenCart ל-Magento 2

פרמטר OpenCart 4 Magento 2
TTFB ~200 ms ~300 ms
צריכת זיכרון 128 MB 256 MB+
מורכבות תמיכה נמוכה גבוהה
עלות אחזקה נמוכה גבוהה

צרו קשר כדי לקבל ייעוץ על התקנת OpenCart סוהר. אנו מבטיחים פעולה יציבה של החנות שלכם לאחר ההגדרה. הזמינו התקנה — קבלו חנות מוכנה לתוכן תוך 1–2 ימים. העלות מחושבת באופן אישי לאחר ביקורת שרת.