Izrada Jekyll bloga na Ubuntu 16.04
Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i
Uobičajena upotreba Vultr virtualnog poslužitelja je hostiranje Wordpress web stranica. Ovaj vam vodič pokazuje kako automatizirati konfiguraciju virtualnog poslužitelja od nule (pomoću Ansiblea) i implementirati više neovisnih Wordpress web stranica (pomoću Webmin/Virtualmin). Virtualmin/Webmin je grafičko korisničko sučelje koje vam omogućuje upravljanje implementacijom više računa virtualnog poslužitelja na istom stroju (zajedno sa LAMP/LEMP stogom). Virtualmin je vrlo sličan cPanelu i Plesku, a u ovom vodiču koristit ćemo besplatno GPL izdanje. Nakon početnog postavljanja Vultr poslužitelja i instalacije Virtualmina, možete vrlo brzo postaviti više virtualnih poslužitelja unutar Virtualmin sučelja i izravno instalirati Wordpress na taj virtualni poslužitelj zajedno s vlastitim imenom domene.
U ovom vodiču, umjesto ručnog unosa dugačkog popisa naredbi, koristit ćemo Ansible. Ansible je alat za automatizaciju baziran na pythonu koji vam omogućuje pouzdanu i opetovanu automatizaciju zadataka poslužitelja. To znači da ćete nakon što slijedite ovaj vodič moći implementirati drugi poslužitelj na isti način sa samo nekoliko naredbi.
Instalirajte Ansible na vašem lokalnom računalu ili drugom poslužitelju.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible radi prijavom na vaš poslužitelj putem SSH-a. SSH pristup je najsigurniji ako koristimo ključeve umjesto lozinke. Prvo generirajmo javni i privatni par ključeva.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
U ssh_keys
direktoriju će sada biti dvije datoteke ssh_keys
i ssh_keys.pub
. ssh_keys
je vaša datoteka privatnog ključa i treba je čuvati na sigurnom. Sada možete otvoriti ssh_keys.pub
, koji sadrži javni ključ.
Prijavite se na Vultr web nadzornu ploču i kliknite Deploy New Server
.
Odaberite regiju, vrstu poslužitelja (Ubuntu 16.04), veličinu poslužitelja, a zatim u dijelu 6 ( SSH keys
), kliknite Add New
. Na sljedećoj stranici zalijepite svoj javni ključ i dajte mu ime te kliknite Add SSH key
. Na kraju provjerite je li ključ odabran i kliknite Deploy now
.
Nakon što poslužitelj završi s implementacijom, bit će vam prikazana njegova IP adresa. Morat ćete se prijaviti na DNS poslužitelj imena svoje domene i usmjeriti ga na ovu adresu.
Ansibleove automatizacijske datoteke nazivaju se roles
. Prvo ćemo postaviti strukturu direktorija (unutar ansible
direktorija koji ste upravo stvorili u koraku 1) i osnovne datoteke.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Uredite hosts
datoteku tako da sadrži sljedeće, zamjenjujući ip address
poslužitelj koji ste upravo stvorili. Ansible koristi python 2, koji Ubuntu 16.04 nema instaliran prema zadanim postavkama. U hosts
datoteci kažemo Ansibleu da koristi python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Uredite deploy.yml
datoteku tako da sadrži sljedeće. Koristit ćemo root
korisnika.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Uredite /group_vars/all
datoteku tako da sadrži sljedeće. Ove varijable govore Ansibleu lokaciju vaših SSH ključeva, parametre swap datoteke, vaš potpuno kvalificirani naziv domene i root lozinku. Ne zaboravite da ne uključujete datoteku u izvornu kontrolu jer sadrži vašu lozinku u čistom tekstu.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Uredite common/handlers/main.yml
datoteku tako da sadrži sljedeće.
- name: restart sshd
service: name=ssh state=restarted
Ansible automatizaciju je lakše razumjeti ako je podijelimo na zadatke. Stvorimo datoteke za svaki naš zadatak u tom procesu.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
treba pokazivati na svaku datoteku koja sadrži Ansible naredbe, stoga je uredite tako da sadrži sljedeće.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Prvi korak u postavljanju novog poslužitelja je ažuriranje repo predmemorije i postavljanje vremenske zone. Uredite common/handlers/setup.yml
datoteku tako da sadrži sljedeće.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Sada ćemo root korisniku dati lozinku (koja će nam trebati za pristup web sučelju virtualmin), ali onemogućiti prijavu lozinkom preko SSH-a (budući da koristimo metodu provjere autentičnosti sa sigurnijim ključevima). Uredite tako users.yml
da sadrži sljedeće.
- 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
Za sigurnost nam je potreban vatrozid. Koristit ćemo Nekomplicirani vatrozid da omogućimo SSH pristup na portu 22
, pristup webu na portu 80
i siguran web pristup na portu 443
. Uredite ufw.yml
datoteku tako da sadrži sljedeće.
- 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
Po želji možete uključiti swap datoteku. Ovo je bitno ako vaš poslužitelj ima manje od 2 GB RAM-a kako bi se izbjegla rušenja bez memorije. Uredite tako swap.yml
da sadrži sljedeće.
- 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 ima svoju datoteku za instalaciju koju Ansible može preuzeti i pokrenuti. Ovdje koristimo minimalnu instalaciju ( LINK
). Dodatne stavke su konfiguriranje lozinke MySQL poslužitelja koja nije postavljena kada je Virtualmin instalira. Moramo privremeno zaustaviti MySQL i dodati direktorij za provjeru autentičnosti prije promjene lozinke. Uredite tako virtualmin.yml
da sadrži sljedeće.
- 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 uloga je sada gotova i spremni smo za implementaciju.
Iz mape ansible sada jednostavno možemo pokrenuti sljedeću naredbu i Ansible će automatski izvršiti sve zadatke koje smo kreirali. Kada se prvi put povežete, dobit ćete upozorenje o SSH ključu, samo upišite " yes
" na upit.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Ako želimo koristiti drugi poslužitelj, možemo jednostavno promijeniti IP adresu u datoteci hosts i ponovno pokrenuti tu naredbu kako bismo dovršili potpuno isto postavljanje.
Instalacija je završena i sada možemo ići na https://192.0.2.1:10000
(koristite ip adresu vašeg poslužitelja). Vaš preglednik će izdati sigurnosno upozorenje jer je certifikat samopotpisan, stoga kliknite advanced
i dodajte iznimku. Bit će vam prikazana stranica za prijavu. Korisničko ime je root
, a lozinka je ona koju ste unijeli u group_vars/all
datoteku u koraku 3. Kada prvi put uđete u Virtualmin, prikazat će vam se čarobnjak nakon instalacije. Možete proći kroz ove postavke ručno ili kliknuti cancel
da prihvatite zadane postavke.
Da biste pokrenuli svoj prvi Wordpress poslužitelj, na nadzornoj ploči Virtualmin kliknite Create Virtual Server
. Morat ćete unijeti naziv domene, opis i lozinku administratora. Naziv domene trebao bi se razlikovati od potpuno kvalificiranog naziva domene Virtualmin i morat ćete usmjeriti DNS zapis na IP adresu vašeg poslužitelja.
Kliknite Create Server
. Nakon što Virtualmin završi kreiranje vašeg poslužitelja, kliknite Install Scripts
na izbornik s lijeve strane. Odaberite Wordpress
, kliknite Show install options
i na sljedećoj stranici odaberite mjesto instalacije Wordpressa. Samo odaberite At top level
i kliknite Install Now
.
To je sve što trebate učiniti - možete dovršiti instalaciju Wordpressa tako što ćete posjetiti svoju http://example.net/wp-admin/install.php
(gdje example.net
je naziv domene ovog virtualnog poslužitelja). Ako se vaši DNS zapisi još nisu proširili, možete ići na Services > Preview Website
s izbornika Virtualmin.
Ovaj korak možete ponoviti više puta kako biste stvorili više Wordpress stranica na istom Vultr poslužitelju.
Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, besplatan i otvorenog koda, Enterprise-grade Content Management System (CMS) napisan i
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, open source, Enterprise-grade Content Management System (CMS) napisan u PHP-u. To i
Uvod WordPress je dominantni sustav za upravljanje sadržajem na internetu. Pokreće sve, od blogova do složenih web stranica s dinamičkim sadržajem
Korištenje drugog sustava? Jekyll je dobra alternativa WordPressu. Ne zahtijeva nikakve baze podataka i radi s jezikom koji je mnogima poznat
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, besplatan i otvorenog koda, Enterprise-grade Content Management System (CMS) napisan i
Korištenje drugog sustava? Fork je CMS otvorenog koda napisan u PHP-u. Izvorni kod Forks nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati Fork CM
Neos je inovativni sustav upravljanja sadržajem otvorenog koda koji je izvrstan za stvaranje i uređivanje online sadržaja. Imajući na umu autore i urednike, Neo
Korištenje drugog sustava? Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od 201.
Korištenje drugog sustava? SilverStripe je fleksibilan i proširiv, otvorenog koda, Enterprise-grade Content Management System (CMS) napisan u PHP-u. To je lako
Korištenje drugog sustava? Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od 201.
Uobičajena upotreba Vultr virtualnog poslužitelja je hostiranje Wordpress web stranica. Ovaj vodič pokazuje kako automatizirati konfiguraciju virtualnog poslužitelja ispočetka
Ghost je najnoviji i najveći početnik u konkurenciji WordPressu. Razvoj teme je brz i jednostavan za učenje jer su programeri Ghost odlučili koristiti oba
Ghost je moderna platforma za objavljivanje otvorenog koda izgrađena na Node.js s administratorskim klijentom Ember.js, JSON API-jem i API-jem za temu koji pokreće Handlebars.js. Ghos
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, besplatan i otvorenog koda, Enterprise-grade Content Management System (CMS) napisan i
Korištenje drugog sustava? Dotclear je vrlo jednostavan motor za bloganje. Otvoren je kod i jednostavan za korištenje. Ovaj vodič će proći kroz instalaciju
Korištenje drugog sustava? Fork je CMS otvorenog koda napisan u PHP-u. Izvorni kod Forks nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati Fork CM
Korištenje drugog sustava? Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od svog izdanja 2013. godine. ja
Korištenje drugog sustava? Fork je CMS otvorenog koda napisan u PHP-u. Izvorni kod Forks nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati Fork CM
Typesetter je CMS otvorenog koda napisan u PHP-u usmjeren na jednostavnost korištenja s True WYSIWYG uređivanjem i pohranom ravnih datoteka. U ovom članku ćemo instalirati
Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.
Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.
Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.
Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.
Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…
Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.
Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.
Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.
U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.
Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više