26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
OroCRM, OroPlatform üzerine kurulmuş ücretsiz ve açık kaynaklı bir Müşteri İlişkileri Yöneticisi (CRM) uygulamasıdır. OroPlatform tamamen özelleştirilebilir açık kaynaklı bir iş uygulama platformu yazılımıdır. OroPlatform, özelleştirilmiş bir uygulama oluşturmak için gereken tüm özellikleri sağlar. OroCRM, PHP Symfony çerçevesi kullanılarak oluşturulmuştur ve verilerini MySQL / MariaDB veritabanı sunucusunda saklamaktadır. Tonlarca özellik sunan, işletmeye hazır bir CRM uygulamasıdır. Ayrıca Magento Store, MailChimp, Zendesk ve daha birçok üçüncü taraf uygulamasıyla entegre olur. Çok dilli ve tamamen duyarlı bir kullanıcı arayüzüne sahip, bu da mobil cihazları kullanarak yönetebilmenizi sağlıyor.
Bu öğreticide, crm.example.com
sunucuya işaret eden etki alanı adı olarak kullanacağız . İle ilgili tüm tekrarlamaları crm.example.com
gerçek alan adınızla değiştirin.
Ubuntu 16.04 Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, gerekli bağımlılıkları kurmaya devam edin.
OroCRM, PHP'yi destekleyen herhangi bir üretim web sunucusuna kurulabilir. OroCRM, PHP'nin 7.0'dan büyük tüm sürümlerini destekler. Bu derste Nginx'i PHP-FPM ve PHP 7.1 ile kullanacağız.
Nginx'i yükleyin.
sudo apt -y install nginx
Nginx'i başlatın ve önyüklemede otomatik olarak başlamasını sağlayın.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7.1 varsayılan apt
depoda mevcut değildir . İlk olarak, PHP için PPA deposunu ekleyin.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
PHP 7.1'i OroCRM'nin gerektirdiği PHP modülleriyle birlikte yükleyin.
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
Yüklenen PHP yapılandırma dosyasını düzenleyin.
sudo nano /etc/php/7.1/cli/php.ini
Aşağıdaki satırları bulun. Gösterildiği gibi açın ve değişiklikler yapın.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
cgi.fix_pathinfo=0
PHP-FPM'yi başlatın ve önyüklemede başlamasını sağlayın.
sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm
MariaDB, MySQL'in açık kaynaklı bir çatalıdır. MariaDB 10.2 deposunu ekleyin.
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'
MariaDB'yi yükleyin.
sudo apt -y update
sudo apt -y install mariadb-server
MariaDB'yi başlatın ve önyüklemede otomatik olarak başlamasını sağlayın.
sudo systemctl start mariadb
sudo systemctl enable mariadb
MySQL kabuğuna çalıştırarak kök kullanıcı olarak oturum açın.
mysql -u root -p
MariaDB kök kullanıcısının oturum açması için şifreyi girin.
OroCRM yüklemesi için bir veritabanı ve veritabanı kullanıcısı oluşturmak üzere aşağıdaki sorguları çalıştırın.
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;
Veritabanı adını oro_data
ve kullanıcı adını istediğiniz gibi değiştirebilirsiniz oro_user
. StrongPassword
Çok güçlü bir şifreyle değiştirdiğinizden emin olun .
OroCRM ayrıca Node.js JavaScript çalışma zamanı gerektirir. Node.js, uygulamanın kullanıcı arabirimini oluşturmak için kullanılan JavaScript'i derlemek için OroCRM tarafından kullanılacaktır. Ubuntu'nun varsayılan deposu Node.js'nin eski bir sürümünü içerir, bu nedenle en son sürümü elde etmek için Nodesource deposunu sisteminize eklemeniz gerekir.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Node.js ve Git'i yükleyin.
sudo apt -y install nodejs git
Git, OroCRM deposunu internetten klonlamak için kullanılacaktır. Composer'ı da kurmanız gerekir. Composer, PHP uygulamaları için bir bağımlılık yöneticisi aracıdır. OroCRM Symfony çerçevesinde yazıldığından, bağımlılıkları ve uygulamayı kurmak için Composer'a ihtiyacınız olacaktır.
Composer'ı yükleyin.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
Composer'ı /usr/bin
dizinde, sistemin herhangi bir yerinden yürütülebilecek şekilde taşıyın .
sudo mv composer.phar /usr/bin/composer
Besteciye icra izni verin.
sudo chmod +x /usr/bin/composer
OroCRM'yi sunucunuza indirmenin birçok yolu vardır. En güncel sürümü almanın en uygun yolu, depoyu Git üzerinden klonlamaktır.
OroCRM deposunu klonlayın.
cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
Örnek parameters
dosyayı parameters
OroCRM tarafından kullanılan varsayılan dosyaya kopyalayın.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
Daha fazla ilerlemeden önce, parameters.yml
veritabanı ve e-posta bilgileri sağlamak için dosyayı güncellemeniz gerekir .
sudo nano app/config/parameters.yml
Aşağıdaki satırları bulun.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
Yukarıdaki yapılandırmayı OroCRM verilerini depolamak için oluşturduğunuz veritabanına göre güncelleyin. Bizim durumumuzda, böyle görünmelidir.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
Hazır bir SMTP sunucunuz varsa ve e-posta gönderme özelliklerini hemen kullanmak istiyorsanız, posta gönderme ayarlarını gösterildiği gibi güncelleyebilirsiniz.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: [email protected]
mailer_password: EMailPassword
Hazır bir posta sunucunuz yoksa, varolan değerleri bırakarak şimdilik atlayabilirsiniz. E-posta yapılandırmasını her zaman gösterge tablosundan değiştirebilirsiniz.
secret
Değiştirerek rastgele bir dize ayarlayın ThisTokenIsNotSoSecretChangeIt
. Oturum verilerini kodlamak için rastgele bir dize gerekir. Örnek bir dize şöyle görünecektir.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
pwgen
Yardımcı programı kullanarak rastgele bir dize oluşturabilirsiniz . Yükleme pwgen
çalıştırarak sudo apt -y install pwgen
. Rastgele bir dize oluşturmak için çalıştırın pwgen -s 64 1
.
Dosyayı kaydedin ve editörden çıkın. Composer aracılığıyla gerekli PHP bağımlılıklarını kurun.
sudo composer install --prefer-dist --no-dev
--no-dev
Bunu kullanmak Composer'ın yalnızca web sunucusunu üretim modunda çalıştırmak için gereken bağımlılıkları yüklemesini sağlar. Komut dosyasının gerekli PHP bağımlılıklarını indirmesi ve yüklemesi birkaç dakika sürecektir.
Uygulamayı yükleyin.
sudo php app/console oro:install --env=prod
Bu, web önbelleğini oluşturur ve veritabanını yazar. --env=prod
Parametre üretim modunda uygulamayı yüklemek için sağlanmıştır. Yükleme yalnızca gerekli tüm bağımlılıklar yüklendiyse ve yapılandırıldıysa devam eder.
Yükleme sırasında, yönetici hesabını ayarlamanız için birkaç soru sorulacaktır. Sorular aşağıdaki gibidir.
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
Bilgileri sağlayın. Ürünü üretim için kullanmadan önce değerlendirmek için örnek verileri yükleyin.
API dokümanları önbelleğini ısıtın:
sudo php app/console oro:api:doc:cache:clear
Uygulamayı kullanıcılara sunmak için bir Nginx sunucu blok dosyası oluşturun.
sudo nano /etc/nginx/sites-available/orocrm
Dosyayı doldurun.
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;
}
crm.example.com
Alan adını gerçek alan adınızla değiştirdiğinizden emin olun . Yukarıdaki yapılandırma ayrıca GZip sıkıştırması ve tarayıcı önbelleği için gereken yapılandırmayı içerir. Gzip sıkıştırması, verileri tarayıcıya göndermeden önce sıkıştırır. Tarayıcı önbelleğe almayı etkinleştirmek, statik kaynakları istemci bilgisayarın web önbelleğine depolar. Kullanıcı siteye bir sonraki erişiminde, statik içeriğin çoğu kullanıcının kendi web önbelleğinden yüklenir. Bu iki yöntem uygulamanın hızını önemli ölçüde artırır.
Siteyi etkinleştirin.
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
Nginx yapılandırma dosyasında hata olup olmadığını kontrol edin.
sudo nginx -t
Çıktı aşağıdaki gibi görünmelidir.
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
Nginx kullanıcısına OroCRM dosyalarının sahipliğini sağlayın.
sudo chown -R www-data:www-data /usr/share/nginx/orocrm
Yeni yapılandırmayı uygulamak için Nginx'i yeniden başlatın.
sudo systemctl restart nginx
Artık uygulamaya adresinden erişebilirsiniz http://crm.example.com
. Yönetici kullanarak oturum açın username
ve password
yükleme sırasında belirledik.
Zamanlanan görevleri otomatik olarak çalıştırmak için bir Cron iş girişi ekleyebilirsiniz. Aç crontab
.
sudo crontab -e
Aşağıdaki satırı dosyaya ekleyin.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
Bu, e-posta kuyrukları gibi zamanlanmış görevlerin en erken işlenmesi için her dakika cron işini çalıştırır.
Message Queue hizmetini çalıştırmak için Süpervizör kurmanız da gerekecektir. Bir tüketicinin mesajları işlemesi için her zaman en az bir işlemin yürütülmesi gerekir. Bir tüketici normalde mesaj sürecini birçok yolla kesebilir. Hizmetin sürekli çalıştığından emin olmak için Süpervizör hizmetini kullanacağız. Süpervizörü dört süreci paralel çalıştıracak şekilde yapılandıracağız. Dört işlemden herhangi biri herhangi bir nedenle durdurulursa, Süpervizör yeniden başlatmayı dener.
Süpervizörü kurun.
sudo apt -y install supervisor
Yeni bir Yönetici yapılandırma dosyası oluşturun.
sudo nano /etc/supervisor/conf.d/orocrm.conf
Aşağıdaki satırları dosyaya ekleyin.
[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
Süpervizörün açılışta otomatik olarak başlamasını başlatın ve etkinleştirin.
sudo systemctl restart supervisor
sudo systemctl enable supervisor
Aşağıdakileri çalıştırarak işlemlerin durumunu görüntüleyebilirsiniz.
sudo supervisorctl status
İşlemlerin çalıştığını görmelisiniz.
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 artık sunucunuza yüklenmiştir. Artık uygulamayı kuruluşunuzun rutin görevlerini yönetmek için kullanabilirsiniz. OroCRM hakkında daha fazla bilgi edinmek için resmi web sitesini ziyaret edebilirsiniz .
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun