Cara Menyebarkan Ghost v0.11 LTS di Fedora 25
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201
Penggunaan biasa pelayan maya Vultr adalah untuk menghoskan laman web Wordpress. Panduan ini menunjukkan kepada anda bagaimana mengautomasikan konfigurasi pelayan maya dari awal (menggunakan Ansible) dan menyebarkan beberapa laman web Wordpress bebas (menggunakan Webmin / Virtualmin). Virtualmin / Webmin adalah antara muka pengguna grafik yang membolehkan anda menguruskan penyebaran beberapa akaun pelayan maya pada mesin yang sama (lengkap dengan tumpukan LAMP / LEMP). Virtualmin sangat mirip dengan cPanel dan Plesk, dan dalam tutorial ini kita akan menggunakan edisi GPL percuma. Selepas penyediaan awal pelayan Vultr dan pemasangan Virtualmin, anda dapat dengan cepat menyediakan beberapa pelayan maya dari antara muka Virtualmin dan memasang Wordpress secara langsung pada pelayan maya yang lengkap dengan nama domainnya sendiri.
Dalam tutorial ini, daripada memasukkan senarai perintah yang panjang secara manual, kita akan menggunakan Ansible. Ansible adalah alat automasi berasaskan python yang membolehkan anda mengautomasikan tugas pelayan dengan pasti dan berulang kali. Ini bermakna setelah anda mengikuti tutorial ini, anda akan dapat menggunakan pelayan lain dengan cara yang sama hanya dengan beberapa perintah.
Pasang Ansible pada mesin tempatan anda atau pelayan lain.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible berfungsi dengan masuk ke pelayan anda melalui SSH. Akses SSH paling selamat jika kita menggunakan kunci dan bukannya kata laluan. Mari kita jana pasangan kunci awam dan swasta terlebih dahulu.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
Di dalam ssh_keys
direktori sekarang akan ada dua fail, ssh_keys
dan ssh_keys.pub
. ssh_keys
adalah fail kunci peribadi anda dan harus disimpan dengan selamat. Anda kini boleh membuka ssh_keys.pub
, yang mengandungi kunci awam.
Log masuk ke papan pemuka web Vultr dan klik Deploy New Server
.
Pilih wilayah, Jenis pelayan (Ubuntu 16.04), saiz pelayan, dan kemudian di bahagian 6 ( SSH keys
), klik Add New
. Pada halaman seterusnya tampal kunci awam anda dan beri nama, dan klik Add SSH key
. Akhirnya pastikan kunci dipilih dan klik Deploy now
.
Setelah pelayan selesai menggunakan anda akan ditunjukkan alamat ipnya. Anda perlu log masuk ke pelayan DNS nama domain anda dan arahkan ke alamat ini.
Fail automasi Ansible dipanggil roles
. Kami pertama kali akan menyiapkan struktur direktori (di dalam ansible
direktori yang baru anda buat pada langkah 1), dan fail asasnya.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Edit hosts
fail untuk mengandungi yang berikut, menggantikan ip address
pelayan yang baru anda buat. Ansible menggunakan python 2, yang belum dipasang oleh Ubuntu 16.04 secara lalai. Dalam hosts
fail kami memberitahu Ansible untuk menggunakan python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Edit deploy.yml
fail untuk mengandungi yang berikut. Kami akan menggunakan root
pengguna.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Edit /group_vars/all
fail untuk mengandungi yang berikut. Pemboleh ubah ini memberitahu Ansible lokasi kunci SSH anda, parameter fail pertukaran, Nama Domain yang Layak sepenuhnya dan kata laluan root. Harap ingat jangan memasukkan fail dalam kawalan sumber kerana mengandungi kata laluan anda dalam teks yang jelas.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Edit common/handlers/main.yml
fail untuk mengandungi yang berikut.
- name: restart sshd
service: name=ssh state=restarted
Automasi yang boleh difahami lebih mudah difahami jika kita membahagikannya kepada tugas. Mari buat fail untuk setiap tugas kami dalam proses.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
harus menunjuk ke setiap fail yang mengandungi perintah Ansible, jadi edit untuk mengandungi yang berikut.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
Langkah pertama dalam menyediakan pelayan baru adalah mengemas kini cache repo dan menetapkan zon waktu. Edit common/handlers/setup.yml
fail untuk mengandungi yang berikut.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Sekarang, kami akan memberikan kata laluan kepada pengguna root (yang kami perlukan untuk mengakses antara muka web virtualmin), tetapi melumpuhkan log masuk kata laluan melalui SSH (kerana kami menggunakan kaedah pengesahan kunci yang lebih selamat). Edit users.yml
untuk mengandungi yang berikut.
- 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
Untuk keselamatan, kami memerlukan firewall. Kami akan menggunakan Firewall Tanpa Komplikasi untuk membenarkan akses SSH di port 22
, akses web di port 80
dan akses web selamat di port 443
. Edit ufw.yml
fail untuk mengandungi yang berikut.
- 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
Sebagai pilihan, anda boleh memasukkan fail pertukaran. Ini penting sekiranya pelayan anda mempunyai RAM kurang dari 2GB untuk mengelakkan kehabisan memori. Edit swap.yml
untuk mengandungi yang berikut.
- 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 mempunyai fail pemasangnya sendiri yang boleh dimuat turun dan dijalankan oleh Ansible. Di sini kita menggunakan pemasangan minimum ( LINK
). Item tambahan adalah untuk mengkonfigurasi kata laluan pelayan MySQL yang tidak ditetapkan ketika dipasang oleh Virtualmin. Kita perlu menghentikan sementara MySQL dan menambahkan direktori pengesahan sebelum menukar kata laluan. Edit virtualmin.yml
untuk mengandungi yang berikut.
- 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
Peranan Ansible kini selesai dan kami sudah bersedia untuk digunakan.
Dari folder ansible, kita sekarang hanya dapat menjalankan perintah berikut, dan Ansible akan melaksanakan semua tugas yang kita buat secara automatik. Kali pertama anda menyambung, anda akan mendapat amaran kunci SSH, cukup taip " yes
" pada arahan.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Sekiranya kita ingin menggunakan pelayan lain, kita hanya dapat mengubah alamat ip dalam fail host dan menjalankan perintah itu lagi untuk menyelesaikan persiapan yang sama.
Pemasangan selesai dan sekarang kita boleh pergi ke https://192.0.2.1:10000
(gunakan alamat ip pelayan anda). Penyemak imbas anda akan mengeluarkan amaran keselamatan kerana sijil ditandatangani sendiri, jadi klik advanced
dan tambahkan pengecualian. Anda akan diberikan halaman log masuk. Nama pengguna adalah root
, dan kata laluan adalah yang anda masukkan ke group_vars/all
dalam langkah 3. Pada kali pertama anda memasukkan Virtualmin, anda akan diberikan wizard pasca pemasangan. Anda boleh melalui tetapan ini secara manual atau klik cancel
untuk menerima lalai.
Untuk menghidupkan dan menjalankan pelayan Wordpress pertama anda, dari klik papan pemuka Virtualmin Create Virtual Server
. Anda perlu memasukkan nama domain, keterangan dan kata laluan pentadbir. Nama domain harus berbeza dengan nama domain yang memenuhi syarat Virtualmin, dan anda perlu mengarahkan catatan DNS ke alamat ip pelayan anda.
Klik Create Server
. Setelah Virtualmin selesai membuat pelayan anda, klik Install Scripts
pada menu sebelah kiri. Pilih Wordpress
, klik Show install options
, dan pada halaman berikut pilih lokasi pemasangan Wordpress. Cukup pilih At top level
dan klik Install Now
.
Itu sahaja yang perlu anda lakukan - anda boleh menyelesaikan pemasangan Wordpress dengan mengunjungi http://example.net/wp-admin/install.php
(di mana example.net
nama domain pelayan maya ini). Sekiranya rekod DNS anda belum disebarkan, anda boleh pergi Services > Preview Website
dari menu Virtualmin.
Anda boleh mengulangi langkah ini berkali-kali untuk membuat banyak laman Wordpress semuanya di pelayan Vultr yang sama.
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201
Pengenalan WordPress adalah sistem pengurusan kandungan yang dominan di internet. Ini memberi kuasa kepada semua dari blog ke laman web yang kompleks dengan kandungan dinamik
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang cepat, fleksibel, berskala, terbuka, yang ditulis dalam PHP. Ia i
Neos adalah sistem pengurusan kandungan sumber terbuka yang inovatif yang bagus untuk membuat dan menyunting kandungan dalam talian. Dengan pemikiran pengarang dan editor, Neo
Menggunakan Sistem Berbeza? Fork adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber garpu dihoskan pada GitHub. Panduan ini akan menunjukkan cara memasang Fork CM
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang semakin popular di kalangan pembangun dan pengguna biasa sejak dilancarkan pada tahun 2013. Saya
Contoh Vultr adalah cara terbaik untuk menjalankan blog WordPress anda, tetapi peluasan yang lebih ketara untuk WordPress ialah WooCommerce, plugin eCommerce yang meluas
Menggunakan Sistem Berbeza? Fork adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber garpu dihoskan pada GitHub. Panduan ini akan menunjukkan cara memasang Fork CM
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201
Menggunakan Sistem yang berbeza? Ghost adalah platform blog sumber terbuka yang semakin popular di kalangan pembangun dan pengguna biasa sejak dilancarkan pada tahun 2013. Saya
Menggunakan Sistem Berbeza? Dotclear adalah mesin blog yang sangat mudah. Ia adalah sumber terbuka dan mudah digunakan. Tutorial ini akan melalui pemasangan pada
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i
Menggunakan Sistem Berbeza? Fork adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber garpu dihoskan pada GitHub. Panduan ini akan menunjukkan cara memasang Fork CM
Typesetter adalah CMS sumber terbuka yang ditulis dalam PHP yang difokuskan pada kemudahan penggunaan dengan penyuntingan True WYSIWYG dan penyimpanan fail rata. Dalam artikel ini, kita akan installin
Ghost adalah yang terbaru dan hebat untuk menyaingi WordPress. Pengembangan tema cepat dan mudah dipelajari kerana pembangun Ghost memutuskan untuk menggunakan kedua
Menggunakan Sistem yang berbeza? Jekyll adalah alternatif yang baik untuk WordPress. Ia tidak memerlukan pangkalan data dan berfungsi dengan bahasa yang tidak asing lagi
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201
Pengenalan Semakin dekat anda memasang OpenBSD anda ke lalai dan tanpa banyak pakej tambahan, semakin selamat. Walaupun semakin banyak koma
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut