Monica adalah sistem pengurusan hubungan peribadi sumber terbuka. Fikirkannya sebagai CRM (alat popular yang digunakan oleh pasukan jualan di dunia korporat) untuk rakan atau keluarga anda. Kod sumbernya dihoskan secara terbuka di GitHub . Dalam panduan ini, kami akan membahas proses pemasangan aplikasi Monica.
Keperluan
- Pelayan Ubuntu 18.04 LTS (Bionic Beaver)
- Git
- NPM (Pengurus Pakej Node)
- PHP 7.1+ atau lebih baru
- MySQL
- Nginx
- Komposer
Nota mengenai Git : Git kemungkinan besar akan dipasang pada pelayan Ubuntu. Sekiranya tidak, anda boleh dengan mudah memasangnya dengan berjalan:sudo apt install -y git
Semak versi Ubuntu.
lsb_release -ds
# Ubuntu 18.04 LTS
Buat non-rootakaun pengguna baru dengan sudoakses dan beralih kepadanya.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : Gantikan johndoedengan nama pengguna anda .
Sediakan zon waktu.
sudo dpkg-reconfigure tzdata
Pastikan sistem anda terkini.
sudo apt update && sudo apt upgrade -y
Pasang build-essentialdan libpng-dev.
sudo apt install -y build-essential libpng-dev
Pasang PHP
Pasang PHP 7.2 dan pelanjutan PHP yang diperlukan.
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
Semak versi.
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
Pasang MySQL dan sediakan pangkalan data
Pasang MySQL.
sudo apt install -y mysql-server
Semak versi.
mysql --version
# mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Jalankan mysql_secure installationskrip untuk meningkatkan keselamatan MySQL dan tetapkan kata laluan untuk rootpengguna MySQL .
sudo mysql_secure_installation
Sambungkan ke shell MySQL sebagai pengguna root.
sudo mysql -u root -p
# Enter password
Buat pangkalan data MySQL yang kosong dan pengguna untuk Monica, dan ingat kelayakan.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Pasang Nginx.
sudo apt install -y nginx
Semak versi.
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Jalankan sudo vim /etc/nginx/sites-available/monica.confdan atur Nginx untuk Monica.
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;
}
}
Simpan fail dan keluar.
Aktifkan monica.confkonfigurasi baru dengan menghubungkan fail ke sites-enableddirektori.
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
Uji konfigurasi.
sudo nginx -t
Muat semula Nginx.
sudo systemctl reload nginx.service
Pasang Node.js dan NPM
Pasang Node.js.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Periksa versi Node.js dan npm.
node -v && npm -v
# v10.2.1
# 5.6.0
Pasang Komposer
Pasang Komposer.
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
Semak versi.
composer --version
# Composer version 1.6.5 2018-05-04 11:44:59
Buat folder akar dokumen kosong di mana Monica perlu dipasang.
sudo mkdir -p /var/www/monica
Navigasi ke folder root dokumen.
cd /var/www/monica
Tukar pemilikan /var/www/monicafolder ke pengguna johndoe.
sudo chown -R johndoe:johndoe /var/www/monica
Klikan repositori Monica padanya.
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.1.1
NOTA : Dapatkan versi rasmi terkini pada halaman siaran di GitHub dan kemas kini nombor versi di atas untuk keluaran terkini.
Jalankan yang berikut untuk membuat versi pembolehubah persekitaran anda sendiri yang diperlukan untuk projek itu.
cp .env.example .env
Kemas kini .envfail mengikut keperluan khusus anda. Jangan lupa untuk menetapkan DB_USERNAMEdan DB_PASSWORDdengan tetapan yang digunakan sebelumnya.
Pasang semua pakej.
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
Pasang semua kebergantungan depan dan alat yang diperlukan untuk menyusun aset.
npm install yarn
npm install
Susun aset JS dan CSS.
npm run production
Hasilkan kunci aplikasi. Ini akan ditetapkan APP_KEYke nilai yang betul secara automatik.
php artisan key:generate
Jalankan migrasi dan benih pangkalan data dan folder symlink.
php artisan setup:production
Tukar pemilikan /var/www/monicadirektori ke www-data.
sudo chown -R www-data:www-data /var/www/monica
Isu yang mungkin: Pakej NPM vue-directive-tooltiptelah mempunyai struktur direktori itu berubah, tetapi monicahqkonfigurasi belum berubah lagi (sehingga 09/2019). Untuk membetulkannya, baris berikut /var/www/monica/resources/assets/js/app.jsperlu diubah daripada:
import 'vue-directive-tooltip/css/index.css'
to
import 'vue-directive-tooltip/src/css/index.css'
Pemasangan selesai. Buka domain anda di penyemak imbas web anda dan ikuti arahan yang ditunjukkan di skrin.