एंड्रॉयड

Ubuntu 18.04 पर ड्रुपल कैसे स्थापित करें

DigitalOcean | How to Add Custom Domain & Host your Websites on Digital Ocean Droplet Tutorial

DigitalOcean | How to Add Custom Domain & Host your Websites on Digital Ocean Droplet Tutorial

विषयसूची:

Anonim

Drupal दुनिया भर में सबसे लोकप्रिय ओपन सोर्स CMS प्लेटफार्मों में से एक है। यह PHP में लिखा गया है और इसका उपयोग विभिन्न प्रकार की वेबसाइटों को बनाने के लिए किया जा सकता है, जिनमें छोटे व्यक्तिगत ब्लॉग से लेकर बड़े कॉर्पोरेट, राजनीतिक और सरकारी साइट शामिल हैं।

इस ट्यूटोरियल में, हम आपको बताएंगे कि Ubuntu 18.04 मशीन पर Drupal 8.6 कैसे स्थापित किया जाए। Drupal को स्थापित करने के कई तरीके हैं। इस ट्यूटोरियल में ड्रुपल-प्रोजेक्ट नामक ड्रुपल-प्रोजेक्ट्स के लिए एक ड्रॉपर टेम्पलेट का उपयोग करके Drupal 8.6 को स्थापित करने के लिए आवश्यक कदम शामिल हैं।

हम एक वेब सर्वर, नवीनतम PHP 7.2 और MySQL / MariaDB डेटाबेस सर्वर के रूप में Nginx का उपयोग करेंगे।

आवश्यक शर्तें

सुनिश्चित करें कि आप इस ट्यूटोरियल को जारी रखने से पहले निम्नलिखित आवश्यक शर्तें पूरी कर चुके हैं:

  • आपके पास अपने सार्वजनिक सर्वर आईपी की ओर इशारा करते हुए एक डोमेन नाम है। हम example.com का उपयोग करेंगे। आपके पास इन निर्देशों का पालन करके Nginx स्थापित है। आपके पास अपने डोमेन के लिए SSL प्रमाणपत्र स्थापित है। आप इन निर्देशों का पालन करके एक मुफ्त लेट्स एनक्रिप्ट एसएसएल प्रमाणपत्र स्थापित कर सकते हैं।

शुरू करने से पहले

नवीनतम संस्करणों के पैकेज इंडेक्स और सिस्टम पैकेज को अपडेट करें:

sudo apt update && sudo apt upgrade

1. एक MySQL डेटाबेस बनाएँ

sudo apt install mysql-server नए MySQL प्रतिष्ठानों के लिए, अपने SQL सर्वर की सुरक्षा को बेहतर बनाने के लिए mysql_secure_installation कमांड चलाने की सिफारिश की जाती है।

अब हमें MySQL शेल में लॉगिन करने और एक नया डेटाबेस और उपयोगकर्ता खाता बनाने और उपयोगकर्ता को उपयुक्त अनुदान अनुमतियाँ देने की आवश्यकता है।

MySQL शेल में लॉग इन करने के लिए निम्न कमांड टाइप करें और संकेत दिए जाने पर पासवर्ड डालें:

mysql -u root -p

drupal नाम का एक डेटाबेस बनाने के लिए, drupaluser नाम का उपयोगकर्ता और उपयोगकर्ता को आवश्यक अनुमति देने के लिए निम्नलिखित कमांड चलाएं:

CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';

2. PHP स्थापित करें

PHP 7.2 जो कि Ubuntu 18.04 में डिफ़ॉल्ट PHP संस्करण है, Drupal 8.6 के लिए पूरी तरह से समर्थित और अनुशंसित है। चूंकि हम Nginx का उपयोग एक वेब सर्वर के रूप में करेंगे, हम PHP-FPM भी स्थापित करेंगे।

सभी आवश्यक PHP मॉड्यूल स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

स्थापना प्रक्रिया पूरी होने के बाद PHP-FPM सेवा अपने आप शुरू हो जाएगी, आप सेवा की स्थिति को प्रिंट करके इसे सत्यापित कर सकते हैं:

systemctl status php7.2-fpm

आउटपुट को इंगित करना चाहिए कि fpm सेवा सक्रिय और चल रही है।

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www

3. कम्पोजर स्थापित करें

संगीतकार PHP के लिए एक निर्भरता प्रबंधक है और हम इसका उपयोग Drupal टेम्पलेट को डाउनलोड करने और सभी आवश्यक Drupal घटकों को स्थापित करने के लिए करेंगे।

संगीतकार को विश्व स्तर पर स्थापित करने के लिए संगीतकार इंस्टॉलर को कर्ल के साथ डाउनलोड करें और फ़ाइल को /usr/local/bin निर्देशिका में स्थानांतरित करें:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

कम्पोज़र संस्करण को प्रिंट करके इंस्टॉलेशन को सत्यापित करें:

composer --version

आउटपुट कुछ इस तरह दिखना चाहिए:

Composer version 1.6.5 2018-05-04 11:44:59

4. द्रुपाल को स्थापित करें

अब जब हमारे पास संगीतकार स्थापित है, तो हम /var/www/my_drupal टेम्पलेट /var/www/my_drupal निर्देशिका के अंदर संगीतकार टेम्पलेट का उपयोग करके एक नया Drupal प्रोजेक्ट आगे /var/www/my_drupal सकते हैं और बना सकते हैं:

sudo composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction

ऊपर दिया गया कमांड टेम्पलेट डाउनलोड करेगा, सभी आवश्यक php संकुल लाएगा और स्थापना के लिए हमारी परियोजना तैयार करने के लिए कुछ स्क्रिप्ट चलाएगा। इस प्रक्रिया में कुछ मिनट लग सकते हैं और यदि यह सफल होता है तो आउटपुट का अंत निम्न जैसा दिखना चाहिए:

Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777

अगला कदम Drush का उपयोग करके Drupal को स्थापित करना है। नीचे दिए गए आदेश में हम MySQL डेटाबेस और चरण 1 में बनाई गई उपयोगकर्ता जानकारी पास कर रहे हैं:

cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal

इंस्टॉलर आपको निम्न संदेश के साथ संकेत देगा, बस जारी रखने के लिए एंटर दबाएं।

You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):

एक बार इंस्टॉलेशन पूरा हो जाने के बाद स्क्रिप्ट प्रशासनिक उपयोगकर्ता नाम और पासवर्ड प्रिंट करेगी। आउटपुट कुछ इस तरह दिखना चाहिए:

Starting Drupal installation. This takes a while. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

अंत में, हमें सही अनुमतियाँ सेट करने की आवश्यकता है ताकि वेब सर्वर को साइट की फ़ाइलों और निर्देशिकाओं तक पूर्ण पहुंच मिल सके। Nginx और PHP दोनों www-data उपयोगकर्ता और www-data समूह के रूप में चल रहे हैं, इसलिए हमें निम्नलिखित कमांड जारी करने की आवश्यकता है:

sudo chown -R www-data: /var/www/my_drupal

5. Nginx कॉन्फ़िगर करें

अब तक, आपके पास पहले से ही अपने सिस्टम पर एसएसएल प्रमाण पत्र के साथ Nginx होना चाहिए, यदि इस ट्यूटोरियल के लिए आवश्यक शर्तें नहीं जांचें।

हमारे नए Drupal प्रोजेक्ट के लिए एक नया सर्वर ब्लॉक बनाने के लिए हम Nginx रेसिपी का उपयोग आधिकारिक Nginx साइट से करेंगे।

अपना टेक्स्ट संपादक खोलें और निम्न फ़ाइल बनाएं:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' /.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; # Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } } Example.com को अपने Drupal डोमेन के साथ बदलना न भूलें और SSL सर्टिफ़िकेट फ़ाइलों के लिए सही रास्ता सेट करें। सभी HTTP अनुरोधों को HTTPS पर पुनर्निर्देशित किया जाएगा। इस कॉन्फ़िगरेशन में उपयोग किए गए स्निपेट्स इस गाइड में बनाए गए हैं।

sites-enabled निर्देशिका के लिए एक प्रतीकात्मक लिंक बनाकर सर्वर ब्लॉक को सक्षम करें:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Nginx सेवा को पुनरारंभ करने से पहले यह सुनिश्चित करने के लिए एक परीक्षण करें कि कोई सिंटैक्स त्रुटियां न हों:

sudo nginx -t

यदि कोई त्रुटि नहीं है तो आउटपुट इस तरह दिखना चाहिए:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

अंत में, टाइप करके Nginx सेवा को पुनरारंभ करें:

sudo systemctl restart nginx

6. स्थापना का परीक्षण करें

अपना ब्राउज़र खोलें, अपना डोमेन लिखें और यह मानकर कि इंस्टालेशन सफल है, निम्न के समान स्क्रीन दिखाई देगी:

आप एक व्यवस्थापक के रूप में लॉग इन कर सकते हैं और अपनी नई Drupal स्थापना को अनुकूलित करना शुरू कर सकते हैं।

7. Drupal मॉड्यूल और थीम स्थापित करें

अब आपके पास अपनी Drupal परियोजना स्थापित हो गई है, आप कुछ मॉड्यूल और थीम स्थापित करना चाहते हैं। Drupal मॉड्यूल और थीम एक कस्टम कम्पोज़र रिपॉजिटरी पर होस्ट किए जाते हैं, जो ड्रुपल-प्रोजेक्ट हमारे लिए बॉक्स से बाहर कॉन्फ़िगर करता है।

मॉड्यूल या थीम को स्थापित करने के लिए, आपको केवल प्रोजेक्ट डायरेक्टरी में cd composer require drupal/module_or_theme_name और टाइप करने के लिए composer require drupal/module_or_theme_name । उदाहरण के लिए, यदि हम पाठाओ मॉड्यूल को स्थापित करना चाहते हैं, तो हमें निम्नलिखित कमांड चलाने की आवश्यकता है:

cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto sudo -u www-data prepending करके हम user www-data रूप में कमांड चला रहे हैं

Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles

जैसा कि आप संगीतकार से ऊपर आउटपुट से देख सकते हैं, हमारे लिए सभी पैकेज निर्भरता भी स्थापित करता है।

8. अद्यतन Drupal कोर

अपग्रेड करने से पहले अपनी फ़ाइलों और डेटाबेस का बैकअप लेना हमेशा एक अच्छा विचार है। आप या तो बैकअप और माइग्रेट मॉड्यूल का उपयोग कर सकते हैं या मैन्युअल रूप से अपने डेटाबेस और फ़ाइलों का बैकअप ले सकते हैं।

स्थापना फ़ाइलों का बैकअप लेने के लिए आप निम्नलिखित rsync कमांड का उपयोग कर सकते हैं, निश्चित रूप से, आपको इंस्टॉलेशन निर्देशिका के लिए सही पथ का उपयोग करना होगा:

sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)

डेटाबेस का बैकअप लेने के लिए हम या तो मानक mysqldump कमांड का उपयोग कर सकते हैं:

mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql

या drush sql-dump :

cd /var/www/my_drupal vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql

अब जब हमने एक बैकअप बनाया है तो हम निम्नलिखित कमांड को चलाकर सभी Drupal core फाइल्स को जारी और अपडेट कर सकते हैं:

sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

निष्कर्ष

बधाई हो, आपने संगीतकार का उपयोग करके ड्रुपल 8 को सफलतापूर्वक स्थापित किया है और सीखा है कि मॉड्यूल और थीम कैसे स्थापित करें। अब आप अपनी साइट को कस्टमाइज़ करना शुरू कर सकते हैं। Drupal 8 उपयोगकर्ता गाइड आपके Drupal स्थापना को प्रबंधित करने के तरीके के बारे में अधिक जानने के लिए एक अच्छी शुरुआत है। आपको Github पर Drupal Composer टेम्पलेट प्रोजेक्ट पर भी जाना चाहिए।

ubuntu ड्रुपल मायस्कल मरदब सेमी एनएमजीएक्स संगीतकार