[Linux] Apache Web Server On Slackware

Tiba-tiba pengen maen-maen PHP di Slackware, mau gak mau akhirnya harus install Apache web server. Gimana caranya? Begini nih.....

Pertama cek dulu, apakah service-nya udah jalan atau belom. Siapa tau udah berjalan.
root@c1c4x_lab:~# nmap -sS localhost

Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2006-07-29 16:13 WIT
Interesting ports on localhost (127.0.0.1):
(The 1653 ports scanned but not shown below are in state: closed)
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
37/tcp   open  time
113/tcp  open  auth
587/tcp  open  submission
6000/tcp open  X11

Nmap run completed -- 1 IP address (1 host up) scanned in 1.056 seconds

ow, ternyata service httpd belom berjalan. So mari kita mulai. apache terletak di direktori /etc/apache terus edit file httpd.conf

root@c1c4x_lab:~# cd /etc/apache
root@c1c4x_lab:/etc/apache# pico httpd.conf

Untuk mengaktifkan modul PHP, agar apache bisa mengeksekusi .php maka aktifkan baris Include /etc/apache/mod_php.conf dengan menghapus tanda # (pagar), biasanya terletak di bawah sendiri. Kalo pengen apache-nya mendukung SSL (Secure Socket Layer), maka aktifkan juga modul SSL-nya.

....baris atas sengaja di hapus....
# ==> mod_php configuration settings  mod_ssl configuration settings < ==
#
# PACKAGES REQUIRED:  apache (N series) and openssl (N series)
#
Include /etc/apache/mod_ssl.conf

Jalankan servicenya:
root@c1c4x_lab:/etc/apache# /etc/rc.d/rc.httpd start
-bash: /etc/rc.d/rc.httpd: Permission denied

Lho koq denied? Oh iya lupa, file permissionnya belom execute. Kalo gak percaya mari kita lihat dan buktikan :D Pergi ke drektori /etc/rc.d

root@c1c4x_lab:~# cd /etc/rc.d
root@c1c4x_lab:/etc/rc.d# ls -al rc.httpd
-rw-r--r--  1 root root 401 2003-03-06 04:28 rc.httpd

Tuh kan, permissionnya masih default yaitu 644, so perlu diganti dulu permissionnya.
root@c1c4x_lab:/etc/rc.d# chmod 755 rc.httpd
root@c1c4x_lab:/etc/rc.d# ls -al rc.httpd
-rwxr-xr-x  1 root root 401 2003-03-06 04:28 rc.httpd*

sekarang jalankan service-nya, kemudian test pake nmap.
root@c1c4x_lab:/etc/rc.d# /etc/rc.d/rc.httpd start
/usr/sbin/apachectl start: httpd started
root@c1c4x_lab:/etc/rc.d# nmap -sS localhost

Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2006-07-29 16:24 WIT
Interesting ports on localhost (127.0.0.1):
(The 1652 ports scanned but not shown below are in state: closed)
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
37/tcp   open  time
80/tcp   open  http === service httpd telah berjalan
113/tcp  open  auth
587/tcp  open  submission
6000/tcp open  X11

Selain command /etc/rc.d/rc.httpd start, bisa juga digunakan command apachectl, seperti berikut:
root@c1c4x_lab:/etc/rc.d# apachectl stop
/usr/sbin/apachectl stop: httpd stopped
root@c1c4x_lab:/etc/rc.d# apachectl start
/usr/sbin/apachectl start: httpd started

Direktori htdocs, secara default terletak di /var/www/htdocs. Direktory bisa diubah dengan melakukan edit di httpd.conf

Sekarang kita cek di browser, apakah service telah berjalan dengan baik. Dan apakah web server telah mendukung php. Bwat file phpinfo.php, untuk menguji apakah web server bisa menjalankan .php


http://localhost == telah berjalan dengan semestinya


http://localhost/phpinfo.php == dapat berjalan berarti telah mendukung .php


Ahh...... akhirnya bisa maen-maen php di Slackware dehh. I Love Slackware :D :D

Liburan bersama PERL


Hore-hore libur.....
Karena liburan mo memperdalam pemrograman yang namanya perl. Bukan karena logonya seperti itu truz aku milih belajar perl :D Alasan [1]Karena perl bahasa pemrograman yang mirip dengan c++ dan hampir mendekati php. Kalo udah mahir dasarnya so tinggal mempelajari function-nya aja. Alasan [2] kayaknya lebih asyik daripada shell programming yang ada di linux, alasan [3] mo mempelajari yang namanya socket programming. Itu sih menurutku, menurut yg lain... emang gw pikirin. Yok kita mulai dasarnya' :D

Perl diciptakan oleh Larry Wall yang dibuat dari bahasa C, yang tujuan awalnya untuk mempermudah administrasi di sistem *nix (liat di toko buku,tapi g beli :D) Perl khusus dirancang untuk manipulasi data text.

Yang dibutuhkan untuk pemrograman ini, kalo di windows biasanya active perl, kalo di linux biasanya sudah include tapi kalo g ada ya cari aja di google truz di install ;p
Untuk sistem *nix diawal program bisa di kasih argumen
#!/usr/bin/perl
agar program dapat dieksekusi secara langsung, kalo di win gak usah deh...

Contoh di bawah ini menggunakan perl di windows.

Contoh 1: halo.pl
print "Masukkan nama=";
$nama=<STDIN>;
print "Halo $nama!";
Hasilnya:
perl1
Lho koq seperti itu hasilnya?
Tentu saja karena <STDIN> juga melakukan input terhadap baris sesudah teks yang kita ketikkan (jadi yang terbaca di $nama adalah sarah n bukan sarah) karena itu perlu di tambahkan sebuah fungsi untuk menghilangkannya, yaitu
chomp()
sehingga programnya menjadi:


Contoh 2: halo2.pl
print "Masukkan nama=";
$nama=<STDIN>;
chomp $nama;
print "Halo $nama!";
dan hasilnya:
perl2

Contoh3: halo3.pl Langsung aja ditambah if, elsif, else, while dan array
@kumpulanrhs=("moklet","sewelas","studio");
print "Masukkan nama=";
$huruf=<STDIN>;
chomp $huruf;
if ($huruf eq "miftakh") {
 print "$huruf kamu cakep dehn";
}
else {
 print "sugeng rawuh $huruf ";
 #$rhs="menghilang";
 printf "Masukkan kata rahasia=";
 $rahasia=<STDIN>;
 chomp $rahasia;
 $i=0;
 $katakunci="otre";
 while ($katakunci eq "otre") {
  if ($kumpulanrhs[$i] eq $rahasia) {
   $katakunci="yess";
   #print "$i";
  }
  elsif ($i<2) {
   $i=$i+1;
  }
  else {
  printf "Sori bro salah.";
  printf "Masukkan lagi=";
  $rahasia=<STDIN>;
  chomp $rahasia;
  $i=0;
  }

 }
}

Seperti apa hasilnya? Coba sendiri donkzzzz :D :D
Tapi tak kasih penjelasan dulu:
@kumpulanrhs ==> adalah sebuah array, tanda @ menunjukkan tanda array
if ($huruf eq "miftakh") ==> kondisi if, sedangkan eq adalah equivalen atau "=" dan lawannya adalah ne yaitu not equivalen
while ($katakunci eq "otre") ==> pengulangan while, jika kondisinya terpenuhi maka akan terus terjadi looping.


Demikian yang dapat ku berikan, silahkan di kembangkan sendiri....