Tuesday, December 12, 2006

Membangun Web Server di FreeBSD

Tentu saja kata web server tidak asing lagi di sebagian besar telinga kita, yaitu sebuah tempat untuk mempublikasikan informasi apa pun kepada publik melalui internet atau intranet tentang apa saja, baik oleh individu, kelompok, lembaga pemerintahan, perusahaan, dan lain-lain. Web server umumnya tidak berdiri sendiri, namun ada aplikasi yang mendukungnya, semacam PHP, OpenSSL, dan lain sebagainya. Salah satu aplikasi yang sudah sangat populer adalah Apache HTTP Server. Aplikasi ini mulai dirilis ke publik sejak tahun 1995. Web server yang menggunakan aplikasi Apache di seluruh dunia saat ini berdasarkan survei Netcraft Web Server Survey pada November 2006 saja sudah lebih dari 60% dari total 101,435,253 situs. Proyek Apache HTTP Server ini merupakan proyek open-source yang dikembangkan oleh Apache Software Foundation. Lembaga ini bertujuan mengembangkan Apache sebagai aplikasi web server modern yang bisa dipergunakan di multi platform OS, khususnya Unix dan Windows. Saya tidak akan membahas sejarah perkembangan Apache ini secara rinci. Untuk mengetahui lebih lengkap perkembangannya silakan kunjungi About the Apache HTTP Server Project. Dalam artikel ini, saya tidak hanya membahas Apache secara khusus saja, namun juga beberapa aplikasi yang umum dipergunakan bersama aplikasi ini, seperti OpenSSL, MySQL, dan PHP. 1. Download Aplikasi yang dipergunakan dalam artikel ini adalah Apache versi 2.2.3, MySQL versi 5.0.22, OpenSSL versi 0.9.8d, dan PHP versi 5.2.0. Dari semua aplikasi di atas, hanya Apache dan PHP yang akan diinstall secara manual, sedang MySQL dan OpenSSL diinstall via ports. Jadi yang akan didownload secara manual hanya Apache dan PHP. Apache versi terakhir dapat didownload di http://apache.the.net.id/httpd/httpd-2.2.3.tar.bz2. Versi terakhir Apache saat artikel ini ditulis adalah versi 2.2.3. Dan versi PHP terakhir saat ini adalah versi 5.2.0. PHP dapat didownload di http://id2.php.net/get/php-5.2.0.tar.bz2/from/a/mirror. 2. Instalasi 2.1. Install MySQL Sebelum menginstall Apache dan PHP, yang harus diinstall terlebih dahulu adalah MySQL dan OpenSSL. Untuk menginstalasi kedua aplikasi ini di FreeBSD cukup mudah melalui ports. $ cd /usr/ports/database/mysql51-server $ sudo make install $ sudo portupgrade -rR mysql51-server Command terakhir adalah untuk mengupgrade versi MySQL ke versi terbaru. Untuk mengaktifkan MySQL saat booting, buka file /etc/rc.conf dan tambahkan baris: mysql_enable = “YES” Copykan file konfigurasi MySQL: $ sudo cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf $ sudo chgrp mysql /var/db/mysql/my.cnf Kemudian jalankan command berikut untuk mengaktifkan daemon MySQL. $ sudo /usr/local/etc/rc.d/mysql-server start Bila berhasil, seharusnya Anda akan melihat baris berikut saat menjalankan command ps ax | grep mysql: 678 p0- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe –defaults-extra-file=/var/db/mysql/my.cnf –user=mysql –datadir=/var/db/mysql 701 p0- S 383:04.45 /usr/local/libexec/mysqld –defaults-extra-file=/var/db/mysql/my.cnf –basedir=/usr/local –datadir=/var/db/mysql Selanjutnya buat password untuk MySQL root user: $ sudo mysqladmin -u root password ‘password-root-mysql’ Coba masuk ke MySQL console dengan password root tersebut. $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 603704 to server version: 5.0.22 Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql> \q Bye 2.2. Install OpenSSL Langkah selanjutnya adalah menginstalasi OpenSSL, cara menginstalasi OpenSSL dalam hal ini menggunakan ports juga. $ cd /usr/ports/security/openssl $ sudo make install clean Buat direktori untuk menempatkan certificate SSL: $ sudo mkdir -p /usr/local/openssl/{certs,private} Kemudian generate private key 1024-bit: $ cd /usr/local/openssl $ sudo /usr/local/bin/openssl genrsa -out private/namadomain.com.key 1024 Ubah permission untuk direktori private menjadi: $ sudo chown -R root:wheel private $ sudo chmod -R 600 private $ sudo chmod u+X private Generate Certificate Signing Request (CSR) File: $ /usr/local/bin/openssl req -new -key private/namadomain.com.key -out certs/namadomain.com.csr Country Name (2 letter code) [GB]: ID State or Province Name (full name) [Some-State]: Propinsi Locality Name (eg, city) []: Kota Organization Name (eg, company) [Internet Widgits Pty Ltd]: PT. Nama Usaha Organizational Unit Name (eg, section) []: Bidang Usaha Perusahaan Common Name (eg, your name or your server’s hostname) []: namadomain.com Email Address []: postmaster@namadomain.com Please enter the following ‘extra’ attributes to be sent with your certificate request A challenge password []: masukkanpassword An optional company name []: Kemudian buat Certificate Signed (CRT) file: $ sudo /usr/local/bin/openssl x509 -req -days 365 -in certs/namadomain.com.csr -out certs/namadomain.com.crt -signkey private/namadomain.com.key Certificate yang dibuat itu nantinya akan digunakan bila webserver support SSL. 2.3. Install Apache Saya asumsikan, source Apache hasil download Anda disimpan di /home/users. $ cd /home/users $ tar -jxvf httpd-2.2.3.tar.bz2 $ cd httpd-2.2.3 $ ./configure –prefix=/usr/local/apache2 –enable-rewrite –enable-dav –enable-ssl –with-ssl=/usr/local –enable-vhost-alias –with-included-apr $ make $ sudo make install Keterangan dari masing-masing opsi di atas adalah: –prefix=[DIR]: Menginstall aplikasi ke target direktori yang ditentukan. –enable-rewrite: Mengaktifkan rule based URL manipulation melalui module mod_rewrite. –enable-dav: Mengaktifkan protocol WebDAV melalui module mod_dav. Dengan protocol WebDAV ini memungkinkan membuat, memindah, menyalin, dan menghapus resource pada sebuah web server. –enable-ssl: Mengaktifkan module SSL/TLS. –with-ssl=[DIR]: Di mana library SSL/TLS diinstall. –enable-vhost-alias: Support dengan banyak virtual host. –with-included-apr: Install apr. APR atau Apache Portable Runtime pada Apache 2.2.x versi merupakan source yang sudah menyatu dengan Apache Source. 2.4. Install PHP Sebelum Anda menginstalasi PHP, saya sarankan untuk menginstall aplikasi-aplikasi via ports yang diperlukan (recommended) PHP saat instalasinya. Aplikasi-aplikasi tersebut adalah: - mcrypt (/usr/ports/security/mcrypt) dan libmcrypt (/usr/ports/security/libmcrypt) - db4 (/usr/ports/databases/db4) dan gdbm (/usr/ports/databases/gdbm) - gd (/usr/ports/graphics/gd) - libxml2 (/usr/ports/textproc/libxml2) Saya asumsikan pula, source PHP yang Anda download disimpan di /home/users. $ cd /home/users $ tar -jxvf php-5.2.0.tar.bz2 $ cd php-5.2.0 $ ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local –with-openssl=/usr/local –with-config-file-path=/usr/local/apache2/conf –with-png-dir=/usr/local/lib –with-gettext=/usr/local/lib –with-gd –with-zlib –with-xml –with-mcrypt=/usr/local/lib –enable-mbstring=all –disable-short-tags $ make $ make install Keterangan dari masing-masing opsi di atas adalah: –with-apxs2[=FILE]: Menyertakan shared Apache 2.0 Handler module. –with-mysql[=DIR]: Menyertakan dukungan MySQL. DIR adalah di mana binary MySQL diinstall. –with-openssl[=DIR]: Menyertakan dukungan OpenSSL. –with-config-file-path=PATH: Di mana file php.ini akan diletakkan. –with-png-dir[=DIR]: Menyertakan dukungan format file PNG. –with-gettext[=DIR]: Menyertakan dukungan GNU gettext. –with-gd[=DIR]: Menyertakan dukungan GD. –with-zlib[=DIR]: Menyertakan dukungan zlib. –with-libxml-dir[=DIR]: Menyertakan dukungan XML. –with-mcrypt[=DIR]: Menyertakan dukungan mcrypt atau Multi-cipher cryptographic library. –enable-mbstring: Mengaktifkan dukungan multibyte string. –disable-short-tags: Nonaktifkan penggunaan tag pendek User www Group www ServerAdmin hostmaster@namadomain.com ServerName www.namadomain.com:80 DirectoryIndex index.html index.php TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php AddHandler cgi-script .cgi Aktifkan juga baris-baris berikut dengan menghilangkan tanda # di awal barisnya: Include conf/extra/httpd-autoindex.conf Include conf/extra/httpd-userdir.conf Include conf/extra/httpd-vhosts.conf Include conf/extra/httpd-dav.conf Include conf/extra/httpd-default.conf Include conf/extra/httpd-ssl.conf Selanjutnya ubah permission direktori Apache: $ cd /usr/local Ubah kepemilikan direktori apache2 ke user root:wheel $ sudo chown -R root:wheel apache2 Ubah permission pada direktori apache2. Karena direktori ini kepemilikannya oleh root:wheel dan supaya bisa diakses oleh group www, kita ijinkan group www ini membaca dan mengeksekusi file-file di bawahnya. $ sudo chmod 755 apache2 Selanjutnya pada direktori apache2 ini hanya akan mengijinkan user root saja untuk dapat membaca dan menulisinya dengan mengubah permission menjadi: $ sudo chmod -R 600 apache2/* Hanya user root saja yang dapat mengakses seluruh direktori yang berada di bawah direktori apache2: $ sudo chmod -R u+X apache2 $ cd apache2 Ubah kepemilikan direktori binary Apache ke user root: $ sudo chmod -R u+x bin Direktori cgi-bin juga berisi file-file binari. Hanya mengijinkan user root dan group www saja yang bisa mengaksesnya. $ sudo chgrp -R www cgi-bin $ sudo chmod -R u+x,g+x cgi-bin Web server akan membaca direktori icons, maka ubah pula kepemilikannya agar bisa dibaca oleh group www. $ sudo chgrp -R www icons $ sudo chmod -R g+rX icons Ubah juga permission direktori logs: $ sudo chgrp -R www logs $ sudo chmod g+wX logs Terakhir ubah kepemilikan direktori htdocs agar bisa dibaca oleh publik. Direktori ini nanti merupakan tempat menyimpan file-file web yang akan ditampilkan pada browser. Akses penulisan ke direktori ini hanya dibatasi kepada user root saja. $ sudo chgrp -R www htdocs $ sudo chmod -R g+rX htdocs Karena menginstall Apache dari source file. Kita harus membuat sendiri startup script-nya agar dapat dieksekusi oleh server pada saat booting. Start up script diletakkan di direktori /usr/local/etc/rc.d. Startup script dapat didownload di sini: Apache-2 FreeBSD Startup Script Kemudian tambahkan dua baris berikut pada file /etc/rc.conf: apache2_enable=”YES” apache2_flags=”-DSSL” Ubah permission file start up script menjadi: $ sudo chmod 555 /usr/local/etc/rc.d/apache.sh Jalankan file tersebut untuk mengaktifkan daemon httpd: $ sudo /usr/local/etc/rc.d/apache.sh start Periksa apakah daemon httpd sudah aktif dengan command ps ax: $ ps ax | grep httpd 33549 ?? Ss 0:12.88 /usr/local/apache2/bin/httpd -DSSL 33550 ?? I 0:00.43 /usr/local/apache2/bin/httpd -DSSL 33551 ?? I 0:00.40 /usr/local/apache2/bin/httpd -DSSL 33552 ?? I 0:00.32 /usr/local/apache2/bin/httpd -DSSL Bila output di console Anda sudah seperti di atas, selamat! Anda sudah berhasil menginstall web server pada server Anda. 3. Referensi http://www.bowe.id.au/michael/isp/webmail-server.htm#MYSQL http://httpd.apache.org/docs/2.2/ http://www.google.co.id

Thursday, September 14, 2006

Tutorial Instalasi Cacti di Fedora Core 2 dan Redhat 9

Mungkin rekan2 linuxer agak kesulitan untuk mendapatkan tutorial installasi cacti secara lengkap kalaupun ada itupun dalam bahasa inggris yang sebagian rekan2 linuxer tidak seratus persen paham dengan bahasa yang dituliskan didalam tutorial berbahasa inggris tersebut, disini saya akan mencoba membantu rekan2 memberikan tutorial secara lengkap dalam bahasa indonesia dengan cara saya sendiri dan sebagian ada yang saya adopsi dari "Cacti SNMP Management" yaitu tutorial instalasi atau dukumentasi dari cacti sendiri. Pertama sekali kita akan meng-install Fedora Core 2 atau Redhat 9 yang mana tampilan instalasi saya rasa sama aja kok, silahkan anda ikuti langkah demi langkah dan saya harap rekan2 tidak meninggalkan salah satu dari langkah2 yang diberikan ini, karena jalan atau tidak jalannya installasi anda berikut berawal dari sini, dan permasalahan yang seringkali ditemui dalam instalasi cacti ini adalah, graphic sering tidak keluar atau Trap SNMP tidak jalan atau mungkin masalah Permission folder atau file dan juga masalah crontab untuk poller cacti. Selanjutnya...

