Instalați WordPress pe OpenBSD 6.2
Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic
O utilizare obișnuită a unui server virtual Vultr este să găzduiască site-uri web Wordpress. Acest ghid vă arată cum să automatizați configurația unui server virtual de la zero (utilizând Ansible) și să implementați mai multe site-uri web independente Wordpress (utilizând Webmin / Virtualmin). Virtualmin / Webmin este o interfață grafică de utilizator care vă permite să gestionați implementarea mai multor conturi de server virtual pe aceeași mașină (completă cu stiva LAMP / LEMP). Virtualmin este foarte asemănător cu cPanel și Plesk, iar în acest tutorial vom folosi ediția GPL gratuită. După instalarea inițială a serverului Vultr și instalarea Virtualmin, puteți configura foarte repede mai multe servere virtuale din interiorul interfeței Virtualmin și instalați direct Wordpress pe acel server virtual complet cu propriul nume de domeniu.
În acest tutorial, în loc să introducem manual o listă lungă de comenzi, vom folosi în schimb Ansible. Ansible este un instrument de automatizare bazat pe python care vă permite să automatizați în mod sigur și repetat sarcinile serverului. Aceasta înseamnă că, după ce ați urmat acest tutorial, veți putea să implementați un alt server în același mod cu doar câteva comenzi.
Instalați Ansible pe mașina locală sau pe un alt server.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Funcțiile sensibile funcționează conectându-vă la serverul dvs. prin SSH. Accesul SSH este cel mai sigur dacă folosim chei și nu o parolă. Să generăm mai întâi o pereche de chei publice și private.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
În ssh_keys
director vor fi acum două fișiere ssh_keys
și ssh_keys.pub
. ssh_keys
este fișierul dvs. cu cheie privată și trebuie păstrat în siguranță. Acum puteți deschide ssh_keys.pub
, care conține cheia publică.
Conectați-vă la tabloul de bord Vultr și dați clic Deploy New Server
.
Selectați o regiune, tipul serverului (Ubuntu 16.04), dimensiunea serverului, apoi SSH keys
faceți clic pe partea 6 ( ) Add New
. Pe pagina următoare inserați cheia publică și să dea un nume și faceți clic Add SSH key
. În sfârșit, asigurați-vă că este selectată tasta și faceți clic pe Deploy now
.
După ce serverul a terminat de implementat, vi se va afișa adresa IP. Va trebui să vă conectați la serverul DNS al numelui dvs. de domeniu și să îl indicați către această adresă.
Fișierele de automatizare ale Ansible sunt apelate roles
. Mai întâi vom configura structura directorului (în interiorul ansible
directorului pe care tocmai l-ați creat la pasul 1) și fișierele de bază.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Editați hosts
fișierul pentru a conține următoarele, înlocuind ip address
serverul pe care tocmai l-ați creat. Ansible folosește python 2, pe care Ubuntu 16.04 nu l-a instalat implicit. În hosts
fișier îi spunem lui Ansible să utilizeze python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Editați deploy.yml
fișierul pentru a conține următoarele. Vom folosi root
utilizatorul.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Editați /group_vars/all
fișierul pentru a conține următoarele. Aceste variabile spun Ansible locația cheilor dvs. SSH, parametrii fișierului swap, numele dvs. de domeniu complet calificat și parola rădăcină. Vă rugăm să vă amintiți să nu includeți fișierul în controlul sursă, deoarece conține parola într-un text clar.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Editați common/handlers/main.yml
fișierul pentru a conține următoarele.
- name: restart sshd
service: name=ssh state=restarted
Automatizarea sensibilă este mai ușor de înțeles dacă o descompunem în sarcini. Să creăm fișiere pentru fiecare dintre sarcinile noastre din proces.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
ar trebui să indice fiecare fișier care conține comenzile Ansible, așa că editați-l pentru a conține următoarele.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Primul pas în configurarea unui nou server este să actualizați memoria cache și să setați fusul orar. Editați common/handlers/setup.yml
fișierul pentru a conține următoarele.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Acum, vom oferi utilizatorului rădăcină o parolă (pe care va trebui să o accesăm la interfața web virtualmin), dar dezactivăm autentificările de parolă prin SSH (deoarece folosim metoda de autentificare a tastelor mai sigure). Editați users.yml
pentru a conține următoarele.
- 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
Pentru securitate, avem nevoie de un firewall. Vom folosi firewall-ul necomplicat pentru a permite accesul SSH în port 22
, accesul web în port 80
și acces securizat web în port 443
. Editați ufw.yml
fișierul pentru a conține următoarele.
- 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
Opțional, puteți include un fișier swap. Acest lucru este esențial dacă serverul dvs. are mai puțin de 2 GB RAM pentru a evita blocarea memoriei. Editați swap.yml
pentru a conține următoarele.
- 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 are propriul fișier de instalare care poate fi descărcat și rulat de Ansible. Aici folosim instalarea minimă ( LINK
). Elementele suplimentare sunt pentru a configura parola serverului MySQL care nu este setată atunci când este instalată de Virtualmin. Trebuie să oprim temporar MySQL și să adăugăm directorul de autentificare înainte de a schimba parola. Editați virtualmin.yml
pentru a conține următoarele.
- 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
Rolul Ansible este acum terminat și suntem gata să le implementăm.
Din folderul ansible, acum putem executa pur și simplu următoarea comandă, iar Ansible va efectua toate sarcinile pe care le-am creat automat. Prima dată când vă conectați, veți primi un avertisment cu cheie SSH, trebuie doar să tastați yes
la prompt.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Dacă dorim să utilizăm un alt server, putem schimba pur și simplu adresa IP din fișierul gazdelor și rula această comandă pentru a finaliza exact aceeași configurare.
Instalarea este completă și acum putem merge la https://192.0.2.1:10000
(folosiți adresa IP a serverului dvs.). Browserul dvs. va emite un avertisment de securitate deoarece certificatul este semnat automat, deci faceți clic advanced
și adăugați o excepție. Vi se va prezenta o pagină de conectare. Numele de utilizator este root
, iar parola este cea introdusă în group_vars/all
fișier la pasul 3. Prima dată când introduceți Virtualmin, vi se va prezenta asistentul post-instalare. Puteți parcurge aceste setări manual sau faceți clic cancel
pentru a accepta valorile implicite.
Pentru a începe să funcționeze primul server Wordpress, faceți clic pe tabloul de bord Virtualmin Create Virtual Server
. Va trebui să introduceți un nume de domeniu, o descriere și o parolă a administratorilor. Numele de domeniu ar trebui să fie diferit de numele de domeniu complet calificat Virtualmin și va trebui să indicați înregistrarea DNS către adresa IP a serverului dvs.
Dați clic Create Server
. După ce Virtualmin a terminat de creat serverul dvs., faceți clic Install Scripts
pe meniul din stânga. Selectați Wordpress
, faceți clic Show install options
, iar în pagina următoare alegeți locația instalării Wordpress. Trebuie doar să alegeți At top level
și să faceți clic Install Now
.
Aceasta este tot ce trebuie să faceți - puteți finaliza instalarea Wordpress vizitând dvs. http://example.net/wp-admin/install.php
(unde example.net
este acest nume de domeniu al serverelor virtuale). Dacă înregistrările DNS nu s-au propagat încă, puteți accesa Services > Preview Website
meniul Virtualmin.
Puteți repeta acest pas de mai multe ori pentru a crea mai multe site-uri Wordpress toate pe același server Vultr.
Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic
Ghost este o platformă de publicare modernă, open source, construită pe Node.js, cu un client de administrare Ember.js, o API JSON și o API temă alimentată de Handlebars.js. GHOS
Folosind un sistem diferit? Ghost este o platformă de bloguri de tip open source, care a câștigat popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți încă din 201
Folosind un sistem diferit? Ghost este o platformă de bloguri open source care câștigă popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți din lansarea din 2013. eu
Folosind un sistem diferit? Dotclear este un motor de bloguri foarte simplu. Este open-source și ușor de utilizat. Acest tutorial va parcurge instalarea la
Ghost este cel mai recent și cel mai mare upstart pentru a rivaliza cu WordPress. Dezvoltarea tematică este rapidă și ușor de învățat, deoarece dezvoltatorii Ghost au decis să utilizeze ambele aplicații
Introducere Cu cât vă mențineți mai aproape instalarea OpenBSD la valoarea implicită și fără tot atâtea pachete adăugate, cu atât va fi mai sigur. În timp ce mai comun
Folosind un sistem diferit? MODX Revolution este un sistem de administrare a conținutului (CMS) rapid, flexibil, scalabil, open source, de calitate a întreprinderii, scris în PHP. Este
Neos este un sistem inovativ de gestionare a conținutului open source, care este excelent pentru crearea și editarea de conținut online. Cu autori și editori în minte, Neo
Folosind un sistem diferit? MODX Revolution este un sistem de gestionare a conținutului (CMS) de calitate întreprindere, rapid, flexibil, scalabil, liber și open source
Folosind un sistem diferit? Fork este un CMS open source scris în PHP. Codul sursă al furcilor este găzduit pe GitHub. Acest ghid vă va arăta cum să instalați Fork CM
Typesetter este un CMS open source scris în PHP axat pe ușurința de utilizare cu editarea True WYSIWYG și stocarea fișierului plat. În acest articol, vom fi installin
Folosind un sistem diferit? MODX Revolution este un sistem de gestionare a conținutului (CMS) de calitate întreprindere, rapid, flexibil, scalabil, liber și open source
Folosind un sistem diferit? Jekyll este o alternativă bună la WordPress. Nu are nevoie de baze de date și funcționează cu un limbaj pe care mulți îl cunosc
Folosind un sistem diferit? Ghost este o platformă de bloguri de tip open source, care a câștigat popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți încă din 201
Folosind un sistem diferit? Fork este un CMS open source scris în PHP. Codul sursă al furcilor este găzduit pe GitHub. Acest ghid vă va arăta cum să instalați Fork CM
Folosind un sistem diferit? Ghost este o platformă de bloguri open source care câștigă popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți din lansarea din 2013. eu
Folosind un sistem diferit? Fork este un CMS open source scris în PHP. Codul sursă al furcilor este găzduit pe GitHub. Acest ghid vă va arăta cum să instalați Fork CM
Folosind un sistem diferit? Ghost este o platformă de bloguri de tip open source, care a câștigat popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți încă din 201
Folosind un sistem diferit? MODX Revolution este un sistem de gestionare a conținutului (CMS) de calitate întreprindere, rapid, flexibil, scalabil, liber și open source
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe