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.
OroCRM to darmowa i otwarta aplikacja CRM (Customer Relationship Manager) oparta na oprogramowaniu OroPlatform. OroPlatform to w pełni konfigurowalne oprogramowanie platformy aplikacji biznesowych typu open source. OroPlatform zapewnia wszystkie funkcje wymagane do stworzenia niestandardowej aplikacji. OroCRM jest zbudowany przy użyciu frameworka Symfony PHP i przechowuje dane na serwerze bazy danych MySQL / MariaDB. Jest to aplikacja CRM dla przedsiębiorstw, oferująca mnóstwo funkcji. Integruje się również z wieloma aplikacjami innych firm, takimi jak Magento Store, MailChimp, Zendesk i wieloma innymi. Jest wielojęzyczny i ma w pełni responsywny interfejs użytkownika, który umożliwia zarządzanie nim również przy użyciu urządzeń mobilnych.
W tym samouczku użyjemy crm.example.com
jako nazwy domeny wskazanej na serwerze. Zamień wszystkie wystąpienia na crm.example.com
swoją rzeczywistą nazwę domeny.
Zaktualizuj system podstawowy, korzystając z przewodnika Jak zaktualizować system Ubuntu 16.04 . Po zaktualizowaniu systemu przejdź do instalacji wymaganych zależności.
OroCRM można zainstalować na dowolnym produkcyjnym serwerze WWW obsługującym PHP. OroCRM obsługuje wszystkie wersje PHP większe niż 7.0. W tym samouczku użyjemy Nginx z PHP-FPM i PHP 7.1.
Zainstaluj Nginx.
sudo apt -y install nginx
Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7.1 nie jest dostępne w domyślnym apt
repozytorium. Najpierw dodaj repozytorium PPA dla PHP.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Zainstaluj PHP 7.1 wraz z modułami PHP wymaganymi przez OroCRM.
sudo apt update
sudo apt -y install php7.1 php7.1-fpm php7.1-common php7.1-curl php7.1-gd php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-xml php7.1-xml php7.1-zip php7.1-tidy php7.1-soap php7.1-opcache
Edytuj załadowany plik konfiguracyjny PHP.
sudo nano /etc/php/7.1/cli/php.ini
Znajdź następujące linie. Odkomentuj i wprowadź zmiany, jak pokazano.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
cgi.fix_pathinfo=0
Uruchom PHP-FPM i włącz uruchamianie przy starcie systemu.
sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm
MariaDB jest rozwidleniem MySQL typu open source. Dodaj repozytorium MariaDB 10.2.
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'
Zainstaluj MariaDB.
sudo apt -y update
sudo apt -y install mariadb-server
Uruchom MariaDB i włącz automatyczne uruchamianie podczas rozruchu.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Zaloguj się do powłoki MySQL jako użytkownik root, uruchamiając.
mysql -u root -p
Podaj hasło dla użytkownika root MariaDB, aby się zalogować.
Uruchom następujące zapytania, aby utworzyć bazę danych i użytkownika bazy danych dla instalacji OroCRM.
CREATE DATABASE oro_data;
CREATE USER 'oro_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON oro_data.* TO 'oro_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Możesz zastąpić nazwę bazy danych oro_data
i nazwę użytkownika oro_user
zgodnie z własnym wyborem. Pamiętaj, aby zmienić StrongPassword
na bardzo silne hasło.
OroCRM wymaga również środowiska wykonawczego JavaScript Node.js. Plik Node.js zostanie wykorzystany przez OroCRM do skompilowania kodu JavaScript, który jest używany do budowy interfejsu użytkownika aplikacji. Domyślne repozytorium Ubuntu zawiera nieaktualną wersję Node.js, dlatego będziesz musiał dodać repozytorium Nodesource do swojego systemu, aby uzyskać najnowszą wersję.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Zainstaluj Node.js i Git.
sudo apt -y install nodejs git
Git będzie używany do klonowania repozytorium OroCRM z Internetu. Będziesz także musiał zainstalować Composer. Composer to narzędzie do zarządzania zależnościami dla aplikacji PHP. Ponieważ OroCRM jest napisany w frameworku Symfony, będziesz potrzebował Composer do zainstalowania zależności i aplikacji.
Zainstaluj Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
Przenieś Composer do /usr/bin
katalogu, aby można go było uruchomić z dowolnego miejsca w systemie.
sudo mv composer.phar /usr/bin/composer
Udziel uprawnienia wykonawczego kompozytorowi.
sudo chmod +x /usr/bin/composer
Istnieje wiele sposobów pobierania OroCRM na twój serwer. Najbardziej odpowiednim sposobem uzyskania najbardziej zaktualizowanej wersji jest sklonowanie repozytorium za pomocą Git.
Sklonuj repozytorium OroCRM.
cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
Skopiuj przykładowy parameters
plik do domyślnego parameters
pliku używanego przez OroCRM.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
Zanim przejdziesz dalej, musisz zaktualizować parameters.yml
plik, aby podać dane bazy danych i e-mail.
sudo nano app/config/parameters.yml
Znajdź następujące linie.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
Zaktualizuj powyższą konfigurację zgodnie z bazą danych utworzoną do przechowywania danych OroCRM. W naszym przypadku powinno to wyglądać tak.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
Jeśli masz gotowy serwer SMTP i chcesz natychmiast korzystać z funkcji wysyłania wiadomości e-mail, możesz zaktualizować ustawienia programu pocztowego, jak pokazano.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: [email protected]
mailer_password: EMailPassword
Jeśli nie masz gotowego serwera poczty, możesz go na razie pominąć, pozostawiając istniejące wartości. Zawsze możesz zmienić konfigurację poczty e-mail za pomocą pulpitu nawigacyjnego.
Ustaw losowy ciąg znaków secret
, zastępując ThisTokenIsNotSoSecretChangeIt
. Do zakodowania danych sesji wymagany jest losowy ciąg. Przykładowy ciąg będzie wyglądał tak.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
Możesz wygenerować losowy ciąg za pomocą pwgen
narzędzia. Zainstaluj pwgen
, uruchamiając sudo apt -y install pwgen
. Aby wygenerować losowy ciąg, uruchom pwgen -s 64 1
.
Zapisz plik i wyjdź z edytora. Zainstaluj wymagane zależności PHP przez kompozytora.
sudo composer install --prefer-dist --no-dev
Użycie --no-dev
zapewni, że Composer zainstaluje tylko zależności wymagane do uruchomienia serwera WWW w trybie produkcyjnym. Skrypt zajmie kilka minut, aby pobrać i zainstalować wymagane zależności PHP.
Zainstaluj aplikację.
sudo php app/console oro:install --env=prod
To zbuduje pamięć podręczną i zapisze bazę danych. Ten --env=prod
parametr służy do instalowania aplikacji w trybie produkcyjnym. Instalacja będzie kontynuowana tylko wtedy, gdy wszystkie wymagane zależności zostaną zainstalowane i skonfigurowane.
Podczas instalacji pojawi się kilka pytań dotyczących konfiguracji konta administratora. Pytania są następujące.
Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Org
Username (admin): admin
Email: [email protected]
First name: John
Last name: Doe
Password:
Load sample data (y/n): y
Podaj informacje. Załaduj przykładowe dane, aby ocenić produkt przed użyciem go do produkcji.
Rozgrzej pamięć podręczną dokumentacji API:
sudo php app/console oro:api:doc:cache:clear
Utwórz plik bloku serwera Nginx, aby udostępnić aplikację użytkownikom.
sudo nano /etc/nginx/sites-available/orocrm
Wypełnij plik.
server {
server_name crm.example.com;
root /usr/share/nginx/orocrm/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app|app_dev|config|install)\.php(/|$) {
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
# Enable Gzip compression
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 1000;
gzip_http_version 1.0;
gzip_proxied any;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml;
gzip_vary on;
# Enable browser caching
# One week for javascript and css
location ~* \.(?:css|js) {
expires 1w;
access_log off;
add_header Cache-Control public;
}
# Three weeks for media: images, fonts, icons, video, audio etc.
location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ {
expires 3w;
access_log off;
add_header Cache-Control public;
}
error_log /var/log/nginx/orocrm_error.log;
access_log /var/log/nginx/orocrm_access.log;
}
Pamiętaj, aby zmienić crm.example.com
rzeczywistą nazwę domeny. Powyższa konfiguracja obejmuje również konfigurację wymaganą do kompresji GZip i buforowania przeglądarki. Kompresja Gzip kompresuje dane przed wysłaniem ich do przeglądarki. Włączenie buforowania przeglądarki powoduje przechowywanie zasobów statycznych w pamięci podręcznej WWW komputera klienckiego. Następnym razem, gdy użytkownik wejdzie na stronę, większość zawartości statycznej jest ładowana z własnej pamięci podręcznej użytkownika. Te dwie metody znacznie zwiększają szybkość aplikacji.
Włącz witrynę.
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
Sprawdź plik konfiguracyjny Nginx pod kątem błędów.
sudo nginx -t
Dane wyjściowe powinny wyglądać następująco.
user@vultr:/usr/share/nginx/orocrm$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Przekaż własność plików OroCRM użytkownikowi Nginx.
sudo chown -R www-data:www-data /usr/share/nginx/orocrm
Uruchom ponownie Nginx, aby zastosować nową konfigurację.
sudo systemctl restart nginx
Możesz teraz uzyskać dostęp do aplikacji pod adresem http://crm.example.com
. Zaloguj się przy użyciu administratora username
i password
ustawiłeś podczas instalacji.
Aby automatycznie uruchomić zaplanowane zadania, możesz dodać pozycję zadania Cron. Otwarte crontab
.
sudo crontab -e
Dodaj następujący wiersz do pliku.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
Spowoduje to uruchomienie zadania cron co minutę, aby zaplanowane zadania, takie jak kolejki e-mail, były przetwarzane najwcześniej.
Konieczne będzie także skonfigurowanie funkcji Supervisor, aby uruchomić usługę kolejki wiadomości. Wymagane jest, aby przynajmniej jeden proces był uruchomiony, aby konsument mógł przetworzyć wiadomości. Konsument może zwykle przerwać proces przesyłania wiadomości na wiele sposobów. Aby zapewnić ciągłość działania usługi, skorzystamy z usługi Supervisor. Skonfigurujemy Supervisora, aby równolegle uruchamiał cztery procesy. Jeśli którykolwiek z czterech procesów zostanie zatrzymany z jakiegokolwiek powodu, przełożony spróbuje go uruchomić ponownie.
Zainstaluj Supervisor.
sudo apt -y install supervisor
Utwórz nowy plik konfiguracyjny Supervisor.
sudo nano /etc/supervisor/conf.d/orocrm.conf
Dodaj następujące wiersze do pliku.
[program:oro_message_consumer]
command=/usr/bin/php /usr/share/nginx/orocrm/app/console --env=prod --no-debug oro:message-queue:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=www-data
redirect_stderr=true
Uruchom i włącz Supervisora, aby automatycznie uruchamiał się podczas rozruchu.
sudo systemctl restart supervisor
sudo systemctl enable supervisor
Możesz wyświetlić status procesów, uruchamiając następujące.
sudo supervisorctl status
Powinieneś zobaczyć, że procesy są uruchomione.
user@vultr:/usr/share/nginx/orocrm$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00 RUNNING pid 20809, uptime 0:00:01
oro_message_consumer:oro_message_consumer_01 RUNNING pid 20808, uptime 0:00:01
oro_message_consumer:oro_message_consumer_02 RUNNING pid 20807, uptime 0:00:01
oro_message_consumer:oro_message_consumer_03 RUNNING pid 20806, uptime 0:00:01
OroCRM jest teraz zainstalowany na twoim serwerze. Teraz możesz używać aplikacji do zarządzania rutynowymi zadaniami swojej organizacji. Aby dowiedzieć się więcej o OroCRM, możesz odwiedzić jego oficjalną stronę internetową .
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
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
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+
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.
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…
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ą
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.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
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.