Mengaktifkan Modul Python WSGI untuk Apache di Server FreeBSD

· 2 min read

WSGI (Web Server Gateway Interface) adalah metode sederhana bagi server web untuk meneruskan permintaan ke aplikasi web atau kerangka kerja yang ditul

Paket modul mod_wsgi mengimplementasikan modul Apache yang mudah digunakan yang dapat menghosting aplikasi web berbasis Python, dengan dukungan Python WSGI. Modul ini cocok untuk digunakan dalam menghosting situs web berkinerja tinggi, dan juga dapat digunakan untuk situs pribadi atau blog yang dikelola sendiri yang berjalan pada layanan hosting web.

mod_wsgi adalah modul Apache HTTP Server yang menyematkan aplikasi Python di dalam server dan memungkinkannya untuk berkomunikasi melalui antarmuka Python WSGI sebagaimana didefinisikan dalam Python PEP 333. WSGI adalah salah satu cara Python untuk menghasilkan aplikasi web berkualitas tinggi dan berkinerja tinggi.

WSGI menyediakan cara standar untuk menghubungkan berbagai aplikasi web tanpa kesulitan. Beberapa aplikasi atau kerangka kerja python yang terkenal menyediakan wsgi untuk penyebaran dan penyematan yang mudah. ​​Ini berarti bahwa kita dapat menyematkan blog pribadi bertenaga Django dan proyek Trac ke dalam satu aplikasi Pylons yang membungkusnya untuk menangani, misalnya, autentikasi tanpa mengubah yang sebelumnya.

WSGI (Web Server Gateway Interface) adalah metode sederhana bagi server web untuk meneruskan permintaan ke aplikasi web atau kerangka kerja yang ditulis dalam Python. WSGI adalah spesifikasi yang menjelaskan cara server web berkomunikasi dengan aplikasi web. Mod_wsgi adalah modul Apache yang digunakan untuk menyajikan skrip Python melalui HTTP.

mod_wsgi adalah modul Apache HTTP Server yang dibuat oleh Graham Dumpleton yang menyediakan antarmuka yang sesuai dengan WSGI untuk menghosting aplikasi web berbasis Python di Apache. Sejak versi 4.5.3, mod_wsgi mendukung Python 2 dan 3 (sejak 2.6 dan 3.2). Ini adalah alternatif untuk solusi mod_python, CGI, dan FastCGI untuk integrasi Python dan web. mod_wsgi Pertama kali tersedia pada tahun 2007.

Artikel ini membantu Anda cara menginstal modul Apache mod_wsgi pada sistem FreeBSD. Dalam artikel ini kami juga akan menjelaskan cara membuat file python dan menjalankannya di server web apache24.


modul python WSGI



1. Proses Install mod_wsgi di FreeBSD

Agar mod_wsgi dapat berjalan di web server Apache24, pertama-tama kita install mod_wsgi. Di FreeBSD, install mod_wsgi dapat dilakukan dengan 2 cara. Dalam artikel ini kita akan menginstal mod_wsgi dengan sistem ports di FreeBSD. Penulisan dan implementasi mod_wsgi dalam artikel ini menggunakan FreeBSD 13.2 yang telah terinstal Apache24, pyhton39, PHP8 beserta mod dan ekstensi. Modul PHP lain yang harus Anda instal untuk menjalankan mod_wsgi adalah PHP_FPM.

Berikut ini cara menginstal mod_wsgi pada sistem FreeBSD.

root@ns1:~ # cd /usr/ports/www/mod_wsgi4
root@ns1:/usr/ports/www/mod_wsgi4 #
make install clean

Setelah proses instalasi selesai, mod_wsgi tidak langsung aktif. Kita harus mengaktifkan modul wsgi di server web Apache24.


2. Aktifkan mod_wsgi di Apache24

Pada web server, modul wsgi dapat ditempatkan pada file httpd.conf atau dapat dibuat secara terpisah pada folder /usr/local/etc/apache24/modules.d. Pada artikel ini kita akan membuat file terpisah untuk modul wsgi.

Langkah pertama adalah membuat file wsgi yang kita beri nama "270_mod_wsgi.conf" dan meletakkannya pada folder /usr/local/etc/apache24/modules.d. File "270_mod_wsgi.conf" berisi skrip modul untuk mengaktifkan mod_wsgi pada web server Apache24.

Berikut ini adalah cara membuat file /usr/local/etc/apache24/modules.d/270_mod_wsgi.conf dan memasukkan skrip pada file tersebut, seperti pada contoh di bawah ini.

root@ns1:~ # touch /usr/local/etc/apache24/modules.d/270_mod_wsgi.conf
root@ns1:~ #
ee /usr/local/etc/apache24/modules.d/270_mod_wsgi.conf
LoadModule wsgi_module libexec/apache24/mod_wsgi.so

Script pertama pada perintah di atas adalah membuat file "270_mod_wsgi.conf", dan script kedua menyertakan wsgi_modul pada file "270_mod_wsgi.conf".

Kemudian kita lanjutkan dengan membuat folder /usr/local/www/apache24/wsgi.

root@ns1:~ # mkdir -p /usr/local/www/apache24/wsgi

Berikan hak pengguna dan grup www:www ke folder tersebut.

root@ns1:~ # chown -R www:www /usr/local/www/apache24/wsgi

Setelah itu kita edit file /usr/local/etc/apache24/httpd.conf dan masukkan skrip di bawah ini.

root@ns1:~ # ee /usr/local/etc/apache24/httpd.conf
<Directory /usr/local/www/apache24/wsgi/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Options +ExecCGI
SetHandler wsgi-script
</Directory>
Alias /wsgi "/usr/local/www/apache24/wsgi/"


Skrip di atas dapat ditempatkan di bagian paling bawah file /usr/local/etc/apache24/httpd.conf.


3. Jalankan mod_wsgi di Apache24

Setelah semuanya terkonfigurasi dengan benar, saatnya kita menguji atau menjalankan mod_wsgi, apakah modul tersebut dapat berjalan atau tidak di web server Apache24. Untuk memudahkan pengujian, kita akan membuat file python dengan nama "/usr/local/www/apache24/wsgi/sample.py". Berikut cara membuat file tersebut.

root@ns1:~ # touch /usr/local/www/apache24/wsgi/sample.py
root@ns1:~ #
chown -R www:www /usr/local/www/apache24/wsgi/sample.py
root@ns1:~ #
chmod -R 777 /usr/local/www/apache24/wsgi/sample.py

Dalam file python /usr/local/www/apache24/wsgi/sample.py", kita masukkan skrip sebagai berikut.

root@ns1:~ # ee /usr/local/www/apache24/wsgi/sample.py
def application(environ, start_response):
status = '200 OK'
output = b'Selamat! Anda Telah Berhasil Menjalankan Modul wsgi Pada Web Server Apache24.'

response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)

return [output]

Setelah file python "/usr/local/www/apache24/wsgi/sample.py" berhasil dibuat, kita restart Apache24 agar dapat memuat modul wsgi.

root@ns1:~ # service apache24 restart

Langkah selanjutnya, buka peramban web Google Chrome, Yandex, atau Firefox. Pada menu bilah alamat peramban web, ketik http://192.168.5.2/wsgi/sample.py, dan lihat hasilnya. Jika peramban Google Chrome menampilkan tulisan "Selamat! Anda telah berhasil menjalankan modul wsgi di server web Apache24", itu artinya Anda telah berhasil menjalankan modul wsgi di server web Apache24.

WSGI berasal dari CGI. Dalam artikel ini, kami akan memperkenalkan implementasi WSGI dengan Python menggunakan Apache24 mod_wsgi. Anda juga dapat menerapkan modul WSGI bersama dengan Django dalam membuat blog berskala besar maupun kecil.
Subscribe on LinkedIn Mengaktifkan Modul Python WSGI untuk Apache di Server FreeBSD

Enclosures Link: Mengaktifkan Modul Python WSGI untuk Apache di Server FreeBSD

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar