Install webserver lewat ports freeBSD
Buat webserver dengan freeBSD asyik lo.. pa lagi pakai ports… đ
Upgrade dulu port freeBSD dengan yang paling baru, caranya bisa dilihat disini
freeBSD yang penulis gunakan adalah versi 7.0-RELEASE
- Pertama instalasi Mysqlnya dulu
#cd /usr/ports/databases/mysql51-server
#make install WITH_OPENSSL=yes clean
Kemudian buat folder tempat data database (defaultnya /var/db/mysql), karena biasanya partisi var kecil, buat partisi khusus untuk menampung data database misal /database (waktu awal install freeBSD tentunya). Selanjutnya…
#mkdir -p /database/mysql
#chown -R mysql /database
#chgrp -R mysql /database
#vi /usr/local/etc/rc.d/mysql-server
#vi /usr/local/etc/rc.d/mysql-server
edit default data dir menjadi /database/mysql :
: ${mysql_dbdir="/var/db/mysql"}
ubah
: ${mysql_dbdir="/databaseb/mysql"}
#touch /database/mysql/hostname.domain_name
Ctt: untuk freebsd 9.0 sudah jadi satu partisi, maka jika digunakan default mysql_dbdir lakukan perintah berikut :
#chown -R mysql:mysql
/var/db/mysql
ganti hostname.domain_name dengan hostname dan domain saudara, misal: lpp.uns.ac.id
Supaya mysql otomatis jalan setiap kali server reboot tambahkan perintah berikut :
#echo âmysql_enable=âYESââ >> /etc/rc.conf
restart server
Cek apakah mysql sudah berjalan
# ps ax | grep mysqld
Kemudian buat tabel masternya :
#cd /usr/local
#mysql_install_db
Jika terjadi error berikut : mysql_install_db FATAL ERROR: Could not find ./bin/my_print_defaults
Solusinya sbb:
// cari lokasi mysql_install_db
# which mysql_install_db
/usr/local/bin/mysql_install_db
// cari lokasi which my_print_defaults
# which my_print_defaults
/usr/local/bin/my_print_defaults
// tambah argumen pd mysql_install_db dgn “/usr/local”
# /usr/local/bin/mysql_install_db —basedir=/usr/local
Set password root untuk localhost dan domain :
#mysqladmin -u root password ânew-passwordâ
#mysqladmin -u root -h hostname.domain_name password ânew-passwordâ
Restart lagi servernya (jangan tanya kenapa ya…. :-))
Tes Mysql dengan login sebagai root
#mysql -u root -p
Untk mengubah pass root localhost
mysql>SET PASSWORD FOR root = PASSWORD('secret');
untuk mengubah pass root domain
mysql>SET PASSWORD FOR root@hostname.domain_name = PASSWORD('secret');
Untuk menjalankan dan mematikan mysql server :
#/usr/local/etc/rc.d/mysql-server start
#/usr/local/etc/rc.d/mysql-server stop
Selesai deh untuk mysqlnya…
- Kedua Apache webserver
#cd /usr/ports/www/apache22
Jika terjadi eror :
#make install clean
===> apache-2.2.13 depends on file: /usr/local/bin/perl5.8.9 – found
===> apache-2.2.13 depends on file: /usr/local/bin/autoconf-2.62 – found
===> apache-2.2.13 depends on package: libtool>=2.2 – not found
===> Found libtool-1.5.24, but you need to upgrade to libtool>=2.2.
*** Error code 1
…
upgrade libtool ke versi diatas 2.2. kemudian ulangi install apache22
Supaya jalan tiap kali reboot tambahkan ke rc.conf
#echo âapache22_enable=âYESââ >> /etc/rc.conf
Set hostname :
#vi /etc/rc.conf â> hostname=âhost.domain.nameâ
#vi /usr/local/etc/apache22/httpd.conf â>ServerName host.domain.name:80
Jika tidak punya hostname, gunakan IP Privat (misal IP Privat saudara 192.168.1.1)
#vi /etc/hosts
tambahkan:
192.168.1.1 host.domain.name
Untuk menjalankan dan mematikan apache server :
#apachectl start
#apachectl stop
Jika muncul eror … No such file or directory: Failed to enable the ‘httpready’ Accept Filter
Silahkan baca artikel ini.
Cek instalasi dengan buka webroswer fafourit saudara ketik pada address bar : host.domain.name atau IP privat
Selesai install apache lanjut ke PHP
- Install PHP
#cd /usr/ports/lang/php5
#make config
silahkan pilih enviroment yang diperlukan, misal : CLI, CGI, APACHE, DEBUG, SUHOSIN, MULTYBYTE, PATHINFO
#make install clean
Set module PHP ke apache-nya :
#apachectl stop
# vi /usr/local/etc/apache22/httpd.conf
kemudian cek apakan php5_modulenya udah masuk, kemudian tambahin :
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
dan
<IfModule dir_module>
DirectoryIndex index.html
DirectoryIndex index.php
</IfModule>
#apachectl start
Untuk mensetting parameter2x yang ada, buat file php.ini dengan mengcopy php.ini-dist
#cd /usr/local/etc/
#cp php.ini-dist php.ini
Edit file php.ini sesuai kebutuhan webserver
Untuk melihat parameter PHP yg sudah ada buat file phpinfo di data direktori webserver
<?php
#vi /usr/local/www/apache2/data/phpinfo.php
phpinfo();
?>
Akses via web broswer http:/host.domain.name/phpinfo.php
Untuk install extensions php :
#cd /usr/ports/lang/php52-extension
#make config
#make install clean
Atau  extension tertentu:
#cd /usr/ports/graphics/php53-gd/
#make config
#make install clean
Untuk cek gunakan perintah
#php -m
untuk daftar extension ada di : /usr/local/etc/php/extensions.ini
Selesai Mysql + Apache + PHP
- phpMyadmin untuk administrasi database via http
# cd /usr/ports/databases/phpmyadmin
# make install clean
Jika terjadi error terkait fleching PDFlib-Lite-7.0.5., langsung saja download via alamat http://distfiles.macports.org/pdflib/
# cd /usr/ports/distfiles/
# fetch http://distfiles.macports.org/pdflib/PDFlib-Lite-7.0.5.tar.gz
# cd /usr/ports/databases/phpmyadmin
# make install clean
Stop apache server & edit httpd.conf
#apachectl stop
#vi /usr/local/etc/apache22/httpd.conf
Edit httpd.conf :
Tambahkan didalam :
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory "/usr/local/www/phpMyAdmin/">
Options none
AllowOverride Limit
Order Deny,Allow
Deny from all
Allow from all
Allow from 127.0.0.1 host.domain.name
</Directory>
kemudian copy config.default.php :
#cd /usr/local/www/phpMyAdmin
#cp libraries/config.default.php config.inc.php
# vi config.inc.php
ubah
Pada entry $cfg[âServersâ][$i][âauth_typeâ] = âconfigâ; ubahlah menjadi:
$cfg[âServersâ][$i][âauth_typeâ] = âhttpâ;
ubah kepemilikan config.inc.php ke www
#chown www:www config.inc.php
start apache server
#apachectl start
Akses phpmyadmin lewat http://host.domain.name/phpMyAdmin/