Monica er et open source system til styring af personlige relationer. Tænk på det som et CRM (et populært værktøj, der bruges af salgsteams i erhvervslivet) til dine venner eller familie. Dens kildekode er offentligt hostet på GitHub . I denne guide vil vi gennemgå installationsprocessen for en Monica-applikation.
Krav
	- FreeBSD 12 system
- Git
- PHP version 7.2 eller nyere med følgende PHP-udvidelser:
	
		- json
- ikonv
- intl
- opcache
- mbstring
- xml
- mysqli
- pdo_mysql
- bcmath
- krølle
- gmp
- lynlås
- gd
 
- MariaDB
- Nginx
- Komponist
Før du begynder
Tjek FreeBSD-versionen.
uname -ro # FreeBSD 12.0-RELEASE 
Sørg for, at dit FreeBSD-system er opdateret.
freebsd-update fetch install pkg update && pkg upgrade -y 
Installer de nødvendige pakker.
pkg install -y sudo vim unzip curl wget bash socat git libpng-dev 
Opret en ny brugerkonto med dit foretrukne brugernavn. Vi vil bruge johndoe.
adduser # Username: johndoe # Full name: John Doe # Uid (Leave empty for default): <Enter> # Login group [johndoe]: <Enter> # Login group is johndoe. Invite johndoe into other groups? []: wheel # Login class [default]: <Enter> # Shell (sh csh tcsh nologin) [sh]: bash # Home directory [/home/johndoe]: <Enter> # Home directory permissions (Leave empty for default): <Enter> # Use password-based authentication? [yes]: <Enter> # Use an empty password? (yes/no) [no]: <Enter> # Use a random password? (yes/no) [no]: <Enter> # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? [no]: <Enter> # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye! 
Kør visudokommandoen, og fjern kommentering af %wheel ALL=(ALL) ALLlinjen, for at tillade medlemmer af wheelgruppen at udføre enhver kommando.
visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL 
Skift nu til din nyoprettede bruger med su.
su - johndoe 
BEMÆRK:  Erstat johndoemed dit brugernavn.
Indstil tidszonen.
sudo tzsetup 
Installer PHP
Installer PHP, samt de nødvendige PHP-udvidelser.
sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-phar php72-soap php72-xmlrpc php72-opcache php72-mysqli php72-bcmath php72-gmp 
Tjek versionen.
php --version # PHP 7.2.19 (cli) (built: Jun 20 2019 01:25:01) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies 
Soft-link php.ini-productiontil php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini 
Aktiver og start PHP-FPM.
sudo sysrc php_fpm_enable=yes sudo service php-fpm start 
Installer MariaDB og opsæt en database
Installer MariaDB.
sudo pkg install -y mariadb102-client mariadb102-server 
Tjek versionen.
mysql --version # mysql Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1 
Start og aktiver MariaDB.
sudo sysrc mysql_enable="yes" sudo service mysql-server start 
Kør mysql_secure_installationscriptet for at forbedre sikkerheden for din installation.
sudo mysql_secure_installation 
Log ind på MariaDB som root-bruger.
mysql -u root -p # Enter password: 
Opret en ny database og bruger. Husk legitimationsoplysningerne for denne nye bruger.
CREATE DATABASE dbname; GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit; 
Installer og konfigurer Nginx
Installer Nginx.
sudo pkg install -y nginx 
Tjek versionen.
nginx -v # nginx version: nginx/1.14.2 
Aktiver og start Nginx.
sudo sysrc nginx_enable=yes sudo service nginx start 
Kør sudo vim /usr/local/etc/nginx/monica.confog opsæt Nginx for Monica.
server { listen 80; listen [::]:80; server_name example.com; root /usr/local/www/monica/public; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; } } 
Gem filen og afslut.
Nu skal vi inkludere monica.confi hovedfilen nginx.conf.
Kør sudo vim /usr/local/etc/nginx/nginx.confog tilføj følgende linje til http {}blokken.
include monica.conf; 
Test konfigurationen.
sudo nginx -t 
Genindlæs Nginx.
sudo service nginx reload 
Installer Composer
Installer Composer globalt.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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 
Tjek versionen.
composer --version # Composer version 1.8.6 2019-06-11 15:03:05 
Installer og konfigurer Monica
Opret en tom dokumentrodmappe, hvor Monica skal installeres.
sudo mkdir -p /usr/local/www/monica 
Naviger til dokumentets rodmapp.
cd /usr/local/www/monica 
Skift ejerskab af /usr/local/www/monicamappe til bruger johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/monica 
Klon Monica-depotet til det.
git clone https://github.com/monicahq/monica.git . git checkout tags/v2.14.0 
BEMÆRK:  Find den seneste officielle version på udgivelsessiden på GitHub og opdater versionsnummeret ovenfor til den seneste udgivelse.
Kør følgende for at oprette din egen version af de miljøvariabler, der er nødvendige for projektet.
cp .env.example .env 
Opdater .envfilen til dine specifikke behov. Glem ikke at indstille DB_USERNAMEog DB_PASSWORDmed de tidligere brugte indstillinger.
Installer alle pakkerne.
composer install --no-interaction --no-suggest --no-dev 
Generer en applikationsnøgle. Dette indstilles APP_KEYautomatisk til den korrekte værdi.
php artisan key:generate 
Kør migreringerne og seed databasen og symlink-mapperne.
php artisan setup:production -v 
Skift ejerskab af /usr/local/www/monicabiblioteket til www.
sudo chown -R www:www /usr/local/www/monica 
Installationen er fuldført. Åbn dit domæne i din webbrowser og følg instruktionerne vist på skærmen.