Header(“Location: Error”) PHP

Januari 31, 2009

Pada saat membuat Script PHP terdapat Error seperti dibawah ini

Warning: Cannot modify header information – headers already sent by (output started at login.php:9) in login.php on line 71 PHP

Beberapa langkah yang bisa dilakukan untuk mengatasi hal tersebut diatas adalah diantaaranya :

Check Status output_buffering=On pada configurasi php.ini apa sudah dijalankan

yang kedua tambahkan script pada top page dan bottom page script php.

<?

//Top Page

ob_start();

//End Of Page

ob_flush(); ?>


Install phpMyAdmin FreeBSD Ports

Juli 27, 2008
    1. Masuk ke direktori phpmyadmin port dengan perintah:
      cd /usr/ports/databases/phpmyadmin
    2. Install dengan konfigurasi default
      make install clean
    3. phpMyAdmin terinstall di direktori /usr/local/www/phpMyAdmin. untuk bisa digunakan perlu membuat direktori Alias and konfigurasi direktori di /usr/local/etc/apache22/httpd.conf. tambahkan beberapa baris di <IfModule alias_module>
      Alias /phpmyadmin /usr/local/www/phpMyAdmin
    4. /usr/local/www/phpMyadmin setting <DocumentRoot> dan <Directory> masukan beberapa baris kode <Directory>
      <Directory "/usr/local/www/phpMyAdmin">
              Order allow,deny
              Allow from all
      </Directory>

    5. Buat konfigurasi direktory phpMyAdmin untuk read/write/executable dengan perintah:
      cd /usr/local/www/phpMyAdmin
      mkdir config
      chmod 777 config
    6. Restart Apache :
      /usr/local/etc/rc.d/apache22 restart
    7. Konfigurasi phpMyAdmin — http://hostname/phpmyadmin/scripts/setup.php:
      • Add Server
        • Ubah “Authentication type” dropdown untuk http phpMyAdmin memunculkan user-passw
        • Hapus root dari “User for config” .
        • Click tombol “Add” untukmenambahkan server Baru

      Save konfigurasi dengan menekan ltombol Save.

    8. Copy config file dari phpMyAdmin/config ke phpMyAdmin
      cp config/config.inc.php .
    9. hapus config dan ubah read oNly untuk config.inc.php :
      rm -rf config
      chmod 444 config.inc.php

Instalasi APACHE,PHP,MYSQL di FreeBSD7

Juli 27, 2008
    Tiga hal penting Untuk membangun sebuah Web Server menggunakan FreeBSD, tiga hal tersebut adalah melakukan instalasi MYSQL,APACHE dan PHP. berikut coba kita sedikit belajar instalasi menggunakan ports dari FreeBSD.

  1. Install MySQL:

    1. masuk ke direktory mysql50-server port dengan menggunakan command:
      cd /usr/ports/databases/mysql50-server
    2. Build port
      make BUILD_OPTIMIZED=yes BUILD_STATIC=yes
    3. Install mysql50 database server
      make config
      make install
    4. Buka /etc/rc.conf dengan editor misal ( ee /etc/rc.conf ) and tambahkan configurasi sebagai berikut. ( ini digunakan untuk menjalankan Mysql Database server pertama server dinyalakan )
      mysql_enable="YES"
    5. Start mysql server secara manual:
      /usr/local/etc/rc.d/mysql-server start
    6. masukanpassword untuk MySQL root user dengan perintah sbb:
      /usr/local/bin/mysqladmin -uroot password 'new-password'

      Mysql telah selesai terinstal.

  2. Install Apache22

    1. masuk ke direktory apache22 port dengan perintah sbb:
      cd /usr/ports/www/apache22
    2. masukan perintah sbb:
      make config
      make install

    3. buka file configurasi lagi /etc/rc.conf dan masukan baris script dibawah ini. ( script ini bertujuan untuk menjalankan Apache mulai awal komputer dinyalakan )
      apache22_enable="YES"
  3. Install PHP5

    1. Masuk ke direktori php5 port dengan menggunakan perintah:
      cd /usr/ports/lang/php5
    2. masukan perintah sbb:
      make config
       - PENTING : pada tapilan ini pilih Apache ( Build apache module )
         jika tidak biasanya nanti muncul error :
      httpd: Syntax error on line 104 of
      /usr/local/etc/apache22/httpd.conf: Cannot load
      /usr/local/libexec/apache22/libphp5.so into server:
      /usr/local/lib/compat/pkg/libmysqlclient.so.14: version
      libmysqlclient_14 required by /usr/local/libexec/apache22/libphp5.so
      not found
      
      selanjutnya :
      make install
    3. masuk ke php5-extentions port directory :
      cd /usr/ports/lang/php5-extentions
    4. Instalasi PHP
      make config
      - PENTING :Ojo Lali Pilih juga MYSQL ( MysQl Database Support )
      
      make install
    5. masuk Ke setting untuk php.ini :
      cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
    6. Edit file konfigurasi untuk Apache di (/usr/local/etc/apache22/httpd.conf) and masukkan beberapa baris kode sbb:
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
    7. Kemudian cari kode di bawah ini :
      DirectoryIndex index.html

      ganti dengan kode sbb : >( TAMBAH index.php sebagai default file )

      DirectoryIndex index.php index.html
    8. Start Apache script:
      /usr/local/etc/rc.d/apache22 start

