Web Server Dengan FreeBSD 9.0

Bissmillah…
Secara Garis besar sama sih dengan versi lain… dari kemaren blm sempet posting nih hasil oprek.. Agak sedikit ruwet emang…

lagi mau nyoba Web server pake FreeBSD 9.0
Web server ini mau pake Apache22,Mysql 5.5,PHP5.

1. Pertama Install Apache22
# cd /usr/ports/www/apache22
#make install clean

Akan tampil beberapa Option termasuk install Mysql Client,Perl bahkan Python.
Cukup Oke.. Oke saja dulu..
Usahakan Mysql-server yang akan di Install nanti sama dengan client nya..

Setelah selesai ternyata ada erorr waktu akan me restart Apache nya
Jadi baiknya config dulu di /etc/rc.conf
apache22_enable=”YES”

Itu pun ada kendala di FreeBSD 9.0 saya, kalau ada yang sudah berhasil selamat deh..
ini erorr nya
============================================================================================================
Performing sanity check on apache22 configuration:
httpd: apr_sockaddr_info_get() failed for rosada.uns.ac.id
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
Starting apache22.
httpd: apr_sockaddr_info_get() failed for rosada.uns.ac.id
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
/usr/local/etc/rc.d/apache22: WARNING: failed to start apache22
==============================================================================================================
Ternyata perlu ditambahkan pada /etc/hosts karena itu menandakan apache butuh domain yg sudah terdaftar.
::1                    localhost rosada.uns.ac.id
127.0.0.1              localhost rosada.uns.ac.id

103.23.xx.xx      rosada.uns.ac.id

Salah satu solusi Masalah (Failed to enable the ‘httpready’ Accept Filter)
cara load nya ada dua cara

Dengan mengetikan kldload accf_http kelemahannya setiap kali abis restart harus ketik itu sebelum jalanin apache heheh ribet kan.
Dengan merubah loader.conf yang ada di folder /boot/default supaya otomatis load accf_http setiap kali restart caranya:

Buka file loader.conf dengan editor kesayangan anda contoh nya pico jadi command nya pico /boot/default/loader.conf
kemudian cari entri berikut ini

accf_data_load=”NO” # Wait for data accept filter
accf_http_load=”NO” # Wait for full HTTP request accept filter

dan ganti NO dengan YES kemudian save.

ubah kepemilikan dari htdocs nya kalo di FreeBSD namanya Data,nah kita ubah dulu kepemilikan dari Htdocs tapi dari www dulu
#cd /usr/local/www/
#chown -R root:wheel apache22

ubah permission pada direktori apache22
#chmod 755 apache22
# chmod -R u+X apache22
# cd apache22

Ubah kepemilikan direktori binary Apache ke user root:
#chmod -R u+x bin

Direktori cgi-bin juga berisi file-file binari. Maka agar mengijinkan user root dan
group www saja yang bisa mengaksesnya
#chgrp -R www cgi-bin
#chmod -R u+x,g+x cgi-bin

Web server akan membaca direktori icons, maka ubah pula kepemilikannya agar
bisa dibaca group www
#chgrp -R www icons
#chmod -R g+rX icons

Ubah juga permission direktori logs:
#chgrp -R www logs
#chmod g+wX logs

Terakhir ubah kepemilikan direktori data (htdocs) agar bisa dibaca oleh publik.
Direktori ini nanti merupakan tempat menyimpan file-file web yang akan ditampilkan
browser. Akses penulisan ke direktori ini hanya dibatasi pada user root saja.
#chgrp -R www htdocs
#chmod -R g+rX htdocs

Kemudian restart
# apachectl start

ternyata tetep ada Eror
httpd: Could not reliably determine the server’s fully qualified domain ing rosada.uns.ac.id for ServerName
httpd (pid 1364) already running

==a
Ternyata kudu setting dulu httpd.conf nya
/usr/local/etc/apache22/httpd.conf
>>>> Setting Penting:
User www
Group www
#### PENTING: LISTEN IP & PORT YANG DIGUNAKAN #####
Listen 103.23.xx.xx:80
## PENTING: AGAR DAPAT MENGGUNAKAN PHP5 YANG TELAH DIINSTAL ##
LoadModule php5_module libexec/apache22/libphp5.so
#### PENTING: ALAMAT SERVER ADMIN YANG KITA GUNAKAN ####
ServerAdmin root@rosada.uns.ac.id
( Alamat e-mail ini dilindungi dari spambot, kita perlu mengaktifkan JavaScript
untuk bisa melihatnya )
#### PENTING: NAMA SERVER YANG KITA GUNAKAN #####
ServerName rosada.uns.ac.id

