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_keys
imeniku bosta zdaj dve datoteki ssh_keys
in ssh_keys.pub
. ssh_keys
je 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 ansible
imenika, 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 hosts
datoteko tako, da bo vsebovala naslednje, zamenjajte ip address
strežnik, ki ste ga pravkar ustvarili. Ansible uporablja python 2, ki ga Ubuntu 16.04 privzeto nima nameščenega. V hosts
datoteki povemo Ansibleu, da uporablja python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Uredite deploy.yml
datoteko, da bo vsebovala naslednje. Uporabili bomo root
uporabnika.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Uredite /group_vars/all
datoteko, 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.yml
datoteko, 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.yml
datoteko, 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.yml
da 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 80
in varen spletni dostop na vratih 443
. Uredite ufw.yml
datoteko, 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.yml
da 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.yml
da 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, yes
v 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 advanced
in 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/all
datoteko v 3. koraku. Ko prvič vstopite v Virtualmin, se vam bo prikazal čarovnik po namestitvi. Te nastavitve lahko pregledate ročno ali kliknete, cancel
da 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 Scripts
na levi meni. Izberite Wordpress
, kliknite Show install options
in na naslednji strani izberite lokacijo namestitve Wordpress. Samo izberite At top level
in 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.net
je to ime domene virtualnih strežnikov). Če se vaši zapisi DNS še niso razširili, lahko odprete Services > Preview Website
iz 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č