Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
OroCRM - это бесплатное приложение с открытым исходным кодом для управления взаимоотношениями с клиентами (CRM), созданное на основе OroPlatform. OroPlatform - это полностью настраиваемое программное обеспечение платформы бизнес-приложений с открытым исходным кодом. OroPlatform предоставляет вам все функции, необходимые для создания настраиваемого приложения. OroCRM построен с использованием фреймворка PHP Symfony и хранит свои данные на сервере базы данных MySQL / MariaDB. Это готовое к использованию приложение CRM, предоставляющее множество функций. Он также интегрируется со многими сторонними приложениями, такими как Magento Store, MailChimp, Zendesk и многими другими. Он многоязычен и имеет полностью отзывчивый пользовательский интерфейс, который дает вам возможность управлять им также с помощью мобильных устройств.
В этом уроке мы будем использовать crm.example.com
имя домена, указывающее на сервер. Замените все вхождения crm.example.com
с вашим фактическим доменным именем.
Обновите свою базовую систему, используя руководство Как обновить Ubuntu 16.04 . После обновления системы перейдите к установке необходимых зависимостей.
OroCRM может быть установлен на любом рабочем веб-сервере, поддерживающем PHP. OroCRM поддерживает все версии PHP более 7.0. В этом уроке мы будем использовать Nginx с PHP-FPM и PHP 7.1.
Установите Nginx.
sudo apt -y install nginx
Запустите Nginx и включите его для автоматического запуска при загрузке.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7.1 недоступен в apt
репозитории по умолчанию . Сначала добавьте PPA-репозиторий для PHP.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Установите PHP 7.1 вместе с модулями PHP, необходимыми для 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
Отредактируйте загруженный файл конфигурации PHP.
sudo nano /etc/php/7.1/cli/php.ini
Найдите следующие строки. Раскомментируйте и внесите изменения, как показано.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
cgi.fix_pathinfo=0
Запустите PHP-FPM и включите его при загрузке.
sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm
MariaDB - это форк MySQL с открытым исходным кодом. Добавьте репозиторий 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'
Установите MariaDB.
sudo apt -y update
sudo apt -y install mariadb-server
Запустите MariaDB и включите его для автоматического запуска при загрузке.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Войдите в оболочку MySQL от имени пользователя root, запустив.
mysql -u root -p
Укажите пароль для пользователя root MariaDB для входа.
Выполните следующие запросы, чтобы создать базу данных и пользователя базы данных для установки 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;
Вы можете заменить имя базы данных oro_data
и имя пользователя oro_user
по вашему выбору. Обязательно смените StrongPassword
на очень надежный пароль.
Для OroCRM также требуется среда выполнения JavaScript Node.js. Node.js будет использоваться OroCRM для компиляции JavaScript, который используется для создания пользовательского интерфейса приложения. Стандартный репозиторий Ubuntu содержит устаревшую версию Node.js, поэтому вам необходимо добавить репозиторий Nodesource в вашу систему, чтобы получить последнюю версию.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Установите Node.js и Git.
sudo apt -y install nodejs git
Git будет использоваться для клонирования репозитория OroCRM из Интернета. Вам также нужно будет установить Composer. Composer - инструмент управления зависимостями для приложений PHP. Поскольку OroCRM написан на платформе Symfony, вам понадобится Composer для установки зависимостей и приложения.
Установите Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
Переместите Composer в /usr/bin
каталог, чтобы он мог выполняться из любой точки системы.
sudo mv composer.phar /usr/bin/composer
Предоставить разрешение на выполнение композитору.
sudo chmod +x /usr/bin/composer
Есть много способов загрузить OroCRM на ваш сервер. Самый подходящий способ получить самую последнюю версию - это клонировать репозиторий через Git.
Клонируйте репозиторий OroCRM.
cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
Скопируйте parameters
файл примера в файл по умолчанию, parameters
используемый OroCRM.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
Прежде чем вы сможете продолжить, вам необходимо обновить parameters.yml
файл, чтобы предоставить базу данных и информацию электронной почты.
sudo nano app/config/parameters.yml
Найдите следующие строки.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
Обновите вышеуказанную конфигурацию в соответствии с базой данных, которую вы создали для хранения данных OroCRM. В нашем случае это должно выглядеть так.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
Если у вас есть готовый SMTP-сервер и вы хотите немедленно использовать функции отправки электронной почты, вы можете обновить настройки почтовой программы, как показано на рисунке.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: [email protected]
mailer_password: EMailPassword
Если у вас нет готового почтового сервера, вы можете пока пропустить его, оставив существующие значения. Вы всегда можете изменить конфигурацию электронной почты через панель инструментов.
Установите случайную строку secret
, заменив ThisTokenIsNotSoSecretChangeIt
. Случайная строка необходима для кодирования данных сеанса. Пример строки будет выглядеть следующим образом.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
Вы можете создать случайную строку с помощью pwgen
утилиты. Установить pwgen
, запустив sudo apt -y install pwgen
. Чтобы сгенерировать случайную строку, запустите pwgen -s 64 1
.
Сохраните файл и выйдите из редактора. Установите необходимые зависимости PHP через composer.
sudo composer install --prefer-dist --no-dev
Использование --no-dev
гарантирует, что Composer устанавливает только зависимости, необходимые для запуска веб-сервера в производственном режиме. Сценарий займет несколько минут, чтобы загрузить и установить необходимые зависимости PHP.
Установите приложение.
sudo php app/console oro:install --env=prod
Это создаст веб-кеш и запишет базу данных. --env=prod
Параметр предусмотрен для установки приложения в рабочем режиме. Установка будет продолжена, только если все необходимые зависимости установлены и настроены.
Во время установки вам будет задано несколько вопросов по настройке учетной записи администратора. Вопросы следующие.
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
Предоставить информацию. Загрузите образец данных, чтобы оценить продукт, прежде чем использовать его для производства.
Разогрейте кеш документации API:
sudo php app/console oro:api:doc:cache:clear
Создайте файл блока сервера Nginx для обслуживания приложения пользователям.
sudo nano /etc/nginx/sites-available/orocrm
Заполните файл.
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
свое фактическое доменное имя. Вышеуказанная конфигурация также включает конфигурацию, необходимую для сжатия GZip и кэширования браузера. Gzip-сжатие сжимает данные перед отправкой в браузер. Включение кэширования в браузере сохраняет статические ресурсы в веб-кэше клиентского компьютера. В следующий раз, когда пользователь заходит на сайт, большая часть статического контента загружается из собственного веб-кэша пользователя. Эти два метода значительно увеличивают скорость приложения.
Включить сайт.
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
Проверьте файл конфигурации Nginx на наличие ошибок.
sudo nginx -t
Вывод должен выглядеть следующим образом.
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
Предоставьте право собственности на файлы OroCRM пользователю Nginx.
sudo chown -R www-data:www-data /usr/share/nginx/orocrm
Перезапустите Nginx, чтобы применить новую конфигурацию.
sudo systemctl restart nginx
Теперь вы можете получить доступ к приложению по адресу http://crm.example.com
. Войдите в систему с помощью администратора, username
и password
вы установили во время установки.
Для автоматического запуска запланированных задач вы можете добавить запись о задании Cron. Open crontab
.
sudo crontab -e
Добавьте следующую строку в файл.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
Это будет запускать задание cron каждую минуту, чтобы запланированные задачи, такие как очереди электронной почты, обрабатывались как можно раньше.
Вам также необходимо настроить Supervisor для запуска службы очереди сообщений. Требуется, чтобы хотя бы один процесс работал постоянно, чтобы потребитель обрабатывал сообщения. Обычно потребитель может прервать процесс обработки сообщений разными способами. Для обеспечения непрерывной работы службы мы будем использовать службу Supervisor. Мы настроим Supervisor для параллельного запуска четырех процессов. Если какой-либо из четырех процессов по какой-либо причине остановлен, Supervisor попытается запустить его снова.
Установите Supervisor.
sudo apt -y install supervisor
Создайте новый файл конфигурации Supervisor.
sudo nano /etc/supervisor/conf.d/orocrm.conf
Добавьте следующие строки в файл.
[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
Запустите и включите Supervisor для автоматического запуска во время загрузки.
sudo systemctl restart supervisor
sudo systemctl enable supervisor
Вы можете просмотреть состояние процессов, выполнив следующее.
sudo supervisorctl status
Вы должны увидеть, что процессы запущены.
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 теперь установлен на вашем сервере. Теперь вы можете использовать приложение для управления рутинными задачами вашей организации. Чтобы узнать больше об OroCRM, вы можете посетить его официальный сайт .
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше