Ustvarjanje bloga Jekyll v Ubuntu 16.04
 
                            Uporaba drugega sistema? Jekyll je odlična alternativa WordPressu za bloganje ali deljenje vsebine. Ne zahteva nobenih baz podatkov in je zelo enostaven i
Običajna uporaba virtualnega strežnika Vultr je gostovanje spletnih mest Wordpress. Ta priročnik vam pokaže, kako avtomatizirati konfiguracijo navideznega strežnika iz nič (z uporabo Ansible) in uvesti več neodvisnih spletnih mest Wordpress (z uporabo Webmin/Virtualmin). Virtualmin/Webmin je grafični uporabniški vmesnik, ki vam omogoča upravljanje uvajanja več računov navideznega strežnika na istem računalniku (skupaj s skladom LAMP/LEMP). Virtualmin je zelo podoben cPanelu in Plesku, v tej vadnici pa bomo uporabljali brezplačno izdajo GPL. Po začetni nastavitvi strežnika Vultr in namestitvi Virtualmin lahko zelo hitro nastavite več virtualnih strežnikov znotraj vmesnika Virtualmin in neposredno namestite Wordpress na ta virtualni strežnik skupaj z lastnim imenom domene.
V tej vadnici bomo namesto ročnega vnosa dolgega seznama ukazov uporabili Ansible. Ansible je orodje za avtomatizacijo, ki temelji na pythonu, ki vam omogoča zanesljivo in večkratno avtomatizacijo strežniških nalog. To pomeni, da ko boste sledili tej vadnici, boste lahko na enak način namestili drug strežnik z le nekaj ukazi.
Namestite Ansible na vaš lokalni računalnik ali drug strežnik.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible deluje tako, da se prijavite v vaš strežnik prek SSH. Dostop SSH je najbolj varen, če uporabljamo ključe in ne geslo. Najprej ustvarimo par javnih in zasebnih ključev.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
V ssh_keysimeniku bosta zdaj dve datoteki ssh_keysin ssh_keys.pub. ssh_keysje vaša datoteka z zasebnim ključem in jo je treba hraniti na varnem. Zdaj lahko odprete datoteko ssh_keys.pub, ki vsebuje javni ključ.
Prijavite se na spletno nadzorno ploščo Vultr in kliknite Deploy New Server.
Izberite regijo, vrsto strežnika (Ubuntu 16.04), velikost strežnika in nato v 6. delu ( SSH keys) kliknite Add New. Na naslednji strani prilepite svoj javni ključ in mu dajte ime ter kliknite Add SSH key. Na koncu se prepričajte, da je ključ izbran in kliknite Deploy now. 
Ko se strežnik konča z uvajanjem, vam bo prikazan njegov naslov IP. Prijaviti se boste morali v strežnik DNS svojega imena domene in ga usmeriti na ta naslov.  
Ansibleove datoteke za avtomatizacijo se imenujejo roles. Najprej bomo nastavili strukturo imenika (znotraj ansibleimenika, ki ste ga pravkar ustvarili v 1. koraku) in 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 hostsdatoteko tako, da bo vsebovala naslednje, zamenjajte ip addressstrežnik, ki ste ga pravkar ustvarili. Ansible uporablja python 2, ki ga Ubuntu 16.04 privzeto nima nameščenega. V hostsdatoteki povemo Ansibleu, da uporablja python 3.  
[common]  
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Uredite deploy.ymldatoteko, da bo vsebovala naslednje. Uporabili bomo rootuporabnika.
- name: apply common configuration to server
  hosts: all
  user: root
  roles:
    - common
Uredite /group_vars/alldatoteko, da bo vsebovala naslednje. Te spremenljivke povedo Ansibleu lokacijo vaših ključev SSH, parametre izmenjalne datoteke, vaše popolnoma kvalificirano ime domene in korensko geslo. Ne pozabite, da datoteke ne vključite v izvorni nadzor, saj vsebuje vaše geslo v čistem besedilu.
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.ymldatoteko, da bo vsebovala naslednje.
- name: restart sshd
  service: name=ssh state=restarted
Ansible avtomatizacijo je lažje razumeti, če jo razdelimo na naloge. V procesu ustvarimo datoteke za vsako od naših nalog.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml mora kazati na vsako datoteko, ki vsebuje ukaze Ansible, zato jo uredite tako, da vsebuje naslednje.  
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Prvi korak pri nastavitvi novega strežnika je posodobitev predpomnilnika repo in nastavitev časovnega pasu. Uredite common/handlers/setup.ymldatoteko, da bo vsebovala naslednje.
- apt: update_cache=yes
  sudo: yes
- name: set timezone to Europe/London
  timezone:
    name: Europe/London
Zdaj bomo uporabniku root dali geslo (ki ga bomo potrebovali za dostop do spletnega vmesnika virtualmin), vendar onemogočili prijave z gesli prek SSH (ker uporabljamo metodo avtentikacije z bolj varnimi ključi). Uredite tako, users.ymlda vsebuje naslednje.
- 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
Zaradi varnosti potrebujemo požarni zid. Uporabili bomo nezapleteni požarni zid, da bomo omogočili dostop SSH na vratih 22, spletni dostop na vratih 80in varen spletni dostop na vratih 443. Uredite ufw.ymldatoteko, da bo vsebovala naslednje.
- 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 lahko vključite izmenjalno datoteko. To je bistveno, če ima vaš strežnik manj kot 2 GB RAM-a, da se izognete zrušitvam pomnilnika. Uredite tako, swap.ymlda vsebuje naslednje.
- 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 svojo namestitveno datoteko, ki jo lahko prenese in zažene Ansible. Tukaj uporabljamo minimalno namestitev ( LINK). Dodatne postavke so konfiguriranje gesla strežnika MySQL, ki ni nastavljeno, ko ga namesti Virtualmin. Preden spremenimo geslo, moramo začasno ustaviti MySQL in dodati imenik za preverjanje pristnosti. Uredite tako, virtualmin.ymlda vsebuje naslednje.
- 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
Vloga Ansible je zdaj končana in pripravljeni smo za uvajanje.
Iz mape ansible lahko zdaj preprosto zaženemo naslednji ukaz in Ansible bo samodejno izvedel vse naloge, ki smo jih ustvarili. Ko se prvič povežete, boste prejeli opozorilo o ključu SSH, yesv poziv samo vnesite » «.  
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Če želimo uporabiti drug strežnik, lahko preprosto spremenimo naslov IP v datoteki hosts in znova zaženemo ta ukaz, da dokončamo popolnoma enako nastavitev.
Namestitev je končana in zdaj lahko gremo na https://192.0.2.1:10000(uporabite ip naslov vašega strežnika). Vaš brskalnik bo izdal varnostno opozorilo, ker je potrdilo samopodpisano, zato kliknite advancedin dodajte izjemo. Prikazala se vam bo stran za prijavo. Uporabniško ime je root, geslo pa je tisto, ki ste ga vnesli v group_vars/alldatoteko v 3. koraku. Ko prvič vstopite v Virtualmin, se vam bo prikazal čarovnik po namestitvi. Te nastavitve lahko pregledate ročno ali kliknete, cancelda sprejmete privzete nastavitve.
Če želite zagnati in zagnati svoj prvi strežnik Wordpress, na nadzorni plošči Virtualmin kliknite Create Virtual Server. Vnesti boste morali ime domene, opis in skrbniško geslo. Ime domene bi se moralo razlikovati od popolnoma kvalificiranega imena domene Virtualmin in zapis DNS boste morali usmeriti na naslov IP vašega strežnika.
Kliknite Create Server. Ko Virtualmin konča ustvarjanje vašega strežnika, kliknite Install Scriptsna levi meni. Izberite Wordpress, kliknite Show install optionsin na naslednji strani izberite lokacijo namestitve Wordpress. Samo izberite At top levelin kliknite Install Now.   
To je vse, kar morate storiti – namestitev Wordpressa lahko dokončate tako, da obiščete svojo http://example.net/wp-admin/install.php(kje example.netje to ime domene virtualnih strežnikov). Če se vaši zapisi DNS še niso razširili, lahko odprete Services > Preview Websiteiz menija Virtualmin.   
Ta korak lahko ponovite večkrat, da ustvarite več spletnih mest Wordpress na istem strežniku Vultr.
Uporaba drugega sistema? Jekyll je odlična alternativa WordPressu za bloganje ali deljenje vsebine. Ne zahteva nobenih baz podatkov in je zelo enostaven i
Uporaba drugega sistema? MODX Revolution je hiter, prilagodljiv, razširljiv, brezplačen in odprtokoden sistem za upravljanje vsebin (CMS) za podjetja, napisan i
Uporaba drugega sistema? MODX Revolution je hiter, prilagodljiv, razširljiv, odprtokoden sistem za upravljanje vsebin (CMS) za podjetja, napisan v PHP. To i
Uvod WordPress je prevladujoči sistem za upravljanje vsebin na internetu. Poganja vse, od blogov do zapletenih spletnih mest z dinamično vsebino
Uporaba drugega sistema? Jekyll je dobra alternativa WordPressu. Ne potrebuje baz podatkov in deluje z jezikom, ki ga mnogi poznajo
Uporaba drugega sistema? MODX Revolution je hiter, prilagodljiv, razširljiv, brezplačen in odprtokoden sistem za upravljanje vsebin (CMS) za podjetja, napisan i
Uporaba drugega sistema? Fork je odprtokodni CMS, napisan v PHP. Izvorna koda Forks gostuje na GitHubu. Ta priročnik vam bo pokazal, kako namestiti Fork CM
Neos je inovativen odprtokodni sistem za upravljanje vsebin, ki je odličen za ustvarjanje in urejanje spletnih vsebin. Z mislijo na avtorje in urednike, Neo
Uporaba drugega sistema? Ghost je odprtokodna platforma za bloganje, ki postaja vse bolj priljubljena med razvijalci in navadnimi uporabniki od leta 201.
Uporaba drugega sistema? Fork je odprtokodni CMS, napisan v PHP. Izvorna koda Forks gostuje na GitHubu. Ta priročnik vam bo pokazal, kako namestiti Fork CM
Uporaba drugega sistema? SilverStripe je prilagodljiv in razširljiv odprtokoden sistem za upravljanje vsebin (CMS) za podjetja, napisan v PHP. To je enostavno
Uporaba drugega sistema? Ghost je odprtokodna platforma za bloganje, ki postaja vse bolj priljubljena med razvijalci in navadnimi uporabniki od leta 201.
Običajna uporaba virtualnega strežnika Vultr je gostovanje spletnih mest Wordpress. Ta priročnik vam pokaže, kako avtomatizirati konfiguracijo navideznega strežnika od začetka
Ghost je najnovejši in največji začetnik v konkurenci WordPressu. Razvoj teme je hiter in enostaven za učenje, ker so se razvijalci Ghost odločili za uporabo obeh
Ghost je sodobna odprtokodna platforma za objavljanje, zgrajena na Node.js s skrbniškim odjemalcem Ember.js, API-jem JSON in API-jem za teme, ki ga poganja Handlebars.js. Ghos
Uporaba drugega sistema? MODX Revolution je hiter, prilagodljiv, razširljiv, brezplačen in odprtokoden sistem za upravljanje vsebin (CMS) za podjetja, napisan i
Uporaba drugega sistema? Dotclear je zelo preprost motor za bloganje. Je odprtokoden in enostaven za uporabo. Ta vadnica bo potekala skozi namestitev naprej
Uporaba drugega sistema? SilverStripe je prilagodljiv in razširljiv brezplačen in odprtokoden sistem za upravljanje vsebin (CMS), napisan v PHP. jaz
Uporaba drugega sistema? Fork je odprtokodni CMS, napisan v PHP. Izvorna koda Forks gostuje na GitHubu. Ta priročnik vam bo pokazal, kako namestiti Fork CM
Uporaba drugega sistema? Ghost je odprtokodna platforma za bloganje, ki od izdaje leta 2013 postaja vse bolj priljubljena med razvijalci in navadnimi uporabniki. jaz
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.
Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.
Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.
Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…
Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.
Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.
Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.
V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.
Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več
 
                             
                             
                            