bersama catatan peribadi & teknikalnya.

Konfigurasi LAMP di Komputer (Arch Linux)

Berpandukan ArchWiki


geeky stuff
#LAMP | #archlinux

Assalamu’alaikum.

Amatur seperti saya ada masa untuk belajar konfigurasi LAMP khusus bagi sistem operasi yang saya gunakan secara rasmi di rumah iaitu Arch Linux, sistem operasi kegemaran saya sepanjang masa.

Jika diikutkan sebelum ini sudah ada belajar sendiri namun hanya separuh jalan. Sempena Perintah Kawalan Pergerakan ini, ada masa untuk timba ilmu dan memang dah lama sangat nak belajar MariaDB serta PHP. Kenapa MariaDB dan PHP? Kenapa tak PostgreSQL atau MongoDB untuk ‘Relational DBMS’ dan tidak Python atau Perl untuk Bahasa Pengaturcaraan?

Tiada sebab yang jelas. Sebab berminat sahajalah alasannya.

Konfigurasi ini khusus untuk pemasangan lokal yang cara pemasangannya akan dirujuk daripada kaedah-kaedah seperti yang telah dijelaskan di ArchWiki. Kenapa perlu buat lagi siaran ini kalau pengisian kaedahnya sudah pun tersedia di ArchWiki?

Sebab bukan semua penerangan itu digunapakai dan ada sedikit perubahan yang perlu dilakukan mengikut cita rasa saya sendiri. Penting untuk saya catatkan perjalanannya agar mampu menjadi rujukan di masa akan datang.

Baiklah. Tanpa melengahkan masa lagi. Sebagai permulaan, apa itu LAMP boleh sentiasa dicari maklumatnya di Google. Sedikit gambaran boleh didapati di pautan ini; Category:Web applications.


Memandangkan 'L' yang merujuk kepada (L)inux sudah pun terangkum di bawah sistem Arch Linux yang saya pakai sekarang, tinggal lagi tiga konfigurasi yang saya perlu tetapkan di komputer riba milik saya ini iaitu; (A)pache, (M)ariaDB dan (P)HP.
  1. KONFIGURASI APACHE
    Isi yang terpakai daripada halaman ArchWiki untuk konfigurasi Apache buat masa ini ialah:-
    1. Installation
    2. Configuration
      2.1 Advanced Options
      2.3 TLS
      Bagi peringkat ini, saya hanya jalankan konfigurasi di bawah:-
      Dan tidak lupa untuk memulakan kembali ('restart') httpd.service.

    Ikuti langkah-langkah yang hanya dicadangkan di atas dan setelah itu, tinggalkan halaman ini sebentar untuk konfigurasi bagi MariaDB pula.
  2. KONFIGURASI MARIADB
    Pemasangan untuk MariaDB adalah sedikit istimewa. Hal ini adalah kerana akses kepada /home ditutup untuk tujuan keselamatan.

    Saya tidak mahu memberatkan partition / jadi untuk membolehkan MariaDB mempunyai akses ke /home, perlu ada penambahan langkah untuk membenarkannya.
    Katakan anda mahu meletakkan data di /home/mysql, maka langkah-langkah penambahannya adalah seperti yang disenaraikan di bawah ini:-
    1. Pasang pakej mariadb seperti diterangkan di Installation (ArchWiki)
      Sebagaimana dinasihati, jalankan baris perintah untuk memasang pangkalan data ('database') seperti berikut:-
      sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

      Kemudian, 'enable' mariadb.service dengan:-
      sudo systemctl enable mariadb.service
      sudo systemctl start mariadb.service

      Sunting fail /etc/systemd/system/multi-user.target.wants/mariadb.service dengan menukar ProtectHome kepada 'false' dan tambah baris untuk laluan ke direktori dimahukan dengan ciri kebenaran istimewa untuk dibaca dan ditulis ('ReadWrite') oleh pemilik/pentadbir:-
      [Service]
      ProtectHome=false
      ReadWritePaths=/home/mysql

      'Reload' systemd daemon dengan:-
      sudo systemctl daemon-reload

      Hentikan mariadb.service sebentar:-
      sudo systemctl stop mariadb.service

      Buat direktori baru yang mesti dimiliki khusus oleh pengguna mysql:-
      sudo mkdir -p /home/mysql
      sudo chown -R mysql:mysql /home/mysql

      Sunting fail /etc/my.cnf.d/server.cnf dengan menambah baris ini di dalam bahagian [mysqld]:-
      [mysqld]
      datadir=/home/mysql

      Ulang kembali langkah untuk memasang pangkalan data tetapi kali ini, direktori untuk simpanan data (--datadir) ditukarkan kepada direktori baru yang telah dibuat tadi:-
      sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/home/mysql

      Mulakan kembali ('restart') mariadb.service:-
      sudo systemctl restart mariadb.service
    2. Kembali kepada ArchWiki. Rujuk bahagian Configuration dan kemudian ikuti langkah yang hanya terpakai selanjutnya:-
      2.1 Improve initial security
      2.2 Add User
      dan terus melangkau ke langkah di bawah:-
      2.4 Listen only on the loopback address
    3. Periksa sama ada datadir telah berjaya dihubungkan kepada direktori /home/mysql atau tidak melalui:-
      mysql -u user -p -e "SELECT @@datadir";

      Pengeluaran ('Output') daripada baris langkah di atas di Terminal seharusnya begini:-

      Ia TIDAK lagi merujuk kepada direktori /var/lib/mysql.

    Teruskan dengan konfigurasi bagi PHP pula.
  3. KONFIGURASI PHP
    Pasang pakej php sebagaimana diterangkan di:-
    1. Installation
      Sesudah itu, terus melangkau ke bahagian 3 iaitu:-
    2. Configuration
    3. Dan selanjutnya, pergi ke langkah bernombor 4 Extensions serta mara terus ke konfigurasi terhadap fail php.ini.

    Selesai semua kendalian di atas, hanya tinggal satu lagi langkah sebagai pelengkap kepada penyediaan pelayan ('server') bagi aplikasi/pembangunan web ini. Rujuk langkah ke-iv di bawah yang akan membawa kita kembali ke ArchWiki Apache.
  4. KEMBALI KE APACHE
    Baiklah. Hampir ke garisan penamat. Sampai di sini semula, tidak payah buang masa tilik-tilik pengisian sebelum yang sudah dikerjakan. Lompat terus ke langkah nombor 3 Extensions di bawah bahagian 3.1 PHP dan hanya fokus kepada tiga kaedah berikut:-
    3.1.1 Using libphp
    3.1.2 Using php-fpm and mod_proxy_fcgi
    Berdasarkan penerangan ArchWiki, sepertinya php-fpm lebih digalakkan untuk digunakan. Jadi jika mahu, buat juga langkah ini. Tiada paksaan. Sama juga seperti langkah di 3.1.3.

    3.1.4 Test if PHP works
    Tibalah masa untuk periksa sama ada PHP telah dipasang dan dikonfigurasi dengan betul. Sekiranya PHP berfungsi, ia akan memaparkan pengeluaran ('Output') seperti imej di bawah:-
    Lebih panjang lagi 'Table' yang akan keluar, tetapi imej hanya terdiri daripada tangkapan skrin yang muat.

Alhamdulillah. Selesai sudah konfigurasi lengkap untuk pemasangan pelayan LAMP secara lokal di komputer peribadi. Bolehlah teruskan pula belajar membina pangkalan data dengan MariaDB dan bangunkan web melalui bahasa skrip PHP. Sekian.

Kali terakhir dikemaskini:
Top