Monica és un sistema de gestió de relacions personals de codi obert. Penseu en això com un CRM (una eina popular utilitzada pels equips de vendes al món corporatiu) per als vostres amics o familiars. El seu codi font està allotjat públicament a GitHub . En aquesta guia, repassarem el procés d'instal·lació d'una aplicació Monica.
Requisits
- Sistema FreeBSD 12
- Git
- PHP versió 7.2 o superior amb les següents extensions PHP:
- json
- iconv
- intl
- opcache
- mbstring
- xml
- mysqli
- pdo_mysql
- bcmath
- rínxol
- gmp
- cremallera
- gd
- MariaDB
- Nginx
- Compositor
Abans que comencis
Comproveu la versió de FreeBSD.
uname -ro # FreeBSD 12.0-RELEASE
Assegureu-vos que el vostre sistema FreeBSD estigui actualitzat.
freebsd-update fetch install pkg update && pkg upgrade -y
Instal·leu els paquets necessaris.
pkg install -y sudo vim unzip curl wget bash socat git libpng-dev
Creeu un compte d'usuari nou amb el vostre nom d'usuari preferit. Farem servir 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!
Executeu l' visudoordre i descomenteu la %wheel ALL=(ALL) ALLlínia, per permetre que els membres del wheelgrup executin qualsevol ordre.
visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Ara, canvieu al vostre nou usuari creat amb su.
su - johndoe
NOTA: Substituïu-lo johndoepel vostre nom d'usuari.
Configura la zona horària.
sudo tzsetup
Instal·leu PHP
Instal·leu PHP, així com les extensions PHP necessàries.
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
Comproveu la versió.
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
Enllaç suau php.ini-productiona php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Activeu i inicieu PHP-FPM.
sudo sysrc php_fpm_enable=yes sudo service php-fpm start
Instal·leu MariaDB i configureu una base de dades
Instal·leu MariaDB.
sudo pkg install -y mariadb102-client mariadb102-server
Comproveu la versió.
mysql --version # mysql Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1
Inicieu i activeu MariaDB.
sudo sysrc mysql_enable="yes" sudo service mysql-server start
Executeu l' mysql_secure_installationscript per millorar la seguretat de la vostra instal·lació.
sudo mysql_secure_installation
Inicieu sessió a MariaDB com a usuari root.
mysql -u root -p # Enter password:
Crea una base de dades i un usuari nous. Recordeu les credencials d'aquest nou usuari.
CREATE DATABASE dbname; GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit;
Instal·leu i configureu Nginx
Instal·leu Nginx.
sudo pkg install -y nginx
Comproveu la versió.
nginx -v # nginx version: nginx/1.14.2
Activeu i inicieu Nginx.
sudo sysrc nginx_enable=yes sudo service nginx start
Executeu sudo vim /usr/local/etc/nginx/monica.confi configureu Nginx per a 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; } }
Desa el fitxer i surt.
Ara hem d'incloure monica.confal nginx.conffitxer principal .
Executeu sudo vim /usr/local/etc/nginx/nginx.confi afegiu la línia següent al http {}bloc.
include monica.conf;
Proveu la configuració.
sudo nginx -t
Torna a carregar Nginx.
sudo service nginx reload
Instal·leu Composer
Instal·leu Composer a nivell global.
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
Comproveu la versió.
composer --version # Composer version 1.8.6 2019-06-11 15:03:05
Instal·la i configura la Mònica
Creeu una carpeta arrel del document buida on s'hauria d'instal·lar la Mònica.
sudo mkdir -p /usr/local/www/monica
Navegueu a la carpeta arrel del document.
cd /usr/local/www/monica
Canvia la propietat de la /usr/local/www/monicacarpeta a usuari johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/monica
Clonar-hi el dipòsit de Monica.
git clone https://github.com/monicahq/monica.git . git checkout tags/v2.14.0
NOTA: Trobeu la darrera versió oficial a la pàgina de versions de GitHub i actualitzeu el número de versió anterior a la darrera versió.
Executeu el següent per crear la vostra pròpia versió de les variables d'entorn necessàries per al projecte.
cp .env.example .env
Actualitzeu el .envfitxer segons les vostres necessitats específiques. No us oblideu de configurar DB_USERNAMEi DB_PASSWORDamb els paràmetres utilitzats anteriorment.
Instal·leu tots els paquets.
composer install --no-interaction --no-suggest --no-dev
Generar una clau d'aplicació. Això s'establirà APP_KEYal valor correcte automàticament.
php artisan key:generate
Executeu les migracions i inicieu la base de dades i les carpetes d'enllaços simbòlics.
php artisan setup:production -v
Canvia la propietat del /usr/local/www/monicadirectori a www.
sudo chown -R www:www /usr/local/www/monica
La instal·lació s'ha completat. Obriu el vostre domini al vostre navegador web i seguiu les instruccions que es mostren a la pantalla.