Monica er et åpen kildekodesystem for personlig relasjonsstyring. Tenk på det som et CRM (et populært verktøy som brukes av salgsteam i bedriftsverdenen) for venner eller familie. Kildekoden er offentlig vert på GitHub . I denne veiledningen vil vi gå gjennom installasjonsprosessen til en Monica-applikasjon.
Krav
- Git
- NPM (Node Package Manager)
- PHP 7.1 eller nyere
- MariaDB
- Nginx
- Komponist
Sjekk Fedora-versjonen.
cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)
Opprett en ny ikke-rootbrukerkonto med sudotilgang og bytt til den.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
MERK : Erstatt johndoemed brukernavnet ditt .
Sett opp tidssonen.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Sørg for at systemet ditt er oppdatert.
sudo dnf check-upgrade || sudo dnf upgrade -y
Installer nødvendige pakker.
sudo dnf install -y git vim wget curl gcc-c++ make libpng12 libpng12-devel
For enkelhets skyld, deaktiver SELinux og brannmur.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Installer PHP
Installer PHP og nødvendige PHP-utvidelser.
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-xml php-mysqlnd php-curl php-zip php-intl php-json
Sjekk versjonen.
php --version
# PHP 7.2.7 (cli) (built: Jun 19 2018 14:40:10) ( NTS )
Start og aktiver PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Installer MariaDB og konfigurer databasen
Installer MariaDB databaseserver.
sudo dnf install -y mariadb-server
Sjekk versjonen.
mysql --version
# mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1
Start og aktiver MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Kjør mysql_secure_installationskriptet for å forbedre sikkerheten til MariaDB-installasjonen.
sudo mysql_secure_installation
Logg på MariaDB som root-bruker.
mysql -u root -p
# Enter password:
Opprett en ny MariaDB-database og bruker, og husk legitimasjonen.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT
Installer Nginx.
sudo dnf install -y nginx
Sjekk versjonen.
sudo nginx -v
# nginx version: nginx/1.12.1
Start og aktiver Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Kjør sudo vim /etc/nginx/conf.d/monica.confog konfigurer Nginx for 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 unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}
Lagre filen og avslutt.
Test konfigurasjonen.
sudo nginx -t
Last inn Nginx på nytt.
sudo systemctl reload nginx.service
Installer Node.js og NPM
Installer Node.js.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo dnf -y install nodejs
Sjekk Node.js- og NPM-versjonene.
node -v && npm -v
# v8.11.3
# 5.6.0
Installer Composer
Installer Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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
Sjekk versjonen.
composer --version
# Composer version 1.8.0 2018-05-04 11:44:59
Opprett en tom dokumentrotmappe der Monica skal installeres.
sudo mkdir -p /var/www/monica
Naviger til dokumentrotmappen.
cd /var/www/monica
Endre eierskap av /var/www/monicamappe til bruker johndoe.
sudo chown -R johndoe:johndoe /var/www/monica
Klon Monica-depotet til det.
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.11.1
MERK: Finn den siste offisielle versjonen på utgivelsessiden på GitHub og oppdater versjonsnummeret ovenfor til den siste utgivelsen.
Lag din egen fil som inneholder miljøvariablene som kreves av Monica.
cp .env.example .env
Oppdater .envfilen til dine spesifikke behov.
sudo vim .env
Merk: Ikke glem å stille inn DB_USERNAMEog DB_PASSWORDmed innstillingene som ble brukt tidligere.
Installer alle pakkene.
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
Installer alle front-end-avhengigheter og verktøy som trengs for å kompilere eiendeler.
npm install
Kompiler JS- og CSS-elementene.
npm run production
Generer en applikasjonsnøkkel. Dette vil settes APP_KEYi .envfilen til riktig verdi automatisk.
php artisan key:generate
Kjør migreringene og seed databasen og symlinkmappene.
php artisan setup:production
Endre eierskap av /var/www/monicakatalogen til nginx.
sudo chown -R nginx:nginx /var/www/monica
Kjør sudo vim /etc/php-fpm.d/www.confog sett bruker og gruppe til nginx. Til å begynne med vil den settes til bruker og gruppe apache.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Start på nytt php-fpm.service.
sudo systemctl restart php-fpm.service
Installasjonen er fullført. Åpne domenet ditt i nettleseren og følg instruksjonene som vises på skjermen.