Η Monica είναι ένα σύστημα διαχείρισης προσωπικών σχέσεων ανοιχτού κώδικα. Σκεφτείτε το ως ένα CRM (ένα δημοφιλές εργαλείο που χρησιμοποιείται από τις ομάδες πωλήσεων στον εταιρικό κόσμο) για τους φίλους ή την οικογένειά σας. Ο πηγαίος του κώδικας φιλοξενείται δημόσια στο GitHub . Σε αυτόν τον οδηγό, θα εξετάσουμε τη διαδικασία εγκατάστασης μιας εφαρμογής Monica.
Απαιτήσεις
- Git
- NPM (Node Package Manager)
- PHP 7.1 ή νεότερη έκδοση
- MariaDB
- Nginx
- Συνθέτης
Ελέγξτε την έκδοση Fedora.
cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)
Δημιουργήστε ένα νέο μη-root λογαριασμό χρήστη με sudoπρόσβαση και να μεταβείτε σε αυτό.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
ΣΗΜΕΙΩΣΗ : Αντικαταστήστε το johndoeμε το όνομα χρήστη σας .
Ρυθμίστε τη ζώνη ώρας.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Βεβαιωθείτε ότι το σύστημά σας είναι ενημερωμένο.
sudo dnf check-upgrade || sudo dnf upgrade -y
Εγκαταστήστε τα απαιτούμενα πακέτα.
sudo dnf install -y git vim wget curl gcc-c++ make libpng12 libpng12-devel
Για απλότητα, απενεργοποιήστε το SELinux και το Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Εγκαταστήστε την PHP
Εγκαταστήστε την PHP και τις απαιτούμενες επεκτάσεις PHP.
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-xml php-mysqlnd php-curl php-zip php-intl php-json
Ελέγξτε την έκδοση.
php --version
# PHP 7.2.7 (cli) (built: Jun 19 2018 14:40:10) ( NTS )
Εκκινήστε και ενεργοποιήστε το PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Εγκαταστήστε το MariaDB και ρυθμίστε τη βάση δεδομένων
Εγκαταστήστε το διακομιστή βάσης δεδομένων MariaDB.
sudo dnf install -y mariadb-server
Ελέγξτε την έκδοση.
mysql --version
# mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1
Ξεκινήστε και ενεργοποιήστε το MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Εκτελέστε το mysql_secure_installationσενάριο για να βελτιώσετε την ασφάλεια της εγκατάστασης του MariaDB.
sudo mysql_secure_installation
Συνδεθείτε στο MariaDB ως χρήστης root.
mysql -u root -p
# Enter password:
Δημιουργήστε μια νέα βάση δεδομένων και χρήστη της MariaDB και θυμηθείτε τα διαπιστευτήρια.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT
Εγκαταστήστε το Nginx.
sudo dnf install -y nginx
Ελέγξτε την έκδοση.
sudo nginx -v
# nginx version: nginx/1.12.1
Ξεκινήστε και ενεργοποιήστε το Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Εκτελέστε sudo vim /etc/nginx/conf.d/monica.confκαι ρυθμίστε το Nginx για τη Monica.
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/monica/public/;
index index.php;
charset utf-8;
location ^~ /storage {
deny all;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~* \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}
Αποθηκεύστε το αρχείο και βγείτε.
Δοκιμάστε τη διαμόρφωση.
sudo nginx -t
Επαναφόρτωση Nginx.
sudo systemctl reload nginx.service
Εγκαταστήστε το Node.js και το NPM
Εγκαταστήστε το Node.js.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo dnf -y install nodejs
Ελέγξτε τις εκδόσεις Node.js και NPM.
node -v && npm -v
# v8.11.3
# 5.6.0
Εγκαταστήστε το Composer
Εγκαταστήστε το Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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.8.0 2018-05-04 11:44:59
Δημιουργήστε έναν κενό ριζικό φάκελο εγγράφων όπου θα εγκατασταθεί η Monica.
sudo mkdir -p /var/www/monica
Μεταβείτε στον ριζικό φάκελο του εγγράφου.
cd /var/www/monica
Αλλαγή ιδιοκτησίας /var/www/monicaφακέλου σε χρήστη johndoe.
sudo chown -R johndoe:johndoe /var/www/monica
Κλωνοποιήστε το αποθετήριο Monica σε αυτό.
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.11.1
ΣΗΜΕΙΩΣΗ: Βρείτε την πιο πρόσφατη επίσημη έκδοση στη σελίδα εκδόσεων στο GitHub και ενημερώστε τον παραπάνω αριθμό έκδοσης στην πιο πρόσφατη έκδοση.
Δημιουργήστε το δικό σας αρχείο που περιέχει τις μεταβλητές περιβάλλοντος που απαιτούνται από τη Monica.
cp .env.example .env
Ενημερώστε το .envαρχείο στις συγκεκριμένες ανάγκες σας.
sudo vim .env
Σημείωση: Μην ξεχάσετε να ορίσετε DB_USERNAMEκαι DB_PASSWORDμε τις ρυθμίσεις που χρησιμοποιήθηκαν προηγουμένως.
Εγκαταστήστε όλα τα πακέτα.
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
Εγκαταστήστε όλες τις εξαρτήσεις και τα εργαλεία διεπαφής που απαιτούνται για τη μεταγλώττιση στοιχείων.
npm install
Μεταγλώττιση των στοιχείων JS και CSS.
npm run production
Δημιουργήστε ένα κλειδί εφαρμογής. Αυτό θα ορίσει αυτόματα τη σωστή τιμή APP_KEYστο .envαρχείο.
php artisan key:generate
Εκτελέστε τις μετεγκαταστάσεις και δημιουργήστε τη βάση δεδομένων και τους φακέλους συμβολικών συνδέσμων.
php artisan setup:production
Αλλάξτε την ιδιοκτησία του /var/www/monicaκαταλόγου σε nginx.
sudo chown -R nginx:nginx /var/www/monica
Εκτελέστε sudo vim /etc/php-fpm.d/www.confκαι ορίστε χρήστη και ομάδα σε nginx. Αρχικά, θα οριστεί σε χρήστη και ομάδα apache.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Επανεκκίνηση php-fpm.service.
sudo systemctl restart php-fpm.service
Η εγκατάσταση ολοκληρώθηκε. Ανοίξτε τον τομέα σας στο πρόγραμμα περιήγησής σας και ακολουθήστε τις οδηγίες που εμφανίζονται στην οθόνη.