Instalando o Fork CMS no CentOS 7
Usando um sistema diferente? Fork é um CMS de código aberto escrito em PHP. O código fonte do Forks está hospedado no GitHub. Este guia mostra como instalar o Fork CM
Um uso comum de um servidor virtual Vultr é hospedar sites do Wordpress. Este guia mostra como automatizar a configuração de um servidor virtual do zero (usando o Ansible) e implantar vários sites independentes do Wordpress (usando o Webmin / Virtualmin). O Virtualmin / Webmin é uma interface gráfica do usuário que permite gerenciar a implantação de várias contas de servidor virtual na mesma máquina (concluída com a pilha LAMP / LEMP). O Virtualmin é muito semelhante ao cPanel e Plesk, e neste tutorial usaremos a edição gratuita da GPL. Após a configuração inicial do servidor Vultr e a instalação do Virtualmin, você pode configurar rapidamente vários servidores virtuais na interface do Virtualmin e instalar diretamente o Wordpress nesse servidor virtual, com seu próprio nome de domínio.
Neste tutorial, em vez de inserir manualmente uma longa lista de comandos, usaremos o Ansible. O Ansible é uma ferramenta de automação baseada em python que permite automatizar de forma confiável e repetida as tarefas do servidor. Isso significa que, depois de seguir este tutorial, você poderá implantar outro servidor da mesma maneira com apenas alguns comandos.
Instale o Ansible na sua máquina local ou em outro servidor.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
O Ansible funciona efetuando login no seu servidor via SSH. O acesso SSH é mais seguro se usarmos chaves em vez de uma senha. Vamos primeiro gerar um par de chaves pública e privada.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
No ssh_keys
diretório, agora haverá dois arquivos ssh_keys
e ssh_keys.pub
. ssh_keys
é o seu arquivo de chave privada e deve ser mantido em segurança. Agora você pode abrir o ssh_keys.pub
, que contém a chave pública.
Faça login no painel da web do Vultr e clique em Deploy New Server
.
Selecione uma região, Tipo de servidor (Ubuntu 16.04), Tamanho do servidor e, em seguida, na parte 6 ( SSH keys
), clique em Add New
. Na próxima página, cole sua chave pública, dê um nome e clique em Add SSH key
. Por fim, verifique se a chave está selecionada e clique em Deploy now
.
Depois que o servidor terminar de implantar, você verá seu endereço IP. Você precisará fazer login no servidor DNS do seu nome de domínio e apontá-lo para este endereço.
Os arquivos de automação da Ansible são chamados roles
. Primeiro, configuraremos a estrutura de diretórios (dentro do ansible
diretório que você acabou de criar na etapa 1) e os arquivos básicos.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Edite o hosts
arquivo para conter o seguinte, substituindo ip address
o servidor que você acabou de criar. O Ansible usa python 2, que o Ubuntu 16.04 não tem instalado por padrão. No hosts
arquivo, dizemos ao Ansible para usar o python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Edite o deploy.yml
arquivo para conter o seguinte. Nós vamos usar o root
usuário.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Edite o /group_vars/all
arquivo para conter o seguinte. Essas variáveis informam ao Ansible a localização de suas chaves SSH, parâmetros de arquivo de troca, seu Nome de Domínio Totalmente Qualificado e a senha root. Lembre-se de não incluir o arquivo no controle de origem, pois ele contém sua senha em texto não criptografado.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Edite o common/handlers/main.yml
arquivo para conter o seguinte.
- name: restart sshd
service: name=ssh state=restarted
A automação responsável é mais fácil de entender se a dividirmos em tarefas. Vamos criar arquivos para cada uma das nossas tarefas no processo.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
deve apontar para cada arquivo que contém os comandos Ansible; portanto, edite-o para conter o seguinte.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
A primeira etapa na configuração de um novo servidor é atualizar o cache de repositório e definir o fuso horário. Edite o common/handlers/setup.yml
arquivo para conter o seguinte.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Agora, forneceremos ao usuário root uma senha (que precisaremos acessar a interface da web virtualmin), mas desativaremos os logins de senha pelo SSH (já que estamos usando o método de autenticação de chaves mais seguras). Edite users.yml
para conter o seguinte.
- 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
Por segurança, precisamos de um firewall. Usaremos o Firewall não complicado para permitir o acesso SSH na porta 22
, acesso à Web na porta 80
e acesso seguro à Web na porta 443
. Edite o ufw.yml
arquivo para conter o seguinte.
- 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
Opcionalmente, você pode incluir um arquivo de troca. Isso é essencial se o servidor tiver menos de 2 GB de RAM para evitar falhas de memória. Edite swap.yml
para conter o seguinte.
- 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
O Virtualmin possui seu próprio arquivo de instalação, que pode ser baixado e executado pelo Ansible. Aqui estamos usando a instalação mínima ( LINK
). Os itens adicionais são para configurar a senha do servidor MySQL que não é definida quando instalada pelo Virtualmin. Precisamos parar temporariamente o MySQL e adicionar o diretório de autenticação antes de alterar a senha. Edite virtualmin.yml
para conter o seguinte.
- 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
A função Ansible está concluída e estamos prontos para implantar.
A partir da pasta ansible, agora podemos simplesmente executar o seguinte comando, e o Ansible executará todas as tarefas que criamos automaticamente. Na primeira vez em que você se conectar, você receberá um aviso de chave SSH, digite " yes
" no prompt.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Se desejarmos usar outro servidor, podemos simplesmente alterar o endereço IP no arquivo hosts e executar esse comando novamente para concluir exatamente a mesma configuração.
A instalação está concluída e agora podemos ir para https://192.0.2.1:10000
(use o endereço IP do seu servidor). Seu navegador emitirá um aviso de segurança porque o certificado é autoassinado. Clique advanced
e adicione uma exceção. Você verá uma página de login. O nome de usuário é root
e a senha é a que você digitou no group_vars/all
arquivo na etapa 3. Na primeira vez em que entrar no Virtualmin, você será apresentado ao assistente de pós-instalação. Você pode passar por essas configurações manualmente ou clicar cancel
para aceitar os padrões.
Para colocar seu primeiro servidor Wordpress em funcionamento, no painel do Virtualmin, clique em Create Virtual Server
. Você precisará inserir um nome de domínio, descrição e senha de administrador. O nome do domínio deve ser diferente do nome de domínio totalmente qualificado do Virtualmin, e você precisará apontar o registro DNS para o endereço IP do seu servidor.
Clique em Create Server
. Quando o Virtualmin terminar de criar seu servidor, clique Install Scripts
no menu à esquerda. Selecione Wordpress
, clique Show install options
e, na página seguinte, escolha o local da instalação do Wordpress. Basta escolher At top level
e clicar Install Now
.
É tudo o que você precisa fazer - você pode concluir a instalação do Wordpress visitando seu http://example.net/wp-admin/install.php
(onde example.net
fica esse nome de domínio dos servidores virtuais). Se seus registros DNS ainda não foram propagados, você pode acessar Services > Preview Website
o menu Virtualmin.
Você pode repetir essa etapa várias vezes para criar vários sites do Wordpress no mesmo servidor Vultr.
Usando um sistema diferente? Fork é um CMS de código aberto escrito em PHP. O código fonte do Forks está hospedado no GitHub. Este guia mostra como instalar o Fork CM
O Typesetter é um CMS de código aberto escrito em PHP, focado na facilidade de uso com a edição True WYSIWYG e armazenamento de arquivos simples. Neste artigo, instalaremos
Usando um sistema diferente? O Ghost é uma plataforma de blog de código aberto que vem ganhando popularidade entre desenvolvedores e usuários comuns desde a sua 201
Usando um sistema diferente? O MODX Revolution é um sistema de gerenciamento de conteúdo (CMS) de nível empresarial, rápido, flexível, escalável, gratuito e de código aberto
Usando um sistema diferente? O MODX Revolution é um sistema de gerenciamento de conteúdo (CMS) de nível empresarial, rápido, flexível, escalável, gratuito e de código aberto
O Neos é um sistema inovador de gerenciamento de conteúdo de código aberto, ótimo para criar e editar conteúdo online. Com autores e editores em mente, o Neo
Introdução Quanto mais próximo você mantiver sua instalação do OpenBSD do padrão e sem tantos pacotes adicionados, mais seguro será. Enquanto o mais commo
Introdução O WordPress é o sistema de gerenciamento de conteúdo dominante na internet. Ele fornece tudo, desde blogs a sites complexos, com conteúdo dinâmico
O Ghost é uma plataforma de publicação de código aberto moderna, construída no Node.js com um cliente de administrador do Ember.js., uma API JSON e uma API de tema fornecida pelo Handlebars.js. Ghos
Usando um sistema diferente? O Ghost é uma plataforma de blog de código aberto que vem ganhando popularidade entre desenvolvedores e usuários comuns desde a sua 201
Usando um sistema diferente? Dotclear é um mecanismo de blog muito simples. É de código aberto e fácil de usar. Este tutorial passará pela instalação em
As instâncias do Vultr são uma ótima maneira de executar seu blog WordPress, mas uma extensão mais notável do WordPress é o WooCommerce, um plug-in de comércio eletrônico que estende a
O Ghost é o maior e mais recente iniciante a rivalizar com o WordPress. O desenvolvimento de temas é rápido e fácil de aprender, porque os desenvolvedores do Ghost decidiram usar os dois
Usando um sistema diferente? O MODX Revolution é um sistema de gerenciamento de conteúdo (CMS) de nível empresarial, rápido, flexível, escalável e de código aberto, escrito em PHP. É eu
Usando um sistema diferente? O Ghost é uma plataforma de blog de código aberto que vem ganhando popularidade entre desenvolvedores e usuários comuns desde a sua 201
Usando um sistema diferente? O MODX Revolution é um sistema de gerenciamento de conteúdo (CMS) de nível empresarial, rápido, flexível, escalável, gratuito e de código aberto
Usando um sistema diferente? O MODX Revolution é um sistema de gerenciamento de conteúdo (CMS) de nível empresarial, rápido, flexível, escalável, gratuito e de código aberto
Usando um sistema diferente? O Ghost é uma plataforma de blog de código aberto que vem ganhando popularidade entre desenvolvedores e usuários comuns desde a sua 201
Usando um sistema diferente? Fork é um CMS de código aberto escrito em PHP. O código fonte do Forks está hospedado no GitHub. Este guia mostra como instalar o Fork CM
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.