Port Conflict: VMWare 8 Workstation vs. Apache 2 (XAMPP)


By default, when you install VMWare 8 Workstation and Apache 2 (or XAMPP), you can’t run these programs in same host. Both of them use port 443. So, when you have Apache 2 running, you can’t start VMWare 8 Workstation and vice versa. If you want to run both, you must tell one of them to not use port 443. In this post, I tell you how to make Apache 2  so Apache 2 doesn’t use post 443.

Apache 2 Configuration

  1. Open your Apache 2 configuration directory (if you use XAMPP for Windows, the default directory C:\xampp\apache\conf)
  2. Open extra folder
  3. Edit httpd-sll.conf
  4. Find all 443 and replace with 4430 (or else)
  5. Restart Apache

Apache SLL module usually use port 433. By editing the Apache configuration, you can configure port usage. And now, SLL module use port 4430 (or else).

[Networking] Install Apache + MySQL + PHP pada FreeBSD (Part#3)


PHP: Hypertext Preprocessor

PHP (PHP: Hypertext Preprocessor) umumnya digunakan sebagai server-side scripting language untuk membuat halaman web dinamis.Walaupun demikian PHP dapat digunakan sebagai sripting language pada mode CLI dan membuat program berbasis GUI dengan PHP-GTK.* PHP banyak diimplementasikan dalam berbagai aplikasi web, misalnya WordPress, MediaWiki, dan phpBB. PHP sangat mudah diintegrasikan dengan relational database management systems (seperti MySQL).

Tidak seperti JavaScript yang mengeksekusi code pada web browser pengguna, PHP menangani code pada web server. Website yang menggunakan JavaScript harus mengirimkan semua code ke web browser klien (yang memakan bandwidth). PHP mengeksekusi code pada web server dan hanya mengirimkan HTML yang diperlukan.

(*thanks to: Aaron Moses Anonymous atas revisinya)

Install PHP

Untuk menginstallnya ketikan perintah berikut pada terminal (harus superuser)

# cd /usr/ports/lang/php5
# make config ; make install clean
# rehash

Catatan: Pada saat tulisan ini dibuat, versi PHP terakhir adalah versi 5.

Konfigurasi PHP dan Integrasi dengan Apache

Buka file konfigurasi Apache agar Apache dapat bekerja dengan PHP.

# ee /usr/local/etc/apache22/httpd.conf

Cari bagian dektarasi DirectoryIndex (~216). Tambahkan index.php di depan index.html.

    DirectoryIndex index.php index.html

Setting ini akan memerintahkan Apache agar membuka file index.php terlebih dahulu jika ditemukan file index.php dan index.html dalam satu direktori.
Tambahkan baris berikut di akhir baris file httpd.conf tersebut.

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Simpan dan keluar.
Salin setting php.ini-development ke php.ini pada /usr/local/etc.

# cd /usr/local/etc
# cp php.ini-development php.ini

Konfigurasi PHP disipman di dalam file /usr/local/etc/php.ini. File php.ini-development berisi konfigurasi PHP yang disarankan untuk production server. Jika dipakai pada lingkungan developer, dapat disalin file php.ini-recommended.
Buka file php.ini.

# ee /usr/local/etc/php.ini

Cari bagian session.save_path. Hilangkan tanda titik koma didepannya. Ubah menjadi seperti berikut.

session.save_path = "/tmp"

Restart Apache.

# /usr/local/etc/rc.d/apache22 restart

Testing PHP

Untuk mengetes keberadaan PHP, akan digunakan fungsi phpinfo() untuk memberikan informasi seputar PHP yang terinstall pada server. Buat sebuah file phpinfo.php pada root direktori web server.

# ee /usr/local/www/apache22/data/phpinfo.php

Ketikan code php berikut

<?php phpinfo(); ?>

Simpan dan keluar. Buka alamat phpinfo.php di browser, misalnya http://localhost/phpinfo.php atau http://192.168.1.14/phpinfo.php. Jika berhasil maka akan muncul sebuah halam tentang PHP. Jika sudah, hapus file phpinfo.php tersebut.

[Networking] Install Apache + MySQL + PHP pada FreeBSD (Part#2)


MySQL Server

MySQL adalah aplikasi SQL (Structured Query Language) database management system yang bersifat open source. SQL sendiri merupakan bahasa pemrograman terpopuler dalam mengurusi relational database management systems. Relational Database Management System (RDBMS) umumnya menyimpan data dan hubungan antartabel dengan baris dan kolom, sehingga data harus dapat diubah dengan format ini.

MySQL biasanya dikombinasikan dengan PHP untuk membuat halaman web dinamis. Beberapa contoh halaman web dinamis yaitu: WordPress (weblog), MediaWiki, dan phpBB (forum).

Install MySQL

Untuk menginstallnya ketikan perintah berikut pada terminal (harus superuser)

# cd /usr/ports/databases/mysql55-server
# make -D BUILD_OPTIMIZED install clean
# rehash

Catatan: Pada saat tulisan ini dibuat, versi MySQL terakhir adalah versi 5.5.

Konfigurasi MySQL

Jalankan perintah mysql_install_db untuk mengeset grant tables yang dipakai MySQL. Grant tables menyimpan informasi MySQL user permissions dan setting keamanan lainnya. Jalankan perintah baris pertama, jika berhasil lanjutkan jika tampil pesan kesalahan FATAL ERROR: Could not find ./bin/my_print_defaults, jalankan perintah kedua.

# /usr/local/bin/mysql_install_db --user=mysql
# /usr/local/bin/mysql_install_db --basedir=/usr/local --user=mysql

Selanjutnya akan dijalankan daemon MySQL dan pengaturan password root MySQL (ganti localpassword dengan password yang diinginkan:

# mysqld_safe &
# mysqladmin -u root password 'localpassword'

Catatan: Tanda petik tunggal yang mengapit localpassword dibutuhkan.

MySQL menyediakan empat contoh file konfigurasi yang diletakkan di <em>/usr/local/share/mysql</em>. Setiap file dikonfigurasikan khusus untuk server dengan spesifikasi yang berbeda.

  • my-small.cnf untuk system dengan RAM <= 64MB
  • my-medium.cnf untuk system dengan RAM <= 128MB (web server)
  • my-large.cnf untuk system dengan RAM <= 512MB (dedicated MySQL server)
  • my-huge.cnf untuk system dengan RAM <= 2GB (datacenter)

Tentukan file yang sesuai dengan kebutuhan, kemudian copy file tersebut ke /var/db/mysql dengan nama my.cnf. Contoh:

# cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf

Testing MySQL

Atur agar MySQL berjalan otomatis ketika sistem dinyalakan. Buka file /etc/rc.conf:

# ee /etc/rc.conf

Tambahkan baris berikut

mysql_enable="YES"

Simpan dan keluar. Lalu restart MySQL.

# /usr/local/etc/rc.d/mysql-server restart

Coba jalankan perintah untuk melihat list database.

mysqlshow -p

[Networking] Install Apache + MySQL + PHP pada FreeBSD (Part#1)


Apache Web Server

Apache HTTP Server adalah aplikasi web server yang berbasis open source. Apache merupakan salah satu aplikasi web server yang efisien, sclable, dan kaya akan fungsi. Apache sangat mudah untuk dikostumasi dengan banyak dukungan pihak ketiga. Aplikasi web server ini mendukung SSL (Secure Sockets Layer) encryption over HTTP (HyperText Transfer Protocol), PHP (salah satu server-side scripting language yang populer), dan autentikasi password untuk melindungi situs.

Install Apache

Untuk menginstallnya ketikan perintah berikut pada terminal (harus superuser)

# cd /usr/ports/www/apache22
# make config
# make install clean
# rehash

Jangan lupa untuk mengaktifkan modul yang diperlukan. Misalnya dukungan terhadap MySQL.
Catatan: Pada saat tulisan ini dibuat, versi Apache terakhir adalah versi 2.2.

Konfigurasi Apache

Jika instalasi sudah selesai, sekarang saatnya mengonfigurasi Apache. Buka file konfigurasi Apache.

# ee /usr/local/etc/apache22/httpd.conf

Edit pada bagian ServerAdmin (~143) dan ganti menjadi alamat email admin server. Selain itu edit pada ServerName (~152), uncomment dan ganti jadi alamat server.

ServerAdmin edward@example.com
ServerName localhost:80

Testing Apache Web Server

Untuk mengecek apakah terdapat syntax error pada file konfigurasi Apache, ketikkan perintah berikut:

# apachectl configtest

Jika apachectl menghasilkan Syntax OK, lanjutkan ke step berikutnya. Sedangkan jika ditemukan masalah, apachectl akan memberi tahu file mana, baris berapa, dan jenis kesalahannya. Perbaiki kesalahan syntax tersebut sebelum melanjutkan ke langkah berikutnya.
Setelah itu, Apache akan di setting agar berjalan pada saat boot. Buka file rc.conf pada /etc:

# ee /etc/rc.conf

Tambahkan kedua baris berikut pada file /etc/rc.conf tersebut:

apache22_enable="YES"
apache22_http_accept_enable="YES"

Simpan, keluar, dan jalankan Apache dengan perintah:

# /usr/local/etc/rc.d/apache22 start

Atau jika tidak ingin Apache berjalan saat boot, jangan tambahkan dua baris setting tersebut. Untuk menjalankan Apache tanpa mengubah setting tersebut:

# /usr/local/etc/rc.d/apache22 onestart

Buka alamat ip komputer yang sudah di-install Apache ini, misalnya http://192.168.1.14 atau http://localhost/. Jika terbuka halaman yang bertuliskan “It works!” maka server Apache telah berhasil di-install.
Catatan: Folder HTTP Server secara default terletak pada /usr/local/www/apache22/data. Untuk mengubahnya folder default, buka file konfigurasi Apache (httpd.conf).