GNU/Linux >> Belajar Linux >  >> Debian

Instal Wordpress pada LAMP di Debian 9

Tutorial ini akan menunjukkan cara menginstal dan mengonfigurasi WordPress versi terbaru di atas tumpukan LAMP di Debian 9 - Stretch. Wordpress, tanpa diragukan lagi, adalah salah satu Sistem Manajemen Konten atau CMS open-source paling populer yang digunakan saat ini untuk penerbitan internet, yang mendukung lebih dari 60 juta situs web di seluruh dunia, baik situs blog kecil atau merek besar terkenal. Berdasarkan mesin PHP dan MySQL, Wordpress sering dikaitkan dengan koleksi LAMP, baik yang diinstal pada server khusus atau server pribadi virtual atau pada penyedia hosting web bersama. Akronim LAMP menggambarkan kumpulan perangkat lunak, alias bundel perangkat lunak, yang biasanya terdiri dari Linux Kernel Open Source, terlepas dari distribusi yang dipilih, Apache Server HTTP, yang merupakan salah satu server web sumber terbuka paling populer di internet karena stabilitas, fleksibilitas, dan kinerjanya, PHP bahasa pemrograman yang ditafsirkan sisi server dan MariaDB sistem manajemen basis data relasional (RDBMS), yang merupakan salah satu perangkat lunak basis data paling populer, bercabang dan dikembangkan secara bersamaan oleh komunitas sumber terbuka dari MySQL asli.

PERSYARATAN:

  • Instalasi bersih sistem operasi Debian 9 pada server pribadi virtual atau mesin virtual atau langsung pada mesin bare-metal yang didedikasikan sendiri.
  • Akses jarak jauh SSH jika VPS atau server jarak jauh atau akses konsol langsung
  • Setidaknya Alamat IP statis untuk antarmuka jaringan yang dikonfigurasi di server
  • Jika halaman web harus tersedia untuk umum di internet, Anda memerlukan nama domain publik terdaftar dengan catatan DNS yang dikonfigurasi dengan benar. Selama tutorial ini, kita akan menggunakan linuxbox.ml sebagai domain contoh dan alamat IP statis dari ruang pribadi, di NAT, di belakang router utama. Domain akan dapat diakses dari internet dengan port forwarding port Apache 80 dan 443 dari sisi router ke LAN mesin virtual internal yang dihosting sendiri.

Bagian Satu – Instal paket perangkat lunak LAMP

  1. Hal pertama yang ingin Anda lakukan sebelum mulai menginstal semua komponen LAMP adalah login ke server Debian 9 dan melakukan prosedur terbaru untuk semua komponen sistem, seperti peningkatan kernel, pembaruan paket, atau patch keamanan, dengan mengeluarkan perintah berikut dengan hak akses root.
apt-get update
apt-get upgrade
apt-get dist-upgrade
  1. Pada langkah berikutnya, Anda harus mengatur nama mesin Anda dengan mengganti variabel hostname dengan nama deskriptif Anda sendiri dengan menjalankan perintah di bawah ini. Ketahuilah bahwa Anda mungkin perlu mem-boot ulang sistem untuk menerapkan nama host baru yang sesuai.
hostnamectl set-hostname hostname.yourdomain.com
  1. Anda juga harus menginstal utilitas berikut yang akan berguna nanti untuk berbagai masalah pemecahan masalah.
apt install net-tools sudo wget curl bash-completion
  1. Setelah nama host mesin diterapkan, login lagi dengan hak akses root dan instal server HTTP Apache, yang secara default telah dikompilasi sebelumnya ke dalam paket biner dan disediakan oleh repositori Debian 9.
apt install apache2
  1. Selanjutnya, instal versi terbaru penerjemah bahasa PHP dan semua modul yang diperlukan untuk server web Apache untuk menerapkan CMS Wordpress dengan mengeluarkan perintah berikut.
apt install libapache-mod-php7.0 php7.0 php7.0-gd php7.0-xml php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xmlrpc
  1. Komponen terakhir yang hilang sekarang agar tumpukan LAMP menjadi lengkap adalah server database MariaDB. Jalankan perintah berikut untuk menginstal server MariaDB bersama dengan modul PHP yang diperlukan untuk mengakses database dari server HTTP Apache.
apt install php7.0-mysql mariadb-server mariadb-client

Setelah database MariaDB terinstal, jalankan daemon dan amankan database yang saya jalankan mysql_secure_installation naskah seperti yang tergambar pada kutipan di bawah ini. Terutama menjawab dengan ya pada semua pertanyaan skrip meminta Anda. Juga, pastikan Anda memilih kata sandi yang kuat untuk akun root. Ketahuilah bahwa akun root MySQL tidak identik dengan akun root Linux. Yang pertama hanya digunakan untuk mengelola database MariaDB dan yang kedua adalah akun superuser di setiap sistem Linux. Akun-akun ini tidak pernah tumpang tindih dalam suatu sistem.

