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/