#### PENTING: LOKASI HTDOCT (YANG KITA INGINKAN 0#######
DocumentRoot “/usr/local/www/apache22/data”
##### PENTING: DEFAULT INDEX ( agar php di support sebagai default index ) ####
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm index.php4 index.php3 index.cgi
index.pl index.html.var index.phtml defult.htm default.html
</IfModule>
###### PENTING: SUPPORT TYPE FILE (supaya support php juga ) #########
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType image/x-icon .ico
AddType application/x-httpd-php .php .htm .html
AddType application/x-httpd-php-source .phps
AddHandler cgi-script .cgi

Coba kita grep httpd nya udah runing belom
#ps ax | grep httpd

Kalo belum coba di start dulu
# apachectl start

Coba isi masuk ke
# cd /usr/local/apache22/www/data/
# ee index.html

isi kan ini
<html><body><h1>Apache udah jalan</h1></body></html>

Setelah di cek,ketikkan IP di broswer 103.23.224.7
kalo keluar tulisannya berarti sudah bisa 😀

========================================================================================================

2.install PHP 5 yuks..

# cd /usr/ports/lang/php5

# make install clean

dan pastikan build Apache module anda checklist.

Kemudian tambahkan baris berikut ini pada file /usr/local/etc/apache22/httpd.conf :

AddType application/x-httpd-php .php
Addtype application/x-httpd-php-sources .phps
AddType application/x-httpd-php .php .htm .html

kalo mau pake html atau htm
Setelah itu kita buat file php.ini dengan mengcopy template yang sudah ada

Testing  dengan mengetikkan IP Address dari Web Servernya
=========================================================================================================

3. Instalasi MySQL 5.5
Nah untuk database nya nanti kita bisa pakai mysQl55 nah ini juga harus sesuai dengan client nya.. kita coba install
# cd /usr/ports/database/mysql55-server
# make install clean
Nah kalo di FreeBSD 9.0 akan ada warning saat menginstall Mysql55 ini. tapi ga masalah kok.. 🙂
Enable kan mysql nya di /etc/rc.conf
tambahakan

mysql_enable=”YES”/
Kalo udah kita buat Databasenya…
kita start mysql nya
# /usr/local/etc/rc.d/mysql-server onestart

set password

#mysqladmin -u root password ‘password-root-mysql’

Kemudian coba masuk ke mysql nya
#mysql -u root -p

# /usr/local/bin/mysql_install_db
Wew ada erorr ternyata
========================================================================

FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run ‘make install’ to
copy the software into the correct location ready for operation.

If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the –basedir option
pointing to that location.
========================================================================
Katanya kita harus bikin basedir dulu
// lihat binary nya ada dimana
# which mysql_install_db
/usr/local/bin/mysql_install_db

// mencari binary path.
# which my_print_defaults
/usr/local/bin/my_print_defaults

// set basedir ke /usr/local
# /usr/local/bin/mysql_install_db –basedir=/usr/local

akan keluar

Installing MySQL system tables…
OK
Filling help tables…
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/bin/mysqladmin -u root password ‘new-password’
/usr/local/bin/mysqladmin -u root -h rosada.uns.ac.id password ‘new-password’

Alternatively you can run:
/usr/local/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local ; /usr/local/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/scripts/mysqlbug script!

Oke sekarang coba kita install lagi.. tapi sekarang masuk dulu ke basedir nya
#cd /usr/local
#mysql_install_db

Karena PHP diinstall sebagai module Apache, maka kita ubah kepemilikan direktori PHP yang
hanya akan mengijinkan akses ke user root dan www saja untuk security (pakai MC lebih gampang)
# chown -R root:www /usr/local/lib/php
# chmod -R g-w,o-rwx /usr/local/lib/php

cek
tambahkan di
# cd /usr/local/apache22/www/data/
# ee index.html

isi kan ini
<html><body>
<h1>Apache udah jalan</h1>
<?php phpinfo(); ?>
</body></html>

Kalo php info jalan berarti sudah bisa… 😀
=========================================================================================================
4. Instalasi modul php5-mysql
Nih script nya
# cd /usr/ports/databases/php5-mysql

# make install clean

=========================================================================================================
5.Install Openssl
Oke… ini masih belum ditulis aja,,, Tidur dulu… 🙂

refferensi :
http://blog.pian.web.id/2009/11/membangun-web-server-freebsd/
http://www.iceflatline.com/2011/11/how-to-install-apache-mysql-php-and-phpmyadmin-on-freebsd/
http://www.daemonforums.org/

Advertisements

4 comments


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s