GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Setup Lengkap Untuk Lighttpd, Server Web Ringan

Ada server web yang sangat konservatif dalam penggunaan sumber daya dan jejak memorinya. Server itu dikenal sebagai lighttpd (diucapkan 'ringan'). Menyetel satu instance lighttpd bisa sedikit rumit, jadi tutorial ini berfungsi sebagai panduan yang jelas tentang cara mengonfigurasi server lighttpd dengan benar di Linux.

Memahami file konfigurasi untuk setiap instance server web adalah kunci keberhasilan menjalankan lighttpd. Tutorial ini juga akan mencakup penambahan dukungan PHP untuk server web Anda.

Lighthttpd ​Opsi Konfigurasi

Setelah menginstal lighttpd, kita akan mulai dengan membuat file yang mendefinisikan pengaturan server web. Sebut saja ini 'example.conf' di direktori home. Kami hanya akan menyalin file konfigurasi default yang ditemukan di /etc/lightpd. Ini adalah file '.conf' standar sehingga aturan sintaks normal berlaku, misalnya, karakter apa pun setelah '#' diperlakukan sebagai komentar.

$ cp /etc/lighttpd/lighttpd.conf ~/webservers/example.conf
$ vim ~/webservers/example.conf # Or whatever editor you wish 

Modul Server

Bidang 'server.modules' berisi array modul yang digunakan oleh server. Mari tambahkan dua lagi ke daftar sekarang:'mod_fastcgi' dan 'mod_setenv'. Mod_fastcgi akan memungkinkan kita untuk menambahkan dukungan PHP. Mod_setenv akan memungkinkan kita untuk melewati sebuah header yang akan memungkinkan server untuk membuat permintaan ke domain lain yang berguna untuk memuat perpustakaan eksternal.

CATATAN:jika Anda juga ingin memasukkan 'mod_status' dalam daftar, letakkan 'mod_setenv' di depannya.

Setelan Server

Mari kita periksa bagian berikut:

server.document-root = "/var/www/html"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80 

Bidang-bidang ini cukup jelas. Ini adalah default yang ditemukan di file konfigurasi di /etc/lightpd . Karena ini adalah file baru, disalin dari file konfigurasi default, kami dapat mengubah apa pun yang kami inginkan. Akar dokumen menentukan tingkat direktori paling atas yang terlihat oleh server web. Bidang 'upload-dirs' berisi larik direktori untuk menyimpan unggahan. Nama pengguna dan nama grup yang sesuai dengan yang ditemukan di sistem Anda. Secara default, pengguna 'www-data' adalah pemilik file yang dibuat oleh instance lighttpd ini. Anda perlu memastikan bahwa log kesalahan dapat ditulis dengan 'www-data' (dibahas nanti).

Dalam konfigurasi ini, mari ubah direktori root dokumen menjadi ‘/var/www/mysite/html’ . Selanjutnya ubah log kesalahan ke nama yang berbeda:'/var/log/lightpd/mysite/error.log'. Kemudian ubah port ke 8080, jika Anda mau.

Dukungan FastCGI dan 'setenv'

Karena kita menambahkan dua modul ini di:kita perlu meletakkan konfigurasi di file di bawah pengaturan server (jika executable untuk 'php' dan 'php-cgi' terletak di tempat lain, tentukan sebagai gantinya):

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket"
)))cgi.assign = ( ".php" => "/usr/bin/php" ) 

Apa yang telah kami lakukan adalah memberitahu lighttpd bahwa jika skrip PHP diminta dari server, itu harus meluncurkan juru bahasa PHP di komputer untuk memprosesnya. Modul FastCGI adalah yang kami gunakan untuk mengeksekusi skrip PHP.

Jika Anda perlu mengizinkan berbagi sumber daya lintas-Asal (CORS), tambahkan baris ini di bawah. setenv.add-response-header =( “Access-Control-Allow-Origin” => “*”) Untuk menentukan hanya satu domain, ganti “*” dengan domain yang Anda inginkan.

Berikut adalah isi dari file konfigurasi:

Cara Menginstal PHP

Jika Anda menginginkan dukungan PHP, PHP perlu diinstal, khususnya paket 'php' dan 'php-cgi'. Untuk dukungan MySQL, 'php-mysql' perlu diinstal juga. Kami telah mengonfigurasi server web dalam file konfigurasi untuk memungkinkan kode PHP dieksekusi.

​Beberapa Langkah Ekstra

Berkas Log

Karena lokasi file log yang kita tentukan di config berada di folder yang belum ada, lighttpd akan memunculkan error saat dijalankan. Pertama, kita perlu membuat folder:

$ sudo mkdir /var/log/lighttpd/mysite ​

Selanjutnya, buat file log, lalu ubah kepemilikan pengguna dan grup file menjadi pengguna “www-data” seperti yang ditentukan dalam file konfigurasi.

$ sudo touch /var/log/lighttpd/mysite/error.log
$ sudo chown www-data /var/log/lighttpd/mysite/error.log
$ sudo chgrp www-data /var/log/lighttpd/mysite/error.log ​

