GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Instal WordPress dengan HHVM dan Nginx di CentOS 7

HHVM (HipHop Virtual Machine) adalah mesin virtual open source untuk mengeksekusi program yang ditulis dalam bahasa PHP dan Hack. HHVM telah dikembangkan oleh Facebook, menyediakan sebagian besar fitur dari versi PHP 7 saat ini. Untuk menjalankan HHVM di server Anda, Anda dapat menggunakan FastCGI untuk menghubungkan HHVM dengan server web Nginx atau Apache, atau Anda dapat menggunakan server web yang dibangun ke dalam HHVM yang disebut "Proxygen".

Dalam tutorial ini, saya akan menunjukkan cara menginstal WordPress dengan HHVM dan Nginx sebagai server web. Saya akan menggunakan CentOS 7 sebagai sistem operasi, jadi pengetahuan dasar tentang CentOS diperlukan.

Prasyarat

  • CentOS 7 - 64bit
  • Hak istimewa root

Langkah 1 - Konfigurasi SELinux dan tambahkan Repositori Epel

Dalam tutorial ini, kita akan menggunakan SELinux dalam mode enforcing, jadi kita memerlukan alat manajemen SELinux yang diinstal pada sistem. Kami akan menggunakan setools dan setrobleshoot untuk mengelola kebijakan SELinux.

Secara default, SELinux diaktifkan pada CentOS 7, Kita dapat memeriksanya dengan perintah di bawah ini:

sestatus
getenforce

Anda dapat melihat SELinux diaktifkan dengan mode penegakan.

Selanjutnya, Instal setools dan setroubleshoot dengan perintah yum.

yum -y install setroubleshoot setools net-tools

Ketika instalasi telah selesai, Anda dapat menginstal repositori EPEL.

yum -y install epel-release

Langkah 2 - Instal Nginx

Nginx atau engine-x adalah server web ringan dengan kinerja tinggi dan konsumsi memori rendah. Di CentOS, kita dapat menggunakan yum untuk menginstal paket Nginx. Pastikan Anda login sebagai pengguna root!

Instal nginx dengan perintah yum ini dari repositori CentOS:

yum -y install nginx

Sekarang mulai Nginx dan aktifkan untuk dimulai saat boot dengan perintah systemctl:

systemctl start nginx
systemctl enable nginx

Untuk memastikan Nginx berjalan di server kami, kunjungi alamat IP server dengan browser Anda, atau gunakan perintah curl seperti yang ditunjukkan di bawah ini untuk mendapatkan hasilnya:

curl 192.168.1.110

Saya akan memeriksanya dengan browser web saya di sini:

Langkah 3 - Instal dan Konfigurasi MariaDB

MariaDB adalah database open source yang dikembangkan oleh pengembang MySQL asli Monty Widenius, telah bercabang dari database MySQL tetapi tetap kompatibel dengannya dalam fungsi utamanya. Pada langkah ini, kita akan menginstal MariaDB dan mengkonfigurasi kata sandi root untuk database MariaDB. Kemudian kita akan membuat database baru dan user baru yang dibutuhkan untuk instalasi WordPress kita.

Instal mariadb dan mariadb-server:

yum -y install mariadb mariadb-server

Mulai MariaDB dan tambahkan layanan untuk dimulai secara otomatis saat boot:

systemctl start mariadb
systemctl enable mariadb

MariaDB telah dimulai, dan sekarang kita harus mengkonfigurasi kata sandi root untuk database mariadb/mysql. Ketik perintah di bawah ini untuk menyiapkan kata sandi root MariaDB.

mysql_secure_installation

Ketikkan kata sandi baru Anda untuk pengguna root MariaDB saat diminta.

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
 ... Success!
Disallow root login remotely? [Y/n] Y
 ... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
 ... Success!

Kata sandi root MariaDB telah dikonfigurasi. Sekarang login ke shell MariaDB/MySQL dan buat database baru "wordpressdb" dan pengguna baru "wpuser" dengan sandi "[dilindungi email]" untuk instalasi WordPress kami. Pilih kata sandi yang aman untuk instalasi Anda!

Masuk ke shell MariaDB/MySQL:

mysql -u root -p
TYPE YOUR PASSWORD

Buat database baru dan pengguna baru:

create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q

MariaDB telah diinstal dan database baru untuk instalasi WordPress kami telah dibuat.

Langkah 4 - Instal HHVM

Untuk instalasi HHVM, kita perlu menginstal banyak dependensi. Kita dapat menginstal HHVM dari sumber dengan mengunduh sumber dari github, atau menginstal paket prebuilt yang tersedia di internet. Dalam tutorial ini, saya akan menginstal HHVM dari paket bawaan.

Instal dependensi untuk instalasi HHVM

yum -y install cpp gcc-c++ cmake git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server libc-client make

Kemudian instal paket bawaan HHVM dari situs ini dengan perintah rpm.

rpm -Uvh http://mirrors.linuxeye.com/hhvm-repo/7/x86_64/hhvm-3.15.2-1.el7.centos.x86_64.rpm
ln -s /usr/local/bin/hhvm /bin/hhvm

HHVM sudah terinstall, cek dengan perintah dibawah ini:

hhvm --version

Untuk menggunakan perintah php, kita dapat mengatur perintah hhvm sebagai php. Jadi ketika Anda mengetik 'php' di shell, Anda akan melihat hasil yang sama seperti dari perintah hhvm.

sudo update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
php --version

Langkah 5 - Konfigurasi HHVM

Pada langkah ini, kita akan mengkonfigurasi HHVM. Kami akan menjalankan hhvm sebagai layanan systemd. Alih-alih menjalankannya di port sistem, kami akan menjalankan hhvm pada file soket unix yang lebih cepat.

Buka direktori systemd dan buat file hhvm.service.

cd /etc/systemd/system/
vim hhvm.service

Tempelkan konfigurasi layanan di bawah ini ke dalam file itu.

[Unit]
Description=HHVM HipHop Virtual Machine (FCGI)
After=network.target nginx.service mariadb.service

[Service]
ExecStart=/usr/local/bin/hhvm --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock

[Install]
WantedBy=multi-user.target

Simpan file dan keluar dari vim.

Selanjutnya, masuk ke direktori hhvm dan edit file server.ini.

cd /etc/hhvm/
vim server.ini

Ganti hhvm.server.port pada baris 7 dengan konfigurasi soket unix di bawah ini:

hhvm.server.file_socket = /var/run/hhvm/hhvm.sock

Simpan file dan keluar dari editor.

Dalam file layanan hhvm, kami telah mendefinisikan bahwa hhvm berjalan di bawah pengguna 'nginx', jadi kami harus mengubah pemilik direktori file soket menjadi pengguna 'nginx'. Kemudian kita harus mengubah konteks SELinux dari direktori hhvmuntuk mengizinkan akses ke file soket.

chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Setelah server me-reboot, hhvm tidak akan berjalan karena tidak ada direktori untuk file socket, jadi kita harus membuatnya secara otomatis pada saat boot.

Edit file rc.local dengan vim.

vim /etc/rc.local

Tempel konfigurasi di bawah ini ke akhir baris.

mkdir -p /var/run/hhvm/
chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Simpan file dan keluar dari vim. Jadikan file tersebut dapat dieksekusi.

chmod +x /etc/rc.local

Muat ulang layanan systemd, mulai hhvm dan tambahkan untuk memulai saat boot.

systemctl daemon-reload
systemctl start hhvm
systemctl enable hhvm

Pastikan tidak ada kesalahan. Periksa apakah hhvm berjalan di bawah file soket dengan perintah netstat.

netstat -pl | grep hhvm

Langkah 6 - Konfigurasikan HHVM dan Nginx

Pada langkah ini, kita akan mengkonfigurasi HHVM untuk dijalankan dengan server web Nginx. Kita perlu membuat file konfigurasi hhvm baru di direktori Nginx.

Buka direktori /etc/nginx dan buat file hhvm.conf.

cd /etc/nginx/
vim hhvm.conf

Rekatkan konfigurasi di bawah ini:

