Monica adalah aplikasi web Personal Relationship Management (PRM) sumber terbuka yang dirancang untuk mengatur interaksi dengan orang yang Anda cintai. Anggap saja sebagai CRM (alat populer yang digunakan oleh tim penjualan di dunia korporat) untuk teman atau keluarga Anda. Monica memungkinkan orang untuk melacak segala sesuatu yang penting tentang teman dan keluarga mereka. Seperti kegiatan yang dilakukan bersama mereka. Saat terakhir kali Anda menelepon seseorang. Apa yang Anda bicarakan. Ini akan membantu Anda mengingat nama dan usia anak-anak. Itu juga dapat mengingatkan Anda untuk menelepon seseorang yang sudah lama tidak Anda ajak bicara. Tutorial ini akan membahas instalasi Monica di CentOS 8.
Fitur
- Menambahkan dan mengelola kontak
- Menentukan hubungan antar kontak
- Pengingat
- Pengingat otomatis untuk ulang tahun
- Tetap berhubungan dengan kontak dengan mengirimkan pengingat pada interval tertentu
- Manajemen utang
- Kemampuan untuk menambahkan catatan ke kontak
- Kemampuan untuk menunjukkan bagaimana Anda bertemu seseorang
- Pengelolaan aktivitas yang dilakukan dengan kontak
- Pengelolaan tugas
- Pengelolaan hadiah
- Pengelolaan alamat dan semua cara berbeda untuk menghubungi seseorang
- Pengelolaan jenis bidang kontak
- Pengelolaan kontak hewan peliharaan
- Jurnal dasar
- Kemampuan untuk menunjukkan bagaimana hari itu berjalan
- Unggah dokumen dan foto
- Ekspor dan impor data
- Ekspor kontak sebagai vCard
- Kemampuan untuk menyetel jenis kelamin khusus
- Kemampuan untuk menentukan jenis aktivitas khusus
- Kemampuan untuk memfavoritkan kontak
- Melacak percakapan yang dilakukan di media sosial atau SMS
- Multi-pengguna
- Label untuk mengatur kontak
- Kemampuan untuk menentukan bagian apa yang akan muncul di lembar kontak
- Multi mata uang
- Multi-bahasa
- API yang mencakup sebagian besar data
Persyaratan
- CentOS 8
- Git
- NPM (Pengelola Paket Node)
- PHP versi 7.1 atau lebih baru
- MySQL
- Server HTTP dengan dukungan PHP (misalnya:Apache, Nginx, Caddy...)
- Komposer
- Opsional:Redis atau Pohon Kacang
Prasyarat
- Sistem operasi CentOS 8.
- Pengguna non-root dengan
sudo
hak istimewa.
Langkah awal
Periksa versi CentOS Anda:
cat /etc/centos-release
# CentOS Linux rilis 8.0.1905 (Core)
Siapkan zona waktu:
timedatectl daftar-zona waktu
sudo timedatectl set-zona waktu 'Wilayah/Kota'
Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru untuk paket perangkat lunak default sistem operasi Anda:
sudo yum update -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi CentOS:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release gcc-c++ make libpng-devel
Langkah 1 - Instal PHP
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo yum install -y php php-cli php-fpm php-common php-mbstring php-xml php-mysqlnd php-curl php-zip php-intl php-bcmath php-gd php-json php-gmpUntuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .Periksa versi PHP:
php --version
# PHP 7.2.11-1-(cli) (dibuat:26 Okt 2019 14:14:18) ( NTS )
# Hak Cipta (c) 1997-2018 Grup PHP
# Zend Engine v3.3.11, Hak Cipta (c) 1998-2018 Zend Technologies
# dengan Zend OPcache v7.3.11-1~deb10u1, Hak Cipta (c) 1999-2018, oleh Zend TechnologiesMulai dan aktifkan layanan PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl aktifkan php-fpm.serviceLangkah 2 - Instal klien acme.sh dan dapatkan sertifikat Let's Encrypt ( opsional )
Mengamankan situs Anda dengan HTTPS tidak diperlukan, tetapi merupakan praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat TLS dari Let's Encrypt kita akan menggunakan acme.sh client. Acme.sh adalah software shell UNIX sederhana untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.
Unduh dan instal acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -- email akun [dilindungi email]
sumber ~/.bashrc
cd ~Periksa versi acme.sh:
acme.sh --version
# v2.8.2Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/nama host Anda:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d contoh .com --keylength ec-256Jika Anda ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan
--staging
tandai perintah di atas.Setelah menjalankan perintah di atas, sertifikat Anda dan kunci akan di:
- Untuk RSA :
/home/username/example.com
direktori. - Untuk ECC/ECDSA :
/home/username/example.com_ecc
direktori.
Untuk membuat daftar sertifikat yang dikeluarkan, Anda dapat menjalankan:
acme.sh --list
Buat direktori untuk menyimpan sertifikat Anda. Kami akan menggunakan /etc/letsencrypt
direktori.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Instal/salin sertifikat ke direktori /etc/letsencrypt.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example .com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "Sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh - -install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain- file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
Semua sertifikat akan diperpanjang secara otomatis setiap 60 hari.
Setelah mendapatkan sertifikat keluar dari pengguna root dan kembali ke pengguna Sudo biasa:
keluar
Langkah 3 - Instal MariaDB dan buat database untuk Monica
Instal server database MariaDB:
sudo yum install -y mariadb-server
Periksa versi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.17-MariaDB, untuk debian-linux-gnu (x86_64) menggunakan readline 5.2
Mulai dan aktifkan layanan MariaDB:
sudo systemctl start mariadb.service
sudo systemctl aktifkan mariadb.service
Jalankan mysql_secure installation
skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root
pengguna:
sudo mysql_secure_installation
Jawab setiap pertanyaan:
Apakah Anda ingin menyiapkan plugin VALIDATE PASSWORD? T
Sandi baru:sandi_aman_anda
Masukkan kembali sandi baru: your_secure_password
Hapus pengguna anonim? [Y/n] Y
Larang login root dari jarak jauh? [Y/n] Y
Hapus database pengujian dan akses ke sana? [Y/n] Y
Muat ulang tabel hak istimewa sekarang? [Y/n] Y
Hubungkan ke Shell MariaDB sebagai pengguna root:
sudo mysql -u root -p
# Masukkan kata sandi
Buat database dan pengguna MariaDB kosong untuk Monica dan ingat kredensialnya:
mariadb> BUAT DATABASE dbname;
mariadb> BERIKAN SEMUA DI dbname.* UNTUK 'nama pengguna' DIIDENTIFIKASI DENGAN 'sandi';
mariadb> HAK ISTIMEWA;
Keluar dari MariaDB:
mariadb> keluar
Ganti dbname,
username
dan password
dengan nama Anda.
Langkah 4 - Instal dan konfigurasikan NGINX
Monica akan bekerja dengan baik dengan sebagian besar perangkat lunak server web utama dengan dukungan PHP, tetapi dalam panduan ini, kami akan menggunakan NGINX. Jangan ragu untuk menggunakan Apache jika Anda lebih menyukainya daripada NGINX.
Instal NGINX:
sudo yum install -y nginx
Periksa versi NGINX:
sudo nginx -v
# versi nginx:nginx/1.14.2
Jalankan sudo vim /etc/nginx/conf.d/monica.conf
perintahkan dan konfigurasikan NGINX untuk Monica.
server {
listen 80;
listen 443 ssl;
server_name example.com;
root /var/www/monica/public/;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
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;
}
}
Uji konfigurasi NGINX:
sudo nginx -t
Muat ulang NGINX:
sudo systemctl reload nginx.service
Langkah 5 - Instal Node.js dan npm
Instal Node.js:
curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs
Periksa versi Node.js dan npm:
node -v &&npm -v
# v12.13.1
# 6.12.1
Langkah 6 - Instal Komposer
Instal Komposer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer- setup.php') ==='a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Pemasang php terverifikasi'; } else { echo_" -setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Periksa versi Komposer:
komposer --versi
# Komposer versi 1.9.1 01-11-2019 17:20:17
Langkah 7 - Instal dan konfigurasikan Monica
Buat folder root dokumen kosong tempat Monica harus diinstal:
sudo mkdir -p /var/www/monica
Arahkan ke folder root dokumen:
cd /var/www/monica
Ubah kepemilikan /var/www/monica
folder ke pengguna johndoe:
Jangan lupa untuk mengganti "johndoe" dengan nama pengguna Anda.
sudo chown -R johndoe:johndoe /var/www/monica
Mengkloning repositori Monica ke sana:
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2
CATATAN:Periksa versi Monica yang ditandai karena cabang master mungkin tidak selalu stabil. Temukan versi resmi terbaru di halaman rilis di Github dan perbarui ke nomor versi di atas ke rilis terbaru.
Untuk membuat versi Anda dari semua variabel lingkungan yang diperlukan agar proyek dapat berjalan:
cp .env.example .env
Perbarui .env
untuk kebutuhan spesifik Anda. Jangan lupa untuk mengatur DB_USERNAME
dan DB_PASSWORD
dengan pengaturan yang digunakan di belakang. Anda harus mengonfigurasi server email agar pendaftaran dan pengingat berfungsi dengan benar.
Jalankan composer install --no-interaction --no-suggest --no-dev
untuk menginstal semua paket.
Jalankan php artisan key:generate
untuk menghasilkan kunci aplikasi. Ini akan mengatur APP_KEY
dengan nilai yang tepat secara otomatis.
Jalankan php artisan setup:production -v
untuk menjalankan migrasi, seed database dan folder symlink.
Tetapkan kepemilikan dan izin yang sesuai:
sudo chown -R nginx:nginx /var/www/monica
sudo chmod -R 775 /var/www/monica/storage
Jalankan sudo vim /etc/php-fpm.d/www.conf
dan atur pengguna dan grup ke nginx
. Awalnya, itu akan disetel ke pengguna dan grup apache
.
sudo vim /etc/php-fpm.d/www.conf
Mulai ulang php-fpm.service:
sudo systemctl restart php-fpm.service
Langkah 8 - Selesaikan instalasi Monica
Sekarang, buka browser web Anda dan ketik URL http://example.com. Anda akan diarahkan ke halaman berikut:
Berikan alamat email, nama, dan kata sandi Anda. Kemudian, klik tombol Daftar. Anda akan melihat dasbor Monica di halaman berikut:
Tautan
- https://www.monicahq.com/
- https://github.com/monicahq/monica