Изучение 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
с вашим фактическим доменным именем.
Обновите базовую систему, используя руководство Как обновить CentOS 7 . После обновления системы перейдите к установке необходимых зависимостей.
OroCRM может быть установлен на любом рабочем веб-сервере, поддерживающем PHP. OroCRM поддерживает все версии PHP более 7.0. В этом уроке мы будем использовать Nginx с PHP-FPM и PHP 7.1.
Установите Nginx.
sudo yum -y install nginx
Запустите Nginx и включите его для автоматического запуска при загрузке.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7 недоступен в репозитории YUM по умолчанию, но мы можем использовать репозиторий Remi для получения и установки последних сборок PHP 7. Сначала добавьте и включите репозиторий 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
Установите последнюю версию PHP 7 вместе с модулями PHP, необходимыми для 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
Отредактируйте файл конфигурации PHP по умолчанию.
sudo nano /etc/php.ini
Найдите следующие строки. Раскомментируйте и внесите изменения, как показано.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
memory_limit = 512M
cgi.fix_pathinfo=0
Отредактируйте файл конфигурации PHP-FPM.
sudo nano /etc/php-fpm.d/www.conf
По умолчанию PHP-FPM настроен для работы с Apache и прослушивания порта 9000
. Нам потребуется изменить пользователя и группу, а также файл сокета Unix, в котором он будет работать. Найдите следующие строки и внесите необходимые изменения, как показано на рисунке.
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
Запустите PHP-FPM и включите его при загрузке.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Предоставьте право владения файлом сокета PHP-FPM пользователю Nginx.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB - это форк MySQL с открытым исходным кодом. Установите MariaDB.
sudo yum -y install mariadb mariadb-server
Запустите MariaDB и включите его для автоматического запуска при загрузке.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Установка MariaDB по умолчанию идет с несколькими тестовыми базами данных и анонимными пользователями. Перед настройкой базы данных вам необходимо сначала защитить сервер MariaDB. Вы можете защитить его, запустив mysql_secure_installation
скрипт.
sudo mysql_secure_installation
Вам будет предложено ввести текущий пароль root для MariaDB. По умолчанию в новой установке MariaDB пароль root отсутствует. Нажмите Enter
клавишу для продолжения. Установите надежный пароль для пользователя root вашего сервера MariaDB и ответьте Y
на все остальные вопросы. Заданные вопросы говорят сами за себя.
Войдите в оболочку 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, который используется для создания пользовательского интерфейса приложения. Репозиторий CentOS по умолчанию содержит устаревшую версию Node.js, поэтому вам необходимо добавить репозиторий Nodesource в свою систему, чтобы получить последнюю версию.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Установите Node.js и Git.
sudo yum -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
php -r "unlink('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.3 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 yum -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 Organization
Username (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/conf.d/orocrm.conf
Заполните файл.
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;
}
Убедитесь, что вы изменили crm.example.com
свое реальное доменное имя. Вышеуказанная конфигурация также включает конфигурацию, необходимую для сжатия GZip и кэширования браузера. Gzip-сжатие сжимает данные перед отправкой в браузер. Включение кэширования в браузере сохраняет статические ресурсы в веб-кэше клиентского компьютера. В следующий раз, когда пользователь заходит на сайт, большая часть статического контента загружается из собственного веб-кэша пользователя. Эти два метода значительно увеличивают скорость приложения.
Проверьте файл конфигурации Nginx на наличие ошибок.
sudo nginx -t
Вывод должен выглядеть следующим образом.
[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
Предоставьте право собственности на файлы OrOCRM пользователю Nginx.
sudo chown -R nginx:nginx /usr/share/nginx/orocrm
Перезапустите Nginx, чтобы применить новую конфигурацию.
sudo systemctl restart nginx
Если вы используете брандмауэр на своем сервере, вам необходимо настроить брандмауэр, чтобы установить исключение для службы HTTP. Разрешить Nginx подключаться извне сети.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Теперь вы можете получить доступ к приложению по адресу http://crm.example.com
. Войдите, используя имя пользователя и пароль администратора, которые вы установили во время установки.
Для автоматического запуска запланированных задач вы можете добавить запись о задании 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 yum -y install supervisor
Отредактируйте файл конфигурации Supervisor.
sudo nano /etc/supervisord.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=nginx
redirect_stderr=true
Запустите и включите Supervisor для автоматического запуска во время загрузки.
sudo systemctl start supervisord
sudo systemctl enable supervisord
Вы можете просмотреть состояние процессов, выполнив следующее.
sudo supervisorctl status
Вы должны увидеть, что процессы запущены.
[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 теперь установлен на вашем сервере. Теперь вы можете использовать приложение для управления рутинными задачами вашей организации. Чтобы узнать больше об OroCRM, вы можете посетить его официальный сайт .
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше