Kamis, 29 Mei 2008

Installasi MySQL, Apache2 dan PHP5

Untuk menginstall MySQL, jalankan perintah :

# apt-get install mysql-server mysql-client libmysqlclient15-dev

Agar MySQL dapat di akses dari semua interfaces, tidak hanya melalui localhost, maka Anda perlu mengedit file my.cnf dan memberikan tanda "#" pada baris bind-address = 127.0.0.1:

# nano /etc/mysql/my.cnf

[...]
#bind-address = 127.0.0.1
[...]

Setelah itu restart MySQL:

# /etc/init.d/mysql restart

Periksa apakah MySQL sudah berjalan :

# netstat -tap | grep mysql

Biasanya akan terdapat baris seperti ini :

tcp 0 0 *:mysql *:* LISTEN 3281/mysqld

Untuk merubah password root MySQL jalankan perintah berikut :

# mysqladmin -u root password rootpasswordanda

atau

# mysqladmin -h rot-13.org -u root password rootpasswordanda

Sekarang install Apache2-nya:

# apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 libapache2-mod-perl2 libapache2-mod-python ssl-cert

Anda akan diminta untuk menjawab pertanyaan berikut:

Enable the Apache2 mod_python module?

Jawablah "Yes" apabila Anda ingin membangun web server yang mendukung mod_python

Selanjutnya install PHP5:

# apt-get install php5 libapache2-mod-php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Anda akan mendapat pertanyaan kira-kira seperti berikut:

Continue installing libc-client without Maildir support? <-- Yes

Lanjutkan dengan mengedit file dir.conf:

# nano /etc/apache2/mods-available/dir.conf

dan tambahkan format berikut pada baris DirectoryIndex:



DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml



Sekarang aktifkan Apache2 modules (SSL, rewrite, suexec, dan include):

# a2enmod ssl
# a2enmod rewrite
# a2enmod suexec
# a2enmod include

Reload konfigurasi Apache2:

# /etc/init.d/apache2 force-reload

Untuk menjalankan servis Apache2, berikanlah perintah :

# /etc/init.d/apache2 start

Untuk menghentikan servis Apache2, berikanlah perintah :

# /etc/init.d/apache2 stop

Untuk me-restart servis Apache2, berikanlah perintah :

# /etc/init.d/apache2 restart

Yang perlu Anda ketahui :
1. DocumentRoot site default untuk web server Apache2 di Debian GNU/Linux adalah di direktori /var/www/.
2. ServerRoot untuk web server Apache2 di Debian GNU/Linux adalah di direktori /etc/apache2.
3. File httpd.conf pada direktori /etc/apache2 tidak digunakan.
4. Pengaturan untuk site yang tersedian disimpan pada direktori /etc/apache2/sites-available/.
5. Pengaturan untuk site yang di-enable disimpan pada direktori /etc/apache2/sites-enabled/.
6. Konfigurasi utama Apache2 disimpan pada file apache2.conf yang terletak di direktori /etc/apache2. Namun, Anda diharapkan tidak mengatur konfigurasi tambahan di dalam file ini, karena sudah ada cara lain yang disarankan, yaitu :
• Tempatkan file konfigurasi tambahan Anda ( misal : untuk pembuatan alias dan lain sebagainya ) di dalam direktori /etc/apache2/conf.d/. Setiap kali Apache2 dijalankan, konfigurasi tambahan ini akan dparsing dan dijalankan.
• Pengaturan untuk port yang digunakan disimpan pada file ports.conf yang terletak pada direktori /ets/apache2.
• Pengaturan untuk modul yang tersedia ( misal: php5 ) disimpan pada direktori /etc/apache2/mods-available/.
• Pengaturan untuk modul yang di-enable ( misal: php5 ) disimpan pada direktori /etc/apache2/mods-enabled/.

--diambil dari debian-id.org

Load Balancing dengan Debian Etch

Setelah Sekian Lama, utak atik Load Balancing dengan Debian etch.. akhirnya bisa sukses juga.
Adapun gambaran jaringan yg dibuat adalah sebagai berikut :
eth0 (192.168.1.100) terhubung ke modem1 dengan ip 192.168.1.1 pada network : 192.168.1.0/24
eth1 (192.168.2.100) terhubung ke modem2 dengan ip 192.168.2.1 pada network : 192.168.2.0/24
eth2 (192.168.15.1) adalah untuk jaringan localnya dengan network : 192.168.15.0/24
Pengaturan Ip tersebut ada di /etc/network/interfaces :
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
auto eth1
iface eth1 inet static
address 192.168.2.100
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
auto eth2
iface eth2 inet static
address 192.168.15.1
netmask 255.255.255.0
network 192.168.15.0
broadcast 192.168.15.255
dan perlu juga diatur table routing nya yg ada di : /etc/iproute2/rt_tables :
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
120 adsl1
121 adsl2
123 internet
Kemudian membuat file di /etc/ dengan nama : /etc/maxinet/my_iptables dan supaya bisa di eksekusi saat booting di chmod +x /etc/maxinet/my_iptables dan di masukkan ke /etc/init.d/networking di bagian ini :
case “$1″ in
start)
process_options
log_action_begin_msg “Configuring network interfaces”
if ifup -a; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
/etc/maxinet/my_iptables
;;
Sedangkan Isi dari /etc/maxinet/my_iptables adalah sebagai berikut :
#!/bin/bash
##Main Rule
ip route flush table adsl1
ip route flush table adsl2
ip route flush table internet
ip rule add prio 10 table main
ip rule add prio 20 table adsl1
ip rule add prio 30 table adsl2
ip rule add prio 40 table internet
ip route del default table main
ip route del default table adsl1
ip route del default table adsl2
ip route del default table internet
ip rule add prio 20 from 192.168.1.0/24 table adsl1
ip route add default via 192.168.1.1 dev eth0 src 192.168.1.100 proto static table adsl1
ip route append prohibit default table adsl1 metric 1 proto static
ip rule add prio 30 from 192.168.2.0/24 table adsl2
ip route add default via 192.168.2.1 dev eth1 src 192.168.2.100 proto static table adsl2
ip route append prohibit default table adsl2 metric 5 proto static
##Set Load Balancing
ip rule add prio 40 table internet
ip route add default proto static table internet \nexthop via 192.168.1.1 dev eth0 weight 1 \nexthop via 192.168.2.1 dev eth1 weight 1
## NAT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -P INPUT DROP
iptables -A INPUT -i eth2 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -s 0/0 –dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -s 0/0 –dport 25 -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 -j REJECT –reject-with tcp-reset
iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with tcp-reset
iptables -A INPUT -p tcp -i eth1 -j REJECT –reject-with icmp-port-unreachable
iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with icmp-port-unreachable
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 192.168.1.100
iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to 192.168.2.100
Setelah diconfigurasi reboot servernya dan ditest koneksinya… alhamdulillah berfungsi dan berjalan dengan baik.
Untuk melihat apakah iptables nya berfungsi dengan baik, diketikkan perintah : iptables -L -n -v -t nat .
Untuk Indikator apakah ada pemakaian melalui kedua modem bisa juga diliat dari indikator lampu ethernetnya, jika blinkingnya cepat brarti sedang ada pemakaian.


--diambil dari debian-id.org