Mengamankan Direktory Di APACHE

Juli 24, 2008

Saya akan mencoba sedikit berbagi bagaimana Mengamankan Akses Data web pada sebuah direktory yang menggunakan server apache. kita akan mencoba memberikan sedikit gambaran bagaimana cara memberikan password pada suatu directory yang diakses melalui web. kebetulan saya menggunakan FreeBSD dan Apache2. sekarang mulai, pertama-tama Buka file configurasi webserver yaitu file httpd.conf ( misal: di /usr/local/etc/apache22/httpd.conf )

hal penting pertama sebelum memberi password adalah mengamankan direktory apache dengan menghilangkan Option Index yang biasanya default ada pada configurasi.

Sebelum :

DocumentRoot “/usr/local/www/apache22/data/”
<Directory “/usr/local/www/apache22/data/”>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

</directory>

Sesudah :
DocumentRoot “/usr/local/www/apache22/data/”
<Directory “/usr/local/www/apache22/data/”>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

</Directory>

Keterangan :

- Allow from all (bisa diakses oleh semua pengunjung)
- Allow from 192.168.1.0/24 >> hanya bisa diaksek untuk Network tertentu dengan range IP tersebut

Akses Directory dengan Password
Web bisa juga mengizinkan pengaksesan dengan menggunakan passsword dimana password akan disimpan dalam sebuah file, yang kemudian file tersebut diakses oleh apache.

1. Buat sebuah direktori baru sebagai penampung password

maone032# cd /usr/local/www/apache22/
maone032# mkdir paswdsite
maone032# cd paswdsite

2. Buat sebuah file untuk menampung username dan password ( cari lokasi file htpasswd kebetulan saya di /usr/local/sbin/htpasswd )
maone032# /usr/local/sbin/htpasswd -c htpasswd.user maone032
New password : *********
Re-type new password :*********
Adding password for user maone032

Keterangan : opsi -c (jika kita membuat file untuk user yang pertama kalau selanjutnya tidak perlu)

3.ubah konfigurasi httpd.conf agar dapat diakses oleh user yang sudah dibuat tadi ( maone032 )
<Directory“/usr/local/www/apache22/data/”>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
Authname Protected
AuthType Basic
AuthUserFile “/usr/local/www/apache22/paswdsite/htpasswd.user “

require user maone032

</Directory>

Setelah selesai reboot apache, kemudian buka http://web_server. akan muncul dialog box username dan password.


Mengenal PHP

Juli 22, 2008

Apa itu PHP?

PHP Singkatan dari PHP: Hypertext Preprocessor, merupakan bahasa scripting server-side didesain khusus untuk aplikasi web, seperti ASP. Script PHP dieksekusi di server, dan yang dikirim ke browser adalah hasil jadi dalam bentuk HTML, sehingga kode PHP tidak terlihat oleh user. Berbeda dengan bahasa scripting clientside seperti JavaScript, skrip JavaScript dieksekusi langsung oleh browser, sehingga kodenya bisa terlihat user. Kode-kode PHP dapat disisipkan diantara bahasa HTML.

PHP merupakan bahasa pemprograman berbasis web yang paling banyak digunakan, dikarenakan kemudahan penggunaannya dan PHP termasuk Software Open Source. Jadi anda dengan bebas mengambil di internet, merubah source code-nya dan mendistribusikan kembali dengan lisesi GPL versi 2. PHP juga bisa dijalankan diberbagai web server, seperti Apache, IIS, PWS, dan lain sebagainya.

Mengenal MySQL

MySQL adalah sebuah database server. Cocok untuk digunakan aplikasi dari kecil, sedang hingga ke aplikasi serius. MySQL juga mendukung standar SQL, dan banyak digunakan di berbagai platform.

MySQL termasuk jenis RDBMS (Relational Database Management System), sehingga istilah table, baris, dan kolom tetap digunakan dalam MySQL. Pada MySQL sebuah database mengandung beberapa table, dan sebuah table bisa terdiri dari beberapa kolom (field) dan baris (record).

Lisensi yang digunakan adalah GPL (Gnu Public Licence), tapi tidak sepenuhnya menggunakan GPL, karena ditentukan kondisi bagaimana server database ini dipakai. Tapi secara umum, anda dapat mendownload dan menggunakannya secara bebas tanpa perlu biaya jika tidak ingin.
Database sangat dibutuhkan jika pembuatan aplikasi web membutuhkan penyimpanan data yang banyak, terutama untuk aplikasi-aplikasi web serius.

PHP dan MySQL merupakan suatu yang tak terpisahkan, kombinasi keduanya adalah cross-platform, artinya anda bisa mendevelop menggunakan Windows, tetapi dijalankan si server UNIX.

Kelebihan-kelebihan yang Dimiliki PHP

PHP termasuk bahasa pemprograman web yang paling banyak dipilih orang, tentunya dikarenakan banyaknya kelebihan-kelebihan yang dimiliki PHP, diantaranya :

    * Mudah didapatkan karena bebas didownload di internet tanpa dikenakan biaya sepeserpun dan termasuk Software Open Source
    * PHP termasuk server-side programming, artinya skrip kode diakses di sisi server, dan browser hanya menerima jadi berupa kode HTML. Dengan begitu keamanan kode PHP terjaga.
    * PHP mudah dibuat dan memiliki kecepatan akses yang tinggi.
    * PHP termasuk bahasa embedded, artinya bisa ditempel atau diletakkan dalam tag HTML.
    * PHP dapat dijalankan diberbagai Platform, selain dijalankan di sistem operasi keluarga *NIX (Linux, UNIX, BSD, dsb), PHP juga bisa berjalan di Windows 9x/ME/XP/NT, dan Machintosh.
    * PHP dapat dijalankan di berbagai Web Server. Bukan hanya Apache, PHP bisa dijalankan di Web Server IIS, PWS, Xitami dan lain sebagainya.
    * PHP mendukung berbagai database, diantaranya : Oracle, Sysbase, mSQL, MySQL, Solid, Generic ODBC, Postgres SQL.
    * PHP mendukung komunikasi dengan layanan lain melalui protokol IMAP, SNMP, NNTP, POP3, dan HTTP.
Bagaimana Menjalankan PHP

Untuk membuat aplikasi web dengan PHP dibutuhkan :

    * Web Server yang mendukung PHP, diantaranya Apache, PWS, IIS dsb
    * Web Browser untuk mengakses aplikasi web dari server, seperti Microsoft Internet Explorer, Mozilla, Netscape Navigator, dll
    * Instal PHP modul
    * Instal MySQL untuk akses database

Untuk paket-paket di atas biasa sudah tersedia lengkap di setiap distro Linux, untuk pengguna Windows bisa menggunakan paket lengkap siap pakai berisikan Apache, PHP, MySQl dan PHPMyAdmin dalam satu file instalasi. Anda bisa menggunakan PHPTriad, easyPHP, PHPdev, atau DONGKRAK (yang buat orang Indonesia).

Skrip PHP ditulis dalam teks biasa, dapat dibuat dengan menggunakan teks editor apapun, seperti NotePad, PHPPed, vi, emac

PHP juga didukung oleh banyak database seperti :

    * MySQL
    * Informix
    * Oracle
    * Sybase
    * Solid
    * PostgreSQL
    * Generic ODBC
    * dsb