WordPressi OpenBSD 6.2ye yükleme
Giriş WordPress, internet üzerindeki baskın içerik yönetim sistemidir. Bloglardan dinamik içeriğe sahip karmaşık web sitelerine kadar her şeyi güçlendirir
Vultr sanal sunucusunun yaygın kullanımı, Wordpress web sitelerini barındırmaktır. Bu kılavuz, bir sanal sunucunun yapılandırmasını sıfırdan nasıl (Ansible kullanarak) ve birden çok bağımsız Wordpress web sitesini (Webmin / Virtualmin kullanarak) nasıl dağıtacağınızı gösterir. Virtualmin / Webmin, aynı makinede (LAMP / LEMP yığını ile birlikte) birden çok sanal sunucu hesabının dağıtımını yönetmenizi sağlayan grafiksel bir kullanıcı arabirimidir. Virtualmin, cPanel ve Plesk'e çok benziyor ve bu derste ücretsiz GPL sürümünü kullanacağız. Vultr sunucusunun ilk kurulumundan ve Virtualmin'in kurulumundan sonra, Virtualmin arabiriminden çok sayıda sanal sunucuyu çok hızlı bir şekilde kurabilir ve Wordpress'i kendi etki alanı adıyla birlikte bu sanal sunucuya doğrudan yükleyebilirsiniz.
Bu öğreticide, uzun bir komut listesi manuel olarak girmek yerine Ansible kullanacağız. Ansible, sunucu görevlerini güvenilir ve tekrar tekrar otomatikleştirmenizi sağlayan python tabanlı bir otomasyon aracıdır. Bu, bu öğreticiyi izledikten sonra, yalnızca birkaç komutla başka bir sunucuyu aynı şekilde dağıtabileceğiniz anlamına gelir.
Ansible'ı yerel makinenize veya başka bir sunucuya kurun.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible, SSH aracılığıyla sunucunuza giriş yaparak çalışır. SSH erişimi, şifre yerine anahtarlar kullanırsak en güvenlidir. Önce genel ve özel bir anahtar çifti oluşturalım.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
Dizinde ssh_keys
şimdi iki dosya olacak ssh_keys
ve ssh_keys.pub
. ssh_keys
özel anahtar dosyanızdır ve güvende tutulmalıdır. Artık ssh_keys.pub
ortak anahtarı içeren 'i açabilirsiniz .
Vultr web kontrol paneline giriş yapın ve tıklayın Deploy New Server
.
Bir bölge seçin, Sunucu türü (Ubuntu 16.04), Sunucu boyutu ve sonra bölüm 6'da ( SSH keys
) tıklayın Add New
. Sonraki sayfada genel anahtarınızı yapıştırın ve bir ad verin ve Tamam'ı tıklayın Add SSH key
. Son olarak anahtarın seçili olduğundan emin olun ve tıklayın Deploy now
.
Sunucu konuşlandırmayı tamamladığında IP adresi gösterilir. Alan adınızın DNS sunucusuna giriş yapmanız ve bu adrese yönlendirmeniz gerekir.
Ansible'ın otomasyon dosyaları denir roles
. Önce dizin yapısını ( ansible
1. adımda oluşturduğunuz dizinin içinde ) ve temel dosyaları ayarlayacağız .
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Yeni oluşturduğunuz sunucunun hosts
yerini alacak şekilde dosyayı aşağıdakileri içerecek şekilde düzenleyin ip address
. Ansible, Ubuntu 16.04'ün varsayılan olarak yüklemediği python 2'yi kullanır. Gelen hosts
dosyanın biz python 3 kullanmaya yanıtlayıcı 'söyle.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
deploy.yml
Aşağıdakileri içerecek şekilde dosyayı düzenleyin. root
Kullanıcıyı kullanacağız .
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
/group_vars/all
Aşağıdakileri içerecek şekilde dosyayı düzenleyin. Bu değişkenler Ansible'a SSH anahtarlarınızın yerini, takas dosyası parametrelerini, Tam Nitelikli Etki Alanı Adınızı ve kök parolanızı söyler. Lütfen unutmayın değil o açık metin olarak şifrenizi içerdiğinden kaynak denetiminde dosyayı dahil etmek.
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
Aşağıdakileri içerecek şekilde dosyayı düzenleyin.
- name: restart sshd
service: name=ssh state=restarted
Ansible otomasyonu, onu görevlere ayırırsak anlamak daha kolaydır. İşlemdeki görevlerimizin her biri için dosyalar oluşturalım.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
Ansible komutlarını içeren her dosyayı göstermelidir, bu nedenle aşağıdakileri içerecek şekilde düzenleyin.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Yeni bir sunucu kurmanın ilk adımı, repo önbelleğini güncellemek ve saat dilimini ayarlamaktır. common/handlers/setup.yml
Aşağıdakileri içerecek şekilde dosyayı düzenleyin.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Şimdi, kök kullanıcıya bir şifre vereceğiz (virtualmin web arayüzüne erişmemiz gerekecek), ancak SSH üzerinden şifre girişlerini devre dışı bırakacağız (daha güvenli anahtar doğrulama yöntemi kullandığımız için). Düzenleme users.yml
aşağıdakileri içermesi.
- 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
Güvenlik için bir güvenlik duvarına ihtiyacımız var. Bağlantı noktasında SSH erişimi, bağlantı noktasında 22
web erişimi ve bağlantı noktasında 80
güvenli web erişimi için Karmaşık Güvenlik Duvarını kullanacağız 443
. ufw.yml
Aşağıdakileri içerecek şekilde dosyayı düzenleyin.
- 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
İsteğe bağlı olarak, bir takas dosyası ekleyebilirsiniz. Bellek yetersiz çökmelerini önlemek için sunucunuzda 2GB'tan daha az RAM varsa bu gereklidir. Düzenleme swap.yml
aşağıdakileri içermesi.
- 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 tarafından indirilip çalıştırılabilen kendi yükleyici dosyasına sahiptir. Burada minimal install ( LINK
) kullanıyoruz. Ek öğeler, Virtualmin tarafından yüklendiğinde ayarlanmamış olan MySQL sunucu şifresini yapılandırmaktır. Parolayı değiştirmeden önce MySQL'i geçici olarak durdurmalı ve kimlik doğrulama dizinini eklemeliyiz. Düzenleme virtualmin.yml
aşağıdakileri içermesi.
- 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 rolü şimdi bitti ve konuşlandırmaya hazırız.
Ansible klasöründen, şimdi aşağıdaki komutu çalıştırabiliriz ve Ansible otomatik olarak oluşturduğumuz tüm görevleri gerçekleştirir. İlk bağlandığınızda bir SSH anahtarı uyarısı alırsınız yes
, komut istemine " " yazmanız yeterlidir.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Başka bir sunucu kullanmak istiyorsak, hosts dosyasındaki ip adresini değiştirebilir ve tam olarak aynı kurulumu tamamlamak için bu komutu tekrar çalıştırabiliriz.
Kurulum tamamlandı ve şimdi gidebiliriz https://192.0.2.1:10000
(sunucunuzun ip adresini kullanın). Sertifika kendinden imzalı olduğu için tarayıcınız bir güvenlik uyarısı verir, bu nedenle tıklayın advanced
ve bir istisna ekleyin. Size bir giriş sayfası sunulacaktır. Kullanıcı adı root
ve parola group_vars/all
3. adımda dosyaya girdiğiniz paroladır. Virtualmin'e ilk kez girdiğinizde yükleme sonrası sihirbazı ile karşılaşırsınız. Bu ayarları manuel olarak yapabilir veya cancel
varsayılanları kabul etmek için tıklayabilirsiniz .
İlk Wordpress sunucunuzu çalıştırmak ve çalıştırmak için Virtualmin kontrol panelinden tıklayın Create Virtual Server
. Bir alan adı, açıklama ve yönetici şifresi girmeniz gerekir. Etki alanı adı, Virtualmin tam etki alanı adından farklı olmalıdır ve DNS kaydını sunucunuzun ip adresine yönlendirmeniz gerekir.
Tıklayın Create Server
. Virtualmin sunucunuzu oluşturmayı bitirdiğinde Install Scripts
, soldaki menüye tıklayın. Seçin Wordpress
, tıklayın Show install options
ve sonraki sayfada Wordpress kurulumunun konumunu seçin. Sadece seçin At top level
ve tıklayın Install Now
.
Tek yapmanız gereken - Wordpress kurulumunuzu http://example.net/wp-admin/install.php
( example.net
bu sanal sunucuların alan adı nerede) adresini ziyaret ederek tamamlayabilirsiniz . DNS kayıtlarınız henüz Services > Preview Website
yayılmadıysa, Virtualmin menüsünden gidebilirsiniz .
Aynı Vultr sunucusunda birden çok Wordpress sitesi oluşturmak için bu adımı birkaç kez tekrarlayabilirsiniz.
Giriş WordPress, internet üzerindeki baskın içerik yönetim sistemidir. Bloglardan dinamik içeriğe sahip karmaşık web sitelerine kadar her şeyi güçlendirir
Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)
Neos, çevrimiçi içerik oluşturmak ve düzenlemek için mükemmel olan yenilikçi bir açık kaynaklı içerik yönetim sistemidir. Yazarlar ve editörler göz önünde bulundurularak, Neo
Farklı Bir Sistem mi Kullanıyorsunuz? Ghost, 2013 sürümünden bu yana geliştiriciler ve sıradan kullanıcılar arasında popülerlik kazanan açık kaynaklı bir blog platformudur. ben
Farklı Bir Sistem mi Kullanıyorsunuz? Dotclear çok basit bir blog motorudur. Açık kaynak kodludur ve kullanımı kolaydır. Bu öğretici,
Ghost, WordPresse rakip olan en yeni ve en büyük başlangıç. Tema geliştirme hızlı ve kolaydır, çünkü Ghost geliştiricileri
Giriş OpenBSD kurulumunuzu varsayılana ne kadar yakın tutarsanız ve fazladan paket olmadan o kadar güvenli olur. Daha fazla commo iken
Farklı Bir Sistem mi Kullanıyorsunuz? Ghost, 201 yılından beri geliştiriciler ve sıradan kullanıcılar arasında popülerlik kazanan açık kaynaklı bir bloglama platformudur.
Farklı Bir Sistem mi Kullanıyorsunuz? Fork, PHP ile yazılmış açık kaynaklı bir CMSdir. Forks kaynak kodu GitHubda barındırılıyor. Bu kılavuz size Fork CMyi nasıl kuracağınızı gösterecektir
Typesetter, PHPde yazılmış, True WYSIWYG düzenleme ve düz dosya depolama ile kullanım kolaylığı üzerine odaklanmış açık kaynaklı bir CMSdir. Bu yazıda, kurulum yapacağız
Farklı Bir Sistem mi Kullanıyorsunuz? Ghost, 201 yılından beri geliştiriciler ve sıradan kullanıcılar arasında popülerlik kazanan açık kaynaklı bir bloglama platformudur.
Farklı Bir Sistem mi Kullanıyorsunuz? Dotclear PHP üzerine kurulmuş çok basit bir blog motorudur. Bu derste Ubunta Dotclear yükleyeceğiz
Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Jekyll, WordPresse iyi bir alternatiftir. Herhangi bir veritabanı gerektirmez ve birçok kişinin bildiği bir dille çalışır
Farklı Bir Sistem mi Kullanıyorsunuz? Fork, PHP ile yazılmış açık kaynaklı bir CMSdir. Forks kaynak kodu GitHubda barındırılıyor. Bu kılavuz size Fork CMyi nasıl kuracağınızı gösterecektir
Farklı Bir Sistem mi Kullanıyorsunuz? Jekyll, blog yazmak veya içerik paylaşmak için WordPresse harika bir alternatiftir. Herhangi bir veritabanı gerektirmez ve çok kolaydır.
Vultr örnekleri, WordPress blogunuzu çalıştırmanın harika bir yoludur, ancak WordPressin daha dikkate değer bir uzantısı WooCommercedir.
Farklı Bir Sistem mi Kullanıyorsunuz? Fork, PHP ile yazılmış açık kaynaklı bir CMSdir. Forks kaynak kodu GitHubda barındırılıyor. Bu kılavuz size Fork CMyi nasıl kuracağınızı gösterecektir
Farklı Bir Sistem mi Kullanıyorsunuz? Ghost, 2013 sürümünden bu yana geliştiriciler ve sıradan kullanıcılar arasında popülerlik kazanan açık kaynaklı bir blog platformudur. ben
Ghost, Node.js üzerinde Ember.js yönetici istemcisi, JSON APIsi ve Handlebars.js tarafından desteklenen bir tema APIsı ile oluşturulmuş modern, açık kaynaklı bir yayıncılık platformudur. ghos
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun