GNU/Linux >> Belajar Linux >  >> Linux

Siapkan Lingkungan Pengembangan WordPress Lokal dengan Vagrant

Jika Anda mengembangkan dengan WordPress, lebih baik untuk menyiapkan lingkungan lokal di mana Anda telah menginstal server, alat database, dan beberapa situs Wordpress bersama dengan alat lain yang Anda butuhkan. Ini bagus jika Anda hanya mengerjakan beberapa proyek. Tetapi ketika mereka berkembang biak, masalah terjadi. Dan juga sakit kepala karena memelihara banyak lingkungan, karena klien memiliki pengaturan yang berbeda dari Anda.

Untuk mengatasi masalah ini, kita dapat menggunakan apa yang kita sebut Vagrant. Vagrant adalah alat untuk bekerja dengan lingkungan virtual. Ini menyediakan cara mudah untuk mengatur lingkungan pengembangan lokal dengan beberapa perintah, dan Anda dapat mereplikasi pengaturan lengkap sebanyak yang Anda inginkan, dengan mudah dan tanpa kerumitan menginstal semuanya secara manual. Untuk menjalankan Vagrant, Anda perlu menetapkan seperangkat aturan. Vagrant menyiapkan mesin virtual Anda berdasarkan aturan ini. Vagrant memerlukan dua file untuk ini:Vagrantfile, yang memberi tahu Vagrant jenis perangkat keras apa yang dibutuhkan mesin virtual, dan file penerapan, yang memberi tahu Vagrant apa yang harus dilakukan pada mesin virtual.

Karena Vagrant bekerja dengan lingkungan virtual, Anda memerlukan perangkat lunak mesin virtual untuk menjalankan Vagrant. Untuk tujuan kami, kami akan menggunakan Open Source Virtualbox.

Memasang VirtualBox

Buka halaman unduhan Virtualbox dan unduh file biner yang sesuai dengan host Tamu Anda. (Host tamu adalah sistem Operasi dari mana Anda akan menjalankan lingkungan dev Anda.) Instal Virtualbox.

Menginstal Vagrant

Unduh biner yang sesuai dengan sistem operasi Anda dari halaman unduhan Vagrant dan instal.

Untuk menguji apakah berhasil diinstal, ketik perintah berikut di baris perintah OS Anda.

$ vagrant -v

Menginstal Plugin Vagrant Host Updater

Plugin vagrant-hostupdater akan mengubah file host OS Anda sehingga domain yang disiapkan oleh Vagrant berfungsi. Untuk menginstalnya, jalankan perintah berikut

$ vagrant plugin install vagrant-hostsupdater

Reboot OS Anda setelah menginstal Vagrant/Virtualbox sehingga tidak ada masalah jaringan.

Menginstal Git

Linux

Kami juga membutuhkan kontrol versi Git untuk tutorial ini. Jika Anda belum menginstalnya, maka instal dengan menggunakan perintah berikut jika Anda memiliki distribusi Debian/Ubuntu

$ sudo apt install git

atau jika Anda memiliki Fedora

$ sudo dnf install git

atau jika Anda memiliki CentOS/RHEL

$ sudo yum install git

Periksa versi Git yang diinstal melalui perintah berikut

$ git --version

Anda akan melihat sesuatu seperti

$ git version 2.20.1

Anda perlu mengatur Git melalui perintah berikut.

$ git config --global user.name "Your Name" 
$ git config --global user.email "[email protected]"

Windows

Untuk menginstal Git di Windows, buka halaman Download Git dan instal binernya.

Mac OS

Jika Anda telah menginstal homebrew, maka Anda dapat menginstal Git melalui perintah berikut.

$ brew install git

atau Anda dapat mengunduh paket biner dari halaman Unduhan Git dan menginstalnya.

Instal Vagrant Vagrant yang Bervariasi

Alih-alih membuat penyiapan Vagrant dari awal, kami akan menggunakan Varying Vagrant Vagrant(VVV) - konfigurasi Vagrant open source yang ditujukan khusus untuk membuat Lingkungan Pengembangan WordPress. VVV standar akan menyiapkan mesin Virtual Anda berdasarkan Ubuntu 18.04 bersama dengan server Nginx, database MariaDB, PHP, WP-CLI, Node.js, MailHog, Composer, memcached, phpMyAdmin, git dan berbagai alat lainnya. VVV akan memberi Anda beberapa instalasi WordPress secara default, salah satunya adalah versi terbaru untuk membantu Anda bereksperimen.

Langkah pertama adalah mengkloning repositori Git dari VVV ke direktori lokal di sistem Anda.

$ git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vvv

Di sini kita mengkloning cabang master repositori pada sistem. Jika Anda ingin pembaruan yang lebih cepat, Anda dapat menggunakan cabang develop.

Memulai VVV

Ubah ke direktori tempat Anda mengkloning VVV.

$ cd vvv

Luncurkan lingkungan Vagrant yang akan menginstal mesin Virtual dan mengatur semuanya.

$ vagrant up

Proses ini bisa memakan waktu cukup lama jadi bersabarlah. Anda mungkin dimintai kata sandi root selama proses yang diperlukan untuk menyiapkan file host sistem Anda.

Catatan untuk Pengguna Windows 8/10

Jika Anda menggunakan Windows, Anda mungkin mendapatkan kesalahan berikut

==> default: Booting VM... 
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "1fe83aa1-2f23-4ddd-ad77-b7e7e00aabe6", "--type", "headless"]

Stderr: VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only
Ethernet Adapter #3' (VERR_INTNET_FLT_IF_NOT_FOUND).
VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

Perhatikan Adaptor yang dirujuk di sini:

VirtualBox Host-Only Ethernet Adapter #3

Buka Control Panel>> Jaringan dan Pusat Berbagi. Sekarang klik Ubah Pengaturan Adaptor. Klik kanan pada adaptor yang Nama atau Nama Perangkatnya cocok dengan VirtualBox Host-Only Ethernet Adapter #3 dan klik Properti . Klik pada Konfigurasikan tombol.

Sekarang klik Driver tab. Klik Perbarui Driver . Pilih Jelajahi komputer saya untuk driver . Sekarang pilih Biarkan saya memilih dari daftar driver yang tersedia di komputer saya . Pilih pilihan yang Anda dapatkan dan klik Next. Klik Tutup untuk menyelesaikan pembaruan. Sekarang kembali ke jendela Terminal/Powershell/Command Anda dan ulangi vagrant up memerintah. Ini akan bekerja dengan baik kali ini.

Setelah ini selesai, Anda dapat mengunjungi dasbor VVV Anda di http://vvv.test url.

VVV hadir dengan dua instalasi WordPress default - http://one.wordpress.test dan http://two.wordpress.test Kedua situs memiliki detail login yang sama, admin sebagai nama pengguna dan sandi sebagai kata sandi. Kredensial basis data untuk kedua situs adalah wp sebagai nama pengguna dan kata sandi. Kredensial pengguna Root MySQL adalah root sebagai username dan password. Dan kredensial pengguna root VM adalah root sebagai nama pengguna dan gelandangan sebagai kata sandi.

Ada pengembang wordpress yang menginstal di http://trunk.wordpress.net tetapi tidak akan berfungsi karena tidak disediakan. Instalasi ini berguna jika Anda adalah kontributor WordPress yang bekerja dengan tiket dan tambalan Trac. Untuk mengaktifkannya, buka vvv-custom.yml dan ubah nilai lewati_penyediaan di bawah wordpress-trunk ke false dan kemudian menyediakan ulang VM dengan menggunakan perintah

$ vagrant reload --provision

Ada instalasi wordpress lain tanpa url yang diberi label sebagai wordpress-meta-environment. Instalasi ini akan menciptakan lingkungan yang berguna untuk kontribusi ke tim meta WordPress misalnya, WordCamps, .org dll. Untuk mengaktifkan instalasi ini tambahkan baris berikut di bawah wordpress-meta-environment dalam file vvv-custom.yml.

hosts:
- wpmeta.test

Dan kemudian ubah nilai lewati_penyediaan menjadi salah dan menyediakan ulang VM.

$ vagrant reload --provision

Tambahkan Situs Baru

Jika Anda ingin menambahkan situs lain ke VM, Anda perlu mengedit vvv-custom.yml file yang dapat Anda temukan di vvv direktori. Jika tidak ada, cukup salin vvv-config.yml dan menciptakannya. Ini adalah proses satu kali dan Anda tidak perlu melakukannya lagi. Selalu lakukan perubahan di vvv-custom.yml karena vvv-config.yml akan ditimpa saat Anda memperbarui VVV.

Tambahkan kode berikut di bawah bagian situs ke vvv-custom.yml untuk menambahkan situs baru.

newsite:
    repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template
    description: "A WordPress subdir multisite install"
