Jak zainstalować Monikę na CentOS 7

Monica to system zarządzania relacjami osobistymi typu open source. Pomyśl o tym jak o CRM (popularne narzędzie używane przez zespoły sprzedażowe w świecie korporacyjnym) dla twoich przyjaciół lub rodziny. Jego kod źródłowy jest publicznie hostowany na GitHub . W tym przewodniku omówimy proces instalacji aplikacji Monica.

Wymagania

  • Git
  • NPM (Menedżer pakietów węzłów)
  • PHP 7.1 lub nowszy
  • MariaDB
  • Nginx
  • Kompozytor

Zanim zaczniesz

Sprawdź wersję CentOS.

cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)

Utwórz nowe konto użytkownika innego niż root z sudodostępem i przejdź do niego.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

UWAGA : Zamień na johndoeswoją nazwę użytkownika .

Ustaw strefę czasową.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Upewnij się, że twój system jest aktualny.

sudo yum update -y

Zainstaluj wymagane pakiety.

sudo yum install -y git vim wget curl gcc-c++ make libpng-devel

Dla uproszczenia wyłącz SELinux i Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Zainstaluj PHP

Skonfiguruj repozytorium Webtatic YUM.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Zainstaluj PHP i wymagane rozszerzenia PHP.

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xml php72w-mysql php72w-curl php72w-zip php72w-intl

Sprawdź wersję.

php --version
# PHP 7.2.6 (cli) (built: Jun  2 2018 07:49:42) ( NTS )

Uruchom i włącz PHP-FPM.

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Zainstaluj MariaDB i ustaw bazę danych

Utwórz plik repo dla MariaDB.

sudo vi /etc/yum.repos.d/MariaDB.repo

Wypełnij plik następującymi danymi.

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Zainstaluj MariaDB.

sudo yum install -y MariaDB-server MariaDB-client

Sprawdź wersję MariaDB.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1

Uruchom i włącz usługę MariaDB.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Uruchom mysql_secure_installationskrypt, aby poprawić bezpieczeństwo instalacji MariaDB.

sudo mysql_secure_installation

Zaloguj się do MariaDB jako użytkownik root.

mysql -u root -p
# Enter password:

Utwórz nową bazę danych i użytkownika MariaDB i zapamiętaj poświadczenia.

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT

Zainstaluj i skonfiguruj Nginx

Utwórz repozytorium Nginx.

sudo vim /etc/yum.repos.d/nginx_mainline.repo

Wypełnij go następującą zawartością.

[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1

Wygeneruj klucz podpisu Nginx.

wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key

Zainstaluj Nginx.

sudo yum install -y nginx

Sprawdź wersję.

sudo nginx -v
# nginx version: nginx/1.15.0

Uruchom i włącz Nginx.

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Uruchom sudo vim /etc/nginx/conf.d/monica.confi skonfiguruj Nginx dla Moniki.

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 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;
  }
}

Zapisz plik i wyjdź.

Przetestuj konfigurację.

sudo nginx -t

Załaduj ponownie Nginx.

sudo systemctl reload nginx.service

Zainstaluj Node.js i NPM

Zainstaluj Node.js.

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs

Sprawdź wersje Node.js i npm.

node -v && npm -v
# v10.5.0
# 6.1.0

Zainstaluj Composer

Zainstaluj Composer.

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

Sprawdź wersję.

composer --version
# Composer version 1.6.5 2018-05-04 11:44:59

Zainstaluj i skonfiguruj Monikę

Utwórz pusty folder główny dokumentu, w którym powinna być zainstalowana Monica.

sudo mkdir -p /var/www/monica

Przejdź do folderu głównego dokumentu.

cd /var/www/monica

Zmień własność /var/www/monicafolderu na użytkownika johndoe.

sudo chown -R johndoe:johndoe /var/www/monica

Sklonuj do niego repozytorium Monica.

git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.3.1

UWAGA: Znajdź najnowszą oficjalną wersję na stronie wydań w GitHub i zaktualizuj powyższy numer wersji do najnowszej wersji.

Uruchom następujące polecenie, aby utworzyć własną wersję zmiennych środowiskowych wymaganych dla projektu.

cp .env.example .env

Zaktualizuj .envplik do swoich potrzeb. Nie zapomnij ustawić DB_USERNAMEi DB_PASSWORDprzy użyciu wcześniej używanych ustawień.

Zainstaluj wszystkie pakiety.

composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs

Zainstaluj wszystkie zależności front-end i narzędzia potrzebne do kompilacji zasobów.

npm install

Skompiluj zasoby JS i CSS.

npm run production

Wygeneruj klucz aplikacji. Spowoduje to automatyczne ustawienie APP_KEYprawidłowej wartości.

php artisan key:generate

Uruchom migracje i zainicjuj foldery bazy danych i dowiązań symbolicznych.

php artisan setup:production

Zmień własność /var/www/monicakatalogu na nginx.

sudo chown -R nginx:nginx /var/www/monica

Uruchom sudo vim /etc/php-fpm.d/www.confi ustaw użytkownika i grupę na nginx. Początkowo będą ustawione na apache.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Uruchom ponownie php-fpm.service

sudo systemctl restart php-fpm.service

Instalacja jest zakończona. Otwórz domenę w przeglądarce i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.