location ~ \.(hh|php)$ {
    root /usr/share/nginx/html;
    fastcgi_keep_conn on;
    fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

Simpan dan keluar.

Selanjutnya, edit file nginx.conf dan tambahkan baris include konfigurasi hhvm.

vim nginx.conf

Tambahkan konfigurasi ke baris direktif server 57.

include /etc/nginx/hhvm.conf;

Simpan dan keluar.

Kemudian ubah konteks SELinux dari file konfigurasi hhvm.

semanage fcontext -a -t httpd_config_t /etc/nginx/hhvm.conf
restorecon -v /etc/nginx/hhvm.conf

Uji konfigurasi Nginx dan mulai ulang layanan.

nginx -t
systemctl restart nginx

Pastikan tidak ada kesalahan.

Langkah 7 - Buat Virtual Host dengan HHVM dan Nginx

Pada langkah ini, kita akan membuat konfigurasi virtual host baru dengan Nginx dan hhvm. Saya akan menggunakan nama domain "natsume.co" untuk contoh ini. Silakan gunakan nama domain Anda sendiri dan ganti di file konfigurasi dan instalasi WordPress di mana pun itu muncul.

Masuk ke direktori nginx conf.d tempat kita akan menyimpan file virtual host:

cd /etc/nginx/conf.d/

Buat konfigurasi baru "natsume.conf" dengan vim:

vim natsume.conf

Tempel konfigurasi host virtual di bawah ini:

server {
    listen       80;
    server_name  natsume.co;

    # note that these lines are originally from the "location /" block
    root   /var/www/hakase;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    location = /50x.html {
        root /var/www/hakase;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Simpan dan keluar.

Dalam konfigurasi host virtual, kami telah menetapkan direktori root web untuk nama domain menjadi direktori "/var/www/hakase". Direktori itu belum ada, jadi kita harus membuatnya dan mengubah kepemilikannya menjadi pengguna dan grup nginx.

mkdir -p /var/www/hakase
chown -R nginx:nginx /var/www/hakase

Selanjutnya, konfigurasikan konteks SELinux untuk file dan direktori.

semanage fcontext -a -t httpd_config_t "/etc/nginx/conf.d(/.*)?"
restorecon -Rv /etc/nginx/conf.d

Terakhir, uji konfigurasi nginx untuk memastikan tidak ada kesalahan, lalu mulai ulang nginx:

nginx -t
systemctl restart nginx

Langkah 8 - Instal WordPress

Pada langkah 5 kita telah membuat konfigurasi virtual host untuk instalasi WordPress kita. Sekarang kita tinggal mendownload WordPress dan mengedit konfigurasi database dengan menggunakan database dan user yang telah kita buat pada langkah 3.

Buka direktori root web "/var/www/hakase"  dan unduh WordPress dengan perintah wget:

cd /var/www/hakase
wget wordpress.org/latest.tar.gz

Ekstrak "latest.tar.gz"  dan pindahkan semua file dan direktori WordPress ke direktori saat ini:

tar -xzvf latest.tar.gz
mv wordpress/* .

Selanjutnya, salin file "wp-config-sample.php" ke "wp-config.php" dan edit dengan vim:

cp wp-config-sample.php wp-config.php
vim wp-config.php

Setel DB_NAME ke "wordpressdb" , DB_USER ke "wpuser" dan DB_PASSWORD ke "[email protected]" .

define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '[email protected]');
define('DB_HOST', 'localhost');

Simpan dan keluar.

Ubah konteks SELinux untuk direktori WordPress.

semanage fcontext -a -t httpd_sys_content_t "/var/www/hakase(/.*)?"
restorecon -Rv /var/www/hakase

Sekarang buka browser web dan ketik nama domain domain wordpress Anda ke dalam bilah alamat, milik saya adalah "natsume.co".

Pilih bahasa Inggris dan klik 'Lanjutkan '.

Isi judul dan deskripsi situs dengan info Anda dan klik "Install Wordpress".

Tunggu hingga penginstalan selesai. Anda akan melihat halaman di bawah, klik "Log In" untuk login ke dashboard admin WordPress:

Ketikkan pengguna dan kata sandi admin Anda, lalu klik "Masuk" lagi.

Sekarang Anda berada di dasbor admin WordPress.

Halaman Beranda Wordpress.

Wordpress dengan Nginx dan HHVM di CentOS 7 telah berhasil diinstal.


Cent OS
  1. Cara menginstal WordPress Multisite di Centos VPS dengan Nginx

  2. Instal Magento di CentOS 7, dengan Nginx, PHP-FPM dan MariaDB

  3. Instal WordPress dengan HHVM, Nginx dan MariaDB di Ubuntu 12.04 LTS

  1. Cara Menginstal WordPress dengan Nginx di CentOS 7

  2. Cara Menginstal Nextcloud dengan Nginx dan PHP 7.3 di CentOS 8

  3. Cara Menginstal WordPress dengan HHVM dan Nginx di OpenSUSE Leap 42.1

  1. Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7

  2. Cara Menginstal Nextcloud dengan Nginx dan PHP7-FPM di CentOS 7

  3. Cara Menginstal Laravel 5.x dengan Nginx dan PHP-FPM 7.1 di CentOS 7