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
Įprastas „Vultr“ virtualaus serverio naudojimas yra „Wordpress“ svetainių talpinimas. Šiame vadove parodyta, kaip automatizuoti virtualaus serverio konfigūraciją nuo nulio (naudojant Ansible) ir įdiegti kelias nepriklausomas Wordpress svetaines (naudojant Webmin / Virtualmin). „Virtualmin“ / „Webmin“ yra grafinė vartotojo sąsaja, leidžianti valdyti kelių virtualaus serverio paskyrų diegimą tame pačiame kompiuteryje (sukomplektuota su LAMP / LEMP krūva). „Virtualmin“ yra labai panašus į „cPanel“ ir „Plesk“, todėl šioje pamokoje naudosime nemokamą GPL leidimą. Pradinę „Vultr“ serverio sąranką ir „Virtualmin“ įdiegimą galite labai greitai nustatyti kelis virtualius serverius naudodami „Virtualmin“ sąsają ir tiesiogiai įdiegti „Wordpress“ tame virtualiame serveryje su savo domeno pavadinimu.
Šioje pamokoje vietoje to, kad rankiniu būdu įvestume ilgą komandų sąrašą, mes naudosime Ansible. Ansible yra python pagrįstas automatizavimo įrankis, leidžiantis patikimai ir pakartotinai automatizuoti serverio užduotis. Tai reiškia, kad atlikę šią mokymo programą, galėsite įdiegti kitą serverį tokiu pačiu būdu, naudodami tik keletą komandų.
Įdiekite Ansible savo vietiniame kompiuteryje arba kitame serveryje.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible veikia prisijungus prie serverio per SSH. SSH prieiga yra saugiausia, jei naudojame raktus, o ne slaptažodį. Pirmiausia sukurkime viešųjų ir privačių raktų porą.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
Į ssh_keys
katalogą dabar bus du failai, ssh_keys
ir ssh_keys.pub
. ssh_keys
yra jūsų privataus rakto failas ir turi būti saugomas. Dabar galite atidaryti ssh_keys.pub
, kuriame yra viešasis raktas.
Prisijunkite prie „Vultr“ žiniatinklio informacijos suvestinės ir spustelėkite Deploy New Server
.
Pasirinkite regioną, serverio tipą (Ubuntu 16.04), serverio dydį, tada 6 dalyje ( SSH keys
) spustelėkite Add New
. Kitame puslapyje įklijuokite savo viešąjį raktą ir suteikite jam pavadinimą, tada spustelėkite Add SSH key
. Galiausiai įsitikinkite, kad pasirinktas raktas, ir spustelėkite Deploy now
.
Kai serveris baigs diegti, jums bus parodytas jo IP adresas. Turėsite prisijungti prie savo domeno vardo DNS serverio ir nukreipti jį šiuo adresu.
Ansible automatizavimo failai vadinami roles
. Pirmiausia nustatysime katalogo struktūrą ( ansible
katalogas, kurį ką tik sukūrėte atlikdami 1 veiksmą), ir pagrindinius failus.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Redaguokite hosts
failą, kad jame būtų toliau nurodyta, pakeisdami ip address
ką tik sukurtą serverį. Ansible naudoja python 2, kurio Ubuntu 16.04 pagal numatytuosius nustatymus neįdiegė. Į hosts
failą mes pasakyti Ansible naudoti python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Redaguokite deploy.yml
failą, kad jame būtų toliau nurodyta. Mes ketiname naudoti root
vartotoją.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Redaguokite /group_vars/all
failą, kad jame būtų toliau nurodyta. Šie kintamieji nurodo Ansible jūsų SSH raktų vietą, apsikeitimo failo parametrus, jūsų visiškai kvalifikuotą domeno vardą ir pagrindinį slaptažodį. Atminkite, nėra įtraukti į šaltinio kontrolės failą, nes jame yra slaptažodį atviru tekstu.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Redaguokite common/handlers/main.yml
failą, kad jame būtų toliau nurodyta.
- name: restart sshd
service: name=ssh state=restarted
Galimas automatizavimas yra lengviau suprantamas, jei suskirstysime jį į užduotis. Sukurkime failus kiekvienai mūsų atliekamai užduočiai.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
turėtų nukreipti į kiekvieną failą, kuriame yra Ansible komandos, todėl redaguokite jį, kad būtų toliau nurodyta.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Pirmasis naujo serverio nustatymo veiksmas yra atnaujinti repo talpyklą ir nustatyti laiko juostą. Redaguokite common/handlers/setup.yml
failą, kad jame būtų toliau nurodyta.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Dabar pagrindiniam vartotojui suteiksime slaptažodį (kurio turėsime pasiekti virtualmin žiniatinklio sąsają), bet išjungsime slaptažodžių prisijungimus per SSH (nes naudojame saugesnių raktų autentifikavimo metodą). Redaguoti, users.yml
kad būtų toliau nurodyta.
- name: Change passwd
user: name=root password={{ new_password | password_hash('sha512') }} update_password=always
- name: Disable SSH password login
lineinfile: dest=/etc/ssh/sshd_config regexp="^#?PasswordAuthentication" line="PasswordAuthentication no"
notify: restart sshd
Dėl saugumo mums reikia ugniasienės. Naudosime nesudėtingą užkardą, kad suteiktume SSH prieigą prie prievado 22
, žiniatinklio prieigą prie prievado 80
ir saugią žiniatinklio prieigą prie prievado 443
. Redaguokite ufw.yml
failą, kad jame būtų toliau nurodyta.
- name: Set default firewall policy to deny all
become: True
ufw: state=enabled direction=incoming policy=deny
tags: firewall
- name: enable SSH in firewall
ufw: rule=allow port=22
sudo: yes
- name: enable HTTP connections for web server
ufw: rule=allow port=80
sudo: yes
- name: enable HTTPS connections for web server
ufw: rule=allow port=443
sudo: yes
- name: enable firewall
ufw: state=enabled
sudo: yes
Pasirinktinai galite įtraukti apsikeitimo failą. Tai būtina, jei jūsų serveryje yra mažiau nei 2 GB RAM, kad išvengtumėte atminties gedimų. Redaguoti, swap.yml
kad būtų toliau nurodyta.
- name: Set swap_file variable
set_fact:
swap_file: "{{swap_file_path}}"
tags:
- swap.set.file.path
- name: Check if swap file exists
stat:
path: "{{swap_file}}"
register: swap_file_check
tags:
- swap.file.check
- name: Create swap file
command: fallocate -l {{swap_file_size}} {{swap_file}}
when: not swap_file_check.stat.exists
tags:
- swap.file.create
- name: Change swap file permissions
file: path="{{swap_file}}"
owner=root
group=root
mode=0600
tags:
- swap.file.permissions
- name: Format swap file
sudo: yes
command: "mkswap {{swap_file}}"
when: not swap_file_check.stat.exists
tags:
- swap.file.mkswap
- name: Write swap entry in fstab
mount: name=none
src={{swap_file}}
fstype=swap
opts=sw
passno=0
dump=0
state=present
tags:
- swap.fstab
- name: Turn on swap
sudo: yes
command: swapon -a
when: not swap_file_check.stat.exists
tags:
- swap.turn.on
- name: Set swappiness
sudo: yes
sysctl:
name: vm.swappiness
value: "{{swappiness}}"
tags:
- swap.set.swappiness
„Virtualmin“ turi savo diegimo failą, kurį gali atsisiųsti ir paleisti „Ansible“. Čia mes naudojame minimalų diegimą ( LINK
). Papildomi elementai yra sukonfigūruoti MySQL serverio slaptažodį, kuris nėra nustatytas įdiegus Virtualmin. Prieš keisdami slaptažodį, turime laikinai sustabdyti MySQL ir pridėti autentifikavimo katalogą. Redaguoti, virtualmin.yml
kad būtų toliau nurodyta.
- name: download virtualmin install script
get_url: >
url=http://software.virtualmin.com/gpl/scripts/install.sh
dest=/root/install.sh
mode=0755
- name: virtualmin install (takes around 10 mins) you can see progress using $ sudo tail -f /root/virtualmin-install.log
tags: non-idem
shell: ~/install.sh --force --hostname {{ hostname }} --minimal --yes
args:
chdir: /root
- name: temp stop mysql
service:
name: mysql
state: stopped
- name: change owner (and group) of mysqld dir
file:
path: "/var/run/mysqld"
state: directory
owner: mysql
group: mysql
- name: virtualmin set mysql password
shell: virtualmin set-mysql-pass --user root --pass {{ new_password }}
- name: restart mysql
service:
name: mysql
state: started
Ansible vaidmuo dabar baigtas ir mes pasiruošę dislokuoti.
Iš aplanko ansible dabar galime tiesiog paleisti šią komandą, o Ansible automatiškai atliks visas mūsų sukurtas užduotis. Kai prisijungiate pirmą kartą, gausite SSH rakto įspėjimą, tiesiog įveskite " yes
" į raginimą.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Jei norime naudoti kitą serverį, galime tiesiog pakeisti IP adresą hosts faile ir paleisti tą komandą dar kartą, kad užbaigtume tą pačią sąranką.
Diegimas baigtas ir dabar galime eiti į https://192.0.2.1:10000
(naudokite savo serverio IP adresą). Jūsų naršyklė pateiks saugos įspėjimą, nes sertifikatas yra pasirašytas savarankiškai, todėl spustelėkite advanced
ir pridėkite išimtį. Jums bus pateiktas prisijungimo puslapis. Vartotojo vardas yra root
, o slaptažodis yra tas, kurį įvedėte group_vars/all
faile atlikdami 3 veiksmą. Pirmą kartą įėjus į Virtualmin, jums bus pateiktas podiegimo vedlys. Šiuos nustatymus galite atlikti rankiniu būdu arba spustelėti, cancel
kad priimtumėte numatytuosius nustatymus.
Norėdami sukurti ir paleisti pirmąjį „Wordpress“ serverį, „Virtualmin“ prietaisų skydelyje spustelėkite Create Virtual Server
. Turėsite įvesti domeno pavadinimą, aprašą ir administratoriaus slaptažodį. Domeno vardas turi skirtis nuo Virtualmin visiškai kvalifikuoto domeno vardo, todėl DNS įrašą turėsite nukreipti į savo serverio IP adresą.
Spustelėkite Create Server
. Kai „Virtualmin“ baigs kurti serverį, spustelėkite Install Scripts
kairėje esantį meniu. Pasirinkite Wordpress
, spustelėkite Show install options
ir kitame puslapyje pasirinkite Wordpress diegimo vietą. Tiesiog pasirinkite At top level
ir spustelėkite Install Now
.
Tai viskas, ką jums reikia padaryti – galite užbaigti Wordpress diegimą apsilankę savo http://example.net/wp-admin/install.php
(kur example.net
yra šis virtualaus serverio domeno pavadinimas). Jei jūsų DNS įrašai dar Services > Preview Website
nepaplatinti, galite eiti į Virtualmin meniu.
Galite pakartoti šį veiksmą kelis kartus, kad sukurtumėte kelias Wordpress svetaines tame pačiame Vultr serveryje.
Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta
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ą? Jekyll yra gera „WordPress“ alternatyva. Tam nereikia jokių duomenų bazių ir jis veikia daugeliui pažįstama kalba
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ą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Neos yra naujoviška atvirojo kodo turinio valdymo sistema, puikiai tinkanti kuriant ir redaguojant internetinį turinį. Turint omenyje autorius ir redaktorius, Neo
Naudojate kitą sistemą? Ghost yra atvirojo kodo tinklaraščių platforma, kuri populiarėja tarp kūrėjų ir paprastų vartotojų nuo 201 m.
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Naudojate kitą sistemą? Ghost yra atvirojo kodo tinklaraščių platforma, kuri populiarėja tarp kūrėjų ir paprastų vartotojų nuo 201 m.
Įprastas „Vultr“ virtualaus serverio naudojimas yra „Wordpress“ svetainių talpinimas. Šiame vadove parodyta, kaip automatizuoti virtualaus serverio konfigūravimą nuo nulio
„Ghost“ yra moderni atvirojo kodo publikavimo platforma, sukurta naudojant Node.js su Ember.js administratoriaus klientu, JSON API ir temine API, kurią palaiko Handlebars.js. Ghos
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ą? SilverStripe yra lanksti ir išplečiama nemokama ir atviro kodo įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. aš
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Naudojate kitą sistemą? Ghost yra atvirojo kodo tinklaraščių platforma, kuri populiarėja tarp kūrėjų ir paprastų vartotojų nuo pat 2013 m. aš
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Typesetter yra atvirojo kodo TVS, parašyta PHP, orientuota į naudojimo paprastumą su True WYSIWYG redagavimu ir fiksuotų failų saugykla. Šiame straipsnyje mes įdiegsime
„Vultr“ egzemplioriai yra puikus būdas paleisti „WordPress“ tinklaraštį, tačiau ryškesnis „WordPress“ plėtinys yra „WooCommerce“, el. prekybos papildinys, praplečiantis
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ą? SilverStripe yra lanksti ir išplečiama nemokama ir atviro kodo įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. aš
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į