Jekyll blog létrehozása Ubuntu 16.04-en
Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i
A Vultr virtuális szerverek gyakori használata Wordpress-webhelyek tárolására. Ez az útmutató bemutatja, hogyan automatizálhatja a virtuális szerver konfigurációját a semmiből (az Ansible használatával), és hogyan telepíthet több független Wordpress-webhelyet (Webmin/Virtualmin használatával). A Virtualmin/Webmin egy grafikus felhasználói felület, amely lehetővé teszi több virtuális kiszolgáló fiók telepítésének kezelését ugyanazon a gépen (LAMP/LEMP veremmel kiegészítve). A Virtualmin nagyon hasonlít a cPanelhez és a Pleskhez, és ebben az oktatóanyagban az ingyenes GPL-kiadást fogjuk használni. A Vultr szerver kezdeti beállítása és a Virtualmin telepítése után nagyon gyorsan beállíthat több virtuális kiszolgálót a Virtualmin felületről, és közvetlenül telepítheti a Wordpress-t arra a virtuális szerverre, saját tartománynévvel kiegészítve.
Ebben az oktatóanyagban a parancsok hosszú listájának manuális bevitele helyett az Ansible-t használjuk. Az Ansible egy python alapú automatizálási eszköz, amely lehetővé teszi a szerverfeladatok megbízható és ismételt automatizálását. Ez azt jelenti, hogy miután követte ezt az oktatóanyagot, néhány paranccsal ugyanígy telepíthet egy másik szervert.
Telepítse az Ansible-t a helyi gépére vagy egy másik kiszolgálóra.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Az Ansible úgy működik, hogy SSH-n keresztül bejelentkezik a szerverére. Az SSH hozzáférés akkor a legbiztonságosabb, ha jelszó helyett kulcsokat használunk. Először generáljunk egy nyilvános és privát kulcspárt.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
A ssh_keys
könyvtárban most két fájl lesz, ssh_keys
és ssh_keys.pub
. ssh_keys
az Ön privát kulcsának fájlja, amelyet biztonságban kell tartani. Most megnyithatja ssh_keys.pub
a nyilvános kulcsot tartalmazó .
Jelentkezzen be a Vultr webes irányítópultjára, és kattintson a gombra Deploy New Server
.
Válassza ki a régiót, a kiszolgáló típusát (Ubuntu 16.04), a kiszolgáló méretét, majd a 6. részben ( SSH keys
) kattintson a gombra Add New
. A következő oldalon illessze be nyilvános kulcsát, nevezze el, majd kattintson a gombra Add SSH key
. Végül ellenőrizze, hogy a kulcs ki van választva, és kattintson a gombra Deploy now
.
Amint a szerver befejezte a telepítést, megjelenik az IP-címe. Be kell jelentkeznie a domain név DNS-kiszolgálójára, és erre a címre kell irányítania.
Az Ansible automatizálási fájljai a roles
. Először beállítjuk a könyvtárstruktúrát (az ansible
1. lépésben létrehozott könyvtáron belül ), és az alapvető fájlokat.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Szerkessze a hosts
fájlt úgy, hogy az tartalmazza a következőket, helyettesítve az ip address
imént létrehozott szervert. Az Ansible a python 2-t használja, amely az Ubuntu 16.04-ben alapértelmezés szerint nincs telepítve. A hosts
fájlban megmondjuk az Ansible-nek, hogy használja a python 3-at.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Szerkessze a deploy.yml
fájlt úgy, hogy az tartalmazza a következőket. A felhasználót fogjuk használni root
.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Szerkessze a /group_vars/all
fájlt úgy, hogy az tartalmazza a következőket. Ezek a változók megmondják az Ansible számára az SSH-kulcsok helyét, a swap fájl paramétereit, a Teljesen minősített tartománynevet és a root jelszót. Kérjük, ne feledje, hogy a fájl ne szerepeljen a forrásvezérlőben, mivel az egyértelmű szövegben tartalmazza a jelszavát.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Szerkessze a common/handlers/main.yml
fájlt úgy, hogy az tartalmazza a következőket.
- name: restart sshd
service: name=ssh state=restarted
A lehetséges automatizálás könnyebben érthető, ha feladatokra bontjuk. A folyamat során minden egyes feladatunkhoz hozzunk létre fájlokat.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
minden olyan fájlra kell mutatnia, amely az Ansible parancsokat tartalmazza, ezért szerkessze úgy, hogy a következőket tartalmazza.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Az új szerver beállításának első lépése a repo gyorsítótár frissítése és az időzóna beállítása. Szerkessze a common/handlers/setup.yml
fájlt úgy, hogy az tartalmazza a következőket.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Most a root felhasználónak adunk egy jelszót (amelyre szükségünk lesz a virtualmin webes felület eléréséhez), de letiltjuk az SSH-n keresztüli jelszavas bejelentkezést (mivel a biztonságosabb kulcsos hitelesítési módszert használjuk). Szerkessze users.yml
a következőket.
- 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
A biztonság kedvéért tűzfalra van szükségünk. Az egyszerű tűzfalat használjuk, hogy lehetővé tegyük az SSH-hozzáférést a porton 22
, a webes hozzáférést a porton 80
és a biztonságos webes hozzáférést a porton 443
. Szerkessze a ufw.yml
fájlt úgy, hogy az tartalmazza a következőket.
- 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
Opcionálisan beilleszthet egy swap fájlt is. Ez elengedhetetlen, ha a kiszolgáló kevesebb, mint 2 GB RAM-mal rendelkezik, hogy elkerülje a memória összeomlását. Szerkessze swap.yml
a következőket.
- 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
A Virtualmin saját telepítőfájllal rendelkezik, amelyet az Ansible letölthet és futtathat. Itt a minimális telepítést ( LINK
) használjuk. A további elemek a MySQL-kiszolgáló jelszavának konfigurálása, amely nincs beállítva, amikor a Virtualmin telepíti. A jelszó megváltoztatása előtt ideiglenesen le kell állítani a MySQL-t, és hozzá kell adnunk a hitelesítési könyvtárat. Szerkessze virtualmin.yml
a következőket.
- 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
Az Ansible szerepkör befejeződött, és készen állunk a telepítésre.
Az ansible mappából most egyszerűen lefuttathatjuk a következő parancsot, és az Ansible automatikusan végrehajtja az összes általunk létrehozott feladatot. Az első csatlakozáskor SSH-kulcsra figyelmeztető figyelmeztetést kap, csak írja be a " yes
" karaktersort a promptba.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Ha másik kiszolgálót szeretnénk használni, egyszerűen megváltoztathatjuk az IP-címet a hosts fájlban, és újra futtathatjuk a parancsot, hogy pontosan ugyanazt a beállítást végezzük el.
A telepítés befejeződött, és most már mehetünk https://192.0.2.1:10000
(használd a szervered IP-címét). Böngészője biztonsági figyelmeztetést ad ki, mert a tanúsítvány önaláírt, ezért kattintson, advanced
és adjon hozzá kivételt. Ekkor megjelenik egy bejelentkezési oldal. A felhasználónév root
, a jelszó pedig az, amelyet a group_vars/all
3. lépésben a fájlba írt be. Amikor először lép be a Virtualminbe, megjelenik a telepítés utáni varázsló. Ezeket a beállításokat manuálisan is végrehajthatja, vagy kattintson cancel
az alapértékek elfogadásához.
Az első Wordpress-szerver üzembe helyezéséhez a Virtualmin irányítópultján kattintson a ikonra Create Virtual Server
. Meg kell adnia egy domain nevet, leírást és egy rendszergazdai jelszót. A domain névnek különböznie kell a Virtualmin teljesen minősített tartománynévtől, és a DNS rekordot a szerver IP-címére kell irányítania.
Kattintson a gombra Create Server
. Miután a Virtualmin befejezte a szerver létrehozását, kattintson Install Scripts
a bal oldali menüre. Válassza ki a lehetőséget Wordpress
, kattintson a gombra Show install options
, és a következő oldalon válassza ki a Wordpress telepítésének helyét. Csak válassza ki At top level
és kattintson a gombra Install Now
.
Csak ennyit kell tennie – befejezheti a Wordpress telepítését úgy, hogy felkeresi a http://example.net/wp-admin/install.php
(hol example.net
van ez a virtuális szerver domain neve). Ha a DNS-rekordok még nem Services > Preview Website
terjedtek el, a Virtualmin menüből léphet a következő helyre.
Ezt a lépést többször megismételheti több Wordpress-webhely létrehozásához ugyanazon a Vultr-kiszolgálón.
Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i
Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)
Más rendszert használ? A Jekyll a WordPress jó alternatívája. Nem igényel adatbázisokat, és sokak által ismert nyelven működik
Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)
Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et
A Neos egy innovatív, nyílt forráskódú tartalomkezelő rendszer, amely kiválóan alkalmas online tartalom létrehozására és szerkesztésére. A szerzőkre és a szerkesztőkre gondolva, Neo
Más rendszert használ? A Ghost egy nyílt forráskódú blogplatform, amely 201 óta egyre népszerűbb a fejlesztők és a hétköznapi felhasználók körében.
Más rendszert használ? A Ghost egy nyílt forráskódú blogplatform, amely 201 óta egyre népszerűbb a fejlesztők és a hétköznapi felhasználók körében.
A Vultr virtuális szerverek gyakori használata Wordpress-webhelyek tárolására. Ez az útmutató bemutatja, hogyan automatizálhatja a virtuális szerver konfigurációját a semmiből
A Ghost egy modern, nyílt forráskódú közzétételi platform, amely Node.js-re épül, Ember.js adminisztrátori klienssel, JSON API-val és Handlebars.js-t futtató téma API-val. Ghos
Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)
Más rendszert használ? A Dotclear egy nagyon egyszerű blogíró motor. Nyílt forráskódú és könnyen használható. Ez az oktatóprogram végigmegy a telepítésen
Más rendszert használ? A SilverStripe egy rugalmas és bővíthető ingyenes és nyílt forráskódú vállalati szintű tartalomkezelő rendszer (CMS), PHP nyelven írva. én
Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et
Más rendszert használ? A Ghost egy nyílt forráskódú blogplatform, amely 2013-as megjelenése óta egyre népszerűbb a fejlesztők és a hétköznapi felhasználók körében. én
Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et
A Typesetter egy PHP nyelven írt nyílt forráskódú CMS, amely a True WYSIWYG szerkesztéssel és a sima fájlok tárolásával a könnyű használhatóságra összpontosít. Ebben a cikkben telepítjük
A Vultr-példányok nagyszerű módja a WordPress-blog futtatásának, de a WordPress jelentősebb kiterjesztése a WooCommerce, egy e-kereskedelmi bővítmény, amely kiterjeszti
Más rendszert használ? A Fork egy PHP nyelven írt nyílt forráskódú CMS. A Forks forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni a Fork CM-et
Más rendszert használ? A MODX Revolution egy gyors, rugalmas, méretezhető, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS)
A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.
Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.
Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.
Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.
Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…
Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.
Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.
Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.
Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.
Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket