Създаване на блог на Jekyll в Ubuntu 16.04
Използване на различна система? Jekyll е чудесна алтернатива на WordPress за блогове или споделяне на съдържание. Не изисква никакви бази данни и е много лесно i
ERP или Enterprise Resource Planning е пакет корпоративни приложения, използван за управление на основните бизнес процеси. ERPNext е безплатно и самостоятелно хоствано ERP приложение с отворен код, написано на Python. Той използва Node.js за предния край и MariaDB за съхраняване на своите данни. ERPNext предоставя лесен за използване уеб интерфейс, който позволява на бизнеса да управлява ежедневни задачи. Съдържа модули за счетоводство, CRM, HRM, производство, POS, управление на проекти, покупки, управление на продажбите, управление на складове и др. ERPNext може да се използва за управление на различни индустрии като доставчици на услуги, производство, търговия на дребно и училища.
Забележка: За този урок ще използваме erp.example.com
като име на домейн, насочено към сървъра. Моля, не забравяйте да замените всички поява на erp.example.com
с действителното ви име на домейн .
Преди да започнем, уверете се, че вашият сървър е актуален.
sudo apt update
sudo apt -y upgrade
ERPNext се нуждае от Python версия 2.7, за да работи. Инсталирайте Python 2.7.
sudo apt -y install python-minimal
Трябва да можете да проверите неговата версия.
python -V
Ще видите следния изход.
user@vultr:~$ python -V
Python 2.7.13
Инсталирайте още няколко зависимости.
sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev
Инсталирайте pip
инструмента на Python . Pip е мениджърът на зависимости за пакетите на Python.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Уверете се, че имате най-новата версия на pip
и setuptools
.
sudo pip install --upgrade pip setuptools
Инсталирайте Ansible с помощта на Pip. Ansible автоматизира предоставянето на софтуер, управлението на конфигурацията и внедряването на приложения.
sudo pip install ansible
Добавете хранилището на MariaDB в системата.
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
Инсталирайте MariaDB.
sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev
Осигурете силна парола за root потребителя на MariaDB, когато бъдете попитани.
Двигателят за съхранение на Barracuda е необходим за създаването на бази данни ERPNext, така че ще трябва да конфигурирате MariaDB да използва механизма за съхранение на Barracuda. Редактирайте конфигурационния файл на MariaDB по подразбиране my.cnf
.
sudo nano /etc/mysql/my.cnf
Добавете следните редове под [mysqld]
реда.
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Също така добавете следния ред под [mysql]
реда.
default-character-set = utf8mb4
Рестартирайте MariaDB и го активирайте да стартира автоматично при стартиране.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
Преди да конфигурирате базата данни, ще трябва да защитите MariaDB. Можете да го защитите, като стартирате mysql_secure_installation
скрипта.
sudo mysql_secure_installation
Ще бъдете помолени за текущата парола за root на MariaDB. Предоставете паролата, която сте задали по време на инсталацията. Ще бъдете попитани дали искате да промените съществуващата парола на root потребител на вашия MariaDB сървър. Можете да пропуснете задаването на нова парола, тъй като вече сте предоставили силна парола по време на инсталацията. Отговорете с "Y" на всички други въпроси, които се задават.
Добавете хранилището на Nodesource за Node.js 8.x.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Инсталирайте Nginx, Node.js и Redis.
sudo apt -y install nginx nodejs redis-server
Стартирайте Nginx и го активирайте да стартира при стартиране.
sudo systemctl start nginx
sudo systemctl enable nginx
Стартирайте Redis и го активирайте да стартира при стартиране.
sudo systemctl start redis-server
sudo systemctl enable redis-server
В wkhtmltopdf
програмата е онлайн инструмент от командния че новопокръстените HTML в PDF с помощта на QT Webkit модул за визуализация на. Инсталирайте необходимите зависимости.
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
Изтеглете най-новата версия на wkhtmltopdf
.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Разархивирайте архива.
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Горната команда ще извлече архива в /opt/wkhtmltox
. Създайте мека връзка, така че wkhtmltopdf
и wkhtmltoimage
да може да се изпълнява глобално като команда.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
Сега можете да стартирате, за wkhtmltopdf -V
да проверите дали работи, ще видите това.
user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
В този момент имаме инсталирани всички необходими зависимости. Сега можете да продължите с инсталирането на Bench.
Bench
е помощна програма за команден ред, предоставена от Frappe за инсталиране и управление на приложението ERPNext на Unix-базирана система както за целите на разработката, така и за производството. Bench може също да създава и управлява конфигурации на Nginx и супервайзор.
Създайте нов потребител за стартиране на Bench процеси в изолирана среда.
sudo adduser bench --home /opt/bench
Предоставяне на sudo
разрешения на bench
потребителя.
sudo usermod -aG sudo bench
Влезте като новосъздадения bench
потребител.
sudo su - bench
Клонирайте хранилището на Bench в /opt/bench
.
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Инсталирайте Bench с помощта на pip
.
sudo pip install -e bench-repo
След като Bench бъде инсталиран, продължете по-нататък, за да инсталирате ERPNext с помощта на Bench.
Инициализирайте бенч директория с инсталиран фреймворк. За да поддържаме всичко подредено, ще работим под /opt/bench
директорията. Bench също така ще настройва редовни архиви и автоматични актуализации веднъж на ден.
cd /opt/bench
bench init erpnext && cd erpnext
Създайте нов сайт на Frappe.
bench new-site erp.example.com
Горната команда ще ви подкани за MySQL root парола. Предоставете паролата, която сте задали за root потребителя на MySQL по-рано. Той също така ще ви помоли да зададете нова парола за администраторския акаунт. Тази парола ще ви е необходима по-късно, за да влезете в таблото за управление на администратора .
Изтеглете инсталационните файлове на ERPNext от отдалеченото хранилище на git с помощта на Bench.
bench get-app erpnext https://github.com/frappe/erpnext
Инсталирайте ERPNext на новосъздадения си сайт.
bench --site erp.example.com install-app erpnext
Можете да стартирате приложението незабавно, за да проверите дали приложението е инсталирано успешно.
bench start
Въпреки това, трябва да спрете изпълнението и да продължите по-нататък, за да настроите приложението за производствена употреба.
По подразбиране приложението ERPNext слуша порта 8000
, а не стандартния HTTP порт 80
. Също така, стартирането на вградения уеб сървър за производствена употреба не се препоръчва, тъй като ще изложим сървъра на света. Трябва да използвате производствен уеб сървър като обратен прокси като Apache или Nginx. Ще използваме Nginx като обратен прокси, тъй като може да се конфигурира автоматично с помощта на Bench. Bench може автоматично да генерира и инсталира конфигурацията според настройката на ERPNext.
Въпреки че можем да стартираме приложението с помощта на командата 'bench start', изпълнението на ERPNext ще спре веднага след като затворите терминала. За да преодолеете този проблем, трябва да използвате Supervisor, който е много полезен при непрекъснато изпълнение на приложението в производствена среда. Supervisor е система за контрол на процесите, която ви позволява да наблюдавате и контролирате редица процеси в операционни системи Linux. След като Supervisor е конфигуриран, той автоматично ще стартира приложението по време на зареждане, както и при неуспехи. Bench може автоматично да конфигурира Supervisor за приложението ERPNext.
Инсталирайте Supervisor.
sudo apt -y install supervisor
Стартирайте Supervisor и го активирайте да стартира автоматично при стартиране.
sudo systemctl start supervisor
sudo systemctl enable supervisor
Стенд за настройка за производствена употреба.
sudo bench setup production bench
Горната команда може да ви подкани, преди да замените съществуващия конфигурационен файл по подразбиране на Supervisor с нов. Изберете y
да продължите. Bench добавя редица процеси към конфигурационния файл на Supervisor. Горната команда също ще ви попита дали искате да замените текущата конфигурация на Nginx с нова. Въведете, за y
да продължите. След като Bench приключи инсталирането на конфигурацията, осигурете на други потребители да изпълнят файловете във вашата домашна директория на потребителя на Bench.
chmod o+x /opt/bench/
Вече имате достъп до сайта на http://erp.example.com
.
Можете да проверите състоянието на процесите, като стартирате.
sudo supervisorctl status all
Трябва да видите следния изход.
bench@vultr:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache RUNNING pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue RUNNING pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio RUNNING pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web RUNNING pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio RUNNING pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0 RUNNING pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0 RUNNING pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule RUNNING pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0 RUNNING pid 13875, uptime 0:00:54
За да спрете всички процеси на ERPNext.
sudo supervisorctl stop all
За да стартирате всички процеси на ERPNext.
sudo supervisorctl start all
Let's Encrypt предоставя безплатни SSL сертификати на потребителите. SSL може да се инсталира ръчно или автоматично чрез Bench. Bench може автоматично да инсталира клиента Let's Encrypt и да получи сертификатите. Освен това той автоматично актуализира конфигурацията на Nginx, за да използва сертификатите.
Името на домейна, което използвате, за да получите сертификатите от Let's Encrypt CA, трябва да бъде насочено към сървъра. Клиентът проверява авторитета на домейна преди да издаде сертификатите .
Активирайте DNS мулти-наемане за приложението ERPNext.
bench config dns_multitenant on
Стартирайте Bench, за да настроите Let's Encrypt на вашия сайт.
sudo bench setup lets-encrypt erp.example.com
По време на изпълнението на скрипта, клиентът Let's Encrypt ще ви помоли временно да спрете уеб сървъра на Nginx. Той автоматично ще инсталира необходимите пакети и клиента Let's Encrypt. Клиентът ще ви подкани за вашия имейл адрес. Вие също ще трябва да приемете общите условия. След като сертификатите бъдат генерирани, Bench ще генерира и новата конфигурация за Nginx, която използва SSL сертификатите. Ще бъдете попитани, преди да замените съществуващата конфигурация. Bench също така създава crontab
запис за автоматично подновяване на сертификатите всеки месец.
И накрая, активирайте планировчика да изпълнява автоматично планираните задачи.
bench enable-scheduler
Трябва да видите този изход.
bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com
След като процесът приключи, можете да получите достъп до приложението си на адрес https://erp.example.com
. Влезте с потребителското име Administrator
и паролата, които сте задали по време на инсталацията. Ще бъдете отведени до бюрото, където ще трябва да предоставите информация, за да настроите ERPNext ERP според вашата компания. Вече можете да използвате приложението за управление на вашата компания.
Поздравления, имате напълно работещо приложение ERPNext, инсталирано на вашия сървър на Ubuntu 17.04.
Използване на различна система? Jekyll е чудесна алтернатива на WordPress за блогове или споделяне на съдържание. Не изисква никакви бази данни и е много лесно i
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Memcached е високопроизводителна система за бази данни, която може да помогне за презареждане на вашето приложение. Много е бърз, тъй като не пише на диска, а вместо това t
Въведение InfluxDB е с отворен код, разпределена база данни от времеви серии без външни зависимости. Да, вие четете без външни зависимости пар
Fail2ban е програма, която следи активността за влизане на вашия сървър и блокира нарушаващите IP адреси. По подразбиране той ще блокира IP адресите за 10 минути
Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо
Използване на различна система? Vanilla forum е приложение за форум с отворен код, написано на PHP. Той е напълно адаптивен, лесен за използване и поддържа външен
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е
Използване на различна система? Wiki.js е безплатно и модерно уики приложение с отворен код, изградено на Node.js, MongoDB, Git и Markdown. Изходният код на Wiki.js е публичен
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от git. Gitea е написана на Голанг и е
Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i
Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже
Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже
Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема, безплатна и отворена система за управление на съдържанието (CMS) от корпоративен клас, написана i
Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca
Използване на различна система? DotCMS е система за управление на съдържанието от корпоративен клас с отворен код, написана на Java. Той съдържа почти всички необходими функции
Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече