मोनिका एक ओपन सोर्स पर्सनल रिलेशनशिप मैनेजमेंट सिस्टम है। अपने मित्रों या परिवार के लिए इसे CRM (कॉर्पोरेट जगत में बिक्री टीमों द्वारा उपयोग किया जाने वाला एक लोकप्रिय उपकरण) के रूप में सोचें। इसका स्रोत कोड सार्वजनिक रूप से GitHub पर होस्ट किया गया है । इस गाइड में, हम एक मोनिका एप्लिकेशन की इंस्टॉलेशन प्रक्रिया पर जाएंगे।
आवश्यकताएँ
	- उबंटू सर्वर 18.04 एलटीएस (बायोनिक बीवर)
- Git
- एनपीएम (नोड पैकेज मैनेजर)
- PHP 7.1+ या नया
- माई एसक्यूएल
- nginx
- संगीतकार
Git के बारे में ध्यान दें : Git की संभावना सबसे पहले Ubuntu सर्वर पर स्थापित होगी। यदि ऐसा नहीं है, तो आप इसे चलाकर आसानी से स्थापित कर सकते हैं:sudo apt install -y git
Ubuntu संस्करण की जाँच करें।
lsb_release -ds
# Ubuntu 18.04 LTS
एक्सेस और स्विच के non-rootसाथ एक नया उपयोगकर्ता खाता बनाएं sudo।
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
नोट : अपने उपयोगकर्ता नाम के साथ बदलेंjohndoe ।
टाइमजोन सेट करें।
sudo dpkg-reconfigure tzdata
सुनिश्चित करें कि आपका सिस्टम पुराना है।
sudo apt update && sudo apt upgrade -y
स्थापित करें build-essentialऔर libpng-dev।
sudo apt install -y build-essential libpng-dev
PHP स्थापित करें
PHP 7.2 और आवश्यक PHP एक्सटेंशन स्थापित करें।
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-xml php7.2-mysql php7.2-curl php7.2-zip php7.2-intl
संस्करण की जाँच करें।
php --version
# PHP 7.2.5-0ubuntu0.18.04.1 (cli) (built: May  9 2018 17:21:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.5-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
MySQL स्थापित करें और एक डेटाबेस सेटअप करें
MySQL स्थापित करें।
sudo apt install -y mysql-server
संस्करण की जाँच करें।
mysql --version
# mysql  Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using  EditLine wrapper
mysql_secure installationMySQL सुरक्षा को बेहतर बनाने के लिए स्क्रिप्ट चलाएँ और MySQL rootउपयोगकर्ता के लिए पासवर्ड सेट करें।
sudo mysql_secure_installation
रूट उपयोगकर्ता के रूप में MySQL शेल से कनेक्ट करें।
sudo mysql -u root -p
# Enter password
मोनिका के लिए एक खाली MySQL डेटाबेस और उपयोगकर्ता बनाएं, और क्रेडेंशियल्स याद रखें।
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Nginx स्थापित करें।
sudo apt install -y nginx
संस्करण की जाँच करें।
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
sudo vim /etc/nginx/sites-available/monica.confमोनिका के लिए Nginx चलाएं और कॉन्फ़िगर करें।
server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    root /var/www/monica/public;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }
}
फ़ाइल सहेजें और बाहर निकलें।
monica.confफ़ाइल को sites-enabledनिर्देशिका से लिंक करके नए कॉन्फ़िगरेशन को सक्रिय करें ।
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
कॉन्फ़िगरेशन का परीक्षण करें।
sudo nginx -t
रीलोडेड नेग्नेक्स।
sudo systemctl reload nginx.service
Node.js और NPM स्थापित करें
Node.js. स्थापित करें
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Node.js और npm संस्करणों की जाँच करें।
node -v && npm -v
# v10.2.1
# 5.6.0
संगीतकार स्थापित करें
संगीतकार स्थापित करें।
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
संस्करण की जाँच करें।
composer --version
# Composer version 1.6.5 2018-05-04 11:44:59
एक खाली दस्तावेज़ रूट फ़ोल्डर बनाएँ जहाँ मोनिका को स्थापित किया जाना चाहिए।
sudo mkdir -p /var/www/monica
दस्तावेज़ रूट फ़ोल्डर में नेविगेट करें।
cd /var/www/monica
/var/www/monicaउपयोगकर्ता के लिए फ़ोल्डर का स्वामित्व बदलें johndoe।
sudo chown -R johndoe:johndoe /var/www/monica
मोनिका भंडार को इसके लिए क्लोन करें।
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.1.1
नोट : GitHub पर रिलीज़ पृष्ठ पर नवीनतम आधिकारिक संस्करण ढूंढें और नवीनतम रिलीज़ के ऊपर संस्करण संख्या को अपडेट करें।
प्रोजेक्ट के लिए आवश्यक परिवेश चर का अपना संस्करण बनाने के लिए निम्नलिखित चलाएँ।
cp .env.example .env
.envफ़ाइल को अपनी विशिष्ट आवश्यकताओं के लिए अपडेट करें । पहले से उपयोग की गई सेटिंग के साथ DB_USERNAMEऔर सेट करना न भूलें DB_PASSWORD।
सभी पैकेज स्थापित करें।
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
संपत्ति संकलित करने के लिए आवश्यक सभी फ्रंट-एंड निर्भरता और उपकरण स्थापित करें।
npm install yarn
npm install
JS और CSS संपत्तियों को संकलित करें।
npm run production
एक एप्लिकेशन कुंजी उत्पन्न करें। यह APP_KEYस्वचालित रूप से सही मान पर सेट होगा ।
php artisan key:generate
माइग्रेशन चलाएं और डेटाबेस और सिमिलिंक फ़ोल्डर्स को सीड करें।
php artisan setup:production
/var/www/monicaनिर्देशिका का स्वामित्व बदलें www-data।
sudo chown -R www-data:www-data /var/www/monica
संभव मुद्दा: एनपीएम पैकेज vue-directive-tooltipमें निर्देशिका संरचना बदल गई है, लेकिन monicahqइसे अभी तक नहीं बदला गया है (09/2019 तक)। इसे ठीक करने के लिए, निम्न पंक्ति को निम्न /var/www/monica/resources/assets/js/app.jsसे बदलना होगा:
import 'vue-directive-tooltip/css/index.css'
to
import 'vue-directive-tooltip/src/css/index.css'
यह प्रतिष्ठापन पूरा हुआ। अपने वेब ब्राउज़र में अपना डोमेन खोलें और स्क्रीन पर दिखाए गए निर्देशों का पालन करें।