Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване
Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,
OroCRM е безплатно приложение с отворен код Customer Relationship Manager (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. По подразбиране няма root парола в нова инсталация на MariaDB. Натиснете 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 също изисква време за изпълнение на Node.js JavaScript. 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
If you have an SMTP server ready and you wish to use email sending features immediately, you can update the mailer settings as shown.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: [email protected]
mailer_password: EMailPassword
If you do not have a mail server ready, you can skip it for now by leaving the existing values. You can always change email configuration through the dashboard.
Set a random string in secret
by replacing ThisTokenIsNotSoSecretChangeIt
. A random string is required to encode the session data. An example string will look like this.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
You can generate a random string using the pwgen
utility. Install pwgen
utility by running sudo yum -y install pwgen
. To generate a random string, run pwgen -s 64 1
.
Save the file and exit from the editor. Install the required PHP dependencies through composer.
sudo composer install --prefer-dist --no-dev
Using --no-dev
will ensure that the Composer only installs the dependencies required to run the web server in production mode. The script will take a few minutes to download and install the required PHP dependencies.
Install the application.
sudo php app/console oro:install --env=prod
This will build the web cache and write the database. The --env=prod
parameter is provided to install the application in production mode. The installation will only proceed if all the required dependencies are installed and configured.
During the installation, you will be asked few questions for setting up the administrator account. The questions are as follows.
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
Provide the information. Load the sample data to evaluate the product before using it for production.
Warm up the API documentation cache:
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. Отвори 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.
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, можете да посетите официалния му уебсайт .
Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,
Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не
PHP и свързаните с него пакети са най-често използваните компоненти при разгръщане на уеб сървър. В тази статия ще научим как да настроим PHP 7.0 или PHP 7.1 o
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте
1. Virtualmin/Webmin Virtualmin е мощен и гъвкав контролен панел за уеб хостинг за Linux и UNIX системи, базиран на добре познатата уеб база с отворен код
Yii е PHP рамка, която ви позволява да разработвате приложения по-бързо и лесно. Инсталирането на Yii в Ubuntu е лесно, както ще научите точно l
Този урок обяснява как да настроите DNS сървър с помощта на Bind9 на Debian или Ubuntu. В цялата статия заменете your-domain-name.com съответно. При th
Въведение Logrotate е помощна програма за Linux, която опростява администрирането на лог файлове. Обикновено се изпълнява веднъж на ден чрез cron задание и управлява базата от регистрационни файлове
Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент
Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо
В тази статия ще видим как да компилирате и инсталирате основната линия на Nginx от официалните източници на Nginx с модула PageSpeed, който ви позволява да
Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока
Използване на различна система? Vanilla forum е приложение за форум с отворен код, написано на PHP. Той е напълно адаптивен, лесен за използване и поддържа външен
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от git. Gitea е написана на Голанг и е
Въведение Lynis е безплатен инструмент за одит на системата с отворен код, който се използва от много системни администратори за проверка на целостта и заздравяване на техните системи. аз
Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече