Jekyll tinklaraščio kūrimas Ubuntu 16.04
Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta
ERP arba įmonės išteklių planavimas yra įmonės taikomųjų programų rinkinys, naudojamas pagrindiniams verslo procesams valdyti. ERPNext yra nemokama atvirojo kodo, savarankiškai priglobta ERP programa, parašyta Python. Jis naudoja Node.js priekinėje dalyje ir MariaDB duomenims saugoti. ERPNext suteikia lengvai naudojamą žiniatinklio sąsają, leidžiančią įmonėms tvarkyti kasdienes užduotis. Jame yra apskaitos, CRM, žmogiškųjų išteklių valdymo, gamybos, POS, projektų valdymo, pirkimų, pardavimų valdymo, sandėlio valdymo ir kt. moduliai. ERPNext gali būti naudojamas valdyti įvairias pramonės šakas, tokias kaip paslaugų teikėjai, gamyba, mažmeninė prekyba ir mokyklos.
Pastaba: šioje pamokoje naudosime erp.example.com
kaip domeno pavadinimą, nukreiptą į serverį. Būtinai pakeiskite visus atvejus erp.example.com
tikruoju domeno pavadinimu .
Prieš pradėdami įsitikinkite, kad jūsų serveris yra atnaujintas.
sudo apt update
sudo apt -y upgrade
Kad ERPNext veiktų, reikalinga 2.7 Python versija. Įdiekite Python 2.7.
sudo apt -y install python-minimal
Turėtumėte turėti galimybę patikrinti jo versiją.
python -V
Pamatysite tokią išvestį.
user@vultr:~$ python -V
Python 2.7.13
Įdiekite dar keletą priklausomybių.
sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev
Įdiekite Python pip
įrankį. „Pip“ yra „Python“ paketų priklausomybės tvarkyklė.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Įsitikinkite, kad turite naujausią versiją pip
ir setuptools
.
sudo pip install --upgrade pip setuptools
Įdiekite Ansible naudodami Pip. Ansible automatizuoja programinės įrangos aprūpinimą, konfigūracijos valdymą ir programų diegimą.
sudo pip install ansible
Pridėkite MariaDB saugyklą į sistemą.
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'
Įdiekite MariaDB.
sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev
Pateikite patikimą MariaDB root vartotojo slaptažodį, kai to paprašys.
„Barracuda“ saugojimo variklis reikalingas kuriant ERPNext duomenų bazes, todėl turėsite sukonfigūruoti „MariaDB“, kad galėtumėte naudoti „Barracuda“ saugojimo variklį. Redaguokite numatytąjį MariaDB konfigūracijos failą my.cnf
.
sudo nano /etc/mysql/my.cnf
Po eilute pridėkite šias eilutes [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
Taip pat po eilute pridėkite šią [mysql]
eilutę.
default-character-set = utf8mb4
Iš naujo paleiskite MariaDB ir įgalinkite jį automatiškai paleisti įkrovos metu.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
Prieš konfigūruodami duomenų bazę, turėsite apsaugoti MariaDB. Galite apsaugoti jį paleisdami mysql_secure_installation
scenarijų.
sudo mysql_secure_installation
Jūsų bus paprašyta įvesti dabartinį MariaDB root slaptažodį. Pateikite slaptažodį, kurį nustatėte diegimo metu. Jūsų paklaus, ar norite pakeisti esamą pagrindinio MariaDB serverio vartotojo slaptažodį. Galite praleisti naujo slaptažodžio nustatymą, nes diegimo metu jau pateikėte tvirtą slaptažodį. Atsakykite „Y“ į visus kitus užduodamus klausimus.
Pridėkite Node.js 8.x mazgo šaltinio saugyklą.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Įdiekite „Nginx“, „Node.js“ ir „Redis“.
sudo apt -y install nginx nodejs redis-server
Paleiskite Nginx ir įgalinkite jį paleisti įkrovos metu.
sudo systemctl start nginx
sudo systemctl enable nginx
Paleiskite Redis ir įgalinkite jį paleisti įkrovos metu.
sudo systemctl start redis-server
sudo systemctl enable redis-server
wkhtmltopdf
Programa yra komandų eilutės įrankis, kuris paverčia HTML į PDF naudojant QT WebKit vaizdavimo variklį. Įdiekite reikiamas priklausomybes.
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
Atsisiųskite naujausią versiją wkhtmltopdf
.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Išskleiskite archyvą.
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Aukščiau pateikta komanda išskleis archyvą į /opt/wkhtmltox
. Sukurkite programinę nuorodą, kad wkhtmltopdf
ir wkhtmltoimage
būtų vykdoma visame pasaulyje kaip komanda.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
Dabar galite paleisti wkhtmltopdf -V
patikrinti, ar jis veikia, tai pamatysite.
user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
Šiuo metu įdiegėme visas reikalingas priklausomybes. Dabar galite pradėti diegti stendą.
Bench
yra komandų eilutės programa, kurią teikia Frappe, skirta ERPNext programai įdiegti ir valdyti Unix pagrindu veikiančioje sistemoje tiek kūrimo, tiek gamybos tikslais. Bench taip pat gali kurti ir valdyti Nginx ir prižiūrėtojo konfigūracijas.
Sukurkite naują vartotoją, kad paleistumėte Bench procesus izoliuotoje aplinkoje.
sudo adduser bench --home /opt/bench
Suteikite vartotojui sudo
leidimus bench
.
sudo usermod -aG sudo bench
Prisijunkite kaip naujai sukurtas bench
vartotojas.
sudo su - bench
Klonuoti Bench saugyklą /opt/bench
.
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Įdiekite stendą naudodami pip
.
sudo pip install -e bench-repo
Įdiegę „Bench“, tęskite, kad įdiegtumėte ERPNext naudodami „Bench“.
Inicijuoti stendo katalogą su įdiegta frappe sistema. Kad viskas būtų tvarkinga, dirbsime pagal /opt/bench
katalogą. Bench taip pat nustatys reguliarias atsargines kopijas ir automatinius atnaujinimus kartą per dieną.
cd /opt/bench
bench init erpnext && cd erpnext
Sukurkite naują „Frappe“ svetainę.
bench new-site erp.example.com
Aukščiau pateikta komanda paragins įvesti MySQL root slaptažodį. Pateikite slaptažodį, kurį anksčiau nustatėte MySQL root vartotojui. Taip pat bus paprašyta nustatyti naują administratoriaus paskyros slaptažodį. Vėliau šio slaptažodžio reikės norint prisijungti prie administratoriaus prietaisų skydelio .
Atsisiųskite ERPNext diegimo failus iš nuotolinės „git“ saugyklos naudodami „Bench“.
bench get-app erpnext https://github.com/frappe/erpnext
Įdiekite ERPNext savo naujai sukurtoje svetainėje.
bench --site erp.example.com install-app erpnext
Galite nedelsdami paleisti programą, kad patikrintumėte, ar programa sėkmingai įdiegta.
bench start
Tačiau turėtumėte sustabdyti vykdymą ir tęsti, kad nustatytumėte programą gamybiniam naudojimui.
Pagal numatytuosius nustatymus programa ERPNext klausosi prievado 8000
, o ne standartinio HTTP prievado 80
. Be to, nerekomenduojama naudoti integruoto žiniatinklio serverio gamybiniam naudojimui, nes mes atskleisime serverį pasauliui. Turėtumėte naudoti gamybinį žiniatinklio serverį kaip atvirkštinį tarpinį serverį, pvz., „Apache“ arba „Nginx“. „Nginx“ naudosime kaip atvirkštinį tarpinį serverį, nes jį galima automatiškai sukonfigūruoti naudojant „Bench“. Bench gali automatiškai generuoti ir įdiegti konfigūraciją pagal ERPNext sąranką.
Nors galime paleisti programą naudodami komandą „bench start“, ERPNext vykdymas sustos, kai tik uždarysite terminalą. Norėdami išspręsti šią problemą, turėtumėte naudoti Supervisor, kuris yra labai naudingas nuolat paleidžiant programą gamybinėje aplinkoje. Supervisor yra proceso valdymo sistema, leidžianti stebėti ir valdyti daugybę procesų Linux operacinėse sistemose. Kai „Supervisor“ bus sukonfigūruotas, jis automatiškai paleis programą įkrovos metu ir gedimų atveju. Bench gali automatiškai sukonfigūruoti ERPNext programos Supervisor.
Įdiegti Supervisor.
sudo apt -y install supervisor
Paleiskite „Supervisor“ ir įgalinkite jį automatiškai paleisti įkrovos metu.
sudo systemctl start supervisor
sudo systemctl enable supervisor
Sąrankos stendas gamybiniam naudojimui.
sudo bench setup production bench
Aukščiau pateikta komanda gali paraginti jus prieš pakeičiant esamą numatytąjį prižiūrėtojo konfigūracijos failą nauju. Pasirinkite y
tęsti. Bench prideda daugybę procesų prie vadovo konfigūracijos failo. Aukščiau pateikta komanda taip pat paklaus, ar norite pakeisti dabartinę Nginx konfigūraciją nauja. y
Norėdami tęsti, įveskite . Kai „Bench“ baigs diegti konfigūraciją, leiskite kitiems naudotojams vykdyti failus jūsų „Bench“ vartotojo namų kataloge.
chmod o+x /opt/bench/
Dabar galite pasiekti svetainę http://erp.example.com
.
Galite patikrinti procesų būseną paleisdami.
sudo supervisorctl status all
Turėtumėte pamatyti šią išvestį.
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
Norėdami sustabdyti visus ERPNext procesus.
sudo supervisorctl stop all
Norėdami pradėti visus ERPNext procesus.
sudo supervisorctl start all
Let's Encrypt vartotojams suteikia nemokamus SSL sertifikatus. SSL gali būti įdiegtas rankiniu būdu arba automatiškai per Bench. Bench gali automatiškai įdiegti Let's Encrypt klientą ir gauti sertifikatus. Be to, ji automatiškai atnaujina Nginx konfigūraciją, kad būtų naudojami sertifikatai.
Domeno pavadinimas, kurį naudojate norėdami gauti sertifikatus iš Let's Encrypt CA, turi būti nukreiptas į serverį. Prieš išduodamas sertifikatus klientas patikrina domeno autoritetą .
Įgalinkite „ERPNext“ programos DNS daugialypę nuomą.
bench config dns_multitenant on
Paleiskite „Bench“, kad savo svetainėje nustatytumėte Let's Encrypt.
sudo bench setup lets-encrypt erp.example.com
Vykdant scenarijų, Let's Encrypt klientas paprašys laikinai sustabdyti Nginx žiniatinklio serverį. Jis automatiškai įdiegs reikiamus paketus ir „Let's Encrypt“ klientą. Klientas paprašys jūsų įvesti el. pašto adresą. Taip pat turėsite sutikti su taisyklėmis ir sąlygomis. Kai sertifikatai bus sugeneruoti, „Bench“ taip pat sugeneruos naują „Nginx“ konfigūraciją, kuri naudoja SSL sertifikatus. Prieš pakeičiant esamą konfigūraciją, jūsų bus paprašyta. Bench taip pat sukuria crontab
įrašą, kuris automatiškai atnaujina sertifikatus kiekvieną mėnesį.
Galiausiai įgalinkite planuoklį automatiškai vykdyti suplanuotas užduotis.
bench enable-scheduler
Turėtumėte pamatyti šią išvestį.
bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com
Kai procesas bus baigtas, savo paraišką galėsite pasiekti adresu https://erp.example.com
. Prisijunkite naudodami vartotojo vardą Administrator
ir slaptažodį, kuriuos nustatėte diegimo metu. Būsite nuvesti prie stalo, kur turėsite pateikti informaciją, kad nustatytumėte ERPNext ERP pagal jūsų įmonę. Dabar galite naudoti programą norėdami valdyti savo įmonę.
Sveikiname, jūsų Ubuntu 17.04 serveryje įdiegta visiškai veikianti ERPNext programa.
Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta
Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus
„Memcached“ yra didelio našumo duomenų bazių sistema, kuri gali padėti papildyti jūsų programą. Tai labai greita, nes neįrašo į diską, o t
Įvadas InfluxDB yra atvirojo kodo, paskirstyta laiko eilučių duomenų bazė be jokių išorinių priklausomybių. Taip, jūs perskaitėte išorinių priklausomybių par
Fail2ban yra programa, kuri stebi prisijungimo veiklą jūsų serveryje ir blokuoja pažeidžiančius IP adresus. Pagal numatytuosius nustatymus jis blokuos IP adresus 10 minučių
Naudojate kitą sistemą? „Red5“ yra atvirojo kodo medijos serveris, įdiegtas „Java“, leidžiantis paleisti „Flash“ kelių vartotojų programas, tokias kaip tiesioginis srautas.
Naudojate kitą sistemą? Vanilla forumas yra atvirojo kodo forumo programa, parašyta PHP. Tai visiškai pritaikoma, paprasta naudoti ir palaiko išorinę
Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti
Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti
Naudojate kitą sistemą? Tiny Tiny RSS Reader yra nemokama ir atviro kodo savarankiškai priglobta žiniatinklio naujienų kanalo (RSS/Atom) skaitytuvas ir kaupiklis, skirtas
Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina Git. Gitea parašyta golangu ir yra
Naudojate kitą sistemą? Wiki.js yra nemokama atvirojo kodo moderni wiki programa, sukurta naudojant Node.js, MongoDB, Git ir Markdown. Wiki.js šaltinio kodas yra viešas
Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina git. Gitea parašyta golangu ir yra
Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai
Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t
Naudojate kitą sistemą? Pagekit 1.0 TVS yra graži, modulinė, išplečiama ir lengva, nemokama ir atviro kodo turinio valdymo sistema (TVS) su
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį