LAMP & CMS


Cara Menginstal WordPress di Fedora dengan LAMP Stack


WordPress adalah salah satu sistem manajemen konten situs web paling populer. Menginstal WordPress secara lokal di komputer Anda berguna jika Anda ingin mempelajari cara menggunakannya atau jika Anda ingin menguji berbagai komponen seperti tema, font, tata letak, dan warna sebelum menerapkannya ke situs produksi Anda. Jadi mari kita langsung ke terminal dan mulai menginstal paket yang diperlukan untuk mengatur WordPress di localhost.


1. Instal Apache HTTP Server

Apache HTTP Server () adalah perangkat lunak server web lintas platform gratis dan sumber terbuka yang dikembangkan dan dikelola oleh Apache Software Foundation.httpd

Instal paket.httpd

dnf install httpd httpd-tools

Buka file konfigurasi dan atur nama server Anda. Juga, dalam arahan, ubah ke ./etc/httpd/conf/httpd.conf<Directory "/var/www/html">AllowOverrideAll

nano /etc/httpd/conf/httpd.conf

...

ServerName sipit5505.com:80

...

<Directory "/var/www/html">

    ...

    AllowOverride All

    ...

</Directory>

...

Periksa konfigurasi untuk melihat apakah ada kesalahan.

apachectl configtest

Syntax OK

Buka port TCP () di firewall lokal.80HTTP

firewall-cmd --add-service=http --permanent

firewall-cmd --reload

firewall-cmd --list-services

dhcpv6-client http mdns samba-client ssh

Aktifkan dan mulai layanan.httpd

systemctl enable --now httpd

Atur alamat IP server dalam file.httpd/etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


192.168.122.35  sipit5505.com

Sekarang, buka browser web dan ketik atau hanya ke bilah alamat. Anda akan melihat halaman web seperti ini.http://sipit5505.com



2. Tambahkan enkripsi TLS ke Server HTTP Apache

Secara default, Apache menyediakan konten kepada klien menggunakan koneksi HTTP yang tidak terenkripsi. Namun, Anda mungkin ingin menambahkan enkripsi TLS ke Server HTTP Apache juga, sehingga dapat mensimulasikan situs web produksi yang sebenarnya.

Pertama, Anda harus menginstal modul. Modul ini menawarkan kriptografi yang kuat ke server HTTP Apache melalui protokol Secure Sockets Layer (SSL) dan Transport Layer Security (TLS).mod_ssl 

dnf install mod_ssl

Kemudian, Anda perlu membuat sertifikat TLS yang ditandatangani sendiri  menggunakan alat baris perintah untuk mengaktifkan koneksi HTTPS. Gunakan perintah di bawah ini untuk membuat kunci privat dan sertifikat publik Anda. Jawab pertanyaan dan berikan informasi sesuai dengan pengaturan Anda. Saat diminta untuk Nama Umum, berikan nama server Anda, dalam contoh ini .

dnf install openssl


openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes \

  -out /etc/pki/tls/certs/sipit5505.com.crt \

  -keyout /etc/pki/tls/private/sipit5505.com.key


Generating a RSA private key

..............................................++++

......................................++++

writing new private key to '/etc/pki/tls/private/sipit5505.com.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]:IN

State or Province Name (full name) []:gilang

Locality Name (eg, city) [Default City]:bekasi

Organization Name (eg, company) [Default Company Ltd]:politeknik idn

Organizational Unit Name (eg, section) []:idn.id

Common Name (eg, your name or your server's hostname) []:sipit5505.com

Email Address []:gilang@gmail.com

Tinjau sertifikat yang baru dibuat.

[root@wpress ~]# openssl x509 -text -noout \

  -in /etc/pki/tls/certs/sipit5505.com.crt

Buka file dan edit / tambahkan baris berikut./etc/httpd/conf.d/ssl.conf

Nano /etc/httpd/conf.d/ssl.conf

...

<VirtualHost _default_:443>

    ...

    ServerName sipit5505.com:443

    SSLCertificateFile /etc/pki/tls/certs/sipit5505.com.crt

    SSLCertificateKeyFile /etc/pki/tls/private/sipit5505.com.key

    ...

</VirtualHost>


<VirtualHost *:80>

    ServerName sipit5505.com

    Redirect permanent / https://sipit5505.com

</VirtualHost>

Dalam file konfigurasi di atas,

·         Direktif menentukan nama server HTTPS dan lokasi sertifikat TLS.<VirtualHost default:443>

 

·         Direktif mengarahkan server untuk mengalihkan ke HTTPS jika alamat ditentukan dalam HTTP.<VirtualHost *:80>

Sekarang buka port TCP (HTTPS) di firewall lokal:443

firewall-cmd --add-service=https --permanent

firewall-cmd --reload

firewall-cmd --list-services

dhcpv6-client http https mdns samba-client ssh

Mulai ulang layanan.httpd

systemctl restart httpd

Buka browser web dan sekarang ketik bilah alamat untuk membuka halaman web dengan koneksi HTTPS. Karena Anda menggunakan sertifikat yang ditandatangani sendiri, Anda akan menerima pesan peringatan. Jangan khawatir; cukup terima risikonya dan lanjutkan. https://sipit5505.com



3. Instal Server Database MariaDB

Sekarang server web Apache Anda beroperasi dengan enkripsi TLS, Anda perlu menginstal sistem manajemen basis data relasional MariaDB untuk menyimpan data situs web Anda. 

Sekarang instal server database MariaDB.

dnf install mariadb-server

Aktifkan dan mulai layanan.mariadb

systemctl enable --now mariadb

Sekarang jalankan skrip shell untuk mengamankan instalasi MariaDB Anda. Untuk informasi selengkapnya tentang skrip, lihat halaman Basis Pengetahuan MariaDB tentang penginstalan yang aman. Saya akan menggunakan otentikasi, mekanisme keamanan tanpa kata sandi, untuk pengguna root. Plugin otentikasi memungkinkan pengguna untuk menggunakan kredensial sistem operasi saat menghubungkan ke MariaDB melalui file soket Unix lokal.

mariadb-secure-installation 

mariadb-secure-installation


    Enter current password for root (enter for none):

    Switch to unix_socket authentication [Y/n] Y

    Change the root password? [Y/n] n

    Remove anonymous users? [Y/n] Y

    Disallow root login remotely? [Y/n] Y

    Remove test database and access to it? [Y/n] Y

    Reload privilege tables now? [Y/n] Y   

Instalasi MariaDB selesai; satu-satunya yang tersisa adalah menonaktifkan CoW pada file database saat Anda membuatnya. Ini hanya berlaku jika Anda memiliki sistem file BTRFS.

systemctl stop mariadb

chattr -R +C /var/lib/mysql/

systemctl start mariadb


4. Instal Php Scripting Language

Komponen terakhir yang akan diinstal di tumpukan LAMP adalah PHP. PHP adalah bahasa scripting tujuan umum yang banyak digunakan yang sangat cocok untuk pengembangan web. WordPress merekomendasikan PHP 7.4 atau lebih tinggi. Pada saat penulisan, PHP versi 8.0 tersedia di repositori Fedora.

Jadi mari kita instal PHP 8.0 dengan beberapa ekstensi yang direkomendasikan. Untuk mempelajari lebih lanjut tentang ekstensi ini, lihat halaman Ekstensi PHP.

dnf install php php-fpm php-mysqlnd php-opcache php-gd \

  php-xml php-mbstring php-curl php-pecl-imagick php-pecl-zip libzip

Verifikasi versi PHP yang diinstal.

[root@wpress ~]# php -v

PHP 8.0.17 (cli) (built: Mar 15 2022 08:24:20) ( NTS gcc x86_64 )

Copyright (c) The PHP Group

Zend Engine v4.0.17, Copyright (c) Zend Technologies

    with Zend OPcache v8.0.17, Copyright (c), by Zend Technologies

Saat Anda menginstal WordPress, Anda harus mengunduh / mengunggah gambar, video, plugin, tema, dan file lainnya. Secara default, ukuran posting / unggah, waktu eksekusi / input, dan batas RAM siap menjadi sangat kecil. Akibatnya, Anda mungkin ingin mempertimbangkan untuk meningkatkannya.

Buka file dan ubah baris berikut. Ukuran baru yang telah ditetapkan sudah memadai, tetapi Anda dapat menyesuaikannya jika perlu untuk memenuhi kebutuhan Anda./etc/php.ini

max_execution_time = 300

max_input_time = 300

memory_limit = 512M

post_max_size = 256M

upload_max_filesize = 256M

Aktifkan dan mulai layanan.php-fpm

systemctl enable --now php-fpm

Mulai ulang layanan.httpd

systemctl restart httpd

Buat skrip PHP kecil untuk menguji konfigurasi PHP dan ekstensinya.

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

Sekarang buka browser web dan ketik bilah alamat untuk melihat semua informasi tentang PHP dan ekstensinya.https://sipit5505.com/phpinfo.php


5. Instal Sistem Manajemen Konten WordPress

Sekarang setelah Anda menginstal semua komponen di tumpukan LAMP, sekarang saatnya untuk menginstal dan mengkonfigurasi CMS WordPress.

Buka direktori dan unduh versi WordPress terbaru./var/www/html/

cd /var/www/html/


wget https://www.wordpress.org/latest.tar.gz

Ekstrak file.latest.tar.gz

 tar -xvf latest.tar.gz --strip-components=1

 ls -lh

Anda sekarang dapat menghapus file. Anda tidak membutuhkannya lagi.latest.tar.gz

rm latest.tar.gz

Untuk beberapa alasan, direktori hilang di dalam direktori. Jadi buatlah.uploadswp-content

mkdir wp-content/uploads

Sebelum Anda dapat mulai mengkonfigurasi WordPress, Anda harus terlebih dahulu membuat database yang akan digunakan oleh WordPress. Jadi, mulai shell baris perintah MariaDB.

mariadb

Membuat database. Saya akan menamainya . Tetapi Anda dapat menamainya apa pun yang Anda suka.wpressdb

MariaDB [(none)]> CREATE DATABASE wpressdb;

Query OK, 1 row affected (0.002 sec)

Buat pengguna yang akan memiliki akses ke database. Untuk tujuan kesederhanaan, saya akan menggunakan '' sebagai kata sandi. Namun, Anda harus memastikan bahwa kata sandi yang kuat digunakan.

MariaDB [(none)]> CREATE USER 'gilang'@'sipit5505.com'

    -> IDENTIFIED BY 'gilangpw';

Query OK, 0 rows affected (0.268 sec)

Beri pengguna akses penuh ke database

MariaDB [(none)]> GRANT ALL PRIVILEGES ON wpressdb.*

    -> TO 'gilang'@'sipit5505.com'

    -> IDENTIFIED BY 'gilangpw';

Query OK, 0 rows affected (0.092 sec)


MariaDB [(none)]> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.002 sec)

Konfirmasikan bahwa pengguna memiliki akses ke database. oke jika kalian bingung kalian bisa ikutin gambar dibawah ini



Lanjutkan untuk mengkonfigurasi WordPress. Buat salinan sebagai .wp-config-sample.phpwp-config.php

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

         Hasilkan wordPress salt. WordPress salt adalah string kode acak yang terdiri dari delapan variabel dan digunakan untuk mengenkripsi informasi login Anda. Mereka menambahkan kata sandi Anda untuk lebih melindungi kredensial login WordPress Anda. Ini melindungi kredensial Anda dari serangan brute-force dan taktik peretasan lainnya.

curl -S https://api.wordpress.org/secret-key/1.1/salt/


define('AUTH_KEY',         'Sbnq;5sI|,5^bP}s-I^-SiIE!Chxvvr%fx*)>5PB6_%0E:FtqJSZ*#GCMLF5t3r?');

define('SECURE_AUTH_KEY',  'Ex-OIFpY.N~U0d(w?z-tT;Ramd]wNU/>m#X@Z!-eaIFH[@`sRGbfL[Y)V[FE[*J+');

define('LOGGED_IN_KEY',    '-kpGsx#jjgY5f<mV-c|HXgE}nG&)XG`;m<5.4m[~Q+*/oImiX9s*-HdS> RW&M+s');

define('NONCE_KEY',        '6:}@+8+p|>BPv.{Ckwva4mAK]vMDi5Kn$PV+)frMY=RP/s[,(+-}^NfVs(7ngV|w');

define('AUTH_SALT',        '>u*`Xf{Y_7w#ML?3~3-6LIg<TZ%p=E#?nl$x}dG0^U3Xc3~L-:,87kt^|^ZytfEH');

define('SECURE_AUTH_SALT', 'G]wR(0<{:U|]n8|DYrJBn1B[fv6j5L*F]vK.aBYIPy%m=_+`+pf)#z,j(nsSr1@,');

define('LOGGED_IN_SALT',   '2w,&/E[qUIZmp-A6v`rfVl:B^BJ9K_L:aIyPY+v(4T~1M5[!U<L~IRsR~h}(}6pJ');