Friday, June 16, 2006

Linux Oh..my Linux

Pertama kali kenal linux kayaknya emang ribet banget,..apalagi yang namanya console bagi yang baru2 mencobanya pasti sangat membosankan rasanya gatel tangan ini pengen megang Miekocok GUI,..ternyata setelah dilihat, dipandang, dan diperhatikan ternyata linux itu sangat simple dan mengasyikkan, tak kenal maka tak sayang itulah pepatah yang cocok, kenapa ya nggak dari dulu gue mengagumi linux ini sebeeell....jadinya ketinggalan deh dari orang lain hehe... :), tapi nggak papa lah yang penting dah kenal dan mungkin untuk kedepan gue pengen deketin linux lebih deket lagi,...selamat berjuang bro...semoga linux Indonesia makin maju dan berjaya,..Merdekaaaaaaaa........
Membangun SMS Gateway dengan Gammu dan MySql
Saya sangat bersyukur sekali, karena sudah 1 tahun saya mencoba membangun SMS Gateway menggunakan gnokii, kannel,etc, tapi saya selalu menemukan masalah, dan sekarang alhamdullilah telah berhasil membangun SMS Gateway menggunakan Gammu yang saya rasa cukup stabil. Handphone yang telah berhasil saya coba adalah Nokia 3310 dan Siemens C35i. Distro linux yang saya gunakan untuk membangun SMS Gateway ini adalah Trustix 3.0. Sebelum installasi kita lakukan silahkan anda baca-baca info tentang Gammu di http://www.mwiacek.com/gsm/soft/gammu.html

Gimana!! udah selesai bacanya?? Oke..lansung saja dan tidak banyak basa-basi, mari kita mulai saja mengumpulkan kebutuhan untuk membangun SMS Gateway menggunakan Gammu ini.

1. Gammu.tar.gz
Dapat anda download di : http://www.mwiacek.com/zips/gsm/gammu/gammu.tar.gz
atau # wget http://www.mwiacek.com/zips/gsm/gammu/gammu.tar.gz

2. Web Server (Jika anda sudah punya webserver, abaikan saja no 2 ini, kalau belum terpaksa anda harus install dulu apache,myslq,php)

3. Handphone Nokia 3310 atau Siemens C35i, untuk support handphone lainnya silahkan baca lagi http://www.mwiacek.com/gsm/soft/gammu.html

Gammu support dengan berbagai merek handphone kok lihat ini :
Gammu currently supports:
majority of Nokia phones from DCT3 generation with Nokia operating system - for example Nokia 3210, 3310, 3315, 3410, 5110, 5130, 6110, 6130, 6150, 6210, 7110, 8210
majority of Nokia phones from DCT4 generation with Nokia operating system - for example Nokia 3100, 3510, 3510i, 6220, 6230, 6310, 6310i, 6510, 6610, 7210, 8310
many AT devices - for example many Siemens, Sony Ericsson, Nokia, Alcatel models
Alcatel from BE5/BF5/BH4 generation - for example 501, 511, 512
some functions with OBEX and Symbian devices

4. Kabel Serial untuk handphone

Jika anda sudah berhasil mendonwload gammu.tar.gz, silahkan di extract
#tar xvfz gammu.tar.gz

Setelah anda extract secara otomatis anda akan mendapati folder gammu-1.05.00, sekarang masuklah ke folder tersebut

#cd gammu-1.05.00

Sebelum anda menginstall biasakan membaca README, INSTALL, etc.
#./configure
#make
Disini perlu anda perhatikan apakah ada yang error atau tidak jika ada error!, berarti library mysql anda masih kurang lengkap, biasanya error yang ditemui adalah "lssl" sering tidak ditemukan ketika melakukan "make" atau database mysql tidak support dengan gammu-nya.
(Solusi-nya coba install ulang mysql-nya atau lengkapi library yang dibutuhkan)
#make shared
#make install
#make installshared

Selanjutnya anda perlu meng-upgrade "library"
# vi /etc/ld.so.conf
Tambahkan link library dengan mengetik /usr/local/lib pada file ld.so.conf, selanjutnya lakukan upgrade library dengan mengetik
#/sbin/ldconfig

Note : Jika anda tidak menemukan error apa2 sampai tahap ini berarti anda sudah berhasil mengintall Gammu SMS Gateway

Sekarang coba masuk lagi ke folder dimana anda meng-extract gammu.tar.gz dan copy-lah file yang ada pada folder /docs/example/config/ disitu anda akan menemukan 3 buah file dengan nama gammurc, mysql.sql, smsdrc lalu file gammurc dan smsdrc anda copy-kan ke folder /etc

#cp gammurc smsdrc /etc/

Selanjutnya cari editlah file tersebut seperti ini :

[gammu]
port = /dev/ttyS0 #Jika anda memakai COM2 ganti dengan ttyS1
#model = 6110 #model handphone-nya anda abaikan saja, karena kalau diaktifin sering timbul masalah
connection = fbus #Kalau anda pakai hp Nokia connection-nya "fbus" jika anda memakai hp Siemens ganti "fbus" menjadi "at19200"
#synchronizetime = yes
#logfile = gammulog
#logformat = textall
#use_locking = yes
#gammuloc = locfile
#startinfo = yes
#gammucoding = utf8
#rsslevel = teststable #usephonedb = yes

Jika anda masih bingung, didalam file gammurc tersebut sudah ada petunjuk pemakaian lihat bagian bawah-nya.
Jika anda malas untuk mengedit file-nya, anda juga bisa mendapatkan file-nya di www.posmetropadang.com/gammu/gammurc

Sekarang pastikan kabel data dan handphone anda sudah tersambung ke port COM1 pada komputer anda, selanjutnya anda tinggal ketik

#gammu --identify

Saya harap anda dapat melihat keluaran seperti dibawah ini :

Manufacturer : Nokia
Model : 3310 (NHM-5)
Firmware : 06.33 F (28-11-03)
Hardware : 1012
IMEI : 350835608671298
Original IMEI : 350835608671298
Manufactured : 0802
Product code : 0505201
Simlock 1 : MCC+MNC 00101, opened, user , counter 0
Simlock 2 : GID1 0000, opened, factory, counter 0
Simlock 3 : GID2 0000, opened, factory, counter 0
Simlock 4 : MSIN 0000000001, opened, factory, counter 0
MSID : 830d50880846870ebedd126096
MCU checksum : 9C79
DSP ROM : 6

Jika sudah ada koneksi seperti diatas berarti gammu sudah bisa mengenali handphone anda dan kita sudah bisa melanjutkan ke step yang lainnya.

Nah sekarang kita tinggal membuat, bagaimana semua sms yang masuk lansung tersimpan ke database mysql dan dapat ditampilkan ke website dengan memakai php scripts.

Oke lanjut bro... kerjaan kita sudah hampir selesai, mungkin ada kopi atau rokok yang bisa disruputt dulu hehe...??

Sekarang coba anda buka file smsdrc yang telah anda copy-kan ke folder /etc tadi

