Fedora 25에서 Ghost v0.11 LTS를 배포하는 방법
다른 시스템을 사용하십니까? Ghost는 201 년 이후 개발자와 일반 사용자 사이에서 인기를 얻고있는 오픈 소스 블로그 플랫폼입니다.
Vultr 가상 서버의 일반적인 사용법은 Wordpress 웹 사이트를 호스팅하는 것입니다. 이 안내서는 가상 서버의 구성을 처음부터 자동화하고 (Ansible 사용) 여러 개의 독립적 인 Wordpress 웹 사이트 (Webmin / Virtualmin 사용)를 배포하는 방법을 보여줍니다. Virtualmin / Webmin은 동일한 시스템에서 여러 가상 서버 계정의 배포를 관리 할 수있는 그래픽 사용자 인터페이스입니다 (LAMP / LEMP 스택으로 완료). Virtualmin은 cPanel 및 Plesk와 매우 유사하며이 자습서에서는 무료 GPL 버전을 사용합니다. Vultr 서버를 처음 설치하고 Virtualmin을 설치 한 후 Virtualmin 인터페이스 내에서 여러 가상 서버를 매우 빠르게 설정하고 고유 한 도메인 이름으로 해당 가상 서버에 Wordpress를 직접 설치할 수 있습니다.
이 자습서에서는 긴 명령 목록을 수동으로 입력하는 대신 Ansible을 사용합니다. Ansible은 서버 작업을 안정적으로 반복적으로 자동화 할 수있는 Python 기반 자동화 도구입니다. 즉,이 자습서를 따르면 몇 가지 명령만으로 동일한 방식으로 다른 서버를 배포 할 수 있습니다.
로컬 컴퓨터 나 다른 서버에 Ansible을 설치하십시오.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
SSH를 통해 서버에 로그인하면 Ansible이 작동합니다. 암호 대신 키를 사용하면 SSH 액세스가 가장 안전합니다. 먼저 공개 키와 개인 키 쌍을 생성 해 봅시다.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
에서 ssh_keys
디렉토리 지금이 두 개의 파일이있을 것입니다 ssh_keys
및 ssh_keys.pub
. ssh_keys
개인 키 파일이며 안전하게 보관해야합니다. 이제 ssh_keys.pub
공개 키가 포함 된을 열 수 있습니다 .
Vultr 웹 대시 보드에 로그인하고을 클릭하십시오 Deploy New Server
.
지역, 서버 유형 (Ubuntu 16.04), 서버 크기를 선택한 다음 6 부 ( SSH keys
) 에서을 클릭하십시오 Add New
. 다음 페이지에서 공개 키를 붙여 넣고 이름을 지정하고을 클릭하십시오 Add SSH key
. 마지막으로 키가 선택되어 있는지 확인하고을 클릭하십시오 Deploy now
.
서버 배포가 완료되면 IP 주소가 표시됩니다. 도메인 이름의 DNS 서버에 로그인하여이 주소를 가리켜 야합니다.
Ansible의 자동화 파일을이라고 roles
합니다. 먼저 디렉토리 구조 ( ansible
1 단계에서 생성 한 디렉토리 내부 )와 기본 파일을 설정합니다.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
방금 만든 서버를 hosts
대신하여 다음을 포함 하도록 파일을 편집하십시오 ip address
. Ansible은 Ubuntu 16.04가 기본적으로 설치되지 않은 Python 2를 사용합니다. 에서 hosts
파일 우리는 파이썬 3를 사용하는 Ansible을 말한다.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
deploy.yml
다음을 포함 하도록 파일을 편집하십시오 . 우리는 root
사용자 를 사용할 것 입니다.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
/group_vars/all
다음을 포함 하도록 파일을 편집하십시오 . 이 변수는 SSH 키의 위치, 스왑 파일 매개 변수, 정규화 된 도메인 이름 및 루트 암호를 Ansible에 알려줍니다. 기억하십시오 되지 는 일반 텍스트 암호를 포함한으로 소스 제어에서 파일을 포함 할 수 있습니다.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
common/handlers/main.yml
다음을 포함 하도록 파일을 편집하십시오 .
- name: restart sshd
service: name=ssh state=restarted
자동화를 작업으로 분류하면 이해하기 쉬운 자동화가 더 쉽습니다. 프로세스에서 각 작업에 대한 파일을 만들어 봅시다.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
Ansible 명령이 포함 된 각 파일을 가리켜 야하므로 다음을 포함하도록 편집하십시오.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
새 서버를 설정하는 첫 번째 단계는 repo 캐시를 업데이트하고 시간대를 설정하는 것입니다. common/handlers/setup.yml
다음을 포함 하도록 파일을 편집하십시오 .
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
이제 루트 사용자에게 비밀번호 (virtualmin 웹 인터페이스에 액세스해야 함)를 제공하지만 SSH를 통한 비밀번호 로그인을 비활성화합니다 (보다 안전한 키 인증 방법을 사용하므로). users.yml
다음을 포함하도록 편집하십시오 .
- 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
보안을 위해서는 방화벽이 필요합니다. Uncomplicated Firewall을 사용하여 포트 22
에서 SSH 액세스, 포트 에서 웹 액세스 및 포트 80
에서 보안 웹 액세스를 허용합니다 443
. ufw.yml
다음을 포함 하도록 파일을 편집하십시오 .
- 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
선택적으로 스왑 파일을 포함 할 수 있습니다. 이것은 메모리 부족으로 인한 충돌을 피하기 위해 서버에 2GB 미만의 RAM이있는 경우 필수적입니다. swap.yml
다음을 포함하도록 편집하십시오 .
- 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에는 Ansible에서 다운로드하여 실행할 수있는 자체 설치 관리자 파일이 있습니다. 여기서는 최소 설치 ( LINK
)를 사용하고 있습니다. 추가 항목은 Virtualmin에 의해 설치 될 때 설정되지 않은 MySQL 서버 비밀번호를 구성하는 것입니다. 비밀번호를 변경하기 전에 MySQL을 일시적으로 중지하고 인증 디렉토리를 추가해야합니다. virtualmin.yml
다음을 포함하도록 편집하십시오 .
- 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
Ansible 역할이 완료되었으며 배포 할 준비가되었습니다.
ansible 폴더에서 다음 명령을 실행하면 Ansible이 자동으로 생성 한 모든 작업을 수행합니다. 처음 연결할 때 SSH 키 경고가 표시되면 yes
프롬프트에 " "를 입력 하십시오.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
다른 서버를 사용하려면 hosts 파일에서 ip 주소를 변경하고 해당 명령을 다시 실행하여 정확히 동일한 설정을 완료하면됩니다.
설치가 완료되었으며 이제 https://192.0.2.1:10000
서버의 IP 주소를 사용하십시오. 인증서는 자체 서명되어 있으므로 브라우저에서 보안 경고를 표시하므로 클릭 advanced
하고 예외를 추가 하십시오 . 로그인 페이지가 나타납니다. 사용자 이름은입니다 root
. 암호는 group_vars/all
3 단계에서 파일에 입력 한 것입니다. Virtualmin을 처음 입력하면 설치 후 마법사가 나타납니다. 이러한 설정을 수동으로 수행하거나 클릭 cancel
하여 기본값을 적용 할 수 있습니다.
첫 번째 Wordpress 서버를 시작하고 실행하려면 Virtualmin 대시 보드에서을 클릭하십시오 Create Virtual Server
. 도메인 이름, 설명 및 관리자 비밀번호를 입력해야합니다. 도메인 이름은 Virtualmin 정규화 된 도메인 이름과 달라야하며 DNS 레코드가 서버의 IP 주소를 가리켜 야합니다.
를 클릭하십시오 Create Server
. Virtualmin이 서버 생성을 마치면 Install Scripts
왼쪽 메뉴를 클릭하십시오 . 을 선택하고을 Wordpress
클릭 Show install options
한 후 다음 페이지에서 Wordpress 설치 위치를 선택하십시오. 선택하고을 At top level
클릭하십시오 Install Now
.
이것이 당신이해야 할 전부입니다-당신은 http://example.net/wp-admin/install.php
( example.net
이 가상 서버 도메인 이름이 있는 곳 ) 을 방문하여 Wordpress 설치를 완료 할 수 있습니다 . DNS 레코드가 아직 전파되지 않은 Services > Preview Website
경우 Virtualmin 메뉴에서 이동할 수 있습니다 .
이 단계를 여러 번 반복하여 동일한 Vultr 서버에 모두 여러 Wordpress 사이트를 만들 수 있습니다.
다른 시스템을 사용하십니까? Ghost는 201 년 이후 개발자와 일반 사용자 사이에서 인기를 얻고있는 오픈 소스 블로그 플랫폼입니다.
소개 WordPress는 인터넷에서 지배적 인 컨텐츠 관리 시스템입니다. 블로그에서 동적 컨텐츠가있는 복잡한 웹 사이트에 이르기까지 모든 것을 지원합니다.
다른 시스템을 사용하십니까? Fork는 PHP로 작성된 오픈 소스 CMS입니다. 포크 소스 코드는 GitHub에서 호스팅됩니다. 이 가이드는 Fork CM을 설치하는 방법을 보여줍니다.
Ghost는 Ember.js 관리 클라이언트, JSON API 및 Handlebars.js로 구동되는 테마 API를 사용하여 Node.js를 기반으로하는 최신 오픈 소스 출판 플랫폼입니다. 고스
다른 시스템을 사용하십니까? Ghost는 201 년 이후 개발자와 일반 사용자 사이에서 인기를 얻고있는 오픈 소스 블로그 플랫폼입니다.
Vultr 인스턴스는 WordPress 블로그를 실행하는 좋은 방법이지만 WordPress의 확장 기능은 전자 상거래 플러그인 인 WooCommerce입니다.
다른 시스템을 사용하십니까? Fork는 PHP로 작성된 오픈 소스 CMS입니다. 포크 소스 코드는 GitHub에서 호스팅됩니다. 이 가이드는 Fork CM을 설치하는 방법을 보여줍니다.
다른 시스템을 사용하십니까? MODX Revolution은 빠르고 유연하며 확장 가능하며 무료이며 오픈 소스 인 엔터프라이즈 급 CMS (Content Management System)로 작성된 i
다른 시스템을 사용하십니까? MODX Revolution은 PHP로 작성된 빠르고 유연하며 확장 가능한 오픈 소스 엔터프라이즈 급 CMS (Content Management System)입니다. 내가
다른 시스템을 사용하십니까? Fork는 PHP로 작성된 오픈 소스 CMS입니다. 포크 소스 코드는 GitHub에서 호스팅됩니다. 이 가이드는 Fork CM을 설치하는 방법을 보여줍니다.
다른 시스템을 사용하십니까? MODX Revolution은 빠르고 유연하며 확장 가능하며 무료이며 오픈 소스 인 엔터프라이즈 급 CMS (Content Management System)로 작성된 i
다른 시스템을 사용하십니까? Ghost는 2013 릴리스 이후 개발자와 일반 사용자 사이에서 인기를 얻고있는 오픈 소스 블로그 플랫폼입니다. 나는
다른 시스템을 사용하십니까? Ghost는 2013 릴리스 이후 개발자와 일반 사용자 사이에서 인기를 얻고있는 오픈 소스 블로그 플랫폼입니다. 나는
다른 시스템을 사용하십니까? Dotclear는 매우 간단한 블로그 엔진입니다. 오픈 소스이며 사용하기 쉽습니다. 이 튜토리얼은 설치를 진행합니다.
다른 시스템을 사용하십니까? MODX Revolution은 빠르고 유연하며 확장 가능하며 무료이며 오픈 소스 인 엔터프라이즈 급 CMS (Content Management System)로 작성된 i
고스트는 워드 프레스와 경쟁 할 수있는 가장 최신의 신생 기업입니다. Ghost 개발자는 두 가지 모두를 사용하기로 결정했기 때문에 테마 개발이 쉽고 빠릅니다.
소개 OpenBSD 설치를 기본값에 가깝게 유지하고 추가 된 패키지가 많을수록 더 안전합니다. 더 많은 commo 동안
다른 시스템을 사용하십니까? MODX Revolution은 빠르고 유연하며 확장 가능하며 무료이며 오픈 소스 인 엔터프라이즈 급 CMS (Content Management System)로 작성된 i
다른 시스템을 사용하십니까? Ghost는 201 년 이후 개발자와 일반 사용자 사이에서 인기를 얻고있는 오픈 소스 블로그 플랫폼입니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구
우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true
과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.
26가지 빅 데이터 분석 기법에 대한 통찰: 1부
의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.