define('NONCE_SALT',       ',X*GpyfGV|i4_%|w_r+uzhEW_oruK-|CvV=QM6+UBGopXh*@e>Nn:48o;yXVS7;G');

 

Salin semua salt yang dihasilkan, buka file dan ganti ini,wp-config.php

define( 'AUTH_KEY',         'put your unique phrase here' );

define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );

define( 'LOGGED_IN_KEY',    'put your unique phrase here' );

define( 'NONCE_KEY',        'put your unique phrase here' );

define( 'AUTH_SALT',        'put your unique phrase here' );

define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );

define( 'LOGGED_IN_SALT',   'put your unique phrase here' );

define( 'NONCE_SALT',       'put your unique phrase here' );

dengan ini.

define('AUTH_KEY',         'Sbnq;5sI|,5^bP}s-I^-SiIE!Chxvvr%fx*)>5PB6_%0E:FtqJSZ*#GCMLF5t3r?');

define('SECURE_AUTH_KEY',  'Ex-OIFpY.N~U0d(w?z-tT;Ramd]wNU/>m#X@Z!-eaIFH[@`sRGbfL[Y)V[FE[*J+');

define('LOGGED_IN_KEY',    '-kpGsx#jjgY5f<mV-c|HXgE}nG&)XG`;m<5.4m[~Q+*/oImiX9s*-HdS> RW&M+s');

define('NONCE_KEY',        '6:}@+8+p|>BPv.{Ckwva4mAK]vMDi5Kn$PV+)frMY=RP/s[,(+-}^NfVs(7ngV|w');

define('AUTH_SALT',        '>u*`Xf{Y_7w#ML?3~3-6LIg<TZ%p=E#?nl$x}dG0^U3Xc3~L-:,87kt^|^ZytfEH');

define('SECURE_AUTH_SALT', 'G]wR(0<{:U|]n8|DYrJBn1B[fv6j5L*F]vK.aBYIPy%m=_+`+pf)#z,j(nsSr1@,');

define('LOGGED_IN_SALT',   '2w,&/E[qUIZmp-A6v`rfVl:B^BJ9K_L:aIyPY+v(4T~1M5[!U<L~IRsR~h}(}6pJ');

define('NONCE_SALT',       ',X*GpyfGV|i4_%|w_r+uzhEW_oruK-|CvV=QM6+UBGopXh*@e>Nn:48o;yXVS7;G');

Sekarang, gulir ke bagian atas file yang sama dan buat modifikasi yang tercantum di bawah ini. Ganti informasi yang relevan dengan penyiapan Anda.wp-config.php

/** The name of the database for WordPress */

define( 'DB_NAME', 'wpressdb' );


/** Database username */

define ('DB_USER', 'gilang');


/** Database password */

define( 'DB_PASSWORD', 'gilangpw' );


/** Database hostname */

define( 'DB_HOST', 'sipit5505.com' );

Secara rekursif mengubah kepemilikan direktori menjadi ./var/www/htmlapache

chown -R apache:apache *

Anda harus memberikan izin tulis SELinux ke file secara terpisah. File adalah file konfigurasi untuk server web yang menjalankan perangkat lunak Apache Web Server..htaccess.htaccess

semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/.htaccess

Memulihkan konteks keamanan SELinux default direktori secara rekursif./var/www/html

restorecon -RFv *

Aktifkan nilai boolean SELinux. Saat diaktifkan, boolean ini memungkinkan skrip dan modul HTTP memulai koneksi ke jaringan atau port jarak jauh.httpd_can_network_connect

setsebool -P httpd_can_network_connect on

Sekarang buka browser web dan ketik ke bilah alamat. WordPress akan memulai proses instalasi.https://sipit5505.com Pilih bahasa Anda, lalu tekan Lanjutkan untuk melanjutkan.


Anda harus memberikan beberapa informasi. Berikan judul yang sesuai pada situs web Anda, serta nama pengguna/kata sandi dan alamat email Anda. Kemudian, untuk melanjutkan, klik tombol 'Instal WordPress'.



Jika semuanya berjalan lancar, Anda akan menerima pesan sukses. Tekan tombol 'Masuk'.



Untuk masuk, masukkan nama pengguna dan kata sandi Anda.

Anda akan dibawa ke layar Dasbor WordPress.



CMS WordPress Anda sekarang telah berhasil diinstal. Anda sekarang dapat mulai membangun situs web impian Anda.

Komentar