#vi /etc/smsdrc
bagian dibawah ini biarkan saja apa adanya
[smsd]
PIN = 1234
logfile = smsdlog
commtimeout = 1
sendtimeout = 10

carilah dan edit bagian dibawah ini sesuai dengan keadaan mysql anda

# ------------------------- SETTINGS FOR --smsd MYSQL ---------------------------
user = root
password = password_mysql_anda
pc = localhost
database = nama_database

Note : Selain bagian yang saya sebutkan diatas mohon anda kasih tanda "#" karena yang kita butuhkan disini hanya bagian seperti yang saya sebutkan diatas saja, guna untuk koneksi ke database mysql-nya.

Sekarang anda masuk ke directory /docs/example/config/ terdapat file ‘mysql.sql’ , yang adalah structure table yang digunakan, anda tinggal memasukkannya di MySQL database anda.

Buat database sms
#mysqladmin –u root –p create sms

Buat table gammu dari file ‘mysql.sql’
#mysql –u root –p < mysql.sql

Atau dengan cara yang lebih mudah, anda dapat membuat database dan membuat table gammu melalui phpmyadmin http://localhost/phpmyadmin

Setelah selesai anda sudah bisa menjalankan daemon smsd-nya
#gammu --smsd MYSQL /etc/smsdrc
Log filename is "smsdlog"
Press Ctrl+C to stop the program ...

Jika keluar seperti yang diatas berarti SMS Gateway anda sudah berjalan dengan baik dan anda bisa menggunakan sesuai kebutuhan anda, dan semua sms yang ada di handphone anda akan lansung masuk kedalam database mysql.

Untuk tahap selanjutnya anda tinggal menampilkan sms anda ke web menggunakan php scripts, php scripts-nya bisa anda download di
http://posmetropadang.com/gammu/sms.zip

Anda perlu sedikit mengedit sms.php-nya sesuai dengan keadaan server database anda.

Sekarang anda bisa membuka sms lewat browser kesayangan anda dengan mengetik http://localhost/sms.php

Nah sekarang apa yang harus anda lakukan?? yang perlu anda lakukan adalah menjalan service daemon smsd secara otomatis ketika komputer di restart.

Buatlah file dengan nama gammu.sh dan simpanlah dalam direktori /usr/local/bin/
#cd /usr/local/bin/
#vi gammu.sh

Isinya sebagai berikut :

#!/bin/sh
export LANG=da_DK
/usr/local/bin/gammu --smsd MYSQL /etc/smsdrc

Setelah itu editlah file /etc/inittab anda
#vi /etc/inittab

Tambahkan baris dibawah ini pada inittab anda

GA:345:respawn:/usr/local/bin/gammu.sh

Wah... cukup panjang juga, hmmm mudah-mudahan tidak ada masalah ya... sekarang habiskan kopi anda, sampai disini anda sudah selesai membangun SMS Gateway menggunakan Gammu. Jika ada kritikan dan pertanyaan jangan sungkan kontak saya.

e-mail : yonaldi@gmail.com
Wrote : Yonaldi
 

Setting dan Konfigurasi vsftpd.conf
Anda ingin membangun FTP Server dengan vsftpd? sebelumnya mohon maaf karena disini saya tidak menjelaskan bagaimana cara meng-install vsftpd, mungkin untuk installasi nanti kita bahas pada tutorial berikut-nya, konfigurasi dibawah ini adalah konfigurasi vsftpd yang ada di server saya Trustix 3.0 dan konfigurasi yang ada dibawah, seorang user bisa meng-upload data tapi tidak diizinkan untuk menghapus file atau folder yang telah diupload-nya tapi jika anda berkeinginan sebaliknya silahkan anda beri tanda comment "#" pada bagian "cmds_allowed"

Untuk tahap awal, silahkan anda buat "group" pada linuxbox anda :
#groupadd ftpgroup

Dan satu folder tujuan untuk user ftp, misal kita bikin folder di /home/ :
#cd /home/
#mkdir ftp-folder
#chmod 777 ftp-folder/

selanjutnya buatlah user untuk ftp anda :
#adduser -d /home/ftp-folder/ -s /sbin/nologin -g ftpgroup ftpuser