vm_dir: /srv/www/newsite
local_dir: /home/user/vvv/www/newsite
branch: master
nginx_upstream: php skip_provisioning: false hosts: - newsite.test custom: wp_type: subdirectory

Variabel

variabel repo mengacu pada repositori Github yang telah ditentukan sebelumnya yang berisi informasi tentang cara menyiapkan situs WordPress baru di VM. Untuk saat ini, kami menggunakan repo yang dikelola oleh VVV.

deskripsi variabel cukup jelas.

vm_dir adalah direktori sebenarnya di dalam VM tempat situs Anda akan berada.

local_dir adalah direktori di mesin host tempat situs Anda berada.

cabang variabel memberitahu Vagrant untuk memeriksa cabang master repo dalam contoh di sini.

nginx_upstream digunakan untuk mengatur ke mana Nginx meneruskan permintaan dan biasanya digunakan untuk mengubah versi PHP yang diperlukan untuk instalasi Anda. php di sini mengacu pada versi default PHP yaitu 7.2. Anda dapat menggunakan php71 untuk mengubahnya menjadi PHP 7.1 atau php56 untuk mengubahnya menjadi PHP 5.6.

lewati_penyediaan disetel ke false yang berarti kita harus menyertakan situs ini ke VM.

host variabel digunakan untuk mengatur url yang kita perlukan untuk mengakses situs.

khusus Bagian ini berguna jika Anda memerlukan kontrol tambahan atas situs WordPress Anda. Anda dapat menggunakan bagian ini untuk mengatur instalasi multisite atau menginstal versi WordPress yang berbeda dan bahkan mengubah nama database atau situs Anda yang akan digunakan untuk instalasi Anda.

wp_type variabel memutuskan apakah instalasi Anda akan menjadi satu, mulsite dengan domain atau multisite dengan subdirektori. wp_type mengambil empat nilai:tunggal, subdomain, subdirektori dan tidak ada. Dengan penginstalan subdomain, Anda dapat menentukan beberapa host untuk penginstalan multisitus Anda dalam format berikut

hosts:
    - multisite.test
    - site1.multisite.test
    - site2.multisite.test
  custom:
    wp_type: subdomain

Anda dapat menambahkan satu variabel lagi di bawah bagian khusus yaitu wp_version . Anda dapat mengaturnya ke nightly jika Anda ingin menginstal versi Nightly dari WordPress. Dibutuhkan tiga nilai:setiap malam, terbaru, dan nomor versi.

custom: 
     wp_version: nightly

Ada variabel lain, db_name yang memungkinkan Anda untuk mengatur nama database untuk instalasi Anda.

custom:
    db_name: super_secet_db_name

Dan terakhir, site_title variabel memungkinkan Anda untuk mengatur Judul situs WP Anda.

custom:
    site_title: My Awesome Dev Site

Ini harus mencakup semua variabel dan opsi yang Anda perlukan untuk menambahkan situs web Anda sendiri di VVV. Setelah mengubah file vvv-custom.yml, jalankan perintah berikut untuk membuat situs baru Anda berfungsi.

$ vagrant reload --provision

Tambahkan Situs yang Ada

Sejauh ini, kami telah mempelajari cara menambahkan situs yang sama sekali baru ke VVV. Tetapi bagaimana jika Anda sudah mengerjakan sebuah situs dan ingin menambahkannya di bawah VVV. Mari kita lihat bagaimana kita bisa melakukannya.

Untuk menambahkan situs yang sudah ada, langkah pertama sama seperti sebelumnya, yaitu mengedit file vvv-custom.yml dan menambahkan kode berikut.

howtoforge:
    repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template
    description: "A WordPress site"
vm_dir: /srv/www/newsite
local_dir: /home/user/vvv/www/newsite
hosts: - howtoforge.local

Ini akan memberi tahu VVV untuk menyiapkan situs baru yang dapat diakses melalui http://howtoforge.local Tapi ini adalah situs yang sama sekali baru. Yang perlu kita lakukan adalah mengubahnya menjadi instalasi yang sudah ada. Untuk ini kita perlu menyalin file dari instalasi WordPress yang ada ke direktori lokal yaitu /home/user/vvv/www/newsite

$ cp /var/www/howtoforge/ /home/user/vvv/www/newsite/

Sekarang kita perlu menyalin database. Cara sederhana untuk melakukannya adalah dengan mengekspor database Anda yang ada sebagai file .sql, salin file itu ke direktori blog kami dan dengan mengimpor database lagi dengan SSHing ke VM kami.

Pertama, login ke mysql di baris perintah sistem lokal Anda dan gunakan perintah berikut untuk mengekspor database.

$ cd /home/user/vvv/www/newsite
$ mysqldump -u username -p database_name > data-dump.sql

Sekarang kami dapat menyediakan VM lagi.

$ vagrant reload --provision

SSH ke VM Anda.

$ vagrant ssh

Sekarang impor database kembali ke VM Anda.

$ cd /srv/www/newsite 
$ mysql -u root -p newsite < data-dump.sql

VVV telah membuat database baru selama penyediaan untuk blog kami bernama situs baru. Kata sandi untuk pengguna root adalah root di sini. Perintah di atas akan mengimpor database kita yang sudah ada ke database baru.

Ini menyelesaikan penyiapan situs yang ada di VVV.

Aktifkan SSL

Instalasi localhost biasanya tidak diamankan. Dan menginstal sertifikat Anda sendiri di localhost bisa menjadi proses yang panjang dan membosankan, bahkan dengan Let's Encrypt. Tetapi VVV membuat proses ini cukup mudah dan secara default SSL telah diaktifkan di semua instalasi WordPress Anda. Mulailah menggunakan https dengan situs Anda. Untuk pertama kalinya, browser Anda akan mengeluh tentang sertifikat yang tidak valid tetapi menambahkannya sebagai pengecualian dan itu akan baik-baik saja mulai sekarang.

Memperbarui WordPress

Anda dapat memperbarui instalasi WordPress Anda dari dasbor Anda. Juga, VVV akan memperbarui wordpress Anda setiap kali Anda menyediakan kembali VM. Anda juga dapat memperbarui WordPress secara manual dengan mengunduhnya dari WordPress.org dan mengekstrak file zip. Dan Anda juga dapat menggunakan WP CLI yang dibundel dengan VVV. Untuk memperbarui situs Anda dengan WP CLI, gunakan perintah berikut.

$ cd /srv/www/newsite
$ wp core update

Memperbarui VVV

Langkah pertama adalah menghentikan mesin Vagrant.

$ vagrant halt

Sekarang pastikan, gelandangan dan Virtualbox Anda mutakhir. Jika tidak, unduh lagi dan instal.

Jalankan perintah berikut untuk memperbarui kotak Vagrant Anda. Ini opsional, tetapi sebaiknya Anda melanjutkannya.

$ vagrant box update

Sekarang, tarik versi VVV terbaru dari Github.

$ git pull

Reprovision kotak lagi untuk menyelesaikan pembaruan.

$ vagrant up --provision

Alat Tambahan

VVV dikirimkan dengan berbagai utilitas yang dapat Anda instal. Anda akan menemukannya terdaftar di bawah bagian utilitas di file vvv-custom.yml Anda. Secara default, tls-ca dan phpmyadmin diaktifkan. Anda selanjutnya dapat menginstal memcached, opcache, webgrind, mongodb, tideways, dan versi php dari 5.6 hingga 7.3 dengan menghapus # di depannya di bagian utilitas.

Anda bahkan dapat menambahkan perangkat lunak Anda sendiri yang ingin Anda instal. Anda perlu memodifikasi vvv-custom.yml file dengan sesuatu seperti

utilities:
  core:
    - tls-ca
- phpmyadmin java: - java7 utility-sources: java: repo: https://github.com/example/java-utilities.git branch: master

Anda akan menambahkan bagian baru, Java di sini, misalnya. Kode untuk instalasi akan berasal dari repositori git. Repositori git Anda harus terstruktur seperti

java7/
    provision.sh

File provision.sh akan berisi kode yang diperlukan untuk menginstal java di VM Anda. Nama folder harus sesuai dengan nama yang Anda gunakan di atas di vvv-custom.yml berkas.

Kesimpulan

Itu menyimpulkan tutorial kami tentang cara mengatur lingkungan pengembangan WordPress lokal dengan Vagrant. Beri tahu kami jika Anda memiliki pertanyaan.


Linux
  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Cara menyiapkan lingkungan pengembangan LAMP di Vagrant

  3. Siapkan lingkungan chroot di Ubuntu dengan debootstrap

  1. Mengonfigurasi penyimpanan lokal di Linux dengan Stratis

  2. Siapkan cluster Kubernetes dengan Rancher

  3. Ganti pengguna gitolite3 dengan git

  1. Apa itu Git Bash; Bekerja dengan Perintah Git Bash

  2. Cara Menginstal atau Memigrasi WordPress dengan EasyEngine Setup

  3. Mempertahankan izin file dengan Git