Kemudian kami mencoba menjalankan server menggunakan file konfigurasi kami:

$ sudo lighttpd -f mysite.conf 

Salin File Indeks

Jangan lupa untuk menyalin file indeks yang ada di direktori /var/www/html ke direktori root Anda:

$ sudo cp /var/www/html/index.lighttpd.html /var/www/html/mysite/index.html   

Menjalankan Server

Mudah-mudahan, lighttpd akan mulai di latar belakang tanpa kesalahan pencetakan di layar. Namun, saya mengalami masalah dengan salah satu perintah "include_shell" di konfigurasi:

include_shell "/usr/share/lighttpd/include-conf-enabled.pl" 

Jika Anda juga mengalami masalah ini, salah satu opsi adalah menonaktifkannya (dengan menempelkan '#' di awal baris).

#include_shell "/usr/share/lighttpd/include-conf-enabled.pl" 

Jika Anda ingin atau perlu, untuk memperbaikinya, opsi lainnya adalah membuka skrip Perl yang ditentukan dalam perintah include_shell dan mengubah salah satu string.

Temukan baris ini:

my $enabled = “conf-enabled/*.conf”; 

Masalahnya adalah bahwa ini adalah direktori yang dirujuk oleh skrip ini, tetapi tidak lengkap. Apa yang saya lakukan adalah menambahkan di mana dikatakan direktori berada ke variabel $enabled.

my $enabled = “/etc/lighttpd/conf-enabled/*.conf”; 

Menerapkan Perubahan

​Setelah mengubah file konfigurasi untuk server tertentu, Anda harus mematikan instance lighttpd itu dan memulai kembali. PID server itu dapat dengan mudah ditemukan menggunakan perintah 'ps'.

Jika Anda hanya menjalankan satu instance lighttpd, jalankan saja perintah 'killall'.

$ sudo killall lighttpd   

Lihat Di Browser Anda

Untuk memverifikasi bahwa server Anda aktif dan berjalan dan berfungsi dengan benar, buka browser web Anda (apa pun itu), dan ketik di bilah alamat "localhost:8080" atau "127.0.0.1:8080". Jika sebuah halaman muncul dengan judul "Halaman Placeholder", server Anda menjalankan dan mengirimkan halaman HTML dengan benar.

Pemecahan Masalah

​Jika Anda mengalami masalah saat meluncurkan server, atau bahkan setelah itu, Anda mungkin perlu memecahkan masalah. Berikut adalah beberapa contoh dan cara mengatasi masalah yang ditemukan di sini.

File Sedang Diunduh Bukannya Ditangani dengan Benar

Jika Anda mencoba membuka halaman index.html di browser web Anda dan mengambil inisiatif untuk mengunduh file alih-alih merendernya, Anda mungkin tidak memiliki tipe MIME yang dikonfigurasi dengan benar.

Pastikan skrip Perl untuk mengonfigurasinya dijalankan.

include_shell "/usr/share/lighttpd/create-mime.assign.pl" 

Perintah ini mengonfigurasi server web Anda untuk menangani berbagai jenis file dengan tepat.

Skrip PHP Tidak Dijalankan

Pastikan Anda telah menginstal PHP, dan file konfigurasi memiliki pengaturan yang diatur dalam tutorial ini.

Kesalahan HTTP 500

Kesalahan ini memerlukan penyelidikan lebih lanjut. Salah satu pelakunya bisa jadi kesalahan dalam kode PHP. Apa pun penyebabnya, baca file log untuk mengetahui apa yang terjadi.

Kesimpulan

Anda harus memiliki server web yang dikonfigurasi dengan benar yang berjalan dengan sukses dengan lighttpd. Jika Anda membutuhkan lebih dari satu lightpd saat instance berjalan, pastikan port yang ditentukan di setiap file konfigurasi berbeda satu sama lain, jika tidak, lighttpd akan membuat kesalahan.

Sedikit Tip Kualitas Hidup

Anda dapat mengelola file tanpa menjalankan editor sebagai root dengan memberikan kepemilikan penuh direktori kepada Anda sendiri:

$ sudo chown -R your_username /var/www/html/mysite
$ sudo chgrp -R your_username /var/www/html/mysite

Linux
  1. 10 Browser Web Ringan Open Source untuk Linux

  2. LAMP vs. LEMP – tips memilih Apache atau nginx untuk server web Anda

  3. Dasar-dasar Vhost

  1. Cara mengatur Raspberry Pi sebagai Server Cadangan untuk Desktop Linux dan Windows

  2. Cara Menginstal server Web Lighttpd di CentOS 7

  3. Tutorial Lengkap Cara Mengatur Kunci SSH &Koneksi SSH

  1. Cara Membuat Pengguna SFTP untuk Root Dokumen Server Web

  2. Cara Mengatur Apache Sebagai Proxy Frontend untuk Node.js

  3. Cara Menginstal server Web Lighttpd di CentOS 8