इस गाइड में, हम Magento एप्लिकेशन को एक वर्चुअल सर्वर पर इंस्टॉल करेंगे, ताकि हर बार एक ही काम न करना पड़े, हम असेंबली को एक वीपीएस सर्वर के रूप में लेंगे डेबियन 12 पर वेब स्टैक। यह असेंबली विशेष रूप से उन वेब अनुप्रयोगों को त्वरित रूप से तैनात करने के लिए बनाई गई है जिनके लिए PHP और mariadb की आवश्यकता होती है। आइए आधिकारिक वेबसाइट से नवीनतम संस्करण डाउनलोड करें और इसे ब्राउज़र के माध्यम से इंस्टॉल करें। सभी आवश्यक सेवाएँ पहले से ही स्थापित और कॉन्फ़िगर की गई हैं। आप पहले से स्थापित मैगेंटो के साथ एक वीपीएस सर्वर भी ऑर्डर कर सकते हैं। आपको बस प्रशासन के लिए अपना लॉगिन और पासवर्ड बदलना है। |
1. चलिए सर्वर तैयार करते हैं |
|
1.1 आवश्यक php मॉड्यूल स्थापित करें
apt install php-fpm php-cli php-mysql php-mbstring php-xml php-gd php-bcmath php-zip php-curl php-tidy php-intl php-soap php-xsl libsodium-dev libsodium23 libssl-dev libcurl4-openssl-dev
1.2 आइए एक डेटाबेस और उपयोगकर्ता बनाएं
mariadb -u root
CREATE DATABASE magento;
CREATE USER 'magentouser'@'localhost' IDENTIFIED BY 'Your_password2';
GRANT ALL PRIVILEGES ON magento.* TO 'magentouser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'Yourpassword32!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
1.3 कंपोज़र स्थापित करें
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --2.2
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
1.4 ElasticSearch डाउनलोड और इंस्टॉल करें
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-amd64.deb.sha512
shasum -a 512 -c elasticsearch-8.11.3-amd64.deb.sha512
dpkg -i elasticsearch-8.11.3-amd64.deb
1.4.1 सेटिंग्स के साथ एक फ़ाइल जोड़ें
nano /etc/elasticsearch/jvm.options.d/memory.options
-Xms512m
-Xmx784m
1.4.2 चलिए विकल्प बदलते हैं
nano /etc/elasticsearch/elasticsearch.yml
xpack.security.enabled: false
1.4.3 चलिए सेवा शुरू करते हैं
nano /etc/elasticsearch/elasticsearch.yml
systemctl enable elasticsearch --now
systemctl start elasticsearch.service
1.5 रेडिस को स्थापित और कॉन्फ़िगर करें
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
apt update
apt install redis
1.5.1 रेडिस सेवा के लिए एक पासवर्ड सेट करें
redis-cli
acl setuser default >Your_Redis_Password
> OK
AUTH Your_Redis_Password
> OK
1.6 आइए Magento को स्थापित करने के लिए सब कुछ तैयार करें
1.6.1 चाबियाँ प्राप्त करने के लिए साइट पर पंजीकरण करें
https://account.magento.com/
https://commercemarketplace.adobe.com/customer/accessKeys/
आइए निम्नलिखित सामग्री के साथ एक फ़ाइल बनाएं
nano ~/.config/composer/auth.json
{
"http-basic": {
"repo.magento.com": {
"username": "public_key",
"password": "private_key"
}
}
}
1.6.2 आइए एक निर्देशिका बनाएं
mkdir /var/www/domain.tld -p
1.6.3 आइए उस पर जाएं और इंस्टॉलेशन शुरू करें
cd /var/www/domain.tld
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition
पूरा होने पर, आपको प्रशासन पैनल पर पते के साथ एक संदेश प्राप्त होगा, हमें थोड़ी देर बाद इसकी आवश्यकता होगी
[SUCCESS]: Magento Admin URI: /admin_1tbbc0
1.6.4 सभी फ़ोल्डरों और फ़ाइलों को Domain.tld फ़ोल्डर के रूट पर ले जाएँ
cd /var/www/domain.tld/project-community-edition
mv /var/www/domain.tld/project-community-edition/* /var/www/domain.tld/
mv /var/www/domain.tld/project-community-edition/.* /var/www/domain.tld/
1.6.5 आइए nginx फ़ाइल में निर्देश बदलें
sed -i 's/php-fpm:9000/fastcgi_backend/g' /var/www/magento/nginx.conf.sample
1.6.6 कॉन्फ़िगरेशन फ़ाइल में लाइन बदलें
nano /var/www/magento/app/etc/di.xml
Default
^10\.[2-6]\.
Replace
^10\.([2-9]|10|11)\.
1.6.7 आइए मैगेंटो इंस्टॉल करें
cd /var/www/domain.tld
bin/magento setup:install --base-url=http://magento.example.com --use-secure=1 --base-url-secure=https://magento.example.com --use-secure-admin=1 --db-host=localhost --db-name=magento --db-user=magentouser --db-password=Your_password2 --admin-firstname=myuser --admin-lastname=Lastname --admin-email=myuser@example.com --admin-user=myuser --admin-password=admin_password0 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1 --elasticsearch-host=http://127.0.0.1 --elasticsearch-port=9200 --session-save=redis --session-save-redis-db=0 --session-save-redis-password=Your_Redis_Password --cache-backend=redis --cache-backend-redis-db=2 --cache-backend-redis-password=Your_Redis_Password --page-cache=redis --page-cache-redis-db=4 --page-cache-redis-password=Your_Redis_Password
एक बार इंस्टॉलेशन पूरा हो जाने पर, आपको एक संदेश प्राप्त होगा
.......
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1tbbc0
Nothing to import.
1.6.8 आइए क्रॉन सेट करें
php bin/magento cron:install
1.6.9 आइए अधिकार सौंपें
chown -R www-data:www-data /var/www/domain.tld
1.7 आइए php8.2-fpm सेटिंग्स बदलें
sed -i 's/max_execution_time = 30/max_execution_time = 180/' /etc/php/8.2/fpm/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 180/' /etc/php/8.2/cli/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php/8.2/fpm/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 25M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 25M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/zlib.output_compression = Off/zlib.output_compression = On/g' /etc/php/8.2/fpm/php.ini
systemctl restart php8.2-fpm
1.8 आइए मुख्य nginx कॉन्फ़िगरेशन फ़ाइल देखें:
nano /etc/nginx/conf.d/default.conf
upstream fastcgi_backend {
server unix:/run/php/php8.2-fpm.sock;
}
server {
# Redirect any http requests to https
listen 80;
listen [::]:80;
server_name magento.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name magento.example.com;
set $MAGE_ROOT /var/www/domain.tld;
include /var/www/domain.tld/nginx.conf.sample;
client_max_body_size 25m;
access_log /var/log/nginx/magento.access.log;
error_log /var/log/nginx/magento.error.log;
# TLS configuration
ssl_certificate /etc/ssl/domain_fullchain.pem;
ssl_certificate_key /etc/ssl/domain_privkey.pem;
ssl_trusted_certificate /etc/ssl/domain_chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
# ssl_dhparam /etc/ssl/certs/dhparam.pem;
}
आइए सेवा पुनः आरंभ करें:
systemctl restart nginx
हो गया, अब आप https://magento.example.com पर जा सकते हैं और एप्लिकेशन का परीक्षण कर सकते हैं:
आप कमांड के साथ प्रशासनिक अनुभाग का लिंक देख सकते हैं
php /var/www/magento/bin/magento info:adminuri
इंस्टॉलेशन पूरा हो गया है, नीचे हमने एप्लिकेशन कमांड का उपयोग करके लोकप्रिय समस्याओं का समाधान प्रदान किया है।
डिफ़ॉल्ट रूप से, प्रशासनिक अनुभाग के लिए ईमेल के माध्यम से दो-कारक प्रमाणीकरण सक्षम है; इसे अक्षम करने के लिए, निम्न आदेशों का उपयोग करें:
php /var/www/domain.tld/bin/magento module:disable Magento_AdminAdobeImsTwoFactorAuth
php /var/www/domain.tld/bin/magento module:disable Magento_TwoFactorAuth
php /var/www/domain.tld/bin/magento setup:di:compile
php /var/www/domain.tld/bin/magento c:c
कॉन्फ़िगर किए गए डोमेन को देखने के लिए, कमांड का उपयोग करें
bin/magento config:show web/secure/base_url
डोमेन बदलने के लिए
php bin/magento setup:store-config:set --base-url="http://new-domain.tld/"
या https के लिए
php bin/magento setup:store-config:set --base-url-secure="https://new-domain.tld/"
यदि शैलियाँ सही ढंग से प्रदर्शित नहीं होती हैं, तो इन आदेशों का उपयोग करें:
cd /var/www/domain.tld
$ php bin/magento setup:static-content:deploy -f
$ php bin/magento indexer:reindex