Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
OroCRM adalah aplikasi Pengurus Hubungan Pelanggan (CRM) sumber terbuka dan bebas yang dibina di atas OroPlatform. OroPlatform adalah perisian platform aplikasi perniagaan sumber terbuka yang sepenuhnya disesuaikan. OroPlatform menyediakan anda semua ciri yang diperlukan untuk membuat aplikasi yang disesuaikan. OroCRM dibina menggunakan kerangka PHP Symfony dan menyimpan datanya ke pelayan pangkalan data MySQL / MariaDB. Ini adalah aplikasi CRM yang siap untuk perusahaan yang menyediakan banyak ciri. Ia juga berintegrasi dengan banyak aplikasi pihak ketiga seperti Magento Store, MailChimp, Zendesk dll. Ia multibahasa dan mempunyai antara muka pengguna yang responsif sepenuhnya, yang memberikan anda kemampuan untuk menguruskannya menggunakan peranti mudah alih juga.
Dalam tutorial ini, kita akan menggunakan crm.example.com
sebagai nama domain yang ditunjuk ke pelayan. Ganti semua kejadian crm.example.com
dengan nama domain sebenar anda.
Kemas kini sistem asas anda menggunakan panduan Cara Mengemas kini CentOS 7 . Setelah sistem anda diperbaharui, teruskan memasang dependensi yang diperlukan.
OroCRM boleh dipasang di mana-mana pelayan web pengeluaran yang menyokong PHP. OroCRM menyokong semua versi PHP yang lebih besar daripada 7.0. Dalam tutorial ini, kita akan menggunakan Nginx dengan PHP-FPM dan PHP 7.1.
Pasang Nginx.
sudo yum -y install nginx
Mulakan Nginx dan aktifkan secara automatik semasa boot.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7 tidak tersedia di repositori YUM lalai, tetapi kami dapat menggunakan repositori Remi untuk mendapatkan dan memasang binaan terbaru PHP 7. Pertama, tambahkan dan aktifkan repositori 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
Pasang versi terbaru PHP 7 bersama dengan modul PHP yang diperlukan oleh 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
Edit fail konfigurasi PHP lalai.
sudo nano /etc/php.ini
Cari baris berikut. Tidak berpuas hati dan buat perubahan seperti yang ditunjukkan.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
memory_limit = 512M
cgi.fix_pathinfo=0
Edit fail konfigurasi PHP-FPM.
sudo nano /etc/php-fpm.d/www.conf
Secara lalai, PHP-FPM dikonfigurasi untuk berjalan dengan Apache dan untuk mendengarkan port 9000
. Kita perlu mengubah pengguna dan kumpulan, serta fail soket Unix yang akan dijalankan. Cari baris berikut dan buat perubahan yang diperlukan seperti yang ditunjukkan.
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
Mulakan PHP-FPM dan aktifkan untuk memulakan semasa boot.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Berikan hak milik fail soket PHP-FPM kepada pengguna Nginx.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB adalah open source fork MySQL. Pasang MariaDB.
sudo yum -y install mariadb mariadb-server
Mulakan MariaDB dan aktifkan secara automatik semasa boot.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Pemasangan lalai MariaDB dilengkapi dengan beberapa pangkalan data ujian dan pengguna tanpa nama. Sebelum mengkonfigurasi pangkalan data, anda perlu melindungi pelayan MariaDB terlebih dahulu. Anda boleh mendapatkannya dengan menjalankan mysql_secure_installation
skrip.
sudo mysql_secure_installation
Anda akan diminta kata laluan root MariaDB semasa. Secara lalai, tiada kata laluan root dalam pemasangan MariaDB segar. Tekan Enter
kekunci untuk meneruskan. Tetapkan kata laluan yang kuat untuk pengguna root pelayan MariaDB anda dan jawab Y
semua soalan lain yang diajukan. Soalan yang diajukan adalah jelas.
Log masuk ke shell MySQL sebagai pengguna root dengan menjalankan.
mysql -u root -p
Berikan kata laluan untuk pengguna root MariaDB untuk log masuk.
Jalankan pertanyaan berikut untuk membuat pangkalan data dan pengguna pangkalan data untuk pemasangan 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;
Anda boleh mengganti nama pangkalan data oro_data
dan nama pengguna oro_user
mengikut pilihan anda. Pastikan anda menukar StrongPassword
kepada kata laluan yang sangat kuat.
OroCRM juga memerlukan runtime JavaScript Node.js. Node.js akan digunakan oleh OroCRM untuk menyusun JavaScript, yang digunakan untuk membina antara muka pengguna aplikasi. Repositori lalai CentOS mengandungi versi Node.js yang sudah ketinggalan zaman, oleh itu anda perlu menambahkan repositori Nodesource ke sistem anda untuk mendapatkan versi terbaru.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Pasang Node.js dan Git.
sudo yum -y install nodejs git
Git akan digunakan untuk mengklon repositori OroCRM dari internet. Anda juga perlu memasang Composer. Komposer adalah alat pengurus kebergantungan untuk aplikasi PHP. Kerana OroCRM ditulis dalam kerangka Symfony, anda memerlukan Komposer untuk memasang pergantungan dan aplikasi.
Pasang Komposer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Pindahkan Komposer ke /usr/bin
direktori sehingga dapat dijalankan dari mana saja di dalam sistem.
sudo mv composer.phar /usr/bin/composer
Berikan kebenaran pelaksanaan kepada Komposer.
sudo chmod +x /usr/bin/composer
Terdapat banyak cara untuk memuat turun OroCRM di pelayan anda. Cara yang paling tepat untuk mendapatkan versi yang paling terkini adalah mengklon repositori melalui Git.
Klon repositori OroCRM.
cd /usr/share/nginx/
sudo git clone -b 2.3 https://github.com/oroinc/crm-application.git orocrm
Salin parameters
fail contoh ke parameters
fail lalai yang digunakan oleh OroCRM.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
Sebelum anda dapat melangkah lebih jauh, anda perlu mengemas kini parameters.yml
fail untuk memberikan maklumat pangkalan data dan e-mel.
sudo nano app/config/parameters.yml
Cari baris berikut.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
Kemas kini konfigurasi di atas mengikut pangkalan data yang telah anda buat untuk menyimpan data OroCRM. Dalam kes kami, ia mesti kelihatan seperti ini.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
Sekiranya anda mempunyai pelayan SMTP yang siap dan anda ingin menggunakan ciri penghantaran e-mel dengan segera, anda boleh mengemas kini tetapan surat seperti yang ditunjukkan.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: [email protected]
mailer_password: EMailPassword
Sekiranya anda belum menyediakan pelayan mel, anda boleh melangkauinya sekarang dengan meninggalkan nilai yang ada. Anda sentiasa boleh mengubah konfigurasi e-mel melalui papan pemuka.
Tetapkan rentetan rawak secret
dengan menggantikan ThisTokenIsNotSoSecretChangeIt
. Rentetan rawak diperlukan untuk mengekod data sesi. Rentetan contoh akan kelihatan seperti ini.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
Anda boleh menghasilkan rentetan rawak menggunakan pwgen
utiliti. Pasang pwgen
utiliti dengan menjalankan sudo yum -y install pwgen
. Untuk menghasilkan rentetan rawak, jalankan pwgen -s 64 1
.
Simpan fail dan keluar dari editor. Pasang kebergantungan PHP yang diperlukan melalui komposer.
sudo composer install --prefer-dist --no-dev
Menggunakan --no-dev
akan memastikan bahawa Komposer hanya memasang pergantungan yang diperlukan untuk menjalankan pelayan web dalam mod pengeluaran. Skrip akan mengambil masa beberapa minit untuk memuat turun dan memasang pergantungan PHP yang diperlukan.
Pasang aplikasi.
sudo php app/console oro:install --env=prod
Ini akan membina cache web dan menulis pangkalan data. The --env=prod
parameter disediakan untuk memasang aplikasi dalam mod pengeluaran. Pemasangan hanya akan dijalankan sekiranya semua kebergantungan yang diperlukan dipasang dan dikonfigurasi.
Semasa pemasangan, anda akan ditanya beberapa soalan untuk menyiapkan akaun pentadbir. Soalannya adalah seperti berikut.
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
Berikan maklumat. Muatkan data sampel untuk menilai produk sebelum menggunakannya untuk pengeluaran.
Memanaskan cache dokumentasi API:
sudo php app/console oro:api:doc:cache:clear
Buat fail blok pelayan Nginx untuk melayani aplikasi kepada pengguna.
sudo nano /etc/nginx/conf.d/orocrm.conf
Isi fail.
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;
}
Pastikan bahawa anda menukar crm.example.com
dengan nama domain sebenar anda. Konfigurasi di atas juga merangkumi konfigurasi yang diperlukan untuk pemampatan GZip dan cache penyemak imbas. Pemampatan Gzip memampatkan data sebelum menghantarnya ke penyemak imbas. Mengaktifkan cache penyemak imbas menyimpan sumber statik ke cache web komputer pelanggan. Pada masa berikutnya pengguna mengakses laman web ini, sebahagian besar kandungan statik dimuat dari cache web pengguna sendiri. Kedua kaedah ini meningkatkan kelajuan aplikasi secara mendadak.
Periksa fail konfigurasi Nginx untuk sebarang kesilapan.
sudo nginx -t
Keluarannya seperti berikut.
[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
Berikan hak milik fail OrOCRM kepada pengguna Nginx.
sudo chown -R nginx:nginx /usr/share/nginx/orocrm
Mulakan semula Nginx untuk menggunakan konfigurasi baru.
sudo systemctl restart nginx
Sekiranya anda menjalankan firewall di pelayan anda, anda perlu mengkonfigurasi firewall untuk menetapkan pengecualian untuk perkhidmatan HTTP. Benarkan Nginx berhubung dari luar rangkaian.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Anda kini boleh mengakses aplikasi di http://crm.example.com
. Log masuk menggunakan nama pengguna dan kata laluan pentadbir yang telah anda tetapkan semasa pemasangan.
Untuk menjalankan tugas yang dijadualkan secara automatik, anda boleh menambah entri pekerjaan Cron. Buka crontab
.
sudo crontab -e
Tambahkan baris berikut ke fail.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
Ini akan menjalankan tugas cron setiap minit sehingga tugas yang dijadualkan seperti barisan e-mel diproses lebih awal.
Anda juga perlu menyediakan Penyelia untuk menjalankan perkhidmatan Queue Mesej. Diharuskan sekurang-kurangnya satu proses berjalan setiap masa untuk pengguna memproses mesej. Seorang pengguna biasanya boleh mengganggu proses pesanan melalui banyak cara. Untuk memastikan bahawa perkhidmatan berjalan secara berterusan, kami akan menggunakan perkhidmatan Penyelia. Kami akan mengkonfigurasi Penyelia untuk menjalankan empat proses secara selari. Sekiranya salah satu daripada empat proses tersebut dihentikan atas sebab apa pun, Penyelia akan mencuba untuk memulakannya semula.
Pasang Penyelia.
sudo yum -y install supervisor
Edit fail konfigurasi Penyelia.
sudo nano /etc/supervisord.conf
Tambahkan baris berikut di akhir fail.
[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
Mulakan dan aktifkan Penyelia untuk memulakan secara automatik pada waktu boot.
sudo systemctl start supervisord
sudo systemctl enable supervisord
Anda boleh melihat status proses dengan menjalankan perkara berikut.
sudo supervisorctl status
Anda harus melihat bahawa proses sedang berjalan.
[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 kini dipasang di pelayan anda. Anda kini boleh menggunakan aplikasi untuk menguruskan tugas rutin organisasi anda. Untuk mengetahui lebih lanjut mengenai OroCRM, anda boleh melayari laman web rasminya .
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut