Creació dun bloc Jekyll a Ubuntu 16.04
Utilitzeu un sistema diferent? Jekyll és una gran alternativa a WordPress per crear blocs o compartir contingut. No requereix cap base de dades i és molt fàcil
Un ús comú d'un servidor virtual Vultr és allotjar llocs web de Wordpress. Aquesta guia us mostra com automatitzar la configuració d'un servidor virtual des de zero (utilitzant Ansible) i desplegar diversos llocs web independents de Wordpress (utilitzant Webmin/Virtualmin). Virtualmin/Webmin és una interfície d'usuari gràfica que us permet gestionar el desplegament de diversos comptes de servidor virtual a la mateixa màquina (complet amb la pila LAMP/LEMP). Virtualmin és molt semblant a cPanel i Plesk, i en aquest tutorial farem servir l'edició gratuïta GPL. Després de la configuració inicial del servidor Vultr i la instal·lació de Virtualmin, podeu configurar ràpidament diversos servidors virtuals des de la interfície de Virtualmin i instal·lar directament Wordpress en aquest servidor virtual amb el seu propi nom de domini.
En aquest tutorial, en comptes d'introduir manualment una llarga llista d'ordres, utilitzarem Ansible. Ansible és una eina d'automatització basada en Python que us permet automatitzar de manera fiable i repetida les tasques del servidor. Això vol dir que un cop hàgiu seguit aquest tutorial, podreu desplegar un altre servidor de la mateixa manera amb només un parell d'ordres.
Instal·leu Ansible a la vostra màquina local o a un altre servidor.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible funciona iniciant sessió al vostre servidor mitjançant SSH. L'accés SSH és més segur si fem servir claus en lloc d'una contrasenya. Primer generem un parell de claus públiques i privades.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
Al ssh_keys
directori ara hi haurà dos fitxers ssh_keys
i ssh_keys.pub
. ssh_keys
és el vostre fitxer de clau privada i s'ha de mantenir segur. Ara podeu obrir el ssh_keys.pub
, que conté la clau pública.
Inicieu sessió al tauler web de Vultr i feu clic a Deploy New Server
.
Seleccioneu una regió, tipus de servidor (Ubuntu 16.04), mida del servidor i, a continuació, a la part 6 ( SSH keys
), feu clic a Add New
. A la pàgina següent, enganxeu la vostra clau pública i doneu-li un nom i feu clic a Add SSH key
. Finalment, assegureu-vos que la clau estigui seleccionada i feu clic a Deploy now
.
Un cop el servidor s'hagi acabat de desplegar, se us mostrarà la seva adreça IP. Haureu d'iniciar sessió al servidor DNS del vostre nom de domini i apuntar-lo a aquesta adreça.
Els fitxers d'automatització d'Ansible s'anomenen roles
. Primer configurarem l'estructura de directoris (dins del ansible
directori que acabeu de crear al pas 1) i els fitxers bàsics.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Editeu el hosts
fitxer perquè contingui el següent, substituint ip address
el servidor que acabeu de crear. Ansible utilitza Python 2, que Ubuntu 16.04 no té instal·lat per defecte. Al hosts
fitxer diem a Ansible que utilitzi Python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Editeu el deploy.yml
fitxer perquè contingui el següent. Anem a utilitzar l' root
usuari.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Editeu el /group_vars/all
fitxer perquè contingui el següent. Aquestes variables indiquen a Ansible la ubicació de les vostres claus SSH, els paràmetres del fitxer d'intercanvi, el vostre nom de domini totalment qualificat i la contrasenya d'arrel. Recordeu no incloure el fitxer al control de fonts, ja que conté la vostra contrasenya en text clar.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Editeu el common/handlers/main.yml
fitxer perquè contingui el següent.
- name: restart sshd
service: name=ssh state=restarted
L'automatització Ansible és més fàcil d'entendre si la desglossem en tasques. Creem fitxers per a cadascuna de les nostres tasques en el procés.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
hauria d'apuntar a cada fitxer que contingui les ordres Ansible, així que editeu-lo perquè contingui el següent.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
El primer pas per configurar un nou servidor és actualitzar la memòria cau del repositori i configurar la zona horària. Editeu el common/handlers/setup.yml
fitxer perquè contingui el següent.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Ara, donarem a l'usuari root una contrasenya (que necessitarem per accedir a la interfície web virtualmin), però desactivarem els inicis de sessió amb contrasenya mitjançant SSH (ja que estem utilitzant el mètode d'autenticació de claus més segur). Edita users.yml
perquè contingui el següent.
- 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
Per seguretat, necessitem un tallafoc. Utilitzarem el tallafocs sense complicacions per permetre l'accés SSH al port 22
, l'accés web al port 80
i l'accés web segur al port 443
. Editeu el ufw.yml
fitxer perquè contingui el següent.
- 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
Opcionalment, podeu incloure un fitxer d'intercanvi. Això és essencial si el vostre servidor té menys de 2 GB de RAM per evitar fallades de memòria. Edita swap.yml
perquè contingui el següent.
- 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 té el seu propi fitxer d'instal·lació que Ansible pot descarregar i executar. Aquí estem utilitzant la instal·lació mínima ( LINK
). Els elements addicionals són per configurar la contrasenya del servidor MySQL que no s'estableix quan Virtualmin la instal·la. Hem d'aturar temporalment MySQL i afegir el directori d'autenticació abans de canviar la contrasenya. Edita virtualmin.yml
perquè contingui el següent.
- 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
El rol d'Ansible s'ha acabat i estem preparats per desplegar-lo.
Des de la carpeta ansible, ara només podem executar l'ordre següent i Ansible durà a terme totes les tasques que hem creat automàticament. La primera vegada que us connecteu, rebreu un avís de clau SSH, només heu d'escriure " yes
" a la sol·licitud.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Si volem utilitzar un altre servidor, simplement podem canviar l'adreça IP al fitxer hosts i executar aquesta ordre de nou per completar exactament la mateixa configuració.
La instal·lació s'ha completat i ara podem anar a https://192.0.2.1:10000
(utilitza l'adreça IP del teu servidor). El vostre navegador emetrà un avís de seguretat perquè el certificat està signat automàticament, així que feu clic advanced
i afegeix una excepció. Se us presentarà una pàgina d'inici de sessió. El nom d'usuari és root
, i la contrasenya és la que heu introduït al group_vars/all
fitxer al pas 3. La primera vegada que entreu a Virtualmin, se us presentarà l'assistent de post-instal·lació. Podeu passar per aquests paràmetres manualment o fer clic cancel
per acceptar els valors predeterminats.
Per posar el vostre primer servidor Wordpress en funcionament, feu clic al tauler de control de Virtualmin Create Virtual Server
. Haureu d'introduir un nom de domini, una descripció i una contrasenya d'administrador. El nom de domini hauria de ser diferent del nom de domini totalment qualificat de Virtualmin i haureu d'apuntar el registre DNS a l'adreça IP del vostre servidor.
Feu clic a Create Server
. Un cop Virtualmin hagi acabat de crear el vostre servidor, feu clic Install Scripts
al menú de l'esquerra. Seleccioneu Wordpress
, feu clic Show install options
i, a la pàgina següent, trieu la ubicació de la instal·lació de Wordpress. Només has de triar At top level
i fer clic Install Now
.
Això és tot el que heu de fer: podeu completar la instal·lació de Wordpress visitant el vostre http://example.net/wp-admin/install.php
(on example.net
és el nom de domini d'aquest servidor virtual). Si els vostres registres DNS encara no s'han propagat, podeu anar Services > Preview Website
des del menú Virtualmin.
Podeu repetir aquest pas diverses vegades per crear diversos llocs de Wordpress al mateix servidor Vultr.
Utilitzeu un sistema diferent? Jekyll és una gran alternativa a WordPress per crear blocs o compartir contingut. No requereix cap base de dades i és molt fàcil
Utilitzeu un sistema diferent? MODX Revolution és un sistema de gestió de continguts (CMS) ràpid, flexible, escalable, gratuït i de codi obert, escrit i
Utilitzeu un sistema diferent? MODX Revolution és un sistema de gestió de continguts (CMS) ràpid, flexible, escalable, de codi obert i de grau empresarial escrit en PHP. És jo
Introducció WordPress és el sistema de gestió de continguts dominant a Internet. Potencia tot, des de blocs fins a llocs web complexos amb contingut dinàmic
Utilitzeu un sistema diferent? Jekyll és una bona alternativa a WordPress. No requereix cap base de dades i funciona amb un llenguatge que molts coneixen
Utilitzeu un sistema diferent? MODX Revolution és un sistema de gestió de continguts (CMS) ràpid, flexible, escalable, gratuït i de codi obert, escrit i
Utilitzeu un sistema diferent? Fork és un CMS de codi obert escrit en PHP. El codi font de Forks està allotjat a GitHub. Aquesta guia us mostrarà com instal·lar Fork CM
Neos és un innovador sistema de gestió de continguts de codi obert ideal per crear i editar contingut en línia. Tenint en compte els autors i editors, Neo
Utilitzeu un sistema diferent? Ghost és una plataforma de blocs de codi obert que ha anat guanyant popularitat entre desenvolupadors i usuaris corrents des del 201.
Utilitzeu un sistema diferent? SilverStripe és un sistema de gestió de continguts (CMS) de codi obert, flexible i extensible, escrit en PHP. És fàcil
Utilitzeu un sistema diferent? Ghost és una plataforma de blocs de codi obert que ha anat guanyant popularitat entre desenvolupadors i usuaris corrents des del 201.
Un ús comú d'un servidor virtual Vultr és allotjar llocs web de Wordpress. Aquesta guia us mostra com automatitzar la configuració d'un servidor virtual des de zero
Ghost és l'últim i millor advenent que rivalitza amb WordPress. El desenvolupament de temes és ràpid i fàcil d'aprendre perquè els desenvolupadors de Ghost van decidir utilitzar tots dos
Ghost és una plataforma de publicació moderna i de codi obert construïda a Node.js amb un client d'administració Ember.js, una API JSON i una API temàtica impulsada per Handlebars.js. Ghos
Utilitzeu un sistema diferent? MODX Revolution és un sistema de gestió de continguts (CMS) ràpid, flexible, escalable, gratuït i de codi obert, escrit i
Utilitzeu un sistema diferent? Dotclear és un motor de blocs molt senzill. És de codi obert i fàcil d'utilitzar. Aquest tutorial passarà per la instal·lació
Utilitzeu un sistema diferent? Fork és un CMS de codi obert escrit en PHP. El codi font de Forks està allotjat a GitHub. Aquesta guia us mostrarà com instal·lar Fork CM
Utilitzeu un sistema diferent? Ghost és una plataforma de blocs de codi obert que està guanyant popularitat entre desenvolupadors i usuaris normals des del seu llançament el 2013. jo
Utilitzeu un sistema diferent? Fork és un CMS de codi obert escrit en PHP. El codi font de Forks està allotjat a GitHub. Aquesta guia us mostrarà com instal·lar Fork CM
Typesetter és un CMS de codi obert escrit en PHP centrat en la facilitat d'ús amb l'edició True WYSIWYG i l'emmagatzematge de fitxers plans. En aquest article, ens instal·larem
La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.
També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.
Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.
Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.
El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...
A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.
Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.
Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.
En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.
Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació