Απαιτήσεις
Πριν ξεκινήσεις
Εγκαταστήστε την PHP
Εγκαταστήστε το MariaDB και ρυθμίστε τη βάση δεδομένων
Εγκαταστήστε και ρυθμίστε το Nginx
Εγκαταστήστε το Node.js και το NPM
Εγκαταστήστε το Composer
Εγκαταστήστε και διαμορφώστε τη Monica
Η Monica είναι ένα σύστημα διαχείρισης προσωπικών σχέσεων ανοιχτού κώδικα. Σκεφτείτε το ως ένα CRM (ένα δημοφιλές εργαλείο που χρησιμοποιείται από τις ομάδες πωλήσεων στον εταιρικό κόσμο) για τους φίλους ή την οικογένειά σας. Ο πηγαίος του κώδικας φιλοξενείται δημόσια στο GitHub . Σε αυτόν τον οδηγό, θα εξετάσουμε τη διαδικασία εγκατάστασης μιας εφαρμογής Monica.
Απαιτήσεις
- Git
- NPM (Node Package Manager)
- PHP 7.1 ή νεότερη έκδοση
- MariaDB
- Nginx
- Συνθέτης
Πριν ξεκινήσεις
Ελέγξτε την έκδοση CentOS.
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Δημιουργήστε ένα νέο μη-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 yum update -y
Εγκαταστήστε τα απαιτούμενα πακέτα.
sudo yum install -y git vim wget curl gcc-c++ make libpng-devel
Για απλότητα, απενεργοποιήστε το SELinux και το Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Εγκαταστήστε την PHP
Ρυθμίστε το αποθετήριο Webtatic YUM.
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Εγκαταστήστε την PHP και τις απαιτούμενες επεκτάσεις PHP.
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xml php72w-mysql php72w-curl php72w-zip php72w-intl
Ελέγξτε την έκδοση.
php --version
# PHP 7.2.6 (cli) (built: Jun 2 2018 07:49:42) ( NTS )
Εκκινήστε και ενεργοποιήστε το PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Εγκαταστήστε το MariaDB και ρυθμίστε τη βάση δεδομένων
Δημιουργήστε το αρχείο repo για το MariaDB.
sudo vi /etc/yum.repos.d/MariaDB.repo
Συμπληρώστε το αρχείο με τα ακόλουθα.
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Εγκαταστήστε το MariaDB.
sudo yum install -y MariaDB-server MariaDB-client
Ελέγξτε την έκδοση MariaDB.
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 vim /etc/yum.repos.d/nginx_mainline.repo
Συμπληρώστε το με τα ακόλουθα περιεχόμενα.
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
Δημιουργήστε το κλειδί υπογραφής Nginx.
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
Εγκαταστήστε το Nginx.
sudo yum install -y nginx
Ελέγξτε την έκδοση.
sudo nginx -v
# nginx version: nginx/1.15.0
Ξεκινήστε και ενεργοποιήστε το 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 127.0.0.1:9000;
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_10.x | sudo bash -
sudo yum -y install nodejs
Ελέγξτε τις εκδόσεις Node.js και npm.
node -v && npm -v
# v10.5.0
# 6.1.0
Εγκαταστήστε το Composer
Εγκαταστήστε το Composer.
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
Δημιουργήστε έναν κενό ριζικό φάκελο εγγράφων όπου θα πρέπει να εγκατασταθεί η 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.3.1
ΣΗΜΕΙΩΣΗ: Βρείτε την πιο πρόσφατη επίσημη έκδοση στη σελίδα εκδόσεων στο GitHub και ενημερώστε τον παραπάνω αριθμό έκδοσης στην πιο πρόσφατη έκδοση.
Εκτελέστε τα παρακάτω για να δημιουργήσετε τη δική σας έκδοση των μεταβλητών περιβάλλοντος που απαιτούνται για το έργο.
cp .env.example .env
Ενημερώστε το .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αυτόματα στη σωστή τιμή.
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
Η εγκατάσταση ολοκληρώθηκε. Ανοίξτε τον τομέα σας στο πρόγραμμα περιήγησής σας και ακολουθήστε τις οδηγίες που εμφανίζονται στην οθόνη.