Vytvoření blogu Jekyll na Ubuntu 16.04
Používáte jiný systém? Jekyll je skvělá alternativa k WordPressu pro blogování nebo sdílení obsahu. Nevyžaduje žádné databáze a je velmi snadné i
Běžným využitím virtuálního serveru Vultr je hostování webových stránek Wordpress. Tato příručka vám ukáže, jak automatizovat konfiguraci virtuálního serveru od začátku (pomocí Ansible) a nasadit více nezávislých webů Wordpress (pomocí Webmin/Virtualmin). Virtualmin/Webmin je grafické uživatelské rozhraní, které vám umožňuje spravovat nasazení více účtů virtuálního serveru na stejném počítači (kompletní se zásobníkem LAMP/LEMP). Virtualmin je velmi podobný cPanel a Plesk a v tomto tutoriálu budeme používat bezplatnou edici GPL. Po počátečním nastavení serveru Vultr a instalaci Virtualminu můžete velmi rychle nastavit více virtuálních serverů z rozhraní Virtualmin a přímo nainstalovat Wordpress na tento virtuální server s jeho vlastním názvem domény.
V tomto tutoriálu místo ručního zadávání dlouhého seznamu příkazů použijeme Ansible. Ansible je automatizační nástroj založený na pythonu, který vám umožňuje spolehlivě a opakovaně automatizovat úlohy serveru. To znamená, že jakmile budete postupovat podle tohoto návodu, budete moci stejným způsobem nasadit další server pomocí několika příkazů.
Nainstalujte Ansible na místní počítač nebo jiný server.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible funguje tak, že se na váš server přihlásíte přes SSH. Přístup SSH je nejbezpečnější, pokud místo hesla používáme klíče. Nejprve vygenerujeme pár veřejného a soukromého klíče.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
V ssh_keys
adresáři budou nyní dva soubory ssh_keys
a ssh_keys.pub
. ssh_keys
je soubor vašeho soukromého klíče a měl by být uchováván v bezpečí. Nyní můžete otevřít soubor ssh_keys.pub
, který obsahuje veřejný klíč.
Přihlaste se na webový panel Vultr a klikněte na Deploy New Server
.
Vyberte oblast, Typ serveru (Ubuntu 16.04), Velikost serveru a poté v části 6 ( SSH keys
) klikněte na Add New
. Na další stránce vložte svůj veřejný klíč, pojmenujte jej a klikněte na Add SSH key
. Nakonec se ujistěte, že je vybrán klíč, a klepněte na Deploy now
.
Jakmile server dokončí nasazení, zobrazí se vám jeho IP adresa. Budete se muset přihlásit k serveru DNS názvu vaší domény a nasměrovat jej na tuto adresu.
Automatizační soubory Ansible se nazývají roles
. Nejprve nastavíme adresářovou strukturu (uvnitř ansible
adresáře, který jste právě vytvořili v kroku 1) a základní soubory.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Upravte hosts
soubor tak, aby obsahoval následující, nahraďte ip address
server, který jste právě vytvořili. Ansible používá python 2, který Ubuntu 16.04 nemá ve výchozím nastavení nainstalovaný. V hosts
souboru říkáme Ansible, aby používal python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Upravte deploy.yml
soubor tak, aby obsahoval následující. Budeme používat root
uživatele.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Upravte /group_vars/all
soubor tak, aby obsahoval následující. Tyto proměnné říkají Ansible umístění vašich klíčů SSH, parametry odkládacího souboru, vaše plně kvalifikované jméno domény a heslo uživatele root. Mějte na paměti, není -li soubor do řízení zdrojů, protože obsahuje heslo ve formátu prostého textu.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Upravte common/handlers/main.yml
soubor tak, aby obsahoval následující.
- name: restart sshd
service: name=ssh state=restarted
Ansible automatizaci je snazší pochopit, pokud ji rozdělíme na úkoly. Pojďme vytvořit soubory pro každý z našich úkolů v procesu.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
by měl ukazovat na každý soubor obsahující příkazy Ansible, takže jej upravte tak, aby obsahoval následující.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Prvním krokem při nastavování nového serveru je aktualizace mezipaměti úložiště a nastavení časového pásma. Upravte common/handlers/setup.yml
soubor tak, aby obsahoval následující.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Nyní dáme uživateli root heslo (které budeme potřebovat pro přístup k webovému rozhraní virtualminu), ale zakážeme přihlašování heslem přes SSH (protože používáme bezpečnější klíčovou metodu ověřování). Upravit tak, users.yml
aby obsahovala následující.
- 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
Kvůli bezpečnosti potřebujeme firewall. Použijeme nekomplikovaný firewall, abychom umožnili SSH přístup na portu 22
, webový přístup na portu 80
a bezpečný webový přístup na portu 443
. Upravte ufw.yml
soubor tak, aby obsahoval následující.
- 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
Volitelně můžete zahrnout odkládací soubor. To je nezbytné, pokud má váš server méně než 2 GB RAM, aby se předešlo výpadkům z nedostatku paměti. Upravit tak, swap.yml
aby obsahovala následující.
- 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 má svůj vlastní instalační soubor, který si může Ansible stáhnout a spustit. Zde používáme minimální instalaci ( LINK
). Dalšími položkami je konfigurace hesla serveru MySQL, které se při instalaci Virtualminem nenastavuje. Před změnou hesla musíme dočasně zastavit MySQL a přidat autentizační adresář. Upravit tak, virtualmin.yml
aby obsahovala následující.
- 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
Role Ansible je nyní dokončena a jsme připraveni k nasazení.
Ze složky ansible nyní můžeme jednoduše spustit následující příkaz a Ansible automaticky provede všechny úkoly, které jsme vytvořili. Při prvním připojení se zobrazí upozornění na klíč SSH, stačí yes
do výzvy zadat „ “.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Pokud chceme použít jiný server, můžeme jednoduše změnit IP adresu v souboru hosts a spustit tento příkaz znovu, abychom dokončili přesně stejné nastavení.
Instalace je dokončena a nyní můžeme přejít na https://192.0.2.1:10000
(použijte IP adresu vašeho serveru). Váš prohlížeč vydá bezpečnostní varování, protože certifikát je podepsán sám sebou, takže klikněte advanced
a přidejte výjimku. Zobrazí se vám přihlašovací stránka. Uživatelské jméno je root
a heslo je to, které jste zadali do group_vars/all
souboru v kroku 3. Když poprvé vstoupíte do Virtualminu, zobrazí se vám průvodce po instalaci. Tato nastavení můžete buď projít ručně, nebo kliknutím cancel
přijmout výchozí nastavení.
Chcete-li zprovoznit svůj první server Wordpress, klikněte na ovládacím panelu Virtualmin na Create Virtual Server
. Budete muset zadat název domény, popis a heslo správce. Název domény by se měl lišit od plně kvalifikovaného názvu domény Virtualmin a budete muset nasměrovat DNS záznam na IP adresu vašeho serveru.
Klikněte na Create Server
. Jakmile Virtualmin dokončí vytváření vašeho serveru, klikněte Install Scripts
na nabídku vlevo. Vyberte Wordpress
, klikněte Show install options
na a na následující stránce zvolte umístění instalace Wordpressu. Stačí si vybrat At top level
a kliknout Install Now
.
To je vše, co musíte udělat – instalaci Wordpressu můžete dokončit tak, že navštívíte vaši http://example.net/wp-admin/install.php
(kde example.net
je název domény virtuálních serverů). Pokud se vaše DNS záznamy ještě nerozšířily, můžete přejít na Services > Preview Website
z nabídky Virtualmin.
Tento krok můžete opakovat několikrát, abyste vytvořili více webů Wordpress, všechny na stejném serveru Vultr.
Používáte jiný systém? Jekyll je skvělá alternativa k WordPressu pro blogování nebo sdílení obsahu. Nevyžaduje žádné databáze a je velmi snadné i
Používáte jiný systém? MODX Revolution je rychlý, flexibilní, škálovatelný, bezplatný a open source podnikový systém správy obsahu (CMS) napsaný i
Používáte jiný systém? MODX Revolution je rychlý, flexibilní, škálovatelný, open source podnikový systém správy obsahu (CMS) napsaný v PHP. To i
Úvod WordPress je dominantním redakčním systémem na internetu. Pohání vše od blogů po složité webové stránky s dynamickým obsahem
Používáte jiný systém? Jekyll je dobrou alternativou k WordPressu. Nevyžaduje žádné databáze a pracuje s jazykem, který mnozí zná
Používáte jiný systém? MODX Revolution je rychlý, flexibilní, škálovatelný, bezplatný a open source podnikový systém správy obsahu (CMS) napsaný i
Používáte jiný systém? Fork je open source CMS napsaný v PHP. Zdrojový kód Forks je hostován na GitHubu. Tato příručka vám ukáže, jak nainstalovat Fork CM
Neos je inovativní open source systém pro správu obsahu, který je skvělý pro vytváření a úpravy online obsahu. S ohledem na autory a editory, Neo
Používáte jiný systém? Ghost je open source platforma pro blogování, která si od roku 201 získává oblibu mezi vývojáři i běžnými uživateli.
Používáte jiný systém? SilverStripe je flexibilní a rozšiřitelný, open source, podnikový systém správy obsahu (CMS) napsaný v PHP. Je to snadné
Používáte jiný systém? Ghost je open source platforma pro blogování, která si od roku 201 získává oblibu mezi vývojáři i běžnými uživateli.
Běžným využitím virtuálního serveru Vultr je hostování webových stránek Wordpress. Tato příručka vám ukáže, jak automatizovat konfiguraci virtuálního serveru od nuly
Ghost je nejnovější a největší nováček konkurenčního WordPressu. Vývoj tématu je rychlý a snadno se učí, protože vývojáři Ghost se rozhodli použít oba th
Ghost je moderní platforma pro publikování s otevřeným zdrojovým kódem postavená na Node.js s administračním klientem Ember.js, rozhraním JSON API a tematickým API založeným na Handlebars.js. Ghos
Používáte jiný systém? MODX Revolution je rychlý, flexibilní, škálovatelný, bezplatný a open source podnikový systém správy obsahu (CMS) napsaný i
Používáte jiný systém? Dotclear je velmi jednoduchý blogovací engine. Je to open source a snadno se používá. Tento tutoriál projde instalací na
Používáte jiný systém? SilverStripe je flexibilní a rozšiřitelný bezplatný a open source podnikový systém správy obsahu (CMS) napsaný v PHP. já
Používáte jiný systém? Fork je open source CMS napsaný v PHP. Zdrojový kód Forks je hostován na GitHubu. Tato příručka vám ukáže, jak nainstalovat Fork CM
Používáte jiný systém? Ghost je open source platforma pro blogování, která si od svého vydání v roce 2013 získává na popularitě mezi vývojáři i běžnými uživateli. já
Používáte jiný systém? Fork je open source CMS napsaný v PHP. Zdrojový kód Forks je hostován na GitHubu. Tato příručka vám ukáže, jak nainstalovat Fork CM
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více