Catatan selama ngoprek, personal referensi. Boleh juga bermanfaat untuk yang lain.
Tuesday, August 14, 2007
Instal Mailman
Sebelum memulai instalasi mailman, perlu diketahui bahwa untuk dapat menginstal mailman maka kita perlu menginstal Apache terlebih dahulu (* link ke apache) dan dalam contoh ini saya menggunakan Postfix sebagai MTA (* link ke postfix). Anda dapat menginstalnya juga. Kalau apache sudah terinstal maka kita dapat menginstall mailman dengan port. Perlu diperhatikan di sini dalam menginstal mailman kita perlu mengatur parameter MAIL_GID=mailman. Jadi sebaiknya kita instal mailman dengan port saja agar parameter tadi dapat kita pastikan. Pertama untuk mempercepat instalasi, kita instal dahulu python (jika belom ada) dengan pkg_add. Dalam contoh ini saya mengganti lokasi default package di server lokal itb sbb:
# setenv PACKAGESITE ftp://ftp?itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
# pkg_add -r python
Kemudian instal mailman dengan port:
# cd /usr/ports/mail/mailman/
# make MAIL_GID=mailman install clean
Ketika muncul pilihan option pastikan kita menggunakan Postfix.
Setelah instalasi selesai, tambahkan baris berikut pada file mm_cfg.py:
# ee /usr/local/mailman/Mailman/mm_cfg.py
Tambahkan di bagian akhir file:
SMTPHOST = 'mail.example.com'
MTA = 'Postfix'
Kemudian edit file httpd.conf dan tambahkan konfigurasi mailman sbb:
# ee /usr/local/etc/apache22/httpd.conf
Tambahkan:
ScriptAlias /mailman "/usr/local/mailman/cgi-bin"
Alias /pipermail "/usr/local/mailman/archives/public"
Options FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Edit juga file master.cf dari Postfix:
# ee /usr/local/etc/postfix/master.cf
Tambahkan:
mailman unix - n n - - pipe
flags=FR user=mailman:mailman
argv=/usr/local/mailman/postfix-to-mailman-2.1.py ${nexthop} ${user}
Dalam konfigurasi pada file master.cf di atas, ada sebuah file yang perlu kita download. Ini sifatnya optional tapi saya merekomendasikannya untuk mempermudah instalasi mailman kita. Download postfix-to-mailman-2.1.py dari situs dibawah ini:
http://www.gurulabs.com/goodies/downloads.php
http://www.gurulabs.com/downloads/postfix-to-mailman-2.1.py
Letakkan file tersebut di /usr/local/mailman/ kemudian kita ubah sedikit:
# ee /usr/local/mailman/postfix-to-mailman-2.1.py
Edit parameter berikut:
MailmanHome = "/usr/local/mailman"; # Mailman home directory.
MailmanOwner = "postmaster@mail.example.com";
Untuk memastikan daftar alias dari Postfix, gunakan perintah-perintah di bawah ini:
# /usr/local/sbin/postalias /etc/mail/aliases
# /usr/local/sbin/postalias /etc/aliases
# /usr/local/sbin/postalias /usr/local/etc/postfix/aliases
Setelah itu kita reload postfix dan restart apache:
# postfix reload
# apachectl restart
Akhirnya kita coba jalankan mailman:
# /usr/local/etc/rc.d/mailman start
Untuk membuat list pertama kali kita lakukan seperti berikut:
# cd /usr/local/mailman/
# bin/newlist mailman:
Enter the email of the person running the list: admin@mail.example.com
Password:
# bin/config_list -i data/sitelist.cfg mailman
Kita perlu juga menambahkan maintenance mailman ke dalam cron:
# cd /usr/local/mailman/cron
# crontab -u mailman crontab.in
# cd /usr/local/mailman
# bin/mailmanctl start
Terakhir kita perlu mengatur password admin untuk mailman sbb:
# bin/mmsitepass
Password:
# bin/mmsitepass -c
Password:
Secara umum instalasi dan konfigurasi mailman telah selesai. Anda bisa melihat hasilnya dengan membuka browser anda dan mulai menggunakan mailman. Buka alamat berikut:
http://mail.example.com/mailman/listinfo
http://mail.example.com/mailman/listinfo/mailman
http://mail.example.com/cgi-bin/mailman/admindb/list -> pending messages waiting for approval
Anda dapat membuat list melalui web atau bisa juga dari command line. Contoh membuat milis baru dari command line sbb:
# bin/newlist testlist
Kalau kita tidak menspesifikasikan mail host dan web host seperti di atas, maka benahi dengan:
# bin/withlist -l -r fix_url testlist --urlhost=example.com
Atau lebih baik langsung seperti ini:
# bin/newlist --urlhost=mail.example.com --emailhost=mail.example.com testlist
Catatan:
Anda bisa membuat milis baru dari browser dari alamat di atas. Ikuti link admin. Mailman memiliki beberapa perintah yang telah disediakan untajemen list, diantaranya yang penting:
newlist: add a new list
rmlist ''list'': delete a list
list_lists: list all the lists
list_members ''list'': list all the members of the list
add_members ''user@example.com'' ''list'': add e-mail [MAILTO] user@example.com to the list list.
remove_members ''user@example.com'' ''list'': remove e-mail [MAILTO] user@example.com to the list list
mmsitepass: define a site password to access administration web interfaces
Usefull Links:
http://www.freebsddiary.org/mailman.php
http://www.list.org/mailman-install/front.html
http://www.gurulabs.com/goodies/downloads.php
http://www.gurulabs.com/downloads/postfix-to-mailman-2.1.py
Diposting oleh izzun at 8:12 PM 0 komentar
Label: email
Instal Cyrus IMAP, Postfix, dan Squirrelmail Pada FreeBSD
Pertama kita akan gunakan BDB-43 agar semua paket terinstall menggunakan database yang sama dan kita atur agar instalasi menggunakan port dengan perintah 'make' secara default akan mengambil source dari server lokal, misalnya di ITB.
Masukkan parameter berikut ke dalam /etc/make.conf:
WITH_DB=43
MASTER_SITE_OVERRIDE=ftp://ftp.itb.ac.id/pub/FreeBSD/distfiles/${DIST_SUBDIR}
1. Instalasi Cyrus-IMAP
Instal cyrus-sasl2 dan cyrus-sasl2-saslauthd melalui port. Akan digunakan MASTER_SITE_OVERRIDE di atas untuk mengambil source dari server FreeBSD local (misalnya dari ITB). Instal dahulu cyrus-sasl2-saslauthd karena secara otomatis akan menginstal cyrus-sasl2 dahulu sebagai dependensi.
# cd /usr/ports/security/cyrus-sasl2-saslauthd/
# make install clean
Instal cyrus-imap23 melalui port. Ketika make config, pilih BDB 43 untuk menyamakan dengan instalasi lainnya.
# cd /usr/ports/mail/cyrus-imap23
# make config
# make install clean
Setelah instalasi berhasil, maka kita diminta untuk mengeksekusi file berikut.
# /usr/local/cyrus/bin/mkimap
Hasilnya seperti berikut:
reading configure file /usr/local/etc/imapd.conf...
i will configure directory /var/imap.
i saw partition /var/spool/imap.
done
configuring /var/imap...
creating /var/spool/imap...
done
Kemudian masukkan dalam rc.conf beberapa informasi untuk mengaktifkan cyrus-imap ketika booting:
# ee /etc/rc.conf
Tambahkan:
sendmail_enable="NO"
cyrus_imapd_enable="YES"
saslauthd_enable="YES"
saslauthd_flags=" -a pam"
Buat file berikut bila belum ada:
# ee /usr/local/lib/sasl2/smtpd.conf
Masukkan baris berikut:
pwcheck_method: saslauthd
Jalankan saslauthd dan buat sebuah user bernama cyrus (yang akan menjadi admin imap):
# /usr/local/etc/rc.d/saslauthd start
# saslpasswd2 -c cyrus
Masukkan password jika diminta dan setelah itu anda bisa melihat user-user yang sudah dibuat dengan perintah:
# sasldblistusers2
Kemudian anda juga perlu mengedit file imapd.conf sbb:
# ee /usr/local/etc/imapd.conf
Ganti atau tambahkan beberapa parameter seperti berikut ini:
allowanonymouslogin: no
sasl_pwcheck_method: saslauthd
sasl_mech_list: 'plain login'
lmtpsocket: /var/imap/socket/lmtp
admins: cyrus
Jalankan imapd dengan perintah berikut:
# /usr/local/etc/rc.d/imapd start
Sebelum dilanjutkan, sepertinya sampai disini kita perlu logout dari shell. Kadang masih belum bisa connect imap (perintah di bawah) Mungkin system perlu di-restart (kalau pakai jail, jailnya perlu di-restart).
Lakukan perintah berikut untuk connect pada cyrus-imap:
# cyradm -u cyrus localhost
localhost.server.domainname> user.test
localhost.server.domainname> lm
user.test (\HasNoChildren)
localhost.server.domainname> quit
Kalau anda tidak berhasil connect pada imap, maka perintah di atas tidak akan berhasil. Cek pesan error pada log dengan:
# tail /var/log/messages
# tail /var/log/maillog
Biasanya anda akan dapat menemukan pesan-pesan kesalahan yang menyebabkan kegagalan sistem anda. Cari pesan kesalahannya lalu perbaiki yang perlu diperbaiki, lalu coba kembali perintah di atas untuk connect ke imapd.
Pastikan juga anda memiliki baris-baris berikut pada /etc/services:
pop3 110/tcp
imap 143/tcp
imsp 406/tcp
acap 674/tcp
imaps 993/tcp
pop3s 995/tcp
kpop 1109/tcp
sieve 2000/tcp
lmtp 2003/tcp
fud 4201/udp
Jika anda menggunakan SSL, maka pastikan berikut ini ada pada /usr/local/etc/imapd.conf:
tls_key_file: /var/imap/key.pem
tls_ca_file: /var/imap/cacert.pem
tls_cert_file: /var/imap/cert.pem
admins: cyrus
Untuk mendapatkan file-file di atas (key.pem, cacert.pem, cert.pem) maka kita bisa membuatnya sendiri (*link ke ca-cert) dengan OpenSSL atau membeli sertifikasi resmi yang disediakan di internet oleh lembaga-lembaga sertifikasi.
2. Instalasi Postfix
Instal Postfix dengan menggunakan pkg_add:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
# pkg_add -r postfix-current
Pada waktu config pilih menggunakan BDB 43 dan SASL. Kemudian jawab yes untuk semua pertanyaan pada saat instalasi, misalnya seperti ini:
Would you like to activate Postfix in /etc/mail/mailer.conf [n]? y
Tambahkan informasi berikut ini pada /etc/rc.conf agar postfix diaktifkan saat booting dan menonaktifkan Sendmail:
postfix_enable="YES"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
Tambahkan juga informasi berikut pada /etc/periodic.conf agar secara rutin (daily) dilakukan maintenance pada postfix:
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
Aktifkan maildrop, old-cyrus, cyrus, uucp, ifmail, bsmtp dengan mengedit file /usr/local/etc/postfix/master.cf:
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix - n n - - pipe
user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
Kemudian kita perlu mengedit file konfigurasi utama postfix yaitu pada /usr/local/etc/postfix/main.cf:
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
mailbox_size_limit = 512000000
myhostname = mail.example.com
mydomain = example.com
myorigin= $mydomain
mydestination = example.com, $myhostname
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp
Lakukan perintah berikut ini untuk membuat mengaktifkan alias pada postfix:
# newaliases
Kemudian setelah semua setting dilakukan, maka postfix perlu di-reload:
# postfix reload
Atau jika postfik belom dijalankan, gunakan perintah:
#postfix start
Untuk mengetes apakah postfix sudah berjalan, maka anda dapat mencoba:
# telnet localhost 25
atau:
# telnet mail.example.com 25
Jika semua berjalan dengan baik, maka anda akan mendapatkan jawaban seperti ini:
220 mail.example.com ESMTP Postfix
Jika anda menemukan masalah dalam mengirim atau menerima email, maka coba lakukan debugging dengan melihat file log:
# tail /var/log/messages
# tail /var/log/maillog
3. Instalasi Squirrelmail
Baca manual: http://squirrelmail.org/docs/admin/admin-1.html
Requirement:
* Sebuah web server dengan PHP terinstal. PHP paling tidak versi 4.1.0.
* Akses pada sebuah server IMAP yang telah dapat menggunakan standard IMAP 4 rev 1.
Disini digunakan:
- Apache22 + PHP 5 (petunjuk instalasi ada di atas)
- php5-gd + php5-session + php5-mbstring + php5-gettext + php5-xml
- ispell
Semua requirement tsb akan diinstall otomatis ketika kita menginstall Squirrelmail dengan port atau dengan package. Cek phpinfo() pada web server dan pkg_info untuk memastikan.
Lakukan konfigurasi cyrus-imapd dengan benar.
Cek variabel berikut pada php.ini
# /usr/local/etc/php.ini
file_uploads = On
session.auto_start = 1
Instal Squirrelmail dengan menggunakan pkg_add:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
# pkg_add -r squirrelmail
Jalankan perintah conf.pl yang telah disediakan untuk melakukan konfigurasi squirrelmail:
# cd /usr/local/www/squirrelmail/config
# ./conf.pl
Pada konfigurasi ini kita dapat melakukan berbagai setting yang diperlukan untuk squirrelmail. Di sini juga telah disediakan setting default untuk beberapa jenis server IMAP. Pilih konfigurasi untuk Cyrus-IMAP. Setting juga nama server squirrelmail dll. Anda bisa mencoba-coba berbagai setting yang ada tanpa perlu khawatir. Jika terjadi error, maka anda tinggal jalankan lagi program setting ini (conf.pl) untuk mengembalikan setting yang telah anda ubah dengan mudah.
Pastikan bahwa direktori squirrelmail dimiliki oleh www:
# chown -R www:www /usr/local/www/squirrelmail/
# chown -R www:www /usr/local/www/squirrelmail/*
Kira-kira demikianlah instalasi Cyrus IMAP, Postfix, dan Squirrelmail pada sistem saya menggunakan FreeBSD 6.2. Kalau ada pertanyaan atau perbaikan pada tulisan saya ini, silakan memberikan komentar atau mengirim email kepada saya ke izbiq[at]rufaqait[dot]com. Semoga bermanfaat.
Usefull links:
http://www.soe.ucsc.edu/~venkat/tutorial1.html
http://tomster.org/geek/freebsdcookbook/ar01s03.html
http://www.hott.net.au/site%20sources/postfix-howto.html
http://www.postfix.org/basic.html
http://www.pcprobleemloos.nl/freebsd/
http://bsdinn.com/postfix/index.php?page=SB01
http://squirrelmail.org/docs/admin/admin.html
Diposting oleh izzun at 7:59 PM 1 komentar
Label: email
Instal Apache (Apache22) dan PHP 5 Pada FreeBSD
1. Instalasi Apache
Instalasi Apache saya lakukan melalui pkg_add. Pada tutorial ini saya memberikan contoh bila kita memilih server mirror/lokal untuk mendapatkan package daripada langsung mengambilnya dari situs utama FreeBSD. Dalam contoh berikut saya menggunakan server lokal di ITB misalnya.
Gunakan perintah ini (kita login sebagai root)untuk mensetting lokasi default dari package:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
atau:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
Perbedaan kedua perintah di atas adalah pada jenis package, yaitu package yang ada pada release FreeBSD 6.2 atau kita akan menggunakan package golongan stable untuk distribusi umum FreeBSD 6. Beberapa jenis package ada yang masuk pada kedua tempat tersebut, tapi sebagian ada yang hanya pada satu tempat diantara keduanya. Jadi kalau misalnya kita telah mengeset lokasi package misalnya dengan perintah pertama, maka kita bisa menggantinya dengan melakukan setenv ulang tentunya dengan parameter lokasi package yang berbeda, seperti pada perintah kedua. Kalau menggunakan shell seperti bash, maka syntax perintah di atas perlu diubah sbb:
# export PACKAGESITE=ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
atau
# export PACKAGESITE=ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
Selanjutnya install package:
# pkg_add -r apache22
Gunakan semua option secara default kalau anda tidak mengetahui fungsi option-option yang disertakan. Cara instalasi dengan pkg_add ini dipilih karena instalasi jadi lebih cepat (apache22 sudah dicompile, tanpa perlu compile sendiri). Pada beberapa package kita perlu melakukan kompilasi sendiri dari source jika ada parameter2 konfigurasi yang perlu disertakan pada waktu kompilasi. Tapi jika anda ingin melakukan kompilasi, mungkin untuk mencegah kemungkinan masalah kompatibilitas, maka anda dapat menginstall package tersebut dari ports collection:
# cd /usr/ports/www/apache22/
# make config
# make install clean
Setelah instalasi berhasil, apache perlu diaktifkan secara default ketika booting. Edit file /etc/rc.conf:
# ee /etc/rc.conf
Masukkan baris berikut:
apache22_enable="YES"
Edit file httpd.conf:
# ee /usr/local/etc/apache22/httpd.conf
Ubah variabel-variabel seperti berikut:
Listen 10.1.1.30:80
ServerName example.com:80
ServerAdmin admin@example.com
Variable di atas perlu diganti sesuai dengan sistem yang akan dipakai. Dalam hal ini, nama host adalah example.com dengan alamat IP 10.1.1.30, port yang digunakan adalah port 80 dan email admin adalah admin@example.com.
Kemudian ganti semua parameter /usr/local/www/apache22 dengan /usr/local/www/ karena pada apache22 default instalasi diubah dari versi2 sebelumnya. Hal ini sifatnya optional. Jika anda mengubahnya, maka anda perlu memindahkan semua isi direktori /usr/local/www/apache22 yang sebenarnya ke direktori /usr/local/www/. Jadi, keluar dari editor, lalu lakukan perintah berikut:
# mv /usr/local/www/apache22/* /usr/local/www
Setting secara umum selesai, anda dapat menguji syntax httpd.conf anda:
# apachectl configtest
Beberapa perintah apache yang perlu anda coba:
# apachectl start
# apachectl restart
# apachectl graceful
# apachectl stop
Kadang-kadang apache tidak bisa dijalankan. Perlu anda cek dengan perintah2 berikut:
# tail /var/log/messages
# tail /var/log/httpd-error.log
Beberapa error yang sering terjadi, diantaranya keluar pesan seperti berikut:
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
Ini berarti anda perlu melakukan load kernel module yang bernama accf_http. Caranya:
# kldload accf_http
Agar setiap kali booting, kernel module ini di-load secara otomatis, maka anda perlu membuat file /boot/loader.conf:
# ee /boot/loader.conf
Masukkan baris berikut:
accf_http_load="YES"
Error yang lain yang sering terjadi adalah:
"cannot determine local host name"
Penyebabnya adalah resolv dari hostname tidak sama dengan alamat IP yang dipunyai. Coba cek dengan perintah berikut:
# hostname
example.com
# nslookup example.com
Non-authoritative answer:
Name: example.com
Address: 10.1.1.30
# ifconfig
inet 192.168.0.5 netmask 0xffffff00
Kalau hasil dari pengecekan terdapat perbedaan alamat IP dengan hostname yang bersangkutan, anda dapat mengubah setting hostname dengan perintah:
# ee /etc/hosts
masukkan sebuah baris:
10.1.1.30 example.com
2. Instalasi PHP 5
Pilih port instalasi PHP 5 pada port collection yaitu /usr/ports/lang/php5/. PHP 5 hanya disediakan pada satu port saja sejak rilis PHP versi 5.1.14. Versi sebelumnya terdiri dari beberapa port seperti www/mod-php5, lang/php5-cli, dan lang/php5. Pada versi baru port lang/php5/ ini instalasi PHP 5 dijadikan satu dan PHP sebagai modul CLI, CGI atau apache adalah sebagai option pada saat instalasi.
Pilihan default tidak menyertakan apache module, jadi pastikan kita beri tanda check pada option tersebut kalau hendak menggunakan php sebagai modul apache.
Kali ini instalasi saya lakukan pada melalui port karena instalasi standard dengan pkg_add tidak menyertakan pilihan modul apache (setahu saya demikian,maaf kalau salah). Instal PHP 5 melalui port:
# cd /usr/ports/lang/php5
# make config
# make install
Ketika make config dijalankan, maka pastikan Apache Module box diberi tanda silang (checked).
Setelah semua selesai, maka dapat juga kita menginstall beberapa modul ekstra seperti MySQL. Beberapa modul yang paling sering dipakai diantaranya:
/usr/ports/databases/php5-mysql - MySQL Database
/usr/ports/www/php5-session - Sessions
/usr/ports/graphics/php5-gd - Graphics Library
Untuk modul-modul ekstra di atas, silakan instal dengan pkg_add atau port collection. Caranya mirip dengan sebelumnya.
Apache memerlukan pernyataan pada httpd.conf agar dapat menggunakan PHP yang telah diinstal. Biasanya hal ini sudah dilakukan secara otomastis saat instalasi dengan port, namun bisa kita cek untuk memastikan. Buka httpd.conf:
# ee /usr/local/etc/apache22/httpd.conf
Untuk Apache versi 1.3.x perlu ditambahkan baris berikut pada httpd.conf:
LoadModule php5_module libexec/apache/libphp5.so
AddModule mod_php5.c
Untuk Apache versi 2.x hanya perlu satu baris berikut, tidak perlu perintah AddModule seperti di atas:
LoadModule php5_module libexec/apache/libphp5.so
Lokasi dan nama file dari module PHP 5 dapat berlainan dari versi ke versi, jadi silakan cek di direktori pada sistem anda untuk lokasi yang tepat dan nama yang tepat. Biasanya kalau instalasi dilakukan dengan port, perintah LoadModule ini sudah ditambahkan secara otomatis dengan parameter lokasi dan nama modul yang tepat. Silakan dicek ulang.
Kemudian masih pada httpd.conf, edit juga parameter-parameter berikut:
DirectoryIndex index.php index.html index.htm
Tambahkan juga dua baris berikut:
AddType application/x-httpd-php .php .htm .html
AddType application/x-httpd-php-source .phps
Setting PHP sendiri diletakkan pada /usr/local/etc/php.ini sehingga anda perlu membuat file tersebut. Ini dapat anda lakukan dengan meng-copy setting standard yang disediakan, sbb:
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
Setelah semua itu dilakukan, maka Apache perlu di-restart. Lalu buat sebuah file test.php seperti di bawah ini untuk mengecek apakah PHP sudah diload oleh Apache:
# echo "" >> /usr/local/www/data/test.php
Lalu buka browser (Anda bisa menggunakan browser apa saja, misal IE, Mozilla, Firefox, Lynx, links dll) dan buka alamat server Apache anda, misalnya http://server.mydomain.com/test.php. Kalau instalasi sukses maka anda akan mendapatkan halaman phpinfo() dari instalasi PHP 5 anda. Berbagai informasi tentang Apache dan PHP beserta info-info lainnya dapat dilihat disini.
Kira-kira demikianlah instalasi Apache dan PHP 5 pada sistem saya menggunakan FreeBSD 6.2. Kalau ada pertanyaan atau perbaikan pada tulisan saya ini, silakan memberikan komentar atau mengirim email kepada saya ke izbiq[at]rufaqait[dot]com. Semoga bermanfaat.
Usefull links:
http://www.freebsdmadeeasy.com/tutorials/web-server/install-php-5-for-web-hosting.php
Kamis, 05 November 2009
Tutorial FreeBSD
Diposting oleh L!sMaya_rAnty di 18.02 0 komentar
Selasa, 03 Maret 2009
dns server
DNS Server dan LAMP menggunakan Linux Fedora sebenarnya pernah saya tuliskan pada artikel saya yang terdahulu, tentang DNS server linux dan web server linux. Dengan tujuan membantu rekan-rekan yang baru saja beralih ke Linux dan kebetulan menggunakan Linux Fedora 8, ada baiknya saya menuliskan artikel ini. Panduan ini untuk kasus sebagai berikut:
Membuat DNS server untuk domain linuxer.local
Membuat DNS server virtual untuk domain fxekobudi.local, sarolangun.local
Membuat Web server untuk domain linuxer.local, fxekobudi.local, dan sarolangun.local
Membuat Database server menggunakan MySQL yang akan digunakan oleh aplikasi open source (Wordpress, Joomla, dan Drupal) pembangun situs lokal pada domain yang telah saya sebutkan di atas.
Sebelum mulai melangkah ke konfigurasi DNS dan LAMP (Linux-Apache-PHP-MySQL), berikut ini adalah konfigurasi pada Laptop yang saya gunakan:
IP Loopback: 127.0.0.1
IP Address NIC: 192.168.0.44
Netmask: 255.255.255.192 (/26)
Paket BIND: bind-9.5.0-18.a7, bind-libs-9.5.0-18.a7, bind-utils-9.5.0-18.a7, bind-chroot-9.5.0-18.a7
Paket APACHE: httpd-2.2.6-3, httpd-tools-2.2.6-3, system-config-httpd-1.4.4-1, httpd-manual-2.2.6-3
Paket MySQL: mysql-libs-5.0.45-4.fc8, mysql-5.0.45-4.fc8, mysql-server-5.0.45-4.fc8
Paket PHP: php-common-5.2.4-3, php-5.2.4-3, php-gd-5.2.4-3, php-cli-5.2.4-3, php-mysql-5.2.4-3
Semua paket sudah disertakan dalam DVD Installer Fedora 8, jadi jika belum terinstal, silahkan instal dengan menggunakan media DVD atau bisa juga menggunakan repository Fedora 8. Untuk mengecek apakah sudah terinstal atau belum, gunakan command: $ rpm -qa | grep [nama-paket]
1. DNS SERVER
Instal paket:
# yum install bind bind-libs bind-utils bind-chroot
Tidak seperti pada fedora 7, Anda dapat menemukan named.conf setelah instalasi bind. Sehingga hanya perlu mengedit konfigurasinya saja.
# vim /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { localhost; };
recursion yes;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
zone “.” IN {
type hint;
file “named.ca”;
};
include “/etc/named.rfc1912.zones”;
// ————-
// Resolve DNS
// ————-
zone “linuxer.local” IN {
type master;
file “./zone/linuxer.local.zone”;
allow-update { key “rndckey”; };
allow-transfer { 192.168.0/26; };
};
// ————-
// Reverse DNS
// ————-
zone “0.168.192.in-addr.arpa” IN {
type master;
file “./zone/0.168.192.in-addr.arpa.zone”;
allow-update { key “rndckey”; };
allow-transfer { 192.168.0/26; };
};
include “/etc/named.primary.conf”;
Isi file /var/named/chroot/var/named/zone/linuxer.local.zone:
$ttl 38400
@ IN SOA ns.linuxer.local. root.linuxer.local (
1196006770
10800
3600
604800
38400 )
IN NS fxekobudi.linuxer.local.
IN MX 20 mail.linuxer.local.
fxekobudi IN A 192.168.0.44
www IN CNAME fxekobudi
ftp IN CNAME fxekobudi
Isi file /var/named/chroot/var/named/zone/0.168.192.in-addr.arpa.zone:
$ttl 38400
@ IN SOA ns.linuxer.local. root.linuxer.local (
1196006769
10800
3600
604800
38400 )
IN NS fxekobudi.linuxer.local.
44 IN PTR fxekobudi.linuxer.local.
Konfigurasi untuk file /var/named/chroot/etc/named.primary.conf:
# vim /var/named/chroot/etc/named.primary.conf
// —————————-
// Virtual Domain fxekobudi.local
// —————————-
zone “fxekobudi.local” IN {
type master;
file “./zone/fxekobudi.local.zone”;
allow-update { key “rndckey”; };
allow-transfer { 192.168.0/26; };
};
// —————————-
// Virtual Domain sarolangun.local
// —————————-
zone “sarolangun.local” IN {
type master;
file “./zone/sarolangun.local.zone”;
allow-update { key “rndckey”; };
allow-transfer { 192.168.0/26; };
};
Isi file /var/named/chroot/var/named/zone/fxekobudi.local.zone:
$ttl 38400
@ IN SOA ns.linuxer.local. root.linuxer.local (
1196006770
10800
3600
604800
38400 )
IN NS fxekobudi.fxekobudi.local.
IN MX 20 mail.fxekobudi.local.
fxekobudi IN A 192.168.0.44
www IN CNAME fxekobudi
ftp IN CNAME fxekobudi
Isi file /var/named/chroot/var/named/zone/sarolangun.local.zone:
$ttl 38400
@ IN SOA ns.linuxer.local. root.linuxer.local (
1196006770
10800
3600
604800
38400 )
IN NS fxekobudi.sarolangun.local.
IN MX 20 mail.sarolangun.local.
fxekobudi IN A 192.168.0.44
www IN CNAME fxekobudi
ftp IN CNAME fxekobudi
Konfigurasi untuk file /etc/resolv.conf:
search linuxer.local
search fxekobudi.local
search sarolangun.local
nameserver 127.0.0.1
nameserver 192.168.0.44
Tes konfigurasi DNS server:
$ dig linuxer.local
$ nslookup www.linuxer.local
Jalankan daemon DNS server untuk runlevel yang diinginkan:
# /sbin/chkconfig –levels 235 named on
2. WEB SERVER
Instal paket:
# yum install httpd
Edit file konfigurasi apache:
# vim /etc/httpd/conf/httpd.conf
Berikut beberapa konfigurasi yang perlu Anda lakukan:
### Section 1: Global Environment
User apache
Group apache
### Section 2: ‘Main’ server configuration
DocumentRoot “/var/www/html”
DirectoryIndex index.html index.html.var index.php
### Section 3: Virtual Hosts
# Konfigurasi virtual host
Include ./conf/vhosts.conf
Buat file virtual host:
# vim /etc/httpd/conf/vhosts.conf
NameVirtualHost 192.168.0.44:80
ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html
ServerName linuxer.local
ServerAlias www.linuxer.local
ErrorLog logs/error_log
CustomLog logs/access_log combined
ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html/fxekobudi
ServerName fxekobudi.local
ServerAlias www.fxekobudi.local
ErrorLog logs/fxekobudi.local-error_log
CustomLog logs/fxekobudi.local-access_log combined
ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html/sarolangun
ServerName sarolangun.local
ServerAlias www.sarolangun.local
ErrorLog logs/sarolangun.local-error_log
CustomLog logs/sarolangun.local-access_log combined
Jalankan daemon web server untuk runlevel yang diinginkan:
# /sbin/chkconfig –levels 235 httpd on
3. DATABASE SERVER
Instal paket:
# yum install mysql-libs mysql mysql-server
Jalankan daemon mysql server untuk runlevel yang diinginkan:
# /sbin/chkconfig –levels 235 mysqld on
Gunakan phpMyAdmin untuk mempermudah administrasi. Baca artikel saya tentang instalasi phpMyAdmin.
Buat user selain root untuk mengakses database, gunakan interface phpMyAdmin saja.
4. PHP
Instal paket:
# yum install php-common php php-gd php-mysql
Untuk edit file php.ini, gunakan command berikut:
vim /etc/php.ini
Pada bagian
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Rubah pada baris 356:
display_errors = On
Pada baris 619, tambahkan extension=gd.so agar script php dapat memanggil modul gd yang akan digunakan untuk Joomla:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=gd.so
Diposting oleh L!sMaya_rAnty di 22.27 0 komentar