Silahkan anda beri password ftpuser anda
#passwd ftpuser

Selanjutnya gantilah kepemilikan folder /home/ftp-folder
#chown -R ftpuser.ftpgroup /home/ftp-folder/


Sekarang silahkan anda copy-kan baris dibawah ini pada vsftpd.conf anda, yang berada pada /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=222
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd
xferlog_std_format=YES
nopriv_user=ftp
ftpd_banner=Trustix FTP Server (TSL)
chroot_local_user=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
secure_chroot_dir=/var/lib/vsftp/chroot
cmds_allowed=ABOR,CWD,LIST,USER,PASS,PASV,QUIT,PWD,STOR,NLST,TYPE,SIZE


Jika ada kekeliruan dalam penulisan dan pengetikan mohon di koreksi kembali, terima kasih.
 

Membangun IRC server dengan ircd-hybrid-7.1.3
Semoga tutorial ini berguna bagi rekan2 yang membutuhkan bagi yang sudah ahli dalam bidang ini mohon koreksi dan perbaikan, bagi pemula ini sudah lebih dari cukup untuk membangun sebuah Irc server local, dan mengetahui bagaimana sih sebenarnya server irc itu bekerja, hmm....... kayaknya lansung saja ya :) terlalu banyak ngomong hihi.

Pertama sekali kumpulkan dulu semua bebutuhan yang diperlukan untuk menginstall IRC server ini :
1. ircd-hybrid-7.1.3 bisa didapatkan di http://easynews.dl.sourceforge.net/sourceforge/ircd-hybrid/ircd-hybrid-7.1.3.tgz
atau bisa juga dengan

#wget http://easynews.dl.sourceforge.net/sourceforge/ircd-hybrid/ircd-hybrid-7.1.3.tgz

Lansung saja ya, jika file-nya sudah didapatkan silahkan upload ke folder tujuan anda setelah itu lansung di extract, yang pasti anda login sebagai root.
#tar xvfz ircd-hybrid-7.1.3.tgz
#cd ircd-hybrid-7.1.3
#./configure

Note : harap diperhatikan apakah ada yang error pas ./configure kalo ada error-nya biasanya sih yang dibutuhkan disini adalah tcl8.4.9-src.tar, jika ada error silahkan anda install dulu tcl8.4.9. setelah itu lanjutkan lagi ./configure

#make
#make install

Jika tidak ada keluaran error apa2 berarti installasi irc server anda berhasil dan untuk selanjutnya tinggal configurasi ircd.conf, biasa-nya semua file yang sudah anda install berada :
/usr/local/ircd/

Sekarang masuk ke /usr/local/ircd
#cd /usr/local/ircd
#cd etc/
root@trustix /usr/local/ircd/etc# ls -la
total 56
drwx------ 2 ircd ircd 4096 Mar 28 13:41 ./
drwxr-xr-x 9 ircd ircd 4096 Mar 27 20:52 ../
-rw------- 1 ircd ircd 0 Mar 27 20:25 cresv.conf
-rw------- 1 ircd ircd 0 Mar 27 20:25 dline.conf
-rw-r--r-- 1 ircd ircd 30778 Mar 27 20:25 example.conf
-rw------- 1 ircd ircd 58 Mar 27 20:25 ircd.motd
-rw------- 1 ircd ircd 5 Mar 28 13:41 ircd.pid
-rw------- 1 ircd ircd 0 Mar 27 20:25 kline.conf
-rw------- 1 ircd ircd 0 Mar 28 14:04 links.txt
-rw------- 1 ircd ircd 0 Mar 27 20:25 nresv.conf
-rw------- 1 ircd ircd 0 Mar 27 20:25 xline.conf

Coba anda lihat di folder etc ada file example.conf, sekarang anda abaikan saja, dan selanjutnya download saja file configurasi yang sudah jadi di :
#wget www.posmetropadang.com/va236904-ircd/ircd.conf

IP (192.168.1.108) yang ada pada file ircd.conf diganti dengan IP irc server anda sendiri.

Sekarang bikin group dan user untuk menjalankan service ircd
#groupadd ircd
#adduser -d /usr/local/ircd -g ircd ircd
#passwd ircd

