Webserver
Nota-nota berkenaan webserver
- Page Tak Load di Mozilla Firefox / API tak berfungsi
- Setup Apache, MySQL dan PHP dalam WIndows
- Single Sign On
- KOHA Library
Page Tak Load di Mozilla Firefox / API tak berfungsi
Jika sistem/portal tersebut boleh diakses menggunakan Chrome atau Edge, tetapi loading mengambil masa yang lama atau gagal load di Mozilla Firefox, semak httpd.conf. pastikan baris di bawah ada dalam file tersebut. Perkara ini berkemungkinan berpunca daripada isu Cross-Origin Resource Sharing (CORS).
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type"</IfModule>
Sumber Rujukan :
https://chatgpt.com
soalan : "my apache server have problem loading content when user use mozilla firefox. the page load correctly using microsoft edge and google chrome. any idea what is the problem of my apache setting?"
sebahagian jawapan :
8. Cross-Origin Resource Sharing (CORS)
If your site is making cross-origin requests, ensure your CORS headers are correctly set. Firefox might be stricter about enforcing these headers.
Example CORS Headers:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type"
</IfModule>
Setup Apache, MySQL dan PHP dalam WIndows
Cara untuk setup Apache Web Server untuk kegunaan sistem-sistem in-house
Apache
Terdapat beberapa pilihan yang boleh digunakan untuk membina pelayan Web. Antara pelayan web yang biasa digunakan adalah Apache, Nginx dan Internet Information Services(IIS). Apache dan Nginx boleh dipasang di persekitaran Linux dan Windows, manakala IIS hanya boleh digunakan dalam persekitaran Windows sahaja. Dalam topik ini, kita akan bincangkan pemasangan Apache dalam persekitaran Windows Server 2019. Walau bagaimanapun, cara pemasangan tidak jauh berbeza untuk versi Windows 11.
Untuk muatturun perisian Apache, sila layari laman di bawah untuk maklumat terperinci. Dalam laman tersebut, terdapat beberapa cara diberi untuk muatturun perisian ini. Saya lebih gemar memilih Apache Lounge kerana boleh memilih versi PHP dan MySQL sendiri.
https://httpd.apache.org/docs/current/platform/windows.html#down
Rajah 1 : Muatturun perisian Apache24
Muatturun mengikut versi OS anda. Di sini saya mengambil Apache Win64 kerana saya menggunakan Windows Server 64bit. Selepas muatturun selesai, unzip dan baca file Readme.txt untuk ringkasan cara setup.
Untuk membolehkan Apache berjalan lancar di dalam Windows, anda perlu muatturun dan memasang C++ Redistributable for Visual Studio 2015-2022 x64 terlebih dahulu. Kemudian, pindahkan folder Apache24 ke dalam drive yang anda ingin. Sebagai contoh mudah, letak dalam drive C: seperti Rajah 3.
Sekiranya anda ingin meletakkan folder Apache24 dalam drive D: sebagai contoh, ubah tetapan dalam folder "Apache24/conf/httpd.conf" seperti dalam Rajah 4. Tukar SRVROOT daripada C: kepada D: atau apa-apa drive pilihan anda. Secara default, document root anda adalah dalam folder "Apache24/htdocs". Anda boleh menukar tetapan ini pada baris DocumentRoot dalam file httpd.conf.
Rajah 2 : Selepas unzip perisian Apache |
Rajah 3: Letak dalam drive C: |
Rajah 4 : Ubah sekiranya anda letak dalam drive selain C: |
Selepas itu, buka perisian Command Prompt, dan masuk ke folder "C:\Apache24\bin". Di dalam folder ini, anda boleh melaksanakan command httpd.exe untuk mengaktifkan webserver Apache. Jika tiada error dipaparkan, cuba buka http://localhost di browser anda. Jika berjaya, anda boleh menutup tetingkap server tadi dengan menekan butang Ctrl+C.
Install Apache sebagai service. Dengan cara ini, pelayan web Apache akan terus dilarikan apabila server Windows di"restart". Untuk itu, tambah secara manual di Services, atau gunakan command prompt di bawah:
Selepas arahan berjaya dilaksanakan, semak di dalam Services server anda. Apache2.4 akan berstatus Running dan Automatic seperti di bawah.
Selepas berjaya, server boleh diakses menggunakan PC atau henpon lain dengan menaip http://alamat-ip-server pada browser. Jika ingin menggunakan domain, sila daftarkan domain dan set DNS untuk point ke server ini.
PHP
Untuk membolehkan server ini melaksanakan sistem yang dibangunkan menggunakan PHP, kita perlu memasang PHP dalam server tersebut. Pada masa artikel ini ditulis, PHP terkini adalah PHP 8.3.9. Untuk memuat turun perisian PHP, layari web https://windows.php.net/download/ untuk dapatkan senarai PHP yang ada. Bergantung kepada keperluan anda, pilih versi yang sesuai. Sebagai contoh, terdapat versi lama Laravel yang hanya boleh dilaksanakan dalam PHP 7 ke bawah. Untuk tujuan artikel ini, saya akan menggunakan PHP 8.3.9.
Terdapat 2 jenis iaitu Thread Safe(TS) dan Non Thread Safe(NTS). TS merujuk kepada versi yang menyokong multi-thread. Dalam persekitaran Windows yang menggunakan Apache, adalah disarankan menggunakan Thread Safe. Jika anda menggunakan IIS atau Nginx dalam Windows, atau Apache di dalam Linux, anda boleh memilih Non Thread Safe. Thread Safe ini akan memberi kesan dalam pengurusan memory server anda.
VS16 atau VS17 pula merujuk kepada versi compiler PHP yang digunakan. Jika anda menggunakan Apache yang menggunakan Vs 16 atau 17, anda boleh muat turun PHP yang menggunakan versi VS16. Tetapi jika Apache menggunakan VS16 atau sebelum nya, pastikan kedua-dua versi adalah dari jenis yang sama.
Selepas muatturun, unzip di dalam C: dan namakan folder kepada PHP8. Anda boleh meletakkan nama lain mengikut kesukaan anda. Selepas itu, edit file php.ini. Jika belum ada, anda boleh menggunakan fail php.ini-development atau php.ini-production mengikut keperluan anda.
Kemudian, edit file ini. Uncomment line ";extension=mysqli" jika anda menggunakan database MySQL. untuk lain-lain extension, aktifkan mengikut keperluan.
Setkan default timezone anda dengan mengubah baris ";date.timezone =" kepada "date.timezone=Asia/Kuala_Lumpur".
Secara default, PHP meletakkan saiz maksimum untuk upload adalah 2MB. Jika anda ingin menambah saiz ini, cari baris "upload_max_filesize = 2M" dan tukar 2M kepada nilai yang anda perlukan.
Kemudian, buka fail C:\Apache24\conf\httpd.conf untuk set pautan antara Apache dan PHP. Tambah baris seperti di bawah:
LoadModule php_module "C:/php8/php8apache2_4.dll"
PHPIniDir "C:/php8"
<IfModule mime_module>
AddType application/x-httpd-php .php
</IfModule>
Cari baris di bawah dan pastikan terdapat index.php di dalamnya.
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
Restart server Apache anda. Cuba laksanakan skrip PHP yang ringkas untuk pengujian.
Single Sign On
SSO menggunakan keycloak
KOHA Library
Membuat Certificate SSL Let's Encrypt untuk Koha Library anda
Untuk membuat certificate Let's Encrypt, adalah lebih mudah jika menggunakan Certbot. Install certbot dalam server Ubuntu anda. Kemudian, hentikan server apache jika telah berjalan. gunakan arahan :
sudo systemctl stop apache2
laksanakan certbot:
sudo certbot certonly
Pilih "1: spin up temporary web server".
masukkan domain library anda. sebagai contoh, library.buku.com
catat path key yang diberikan.
Cth::
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/library.buku.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/library.buku.com/privkey.pem
update cert dalam vhost anda, masukkan tetapan untuk port 443. biasanya, vhost ini terletak di dalam:
sudo vi /etc/apache2/sites-enabled/library.conf
start server:
sudo systemctl start apache2