systemctl start mariadb
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

 

  1. Kami belum selesai mengamankan database MariaDB. Secara default, Anda dapat masuk ke MariaDB dari localhost dengan akun root database tanpa diminta kata sandi. Untuk mencegah kemungkinan masalah keamanan, login ke database dengan pengguna root dan jalankan perintah berikut.
mysql –u root
MariaDB> use mysql;
MariaDB> update user set plugin='' where User='root';
MariaDB> flush privileges;
MariaDB> quit

Sekarang, uji database dengan mencoba login dengan root akun tanpa kata sandi. Anda harus ditolak aksesnya ke database MariaDB.

  1. Pada langkah berikutnya, kita akan mengaktifkan dan mengonfigurasi TLS dan menulis ulang modul untuk server web Apache, yang secara default dinonaktifkan. Jalankan perintah di bawah ini untuk mengaktifkan kedua modul.
a2enmod rewrite ssl
a2ensite default-ssl.conf
  1. Kemudian, buka file konfigurasi Apache untuk kedua situs yang diaktifkan dan tambahkan blok berikut di bawah DocumentRoot arahan seperti yang diilustrasikan pada tangkapan layar berikut.
nano /etc/apache2/sites-enabled/000-default.conf
nano /etc/apache2/sites-enabled/default-ssl.conf

Pada kedua file konfigurasi yang diedit satu per satu tambahkan blok kode berikut:

    <Directory /var/www/html>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       Require all granted
    </Directory>

  1. Di Apache default-ssl.conf File konfigurasi TLS Anda juga dapat menambahkan konten di bawah ini, jika tidak ada, untuk memalsukan keamanan protokol SSL Apache. Baris kode ini harus memperbaiki kerentanan SSL umum.
SSLProtocol all -SSLv2 -SSLv3
# Add SSL Cipher in one long line
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder     on
SSLOptions +StrictRequire
 
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff

Jika baris yang diilustrasikan dalam kutipan di atas sudah ada di file konfigurasi SSL Apache, pastikan Anda memodifikasinya agar terlihat seperti dijelaskan di atas. Untuk menerapkan setelan ini, aktifkan header Apache modul dan restart layanan dengan menjalankan perintah berikut:

a2enmod headers
systemctl restart apache2.service

Untuk situs web produksi, wajib mengaktifkan modul Apache TLS karena CMS WordPress menghasilkan sebagian besar konten dinamis melalui gateway PHP dan juga menangani proses otentikasi untuk pengguna internalnya. Menggunakan teknologi TLS menjamin bahwa informasi yang ditransfer dienkripsi di kedua ujungnya dan koneksi aman. Pihak ketiga atau man-in-the-middle dapat mencegat lalu lintas tetapi tidak dapat mendekripsi konten, karena informasi tidak disampaikan dalam teks biasa.

  1. Setelah Anda melakukan semua perubahan di atas, uji konfigurasi Apache untuk mendeteksi potensi kesalahan sintaks dan jika semuanya baik-baik saja, mulai ulang daemon LAMP untuk mencerminkan semua perubahan yang dibuat sejauh ini dan aktifkan layanan di seluruh sistem dengan mengeluarkan mengikuti perintah.
apachectl –t
systemctl restart apache2.service mariadb.service
systemctl enable apache2.service mariadb.service

  1. Terakhir, periksa apakah layanan Apache dan MariaDB telah membuka port dalam status mendengarkan dengan mengeluarkan netstat perintah dan filter output menggunakan egrep Saat ini, server web Apache seharusnya memiliki port 80 dan 443 (sesuai dengan protokol http dan https) yang umumnya terbuka dan MariaDB seharusnya hanya mengikat localhost:3306 stopkontak. Gunakan -n tandai netstat perintah untuk menekan tampilan nama layanan.
netstat -tlp| egrep 'http|mysql'

  1. Untuk memastikan server web Anda dapat diakses dari internet melalui protokol HTTP dan HTTPS, buka browser dan navigasikan ke nama domain Anda. Menjelajah melalui protokol HTTPS, kesalahan sertifikat akan ditampilkan di browser. Ini karena file konfigurasi TLS default Apache dikonfigurasi untuk menggunakan Sertifikat yang Ditandatangani Sendiri. Anda harus menerima kesalahan TLS dan melanjutkan menavigasi ke halaman web default seperti yang diilustrasikan di bawah ini.

http://www.domainanda.com 

https://www.domainanda.com 

Jika Anda tidak dapat mengunjungi halaman web default domain Anda dari internet, Anda harus terlebih dahulu memverifikasi apakah beberapa aturan firewall di sistem memblokir permintaan atau memastikan port yang tepat pada router diteruskan ke LAN internal Anda jika server berada di belakang NAT -ed jaringan. Anda mungkin juga ingin memeriksa data DNS di panel pencatat domain dan memastikan data tersebut mengarah ke IP WAN Anda dan apakah data tersebut selesai disebarkan di internet.

  1. Untuk menguji apakah PHP berfungsi seperti yang diharapkan di sisi server, buat php . PHP di /var/www/html/ jalur sistem, yang merupakan jalur akar dokumen web default dari server web Apache, mengeluarkan perintah di bawah ini dan arahkan ke URI berikut dari browser untuk mendapatkan hasilnya:http://www.domainanda.com/info.php
echo '<?php phpinfo(); ?>' > /var/www/html/info.php

BAGIAN DUA – Instal Wordpress

  1. Sekarang setelah tumpukan LAMP dikonfigurasikan sepenuhnya, instalasi CMS Wordpress relatif mudah. Pertama, login ke database MariaDB dan buat database instalasi untuk Wordpress dan pengguna dengan kata sandi yang tepat untuk menginstal dan mengelola CMS Wordpress, dengan mengeluarkan perintah di bawah ini. Jangan ragu untuk mengganti nama database dan kredensial database agar sesuai dengan kebutuhan Anda.
mysql –u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-user'@'localhost' IDENTIFIED BY 'wordpress-pass';
FLUSH PRIVILEGES;

  1. Selanjutnya, unduh tarball Wordpress terbaru dari situs resmi menggunakan wget utilitas dan ekstrak arsip terkompresi dengan tar kegunaan. Salin file instalasi ke jalur root dokumen server web Apache dengan mengeluarkan perintah di bawah ini. Juga, pastikan Anda menghapus default index.html halaman web.
wget http://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp -rf wordpress/* /var/www/html/
rm /var/www/html/index.html

  1. Ubah izin jalur root web Apache seperti yang dijelaskan di bawah untuk memberikan server web www-data mengelompokkan izin menulis penuh ke direktori instalasi. Konfigurasi ini akan memungkinkan server web Apache untuk membuat atau memodifikasi file dan direktori di bawah jalur sistem khusus ini. Yang paling penting adalah upload direktori dan .htaccess file, yang dapat digunakan untuk mengontrol dan memperluas fungsionalitas Apache.
chmod –R 775 /var/www/html/
chgrp –R www-data /var/www/html/
ls –al /var/www/html

  1. Setelah semuanya siap, mari kita mulai menginstal Wordpress. Proses instalasi akan dilakukan dari browser. Buka browser dan kunjungi domain Anda melalui protokol HTTPS. Pada layar pertama penginstalan, tekan Ayo tombol untuk memulai penginstalan.

  1. Di layar penginstalan berikutnya, tambahkan nama database, kredensial akses database, dan host database yang telah Anda buat sebelumnya untuk penginstalan Wordpress dan tekan Kirim tombol untuk melanjutkan. Konfigurasi database akan disimpan di /var/www/html/wp-config.php Anda dapat memodifikasi file secara manual di kemudian hari untuk tujuan khusus Wordpress.

  1. Pada layar berikutnya, klik Jalankan penginstalan tombol dan isi judul situs web Anda, kredensial admin situs web, dan alamat email. Kata sandi yang kuat harus dibuat secara otomatis oleh skrip instalasi. Anda dapat memilih untuk menyimpan sandi ini atau memberikan sandi kuat Anda sendiri. Setelah selesai, tekan Instal Wordpress tombol untuk menyelesaikan proses instalasi.

  1. Akhirnya, setelah instalasi berhasil selesai, masuk ke dasbor Wordpress dengan kredensial yang dibuat selama proses instalasi dan mulailah mengelola situs web Anda sendiri.

Selamat! Anda telah berhasil menginstal versi terbaru Wordpress CMS di atas bundel perangkat lunak LAMP di Debian 9, nama kode Stretch.


Debian
  1. Cara Menginstal Server LAMP di Debian 9 Stretch Linux

  2. Cara Menginstal Server Redis di Debian 11

  3. Instal Cockpit di Debian 9

  1. Cara Menginstal MySQL 8.0 / 5.7 di Debian 11 / Debian 10

  2. Instal WordPress dengan database jarak jauh di Debian

  3. Instal Server LAMP di Debian 11

  1. Cara Mengatur Server LAMP di Debian 10 Buster

  2. Cara Memasang Server Minecraft di Debian 9

  3. Cara menginstal SuiteCRM di Debian 9