Sekarang keluar dari root dan loginlah sebagai user ircd dan jalan service ircd yang ada di /usr/local/ircd/bin
#cd bin/
#./ircd
ircd: version hybrid-7.1.3
ircd: pid 1931
ircd: running in background mode from /usr/local/ircd

Kalau semua-nya anda configurasi dengan benar setelah anda ketik ./ircd anda akan mendapatkan keluaran seperti yang diatas.

Sekarang coba anda test di client dan bukalah program mIRC anda lalu ketikkan
/server 192.168.1.108

Jika ada koneksi berarti irc server anda sudah bekerja dengan benar.

Selamat mencoba semoga tutorial ini bermanfaat.

 

Grabbing Informasi Cuaca dari Situs BMG
Sebuah aplikasi ramalan cuaca dapat dibuat dengan mengambil data dari situs lain, disini penulis mencoba mangambil lansung dari Situs BMG Indonesia.
Untuk mengakses data dari situs lain digunakan fungsi fopen().

Semoga dapat bermanfaat !.

<div align="center">
<center>
<table border="1" width="40%" bordercolorlight="#000000" cellpadding="2" bordercolordark="#000000">
<tr><td width="100%" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<p align="center"><font size="5"><b>Prakiraan Cuaca di Indonesia</b></font><br>
( Source: BMG <a href="http://www.bmg.go.id" target="_blank">www.bmg.go.id</a>)<hr>
<form method="get" action="<?=$php_self?>">
<p align="center">
<input type="hidden" name="BMG" size="1" value="Submit">
<select size="1" name="weather_bmg" onchange=javascript:this.form.submit();">
<option value="null">----SUMATRA----</option>
<option value="bandaaceh">Banda Aceh</option>
<option value="medan">Medan</option>
<option value="pekanbaru">Pakanbaru</option>
<option value="padang">Padang</option>
<option value="jambi">Jambi</option>
<option value="palembang">Palembang</option>
<option value="bengkulu">Bengkulu</option>
<option value="lampung">Lampung</option>

<option value="null">-----JAWA------</option>
<option value="jakarta">Jakarta</option>
<option value="bandung">Bandung</option>
<option value="semarang">Semarang</option>
<option value="yogjakarta">yogyakarta</option>
<option value="surabaya">Surabaya</option>

<option value="null">-NUSA TENGGARA-</option>
<option value="denpasar">Denpasar</option>
<option value="sumbawabesar">Sumbawa Besar</option>
<option value="mataram">Mataram</option>
<option value="kupang">Kupang</option>

<option value="null">---KALIMANTAN--</option>
<option value="pontianak">Pontianak</option>
<option value="samarinda">Samarinda</option>
<option value="palangkaraya">Palangkaraya</option>
<option value="banjarmasin">Banjarmasin</option>

<option value="null">----SULAWESI---</option>
<option value="manado">Manado</option>
<option value="palu">Palu</option>
<option value="makasar">Makasar</option>
<option value="kendari">Kendari</option>

<option value="null">-----MALUKU----</option>
<option value="ternate">Ternate</option>
<option value="ambon">Ambon</option>

<option value="null">---IRIAN JAYA--</option>
<option value="sorong">Sorong</option>
<option value="biak">Biak</option>
<option value="jayapura">Jayapura</option>
<option value="merauke">Merauke</option>
</select><br>
</form>

<?

// Baris ini adalah untuk pilihan default pertama kali adalah JAKARTA.
if (!isset($weather_bmg) || $weather_bmg=='null'){
$weather_bmg='jakarta';
}

// Mengambil page per nama nama kota
$fd= fread(fopen("http://meteo.bmg.go.id/aspfile/$weather_bmg.asp", "r"), 100000);


// Kondisi ini boleh tidak dipakai, karena hanya untuk mengambil baris intinya saja.
if ($fd) {
$start= strpos($fd, "<TABLE>");
$finish= strpos($fd, "</TABLE>");
$length= $finish-$start;
$code=Substr($fd, $start, $length);
}

//Baris ini adalah untuk mengganti direktory imagenya agar langsung mengambil ke situs BMG bukan kelokal.
$code = str_replace('../images/', 'http://meteo.bmg.go.id/images/', $code);

echo $code;
?>

</td></tr>
</table>
</center>
</div>