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 itp. 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 za pomocą przewodnika Jak zaktualizować CentOS 7 . 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 yum -y install nginx
Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7 nie jest dostępne w domyślnym repozytorium YUM, ale możemy użyć repozytorium Remi, aby uzyskać i zainstalować najnowsze wersje PHP 7. Najpierw dodaj i włącz repozytorium Remi.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71
Zainstaluj najnowszą wersję PHP 7 wraz z modułami PHP wymaganymi przez OroCRM.
sudo yum -y install php php-fpm php-ctype php-curl php-fileinfo php-gd php-intl php-json php-mbstring php-mcrypt php-mysql php-pcre php-simplexml php-tokenizer php-xml php-zip php-tidy php-soap php-opcache php-posix
Edytuj domyślny plik konfiguracyjny PHP.
sudo nano /etc/php.ini
Znajdź następujące linie. Odkomentuj i wprowadź zmiany, jak pokazano.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
memory_limit = 512M
cgi.fix_pathinfo=0
Edytuj plik konfiguracyjny PHP-FPM.
sudo nano /etc/php-fpm.d/www.conf
Domyślnie PHP-FPM jest skonfigurowany do działania z Apache i nasłuchiwania portu 9000
. Będziemy musieli zmienić użytkownika i grupę, a także plik gniazda Unix, na którym będzie działał. Znajdź następujące wiersze i wprowadź niezbędne zmiany, jak pokazano.
user = nginx
group = nginx
;listen = 127.0.0.1:9000
;Comment out or remove the above line and add the following line.
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nobody
listen.group = nobody
Uruchom PHP-FPM i włącz uruchamianie przy starcie systemu.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Przekaż własność pliku gniazda PHP-FPM użytkownikowi Nginx.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB jest rozwidleniem MySQL typu open source. Zainstaluj MariaDB.
sudo yum -y install mariadb mariadb-server
Uruchom MariaDB i włącz automatyczne uruchamianie podczas rozruchu.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Domyślna instalacja MariaDB zawiera kilka testowych baz danych i anonimowych użytkowników. Przed skonfigurowaniem bazy danych musisz najpierw zabezpieczyć serwer MariaDB. Możesz to zabezpieczyć, uruchamiając mysql_secure_installation
skrypt.
sudo mysql_secure_installation
Zostaniesz poproszony o podanie bieżącego hasła roota MariaDB. Domyślnie w nowej instalacji MariaDB nie ma hasła roota. Naciśnij Enter
klawisz, aby kontynuować. Ustaw silne hasło dla użytkownika root na swoim serwerze MariaDB i odpowiedz Y
na wszystkie pozostałe pytania. Zadane pytania są oczywiste.
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 CentOS zawiera nieaktualną wersję Node.js, dlatego będziesz musiał dodać repozytorium Nodesource do swojego systemu, aby uzyskać najnowszą wersję.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Zainstaluj Node.js i Git.
sudo yum -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
php -r "unlink('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.3 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
narzędzie, uruchamiając sudo yum -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
spowoduje, że Kompozytor 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 Organization
Username (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/conf.d/orocrm.conf
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:/var/run/php-fpm/php-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.
Sprawdź plik konfiguracyjny Nginx pod kątem błędów.
sudo nginx -t
Dane wyjściowe powinny wyglądać następująco.
[user@vultr ~]$ 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 nginx:nginx /usr/share/nginx/orocrm
Uruchom ponownie Nginx, aby zastosować nową konfigurację.
sudo systemctl restart nginx
Jeśli używasz zapory na swoim serwerze, musisz skonfigurować zaporę, aby ustawić wyjątek dla usługi HTTP. Pozwól Nginx na łączenie się spoza sieci.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Możesz teraz uzyskać dostęp do aplikacji pod adresem http://crm.example.com
. Zaloguj się przy użyciu nazwy użytkownika i hasła administratora ustawionych 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, Inspektor spróbuje go uruchomić ponownie.
Zainstaluj Supervisor.
sudo yum -y install supervisor
Edytuj plik konfiguracyjny Supervisor.
sudo nano /etc/supervisord.conf
Dodaj następujące wiersze na końcu 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=nginx
redirect_stderr=true
Uruchom i włącz Supervisora, aby automatycznie uruchamiał się podczas rozruchu.
sudo systemctl start supervisord
sudo systemctl enable supervisord
Możesz wyświetlić status procesów, uruchamiając następujące.
sudo supervisorctl status
Powinieneś zobaczyć, że procesy są uruchomione.
[user@vultr ~]$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00 RUNNING pid 13596, uptime 0:02:13
oro_message_consumer:oro_message_consumer_01 RUNNING pid 13595, uptime 0:02:13
oro_message_consumer:oro_message_consumer_02 RUNNING pid 13594, uptime 0:02:13
oro_message_consumer:oro_message_consumer_03 RUNNING pid 13593, uptime 0:02:13
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.